roboforum.ru

Технический форум по робототехнике.
Текущее время: 14 апр 2025, 12:13

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 77 ]  На страницу 1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Платформа для обкатки "Компьютерного зрения"
СообщениеДобавлено: 15 янв 2005, 14:46 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Вот, сегодня закончил. Сейчас буду на ней тестировать "отслеживание" маяков специального вида.

Интерфесные платы: Phidget QuadServo (т.к. пока лень заниматься источником питания для них - приходится использовать по 1 на серву) - 2шт, еще не использует, но уже привинчено к общей доске - интерфейсная плата Phidget Interface Kit 8/8/8;

Камера: препарированная Genius VideoCAM NB 300;

Сервоприводы: Futaba S3004 - 2шт;

Материал: Вспененный пластик "Коматекс" толщиной 3мм и метизы (М2,М3,М5);

Инструменты: Линейка, карандаш, нож для резки бумаг, дрель, отвертка и плоскогубцы;

Время на изготовление: 2ч;


Вложения:
cam-stand.jpg
cam-stand.jpg [ 22.45 КиБ | Просмотров: 9924 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 янв 2005, 15:49 
Не в сети
Модератор

Зарегистрирован: 11 ноя 2004, 03:18
Сообщения: 1274
Откуда: Москва
Чувствуется размах! Всмысле размеров, все компактно и главное с места на место переносить удобно :)

Это так, лирическое отступление, на самом деле с нетерпением жду результатов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 янв 2005, 17:03 
Не в сети
Аватара пользователя

Зарегистрирован: 03 дек 2004, 13:06
Сообщения: 191
Откуда: РБ, г.Уфа
прог. языки: delphi, 1c, php
присоединяюсь. работа выполена аккуратно. дальше дело за IQ

_________________
--
с Уважением, ZERAM


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 янв 2005, 17:13 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
тоже присоединяюсь. С нетерпением ждем-с результатов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 янв 2005, 18:50 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Промежуточный доклад :)

Собрал кучу софта в общую программу:

1. Управление сервоприводами через библиотеку Phidgets;
2. Получение изображения с веб-камеры через библиотеку OpenCV;
3. Нагло содрал с демки распознавания квадратиков кучу кода;

Теперь можно моей программкой крутить камерой и она будет распознавать различные контуры в видимом изображении;

Сейчас для уровня №1 осталось дописать перебор контуров, выбор из них "наших маяков", чтение с них зашифрованной в 2хмерном коде информации и отметку их на изображении;

Для уровня №2 - сделаю слежение за маяком - т.е. чтобы вебкамера поворачивалась вслед за перемещаемым маяком.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 янв 2005, 20:01 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Предварительный доклад №2 :)

Перекроил распознавалку, теперь распознает параллелограмы.

Стабильно находит в 640х480 тестовый объект "двухмерный штрих-код в черной рамке" размером 8.5х8.5см на расстоянии до 2.4м, поля вокруг тестового объекта - минимум 2.5см, белые.

Решено переделать тестовый объект в размер 15х15см с полями 5см (общий размер объекта - 25х25см). Теоретически дальность действия должна возрасти до 4м.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 янв 2005, 23:57 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Практически полная победа! :)

Распознается достаточно малое количество вариантов двухмерного кода, осталось добавить хеш-биты и дело в шляпе.

Однако это уже на завтра - дело техники придумывать хэш функцию и рисовать несколько вариантов "маяков" с номерами.


