Перехожу на ROS + Arduino

Как показала практика дальнейшее развитие робота требует хорошего софта для него. Самому писать или даже партировать модули простейшего ИИ: систему навигации, распознавание речи и объектов, и т.д. - довольно труднозатратно и и даже если и получится черевато многими багами...
Мне очень понравилася ROS (Robotic Operation System) - операционная система для робота. Она полностью OpenSource и содержит куча готовых модулей и главное огромное коммьюнити людей, которые поддерживают и улучшают ROS. Мы ведь не пишем операционную систему, когда нам надо написать софт? Мы даже не начали паять сами плату для МП, а используем Arduino. Ту же роль и ROS играет для робота. Мне очень понравился их принцип:

Хватит изобретать велосипед.

А куча видео на Youtube с проектами на ROS окончательно меня убедили, например, вот:

Правда для такой навигации как в ролике они используют http://www.robotshop.com/hokuyo-urg-04lx-laser-rangefinder-1.html вещь очень дорогая, но и на базе обычных дешевых сонаров есть хорошие бибилиотеки. (точнее библиотека одна - просто разные источники данных и соответсвенно точность)

Конечно, изобертение велосипедов - интересно и повышает самооценку, но если мы хотим сделать что-то серьёзное, то надо использовать существующие достижения и коллективный разум. Поэтому я начинаю изучать и перехожу на ROS. Пока что в связке ROS+Arduino+Ноут на Ubuntu. Как разберусь с этим, вместо ноута будет один из вариантов ниже.

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

Как это привентить к нашему роботу

Варианты:

  1. ROS партирован на Android, т.е. мы сможем запустить его у себя на телефоне. У меня сразу поставить не получилось, но когда я пробовал ещё не понимал архитектуру ROS, да и инструкция была под Ubuntu, а я пытался из-под Widnows. Как более подробно разберусь попробую ещё раз.
  2. Поставить Linux на Android, точнее параллельно с ним. Я поставил Ubuntu, работает исправно, удаленка по VNC не тормозит почти. http://linuxonandroid.org/
  3. Грядет выпуск Ubuntu для мобильников. Я очень надеюсь что у них все получится и с удовольствием поставлю себе на телефон. Но ставить на этот вариант не буду т.к. все пако что очень сыро. http://www.ubuntu.com/phone/ubuntu-for-android
  4. Заменить наш телефон на мини-компьютер. Нет я ни в коем случае не собираюсь ставить килограммовый ПК - у нас не такой робот. Но сейчас появились дешевые и мощные для своего ультра-портативного размером меньше чем кредитная карта компьютеры на базе ARM Cortex-A9 1,7Ghz, например ODROID-U2 на который отлично встает Ubuntu
    http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G135341370451
    Обзор на хабре: http://habrahabr.ru/post/172895/
    Более бюджетная интересная альтернатива компьютер+замена Arduino за 45$ BeagleBone Black на процессоре AM335X 1GHz ARM Cortex-A8 с двумя USB2.0, а также 65 цифровыми и 7 аналогвыми портами http://habrahabr.ru/post/177887/ http://beagleboard.org/

С чего начать

  1. Для начала освоить операционую систему Ubuntu - я для начала поставил её как виртуальную машину в Windows, используя VirtualBox. Поиспользуйте её, разберитесь что к чему, научитесь пользоваться коммандной строкой и ставить из неё приложения. Очень поможет курс по Ubuntu на русском. http://help.ubuntu.ru/manual/
  2. Пройдите полный курс Tutorial по ROS для новичков. http://www.ros.org/wiki/ROS/Tutorials
  3. Я после этого поставил Ubuntu себе как основную операционную систему. Параллелно Windows 7 стоит на всякий случай. Уже 4й день не загружал Windows. Хочу сказать что Ubuntu встала без проблем вообще все драйвера на все устройства заработали сразу же! Но почемуто ы 32bit ном дистрибутиве не работал тачпад, поставил 64 бит и все сразу ок было. Совет - перед тем как ставить, запустите Live-версию и посмотрите как она пойдет.
  4. Ставим Arduino IDE и проходим курс по rosserial_arduino
Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Источник: seismotest.ru