roboforum.ru

Технический форум по робототехнике.

Робот и Девочка

Обсуждаем рождающиеся мысли и результаты экспериментов.

Робот и Девочка

Сообщение AndreiSk » 06 авг 2010, 15:59

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

0_robot.JPG
0_robot.JPG (45.25 КиБ) Просмотров: 5820


Ну робот был готов конечно месяца два назад, и ждал своего часа.

По размерам он 20x20 см, высота около 35см.
Внутри бортовой ПК (mini-itx плата под Core2Duo 2.66ГГц, 4Гб RAM, 30Гб SSD, wifi)
и камера Surveyor, соединенная по USB. Windows XP x64 как RTOS :crazy:
Питается от LiPo 4400mAh (3S1P), где то на два часа.
Само собой еще от сети как обычный ПК питаться может.
4 мотора, sabertooth, pan-tilt/2сервы, свой контроллер для pan-tilt.

Час X настал когда пришла пора двигать из задымленной Москвы.
Схватил робота и улетел в другое место.

Еще немного подумав,
на основе топика про прогулки ( forum17/topic8305.html )
и пихание шарика ( forum35/topic8406.html )
решил сделать, чтобы он за племяшкой (5.5г) ездил.

1_robotandlady.JPG

2_robotandlady.JPG



Собственно все.. ездиет :Yahoo!:
Если ходить неспеша, то ноги не теряются :roll:
Цвет носков :) не важен, главное чтобы с полом не сливались.
Одинаково хорошо и на черные реагирует. Цвет задается в начале движения.

В этом эксперименте отрабатывал распознавание цветовых пятен,
отсекание шумов, бликов, отслеживание пятен в движении
и управление роботом в режиме realtime (40fps 160x120).

Планирую еще доделать автоподстройку под цвет объекта.
Хотя объект (племяшка) в пределах квартиры и не теряется,
но все равно попробую :roll:
А также запоминание объектов и их формы.

Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Робот и Девочка

Сообщение EDV » 06 авг 2010, 16:10

Техническое зрение, что на Mini-itx, на чём написано (С++, С#, OpenCV)?
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Робот и Девочка

Сообщение AndreiSk » 06 авг 2010, 16:16

Чисто моя разработка на C#, без OpenCV, без C++.
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Робот и Девочка

Сообщение EDV » 06 авг 2010, 16:35

Цель как обнаруживается? По гистограмме цвета? Я заметил, что кроме розовых носков и коричневого пола там ещё и стены имеются голубоватые, но после обработки видны только пиксели носков. Как такое возможно?

В ролике робот «гонится» за целью, без остановки. А что будет, когда догонит? Назад откатываться умеет, если вплотную к цели подкатил?

Разрешение изображения с видеокамеры мелкое совсем (похоже, меньше чем 320x240), камера большее разрешение не тянет? На таком разрешении только «пятна» и можно искать. Распознаванием образов заниматься не получится, если бы хотя бы 320x240 :oops:
Последний раз редактировалось EDV 06 авг 2010, 16:49, всего редактировалось 1 раз.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Робот и Девочка

Сообщение AndreiSk » 06 авг 2010, 16:51

EDV писал(а):Цель как обнаруживается? По гистограмме цвета? Я заметил, что кроме розовых носков и коричневого пола там ещё и стены имеются голубоватые, но после обработки видны только пиксели носков. Как такое возможно?


Делается это так:
1. в начале робот стоит и племяшка перед ним.
2. я кликаю на носок, допустим его цвет CLRносок
3. племяшка уходит, появляется новый кадр,
для каждого пикселя со цветом CLR2 считается расстояние до CLRносок (как в 3D пространстве).
Затем нормируется на диапазон (minCLR, maxCLR)
То есть по сути накладываю фильтр и появляется чб картинка.
Место где носки, имеет минимальное расстояние до CLRносок, становится черным,
все остальное сероватое вплоть до белого.
То есть каждый пиксель от 0 до 255.
5. Делаем threshold, =30
Затем у меня есть алгоритм заливки, я ищу место где есть допустим 4x4 пикселя черного (после threshold). И заливаю пером 4x4.
Все что не залилось - отсекаю, так все мелкие шумы уходят.
6. Ну а дальше есть 2 BLOB, вычисляю ближайший от предыдущего кадра.
Поскольку realtime, носки не могут быстро уйти на другой конец кадра :)

7. Вычислив координаты носков, ищу в автомате состояний, куда двигать (вперед, назад, вправо-влево, стоять)


EDV писал(а):Разрешение изображения с видеокамеры мелкое совсем (похоже, меньше чем 320x240), камера большее разрешение не тянет?