Вложения:
qcode-decoding.jpg
qcode-decoding.jpg [ 54.09 КиБ | Просмотров: 9739 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 16 янв 2005, 01:16 
Не в сети
Аватара пользователя

Зарегистрирован: 03 дек 2004, 13:06
Сообщения: 191
Откуда: РБ, г.Уфа
прог. языки: delphi, 1c, php
я правильно понимаю?! то что справа - это распознанное то что слева ?
вауууу! круто! поздравляю! даже не верится. покажи ещё чтонибудь.

завтра так завтра.

_________________
--
с Уважением, ZERAM


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 16 янв 2005, 09:35 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Да, все правильно - слева изображение с веб-камеры, на нем желтые квадратики наложенные друг-на друга - распознанные функциями OpenCV прямоугольники при разных комбинациях фильтров (именно поэтому получается несколько наложенных квадратиков).

Далее я для каждого распознанного квадратика пытаюсь чуть варьировать координаты его углов не более чем на 1 пиксель и распознать двоичный код заключенный внутрь моего "маяка".

PS: На самом деле исходное изображение с веб-камеры в части маяка немного лучше, это JPG его так покрошил когда я сюда картинку готовил... :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 16 янв 2005, 15:48 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
Здорово.
Это действительно серьёзное достижение, снимаю шляпу, и мои поздравления.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 16 янв 2005, 19:12 
Не в сети
Аватара пользователя

Зарегистрирован: 03 дек 2004, 13:06
Сообщения: 191
Откуда: РБ, г.Уфа
прог. языки: delphi, 1c, php
to DeaD, что там за "приват ареа" =) похоже на какой то системный блок =)

_________________
--
с Уважением, ZERAM


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 16 янв 2005, 19:21 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
ZERAM писал(а):
to DeaD, что там за "приват ареа" =) похоже на какой то системный блок =)

А это наш персональный хаос и домашная обстановка. Короче самый что ни на есть Private Area :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 17 янв 2005, 12:35 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
В общем эру дешевой и точной навигации по квартире для роботов на базе ноутбуков с веб-камерой можете считать открытой :)

Окончательный релиз модуля распознавания маяков:

1. Проводит контроль целостности данных в маяке (маяк несет 15 битов информации, 4 бита на контроль целостности и 6 бит на определение ориентации);

2. Определяет расстояние до маяка исходя из размеров маяка.

Производительность сейчас на Pentium M 1.5GHz, RAM:512Mb дает 4-5fps, немного конечно :) но с другой стороны при движении камеры так все смазывается в изображении, что все равно отдельные snap-shot'ы только надо будет анализировать.

PS: На приведенном ниже рисунке указывает #, затем номер маяка, затем ":" и расстояние до него (в метрах).


Вложения:
beaconb.jpg
beaconb.jpg [ 52.34 КиБ | Просмотров: 9685 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31 янв 2005, 22:21 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Выжал из этой платформы почти все, получилась "Система активного сканирования местности".

В данный момент система в автоматическом режиме сканирует сектор в 180 градусов с шагом 20 или 40 градусов (штатное или экспресс-сканирование). Время сканирования всего сектора в 180 градусов - 10 или 20 сек (соотв. штатный/экспресс режимы). Разумеется причина такого медленного сканирования - инертность матрицы и необходимость снятия нескольких измерений в каждом положении для усреднения результатов. Кроме того такое сканирование необходимо только если робот совсем "потерялся", если это не так - можно только по своему ожидаемому положению поворачиваться к маякам которые мы думаем что должны видеть и просто уточнять по ним свое положение - такая операция будет занимать не более 2-3 сек.

Приблизительная точность определения своего положения, при наличии 3 маяков с достаточно большим углом относительно робота - при экспресс сканировании - 30 градусов и +/- 20см, при штатном сканировании - 10 градусов и +/- 10см. Маяки расположены на расстоянии 1.5, 2 и 2.4м соотв.

Стала очевидной необходимость калибровки веб-камеры, а также изготовления точной поворотной платформы не допускающей вибраций, и калибровки всей системы в целом.

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: вопрошаю:
СообщениеДобавлено: 24 фев 2005, 16:01 
Не в сети
Аватара пользователя

Зарегистрирован: 21 янв 2005, 12:16
Сообщения: 977
Откуда: Germany
прог. языки: asm
интересно....

вопрошаю :  

1. каков размер "входной" картинки в пикселях ?
1.а. есть ли возможность "брать" картинки с HDD (просто файлы в какой либо дирректории)?
2. какова минимальная конфигурация для компа ? :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 77 ]  На страницу 1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO