roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 10:12

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




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 13:47 
Не в сети

Зарегистрирован: 06 сен 2011, 17:17
Сообщения: 40
Откуда: Харьков, Украина.
ФИО: Андрей
Привет всем!

Вот решил выставить на суд общественности свою (точнее нашу с приятелем) поделку - робот управляемыя через Интернет на базе BeagleBoard. Документация по ссылке, как обычно :) , не закончена но на мой взгляд достаточна для того, чтобы понять и даже повторить сделанное.

В кратце (подробно по ссылке описано), в качестве платформы использовалась готовая гусенечная платформа от Pololu. На нее поставил BeagleBoard к которой подключил камеру, WLan, и GPS приемник. Для управления моторами использовал тоже готовые регуляторы скорости, которые в свою очередь уравляются ШИМ-ами генерируемыми на BeagleBoard-е. Дополнительно подключил через I2C компас и ультразвуковой сонар.

Вот так оно сейчас выглядит:
Вложение:
Комментарий к файлу: Робот на базе BeagleBoard
assembled2.jpg
assembled2.jpg [ 76.33 КиБ | Просмотров: 5506 ]


На Beagl-е видео с камеры зажимается в реальном времени в h264 на BeagleBoard-овском (точнее не OMAP-овском) DSP с использованием TI-шных кодеков и GStreamer-а. Потом передается через WLan водителю. При этом, также решены многие проблемы с файерволом и НАТ-ом.

Для удобного управления, необходимо сохранять постоянную частоту кадров. Это довольно трудно реализовать при передаче видео через Интернет т.к. пропускная способность канала постоянно меняется. Для этого я написал свою систему адаптивного видео-стриминга. Вот по этой ссылке можно посмотреть презентацию на эту тему (слайды отдельно вот тут), которую я делал на GStreamer конференции.

В добавок к видео, на водительское приложение посылаются данные с сенсоров. Это дает возможность, например, отображать текущее положение на карте, которую я скачиваю с openstreetmap.org тоже в реальном времени.

Вот так выглядит программа для "водителя":
Вложение:
Комментарий к файлу: Программа управления
cockpit1.jpg
cockpit1.jpg [ 39.35 КиБ | Просмотров: 5577 ]


Это реальный скриншот. Водительское приложение полностью написано с использованием OpenGL и работает на Линуксе и Виндовсе (на Маке тоже должно по-идее, но не тестировал). Модель создана в Блендере и экспортированна в стандартный .DAE (COLLADA) формат. Когда приходит очередной видео кадр, он распаковывается, из него создается текстура и накладывается на соответствующую панель в 3D cцене. Панели слева и справа предназначены для вывода дополнительной информации (типа чтоб логи непонятные ползли постоянно и т.д. :) ).

За 3D модель, хочу сказать отделное спасибо Sungreen-у (он же Николай :) )! Он откликнулся на мой зов о помощи на blender-3d.ru форуме и создал все модели. Рекомендую глянуть на ссылку - там несколько классных альтернативных версий панели управления.

Весь софт (включая рецепты для OpenEmbedded/Angstrom-а для построения образа Linux-а для флэш-карты) доступны на гитхабе. Мы сейчас в процессе переселения с gitorious.org на github, так что если чего-то не будет хватать, можно поискать в старом репозитории.

Если интересно, можно еще почитать блог про проект - http://veter-project.blogspot.com.

Буду очень рад прочитать комментарии о проекте!

З.Ы.
Только сейчас заметил, что на скриншоте водительской панели виден "капот". Это не монтаж :) , просто мы кроме танчика, эту же платформу на машинку ставили поэтому "не правильный" скриншот затесался. Попозже добавлю "правильный" (также с отрисованной картой).


Последний раз редактировалось andreynech 10 ноя 2011, 20:38, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 13:58 
Не в сети
Аватара пользователя

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

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 14:16 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
Компас не вынесли почему? Помехи не ловит?

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 14:51 
Не в сети

Зарегистрирован: 06 сен 2011, 17:17
Сообщения: 40
Откуда: Харьков, Украина.
ФИО: Андрей
Grem писал(а):
Компас не вынесли почему? Помехи не ловит?

Я как-то даже не подумал про помехи... :pardon: . Но в глаза ничего особенного не бросилось... наверно как-то его помехи стороной обходят :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 17:18 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
С обычным компасом сверяли показания? Как узнали, что нет наводок? :)
Я то тоже могу показать рукой на север, но вот как точно... :)

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 17:25 
Не в сети

Зарегистрирован: 06 сен 2011, 17:17
Сообщения: 40
Откуда: Харьков, Украина.
ФИО: Андрей
Grem писал(а):
С обычным компасом сверяли показания? Как узнали, что нет наводок? Я то тоже могу показать рукой на север, но вот как точно...

Да вообще никак не узнал... Я ж говорю, я как-то про помехи не подумал. Грубо (из серии рукой показать :wink: ) вроде правильно показывает. Но теперь я попробую поточней проверить. Спасибо за совет! :beer:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 19:11 
Не в сети
Аватара пользователя

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

Там и USB-порт на борту для вебки и вайфай и всё это за какие-то 1600руб.

Вместо порядка 164 евро, т.е. порядка 6900руб за:
BeagleBoard xM ~ €142
LogiLink аудио и видео grabber USB 2.0 ~ €10
TP-Link TL-WN821N USB WLan адаптер ~ €12ъ

Габариты и энергопотребление или что-то еще?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 20:19 
Не в сети

Зарегистрирован: 06 сен 2011, 17:17
Сообщения: 40
Откуда: Харьков, Украина.
ФИО: Андрей
=DeaD= писал(а):
Такой вопрос - а зачем мега-дорогое решение типа BeagleBoard? Почему не используется более экономное и доступное типа DIR-320?
Вот местная движуха на эту тему: forum10/topic9534.html
Габариты и энергопотребление или что-то еще?


Тему про робота на основе DIR-320 я регулярно просматриваю. Хорошая идея и интересные вопросы обсуждаются.

По поводу "зачем мега-дорогое решение типа BeagleBoard" - причин несколько.
  • Габариты - в конечном итоге я хочу со всей этой историей взлететь :) . Т.е сделать квад-коптер и либо управлять через UMTS, и/или если будет медленно накрутить математики для автономности. Поэтому пытался делать максимально компактно. Например, у меня сейчас уже занято 3 USB порта: влан, видео граббер и GPS приемник. На Бигле 4 порта, т.е. я пока обхожусь без хаба, даже если ставлю две веб-камеры для стерео видения (версия с граббером и аналоговой камерой просто дешевле чем хорошая веб-камера типа Logitech 9000Pro). А отсутствие хаба это огромная экономия места!
  • Я не силен в электронике, зато хорошо умею программировать. Поэтому (ну и тоже с целью экономии места) я поставил себе цель сделать платформу, которую максимально просто собрать с минимумом паяния. Я даже решил не использовать МК т.к. на Бигле, в принципе есть все что нужно - UART, I2C, GPIO, SPI, три хардвеерных ШИМ генератора, и т.д. В результате я отделался только преобразователем напряжения ну и разъемы нужные поприпаивал.
  • DSP встроенный в OMAP чип - я планирую развиваться дальше в сторону автономности. DSP с его скоростью при этом просто незаменимая штука. Трудно найти другую платформу сейчас которая могла бы при сравнимом энергопотреблении предоставить такую производительность. Одно то, что можно видео прямо на борде жать в h264 в реальном времени уже впечатляет! Если добавить граббер который это хардвеерно делает, то это значительно увеличит габариты и стоимость.
Вобщем, если просуммировать, то комбинация цены, габаритов, производительности, энергопотребления и внешних интерфейсов меня убедила.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 20:26 
Не в сети
Аватара пользователя

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

Кстати, для взлета важнее по идее вес, а не габариты, разъемы по идее вообще почти все выпаять, USB запаять проводками напрямую.

А вот 1ГГц на борту - весомый аргумент :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 21:29 
Не в сети
Аватара пользователя

Зарегистрирован: 21 май 2007, 22:57
Сообщения: 600
Откуда: Калининград
прог. языки: C++
1ГГц - это действительно круто, но недавно я прогнал свой OpenCV-ный бенчмарк на бигле и был не очень удовлетворён результатом :) придётся "курить" DSP-ник :)

