среда, 4 июня 2008 г.

Робот на основе компьютера: вариант мини

Выбор «мозга» для робота - один из важнейших этапов в его построении. Я уже неоднократно рассматривал различные варианты этого выбора:

  1. Робот на базе обычного компьютера или ноутбука - наиболее хорошее решение с точки зрения программиста:
    • очень много документации
    • можно использовать стандартные порты ввода/вывода
    • прекрасные средства программирования, множество готовых библиотек
    • возможно подключение почти любых современных устройств и использование передовых технологий
    • максимальная производительность
    Однако, при проектировании робота на базе компьютера - предъявляются повышенные требования к грузоподъемности, и габаритам шасси.
    В случае использования не ноутбука, а обычной материнской платы, возникают дополнительные трудности с питанием. Потребляемая компьютером мощность питания очень высока, а значит - аккумуляторы для питания такого компьютера будут весить много, и стоить еще больше. Также, сложность представляет пайка блока питания, поскольку обычная материнская плата требует одновременного наличия напряжений питания +/-12В, +/-5В и +/-3.3В.
  2. Робот на основе КПК: обладая хорошими возможностями программирования, приемлимой документированностью и средней производительностью, КПК имеет целых два огромнейших преимущества перед компьютером:
    • КПК очень компактны и редко весят больше 200 грамм.
    • КПК потребляют очень немного энергии, особенно при выключенном экране. Время их автономной работы без подзарядки в большинстве случаев более чем приемлимо для робота.
    Однако, и КПК не идеален. Трудности здесь возникают при попытке подключить к КПК внешние устройства. В большинстве случаев, для этого приходится использовать микроконтроллер и небольшую самопайную схему с парой промежуточных микросхем.
    Про создание робота на основе КПК я также упоминал в заметках Выбор КПК для робота, и Защищенный КПК своими руками.
  3. Робот на основе микроконтроллера. Эту тему я стараюсь не затрагивать - слишком много минусов... Затруднена отладка, количество документации сравнительно очень невелико, производительность микроконтроллера - никакая... Значительным недостатком я считаю также необходимость много паять, мне кажется, робототехник должен быть сосредоточен на изысках в поведении робота, а не на пайке и отладке его схем.
  4. Создание робота на основе простейших микросхем. Имеются в виду в основном BEAM роботы. Это еще более несерьезно, чем микроконтроллеры, однако достаточно привлекательно и полезно для новичков.

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

Как видно из представленных выше пунктов, создание робота на основе обычного компьютера или ноутбука имеет всего лишь две неприятных особенности: большой вес/габариты, и высокое потребление электроэнергии (что приводит, опять же, к увеличению веса). Эти особенности, конечно же, вполне можно обойти.

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

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

Во-первых, есть ведь промышленное производство компьютеров, где созданные продукты максимально оптимизированы под специализированное использование, и не содержат ненужных компонентов. Впрочем, робототехнику-любителю, бесспорно, заказать изготовление такого компьютера не по средствам :)

Более приемлимый вариант - использование новых бюджетных моделей ноутбуков. Речь идет о продуктах серии Asus Eee, например, Asus Eee PC 701 (изображен на картинке), стоимостью около 12 тыс. рублей.

Кроме того, я уже писал о материнских платах форм-фактора Mini-ITX от компании VIA. Эта же компания совсем недавно аннонсировала выпуск еще более компактной материнской платы, полностью совместимой с x86-компьютерами - Pico-ITX. Размеры платы - 10х7.2см, что более чем приемлимо для робота.

Помимо компании VIA, на рынок миникомпьютеров выходит, например, корпорация Gum Stix. Эти господа производят уж совсем крохотные компьютеры, умещающиеся в ладони, и достаточно приемлимые по цене (от 130$, ~3100 руб.). Правда, и возможности этих компьютеров весьма даже урезаны (в отличии от практически полноценных материнских плат VIA).

Так что, господа робототехники, все уже придумано до нас, были бы, как говорится, деньги :)

