Технический форум по робототехнике.
=DeaD= » 15 янв 2005, 14:46
Вот, сегодня закончил. Сейчас буду на ней тестировать "отслеживание" маяков специального вида.
Интерфесные платы: 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 (22.45 КиБ) Просмотров: 9569
Kanoka » 15 янв 2005, 15:49
Чувствуется размах! Всмысле размеров, все компактно и главное с места на место переносить удобно
Это так, лирическое отступление, на самом деле с нетерпением жду результатов.
ZERAM » 15 янв 2005, 17:03
присоединяюсь. работа выполена аккуратно. дальше дело за IQ
EdGull » 15 янв 2005, 17:13
тоже присоединяюсь. С нетерпением ждем-с результатов.
=DeaD= » 15 янв 2005, 18:50
Промежуточный доклад
Собрал кучу софта в общую программу:
1. Управление сервоприводами через библиотеку Phidgets;
2. Получение изображения с веб-камеры через библиотеку OpenCV;
3. Нагло содрал с демки распознавания квадратиков кучу кода;
Теперь можно моей программкой крутить камерой и она будет распознавать различные контуры в видимом изображении;
Сейчас для уровня №1 осталось дописать перебор контуров, выбор из них "наших маяков", чтение с них зашифрованной в 2хмерном коде информации и отметку их на изображении;
Для уровня №2 - сделаю слежение за маяком - т.е. чтобы вебкамера поворачивалась вслед за перемещаемым маяком.
=DeaD= » 15 янв 2005, 20:01
Предварительный доклад №2
Перекроил распознавалку, теперь распознает параллелограмы.
Стабильно находит в 640х480 тестовый объект "двухмерный штрих-код в черной рамке" размером 8.5х8.5см на расстоянии до 2.4м, поля вокруг тестового объекта - минимум 2.5см, белые.
Решено переделать тестовый объект в размер 15х15см с полями 5см (общий размер объекта - 25х25см). Теоретически дальность действия должна возрасти до 4м.
=DeaD= » 15 янв 2005, 23:57
Практически полная победа!
Распознается достаточно малое количество вариантов двухмерного кода, осталось добавить хеш-биты и дело в шляпе.
Однако это уже на завтра - дело техники придумывать хэш функцию и рисовать несколько вариантов "маяков" с номерами.
- Вложения
-
ZERAM » 16 янв 2005, 01:16
я правильно понимаю?! то что справа - это распознанное то что слева ?
вауууу! круто! поздравляю! даже не верится. покажи ещё чтонибудь.
завтра так завтра.
=DeaD= » 16 янв 2005, 09:35
Да, все правильно - слева изображение с веб-камеры, на нем желтые квадратики наложенные друг-на друга - распознанные функциями OpenCV прямоугольники при разных комбинациях фильтров (именно поэтому получается несколько наложенных квадратиков).
Далее я для каждого распознанного квадратика пытаюсь чуть варьировать координаты его углов не более чем на 1 пиксель и распознать двоичный код заключенный внутрь моего "маяка".
PS: На самом деле исходное изображение с веб-камеры в части маяка немного лучше, это JPG его так покрошил когда я сюда картинку готовил...
setar » 16 янв 2005, 15:48
Здорово.
Это действительно серьёзное достижение, снимаю шляпу, и мои поздравления.
ZERAM » 16 янв 2005, 19:12
to DeaD, что там за "приват ареа" =) похоже на какой то системный блок =)
=DeaD= » 16 янв 2005, 19:21
ZERAM писал(а):to DeaD, что там за "приват ареа" =) похоже на какой то системный блок =)
А это наш персональный хаос и домашная обстановка. Короче самый что ни на есть Private Area
=DeaD= » 17 янв 2005, 12:35
В общем эру дешевой и точной навигации по квартире для роботов на базе ноутбуков с веб-камерой можете считать открытой
Окончательный релиз модуля распознавания маяков:
1. Проводит контроль целостности данных в маяке (маяк несет 15 битов информации, 4 бита на контроль целостности и 6 бит на определение ориентации);
2. Определяет расстояние до маяка исходя из размеров маяка.
Производительность сейчас на Pentium M 1.5GHz, RAM:512Mb дает 4-5fps, немного конечно
но с другой стороны при движении камеры так все смазывается в изображении, что все равно отдельные snap-shot'ы только надо будет анализировать.
PS: На приведенном ниже рисунке указывает #, затем номер маяка, затем ":" и расстояние до него (в метрах).
- Вложения
-
=DeaD= » 31 янв 2005, 22:21
Выжал из этой платформы почти все, получилась "Система активного сканирования местности".
В данный момент система в автоматическом режиме сканирует сектор в 180 градусов с шагом 20 или 40 градусов (штатное или экспресс-сканирование). Время сканирования всего сектора в 180 градусов - 10 или 20 сек (соотв. штатный/экспресс режимы). Разумеется причина такого медленного сканирования - инертность матрицы и необходимость снятия нескольких измерений в каждом положении для усреднения результатов. Кроме того такое сканирование необходимо только если робот совсем "потерялся", если это не так - можно только по своему ожидаемому положению поворачиваться к маякам которые мы думаем что должны видеть и просто уточнять по ним свое положение - такая операция будет занимать не более 2-3 сек.
Приблизительная точность определения своего положения, при наличии 3 маяков с достаточно большим углом относительно робота - при экспресс сканировании - 30 градусов и +/- 20см, при штатном сканировании - 10 градусов и +/- 10см. Маяки расположены на расстоянии 1.5, 2 и 2.4м соотв.
Стала очевидной необходимость калибровки веб-камеры, а также изготовления точной поворотной платформы не допускающей вибраций, и калибровки всей системы в целом.
nest » 24 фев 2005, 16:01
интересно....
вопрошаю :
1. каков размер "входной" картинки в пикселях ?
1.а. есть ли возможность "брать" картинки с HDD (просто файлы в какой либо дирректории)?
2. какова минимальная конфигурация для компа ?