_________________
RoboCraft.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 10 ноя 2011, 21:47 
Не в сети

Зарегистрирован: 06 сен 2011, 17:17
Сообщения: 40
Откуда: Харьков, Украина.
ФИО: Андрей
noonv писал(а):
1ГГц - это действительно круто, но недавно я прогнал свой OpenCV-ный бенчмарк на бигле и был не очень удовлетворён результатом :) придётся "курить" DSP-ник :)


Да, это известная проблема с OpenCV. Библиотека-то изначально интеловская и для арм-а совсем не оптимизирована. Есть проект где народ пытается оптимизировать OpenCV для Бигла. Я давно уже не него не смотрел, поэтому точно не знаю в каком он состоянии. Есть еще TI-шная библиотека специально написанная для этого DSP. Но до нее у меня пока тоже руки не дошли.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 11 ноя 2011, 03:16 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
для чего-то летающего может вес и проблема, а для ездящего на армах свет клином не сошелся. полно всяких миниатюрных плат с х86 совместимыми процами. via, intel (atom, atom 6xx с фпга, i3-i5) и amd. и они всё миниатюрней/легче становятся, потребляют всё меньше и меньше, а производительность растёт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 14 май 2012, 17:22 
Не в сети

Зарегистрирован: 06 сен 2011, 17:17
Сообщения: 40
Откуда: Харьков, Украина.
ФИО: Андрей
Мы тут решили перейти на другую механическую платформу, т.к. старые шасси уже не выпускаются и для более интересного управления не хватало энкодеров на колесах. Выбрали вот такую гусеничную платформу. Но тут я как вспомнил сколько времени ушло на сверление и выпиливание нужных дырочек в пластиковой коробке для корпуса, стало мне как-то совсем грустно... В результате родилась идея напечатать корпус сразу как надо на 3Д принтере.

Дизайнера, который делал 3Д модель панели управления, эта идея тоже вдохновила и он согласился помочь еще раз (спасибо Sungreen огромное!!!). В результате, через пару дней получил первые картинки. Они мне так понравились, что я просто не удержался и решил запостить их тут.

Изображение
Изображение
Изображение

Сейчас я сижу фотографирую и замеряю все компоненты, чтобы можно было уже все абсолютно точно разместить в корпусе. Заказал 3Д принтер и надеюсь, что в начале июня смогу уже напечатать первый вариант. Буду рад услышать комментарии по поводу корпуса и вообще идеи печатать его на 3Д принтере. Подробности о проекте можно в первом сообщении и вот по вот этим ссылкам почитать: http://veter-project.blogspot.com , https://github.com/veter-team/veter/wiki/Russian-intro .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 14 янв 2013, 18:23 
Не в сети

Зарегистрирован: 06 сен 2011, 17:17
Сообщения: 40
Откуда: Харьков, Украина.
ФИО: Андрей
Мы наконец-то доделали наш 3Д-печатный корпус. Вот, что из этого получилось. Подробности можно почитать на нашем новом сайте. Все модели и весь софт - оупен сорс :-) .

Изображение
Изображение


Это пример в котором робот распознает напечатанную окружность и едет к ней. Для распознавания использовал OpenCV. В качестве сигнала для навигации использовал расстояние центра окружности от середины кадра. После этого ПИД-контроллер ведет робота к окружности, до тех пор, пока передний дальномер не покажет расстояние меньше 10см.

Это пример в котором используется алгоритм локализации Particle Filter . В качестве сенсоров использовались четыре бортовых дальномера (вперед, назад, влево и вправо), которые определяли расстояние до стен.

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

Изображение
Изображение


Последний раз редактировалось andreynech 14 янв 2013, 22:05, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот управляемыя через Интернет на базе BeagleBoard
СообщениеДобавлено: 14 янв 2013, 18:38 
Не в сети
Аватара пользователя

Зарегистрирован: 26 янв 2012, 03:59
Сообщения: 1341
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин
симпатичная машинка.
http://www.robots.croc.ru/ участвуете?
какие у вас идеи\планы дальнейших работ?


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

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


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

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


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

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