13 комментариев:

  1. Asus Eee PC 701
    тогда придется работать с usb а следовательно использовать чипы =)

    ОтветитьУдалить
  2. А почему бы не запитать робота от сети 220v? Робот-то квартирный. С точки зрения механики это более чем выгодно - ведь малоточка в роботе это, в основном, комп. А для шасси, разных полезных приводов если таковые будут - зер гут. Тогда о весе машины можно не задумываться - движок-то ого можно поставить. И не обязательно это будет "хвостик" - можно что-то вроде потолочной троллеи натянуть. Интересное (но сырое) решение - индукционные катушки для подзарядки, вмонтированные в пол. Робот просто едет и подзаряжается от них. Правда я слабо представляю себе аккумулятор на 220V, но это уже техническая, а значит - потенциально решаемая проблема

    ОтветитьУдалить
  3. Анонимный19 мая 2009 г., 15:58

    если использовать робота планируется только в ограниченном пространстве (квартире) то я бы остановился на следующем варианте:
    ПК (он же сервер) стоит на столе и за роботом не бегает. Связь по радиоканалу (блютуз, или самодельный приемо-передатчик на сом или усб). Программа крутится внутри компа, принимает показания от датчиков, выдает команды и т.п.
    + можно даже вебкамеру воткнуть, если ширина канала позволяет

    ОтветитьУдалить
  4. Анонимный21 мая 2009 г., 19:28

    как вариант (вместо кпк) подойдет еще и такое устройство mini2440 ARM9 board + 3.5” LCD+Touch – $89
    http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=110381626767&ssPageName=MERCOSI_VI_ROSI_PR4_PCN_BIX_Stores&refitem=110350052977&itemcount=4&refwidgetloc=closed_view_item&refwidgettype=osi_widget&_trksid=p284.m263&_trkparms=algo%3DSIC%26its%3DI%252BC%252BP%252BS%252BIA%26itu%3DFICS%252BUA%252BUCI%252BIA%26otn%3D4%26ps%3D10
    или
    Samsung S3C2440 ARM9 ARM Development Board & Design Kit - 69$
    http://cgi.ebay.com/Samsung-S3C2440-ARM9-ARM-Development-Board-Design-Kit_W0QQitemZ120374881226QQihZ002QQcategoryZ55824QQtcZphotoQQcmdZViewItem

    ОтветитьУдалить
  5. Анонимный23 июня 2009 г., 13:14

    посавили на платформе eee pc 2g, всё счастливо работает :)

    ОтветитьУдалить
  6. Что касается портов, шин: если подходить серьёзно к делу, то робот контролируемый по USB всегда ++ роботу. Привызываться к COM или LPT порту, в наше то время, по меньшей мере не профессионально.
    О сложности изготовления "USB<>много портов" говорить нет смысла, так как за деньги такой девайс можно заказать.

    С уважением, 90h.

    ОтветитьУдалить
  7. Согласен, USB можно и нужно применять. Честно сказать, еще в 2008м году у меня было вагон компьютеров с COM- и LPT-портами. Сейчас остался только один старичок-ноутбук. Зато USB есть практически везде. А девайсов для управления через USB сколько угодно, это в частности Arduino или его клоны.

    ОтветитьУдалить
  8. не посоветуете ссылку на более обширную базу знаний по теме собрки робота на основе пк?в частности интересует вопрос как подключать электромоторы к usb или к чему?!

    ОтветитьУдалить
  9. Собственно сайт Как сделать робота и задумывался мной как этакая база знаний по изготовлению компьютера на основе ПК.

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

    Что касается портов, могу посоветовать сайт PCPorts. Ну а вообще, вам однозначно нужно обратить внимание на робоконтроллер, что-то типа Arduino, Freeduino, или той же самой платы "Марсоход". Перечисленные платы и их аналоги позволят без проблем подключить к компьютеру через USB любые внешние устройства, в том числе моторчики, сервоприводы и т.п. Собственно, для простых роботов можно даже не использовать компьютер, т.к. эти платы тоже можно программировать.

    ОтветитьУдалить
  10. Привет!
    Вот какой-то развивающийся сайт по самым азам роботехники
    http://robotechnics.ucoz.ru
    Правда, информации пока немного.

    ОтветитьУдалить
  11. ссылка на сайт изменилась: http://robotechnics-life.ru

    ОтветитьУдалить
  12. День добрый.
    Кто может помочь с программированием робособаки?
    Вот модель http://www.tribotix.com/Products/Megarobotics/Dogs/MGR_K401_kit_info.htm
    Был ли у кого опыт?
    Мой адрес
    info@coilsaustralia.cz

    ОтветитьУдалить

Внимание! Реклама и прочий спам будут беспощадно удаляться.