роботы робототехника микроконтроллеры


 Страниц (8): [1] 2 3 4 5 6 7 8 »   

> Описание: WiFi робот управляемыя через Интернет на базе BeagleBoard
andreynech Post Id



Майор


Сообщений всего: 63
Дата рег-ции: Сент. 2011  



Привет всем!

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

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

Вот так оно сейчас выглядит:


или вот так, в зависимости от того, какую ходовуя часть использовать:


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

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

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

Вот так выглядит программа для "водителя":


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

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

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

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

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

(Отредактировано автором: 10 Ноября, 2011 - 21:35:13)

 
 Top
anar Post Id



Главнокомандующий


Сообщений всего: 441
Дата рег-ции: Июнь 2011  



Крутоооооо Шок
 
 Top
andreynech Post Id



Майор


Сообщений всего: 63
Дата рег-ции: Сент. 2011  



anar пишет:
Крутоооооо Шок

Спасибо! Смущение
 
 Top
elmot Post Id



Гуру


Сообщений всего: 1141
Дата рег-ции: Дек. 2010  



И это действительно круто! Давайте ДУ на андроид напишем! Будет еще круче, там акселерометер есть, крутишь планшетку - оно поворачивает!
 
 Top
andreynech Post Id



Майор


Сообщений всего: 63
Дата рег-ции: Сент. 2011  



elmot пишет:
И это действительно круто! Давайте ДУ на андроид напишем! Будет еще круче, там акселерометер есть, крутишь планшетку - оно поворачивает!


Да я только за! Я только ничего про Андроид не знаю. Я не раз задумывался над этой идеей, но каждый раз не мог придумать как это сделать. Попробую описать ход своих мыслей в надежде что Вы найдете в нем ошибки :-) .

Я исходил из того, что для разработки Андроидовских приложений можно использовать только Java-у. При этом, для проигрывания видео из сети доступен только высокоуровневый API, позволяющий проиграть стандартный поток по заданному URL-у. Т.е., грубо-говоря, запустится стандартный плеер, начнет на весь экран показывать видео и максимум, что с ним можно сделать это поменять размер и положение окна в котором он будет отрисовывать видео.

При таком раскладе возникает проблема т.к. я использую не стандартный транспортный протокол. Это связано с тем, что я сделал адаптивный стриминг и для этого нужно было на довольно низком уровне следить за TCP трафиком чтобы вовремя принимать решения по адаптации.

Для передачи видео, сенсорных данных и комманд водителя по сети я использую библиотеку Ice . У них даже есть версия специально для Андроида .

Сейчас, на своем клиенте, я принимаю видео как байтовый поток и отдаю его GStreamer-у который раскодирует поток и сообщает (вызывает callback функцию) когда он смог полностью раскодировать один кадр. После этого я получаю от gstreamer-а указатель на раскодированный кадр (массив RGB значений) и обновляю OpenGL текстуру для отрисовки нового кадра.

Теперь становтся вопрос - как этот байтовый поток (h264 видео), принятый с помощью Ice-а подсунуть андроидовскому плееру. Для меня это пока загадка.
 
 Top
elmot Post Id



Гуру


Сообщений всего: 1141
Дата рег-ции: Дек. 2010  



Я буду писать ДУ к своей машинке под андроид - покурю маны видеоплейера тамошнего. посмотрим. Мне кажется, оно оборимо.
 
 Top
andreynech Post Id



Майор


Сообщений всего: 63
Дата рег-ции: Сент. 2011  



Мы наконец-то доделали наш 3Д-печатный корпус. Вот, что из этого получилось. Подробности можно почитать на нашем новом сайте . Все модели и весь софт - оупен сорс :-) .





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

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

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



 
 Top
Роботов Post Id



Гуру


Сообщений всего: 1350
Дата рег-ции: Июнь 2011  



andreynech, а почему сайт, на который вы дали ссылку англоязычный?
 
 Top
andreynech Post Id



Майор


Сообщений всего: 63
Дата рег-ции: Сент. 2011  