Камера Surveyor может дать 160x120x60fps, 320x240x7.5fps, 640x480x?fps
Но там не было USB, я допаял контроллер, он прокачивает 160x120x50 цветное (~40кб/кадр). Увы, веб камера сильно мажет, мне не подходит :(
Планирую потом прикупить скоростную USB камеру,
типа такой http://www.1stvision.com/cameras/IDS/UI-2210SE.html
Но сейчас меня и surveyor устраивает (не мажет), хотя и 160x120x50 fps.

Добавлено спустя 9 минут 17 секунд:
EDV писал(а):В ролике робот «гонится» за целью, без остановки. А что будет, когда догонит? Назад откатываться умеет, если вплотную к цели подкатил?


Код: Выделить всёРазвернуть
St   Cpts   cx      cy      PPts   px      py   Age   Act
=============================================
  а) есть объект, вперед
1      1         35;65   *;20   X         X         X      X      F+50
1      1         35;65   21;50   X         X         X      X      F
1      1         35;65   51;75   X         X         X      X      F-25
1      1         66;*   *         X         X         X      X      R
1      1         *;34   *         X         X         X      X      L
1      1         *         99;*   X         X         X      X      B-50
1      1         *         50;98   X         X         X      X      S
  б) объект потерян
1      0         X         X         1         51;*   X      X      R
1      0      X         X         X         X         X      X      S


EDV писал(а):Разрешение убитое совсем - 160x120. Камера большее разрешение не тянет? На таком разрешении только «пятна» и можно искать. Распознаванием образов заниматься не получится, если бы хотя бы 320x240 :oops:


EDV, у меня это не единственный робот,
есть и другой робот с ПК и высокоскоростной камерой.
Я ее описал уже здесь ( wiki/Видеокамеры )
как Prosilica GigE Vision GC-655C

Выбираю робота под алгоритм.. Сейчас меня этот устраивает тоже ;)
Вложения
CIMG2157x.JPG
CIMG2157x.JPG (29.8 КиБ) Просмотров: 6520
robot.PNG
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Робот и Девочка

Сообщение EDV » 06 авг 2010, 17:02

С анализом цвета плохо то, что алгоритм от цветопередачи камеры зависит и от общей освещённости. Если общее освещение слабое, то все предметы становятся серыми (черно-белыми). Вот тут-то мой алгоритм как раз и пригодился бы, он даже ночью маркер «Иди сюда» видел, с помощью камеры с инфракрасной подсветкой. А ещё если запомнить по дороге пару-тройку картинок, то и из одной комнаты в другую добраться можно автономно :wink:
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Робот и Девочка

Сообщение AndreiSk » 06 авг 2010, 17:03

Забыл дописать словами, как робот ведет себя:
a) объект далеко, двигаемся быстрее
б) объект не близко, двигаемся нормально
в) объект близко, двигаемся медленнее
г) объект под "носом" :) , даем назад. Тут правда можно и в стену въехать,
но такие случаи пресекаются :)
д) вправо-влево если объект уходит в сторону.
е) объекта нет - просто крутимся.
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Робот и Девочка

Сообщение Zeus » 06 авг 2010, 17:07

Здорово! Классный робот!
А алгоритмы обработки изображения сам выдумывал или где прочитал как делать?
«Сон разума рождает чудовищ»
Аватара пользователя
Zeus
 
Сообщения: 862
Зарегистрирован: 28 июл 2009, 10:02
Откуда: Самара
ФИО: Павел Сергеевич

Re: Робот и Девочка

Сообщение AndreiSk » 06 авг 2010, 17:12

Я вижу выход в автоподстройке цвета объекта, каждый раз робот
знает где объект, можно пересчитать цвет.
Малиновые носки не терялись даже в очень темных переходах комната-комната, коридор-кухня. Черные носки теряются иногда :(

Твой алгоритм тоже хорош, мы до него еще доберемся.

Добавлено спустя 3 минуты 25 секунд:
Zeus писал(а):Здорово! Классный робот!
А алгоритмы обработки изображения сам выдумывал или где прочитал как делать?


Книжки, исходники разные (OpenCV) например, что то можно понять
глядя как работает roborealm, чтото сам придумываю.
Это же робот для программиста... Просто иногда и железо попаять охота ;)
Но основной интерес в программной части лежит :roll:
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Робот и Девочка

Сообщение Skyline » 06 авг 2010, 18:09

А можно, если не секрет, поподробней о механике робота! Что за моторы, редуктора, откуда такие колесики алюминиевые?
Аватара пользователя
Skyline
 
Сообщения: 278
Зарегистрирован: 12 май 2010, 13:30
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич

Re: Робот и Девочка

Сообщение Kozinaka » 06 авг 2010, 18:28

Клёво! Жалко нет видео от третьего лица, как этот робот следует за девочкой.

Фреймворк с MDI интерфейсом внушает уважение своей обширностью и сложностью.
Аватара пользователя
Kozinaka
 
Сообщения: 85
Зарегистрирован: 17 ноя 2009, 16:21
Откуда: Москва
прог. языки: C/C++/C#
ФИО: Олег Козлов

Re: Робот и Девочка

Сообщение AndreiSk » 06 авг 2010, 19:04

Вот просто перечисление механических/электрических компонентов:
1. Моторы, точно не помню, но вроде такие: 19:1 Metal Gearmotor 37Dx52L mm
http://www.pololu.com/catalog/product/1102
4шт

2. Крепление для моторов
Pololu 37D mm Metal Gearmotor Bracket Pair
http://www.pololu.com/catalog/product/1084
2 пары. Очень удобн закрепить моторы к пластине,
я использовал 2мм нефольгированный стеклотекстолит
ну у меня получился бутерброд с нейлоновыми stand-off вставками,
так что все вышло довольно жестко.

3. Lynxmotion Hex Mounting Hub HUB-12 - 6mm (Pair)
http://www.robotshop.ca/lynxmotion-mounting-hub-12.html
2 пары
Нужны чтобы на D-образный вал мотора навесить колеса.

4. диски для колес с хабом 12мм
Rampage 1.9 Narrow Beadlock Wheels
http://rc4wdstore.com/2/product_info.ph ... b28982e6c2
1 комплект (4 штуки)

5. резина для колес (на диски)
Prowler XS Scale 1.9 Tires (Prowler1.9)
http://rc4wdstore.com/2/product_info.ph ... a3e324dc0b
2 пары

[4], [5] это обычные модельные колеса для РУ-авто, можно найти и подешевле ;)
но УГ мне покупать не хотелось, хотелось чтобы колеса глаза радовали.

Это уже не механика, но все равно отпишу
6. Sabertooth dual 5A motor driver
http://www.dimensionengineering.com/Sabertooth2X5.htm
1шт. Управляет двигателями

7. Аккумулятор
ZIPPY Flightmax 4400mAh 3S1P 15C
http://www.hobbycity.com/hobbycity/stor ... oduct=6504
1шт

[7] переделал на магнитные защелки,
вот такие http://www.sparkfun.com/commerce/produc ... ts_id=8697
Очень удобно вытаскивать батарею :)

Далее идет ПК, ну тут ничего особенного, mini-ITX плата
в оргстеклянном корпусе.
На ней pan-tilt от lynxmotion, примерно такой же pan-tilt продается и в
здешнем магазине. На pan-tilt висит камера.

Наверное это все. Само собой, можно найти и дешевле, просто перечислил что использовано.
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Робот и Девочка

Сообщение EDV » 06 авг 2010, 21:20

Хороший робот! С Mini-itx, видеокамерой и связью по Wi-Fi?

Изображение

Вот такого бы робота да в магазин Робофорума. Я думаю, тот, кому интересно поэкспериментировать с навигацией по визуальным маякам (но возится с железом не хочется, или навыков нету) купил бы, даже за дорого :good:
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Робот и Девочка

Сообщение Skyline » 06 авг 2010, 21:39

Благодарю за подробнейшее разъяснение! :good:
Аватара пользователя
Skyline
 
Сообщения: 278
Зарегистрирован: 12 май 2010, 13:30
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич

Re: Робот и Девочка

Сообщение AndreiSk » 06 авг 2010, 21:50

EDV писал(а):Хороший робот! С Mini-itx, видеокамерой и связью по Wi-Fi?
Вот такого бы робота да в магазин Робофорума. Я думаю, тот, кому интересно поэкспериментировать с навигацией по визуальным маякам (но возится с железом не хочется, или навыков нету) купил бы, даже за дорого :good:


Да, этот робот аналогичен,
только колеса побольше (140мм) и компьютер+камера другие.
А черный корпус это обычный M350 ;)
внутри Zotac H55 ITX, Core i5 660, 3.33ГГц, 4Гб RAM, HDD, WiFi шел в комплекте
M3-ATX как стабилизатор от LiPo 3S2P 10Ач, хватает ее на 3 часа где-то.

В принципе, можно продавать комплекты для сборки или уже готовый,
но это хозяевам магазина наверное надо исследовать круг покупателей :roll:
Действительно, роботов с ПК что-то в продаже не видно,
каждый делает по своему...
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

След.

Вернуться в Идеи

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

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