Роботов пишет:
andreynech, а почему сайт, на который вы дали ссылку англоязычный?

Ну хочу на весь мир известным стать! Улыбка

Если серьезно - просто еще не успел перевести, но планирую обязательно это сделать в ближайшее время.
 
 Top
Роботов Post Id



Гуру


Сообщений всего: 1350
Дата рег-ции: Июнь 2011  



andreynech пишет:
просто еще не успел перевести

А вы англичанин?
 
 Top
andreynech Post Id



Майор


Сообщений всего: 63
Дата рег-ции: Сент. 2011  



Роботов пишет:
А вы англичанин?

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

Поэтому, чтобы не отклоняться сильно от темы, напишу основную причину, почему первой появилась англоязычная версия. Мы планируем поучаствовать в конкурсе стартапов . Несмотря на присутствие Дмитрия Гришина , эти странные люди почему-то хотят видеть сайт участников на английском языке. Поэтому первым делом сделал на английском и как уже написал - планирую в ближайшее время сделать перевод.

Больше я на эту тему комментариев писать не буду.
 
 Top
Роботов Post Id



Гуру


Сообщений всего: 1350
Дата рег-ции: Июнь 2011  



andreynech пишет:
Вообще-то, я рассчитывал получить отзывы и конструктивную критику о роботе

Ну, корпуса сделаны отлично. Дизайн тоже неплохой. (правда на детские игрушки смахивает немного).
Шасси скорее всего покупное. Сделано всё на высоком профессиональном уровне.
Я бы даже сказал что уровень поделок очень высок для любителя-роботостроителя Одобряю

Но! когда в первой строчке идет ссылка на сайт, (да ещё англоязычный) и сказано почитайте, это как минимум странно...
Создается впечатление что материал здесь выложен только для рекламы вышеуказаного сайта... ИМХО конечно. Подмигивающий
 
 Top
1988Олег1988 Post Id



Главнокомандующий


Сообщений всего: 346
Дата рег-ции: Дек. 2010  



Роботов пишет:
Но! когда в первой строчке идет ссылка на сайт, (да ещё англоязычный) и сказано почитайте, это как минимум странно...
Создается впечатление что материал здесь выложен только для рекламы вышеуказаного сайта... ИМХО конечно. Подмигивающий

Мне так же показалось.
Роботы выглядят очень круто, ощущение что их делала какая то большая конторка с приличной базой производственной. Скриншот с экранам монитора, тож впечатлил, (за пару месяцев даже в двоем такого не сделать). А так все супер
 
 Top
andreynech Post Id



Майор


Сообщений всего: 63
Дата рег-ции: Сент. 2011  



Спасибо за позитивные отзывы! Улыбка

Роботов пишет:
Шасси скорее всего покупное.

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

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

То, что рекламная цель присутствует я в общем и не скрываю. Но скорее проекта, а не сайта. Хотелось бы, конечно, чтобы образовалась комьюнити вокруг него и т.д. А как этого добиться, в том числе, не рассказывая про проект? А сайт этот сейчас единственное место, где можно в подробностях о проекте почитать. Но я учту на будущее, что такая форма подачи информации вызывает не однозначную реакцию Подмигивающий .

1988Олег1988 пишет:
за пару месяцев даже в двоем такого не сделать

Это, конечно, не за пару месяцев сделано. Мы уже года три всем этим занимаемся. Я сам ужаснулся, когда увидел, что первое сообщение в этой теме написано мной в 2011 году! А начиналось все с куска сантиметровой фанеры на трех колесиках и зова о помощи 3Д дизайнеров Улыбка

(Отредактировано автором: 15 Января, 2013 - 21:03:07)

 
 Top
1988Олег1988 Post Id



Главнокомандующий


Сообщений всего: 346
Дата рег-ции: Дек. 2010  



andreynech пишет:
Спасибо за позитивные отзывы! Улыбка


А в Кембридже все такие умные?
 
 Top
Страниц (8): [1] 2 3 4 5 6 7 8 »
« Делаем роботов »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru