Домашние роботы

19.09.2004, 10:00
Вячеслав Гурьянов, computerra.ru


Phorum доска объявлений производство тарельчатых пружин промышленные-пружины.рф.
Краткий обзор популярных моделей и наборов для домашнего роботостроения. Несколько сокращенный вариант материала, опубликованного в журнале "Компьютерра" в июле 2002 года.

В знойный и душный июльский день в продаже появилась очередная «Компьютерра» #453-454. Несмотря на довольно мрачное название темы номера («Кладбище домашних животных»), речь в ней шла о вещах веселых и занимательных, о домашних роботах. Но Furby, Aibo и прочие «домашние животные», будучи полностью законченными изделиями, всего лишь сложные игрушки, не позволяющие производить над собой никакие «операции», кроме тех, что предусмотрены производителем (впрочем, умельцы умудряются расширять их возможности, но делают это на свой страх и риск).


В то же время существует немало фирм, предлагающих «домашних роботов», в которых заложены возможности дальнейшего развития. Спектр предложений весьма широк: от отдельных комплектующих до готовых изделий, причем это не промышленные или исследовательские роботы, а именно домашние, рассчитанные на любителей, которым хочется чего-то «своего». Хочу оговориться: под словом «домашние» не подразумеваются бытовые агрегаты (как, например, робот-пылесос Trilobite фирмы ElectroLux), поскольку эти устройства с жесткой программой и ограниченной, строго определенной функциональностью, стоят в стороне от темы разговора.


Трудно сказать, когда идея домашнего робота овладела умами. По крайней мере, еще в 1978 году вышла переводная книга Д. Хейзермана «Как самому сделать робот», где достаточно подробно описывался процесс создания Бастера (так звали робота Хейзермана) в домашних условиях.


Правнуки Бастера


Прошли годы. Бастер (даже если брать самую продвинутую конфигурацию) сегодня кажется простым и наивным. А ведь когда-то и я загорелся идеей построить Бастера, но трудоемкость этого процесса меня остановила. И вот недавно я случайно наткнулся на упоминание о PPRK (Palm PilotRoboKit). Сама по себе идея, заложенная в основу PPRK, весьма неплоха, но вот цена показалась несколько завышенной при таких скромных возможностях.


Однако толчок был дан, и, вспомнив детские мечты, я стал увлеченно искать информацию о самодельных роботах. Оказывается, энтузиастов домашнего роботостроения немало, и на их увлечении «паразитирует» целый букет компаний. Применяются в основном различные варианты микропроцессоров — от стандартных (широкоизвестных) до специфических (малоизвестных). В качестве же ОС используются и простенькие интерпретаторы, и операционные системы собственной разработки.


PPRK

Этот комплект был разработан Институтом робототехники Университета Carnegie Mellon, но по лицензионному соглашению распространением занимается компания Acroname. Впрочем, слово «разработан» не совсем точно отражает суть — просто в Институте додумались собрать серийно выпускаемые компоненты воедино и написать ПО. В основу комплекта положена оригинальная транспортная схема: жесткая трехколесная система с применением «omni»-колес позволяет роботу свободно перемещаться в любом направлении без всякого рулевого управления, причем с высокой точностью и минимальным радиусом поворота (правда, без капли дегтя не обошлось — достичь такой точности передвижения удается в ущерб скорости).


PPRK-комплект в настоящее время существует в двух модификациях: на базе контроллера Pontech SV203 или контроллера BrainStem. Эти комплекты поставляются как наборы для самостоятельной сборки и наладки, так и в уже отлаженном виде, где необходимо лишь закрутить несколько винтов… Основное отличие контроллеров состоит в том, что BrainStem позволяет сохранять программы в своей памяти и поэтому не требует обязательного подключения Palm, тогда как SV203 является всего лишь контроллером и без Palm обойтись не может. Небольшое неудобство состоит в том, что программы для этих контроллеров несовместимы и требуется адаптация, что, впрочем, не является большой проблемой из-за простоты языка (хотя простота языка еще не означает легкости программирования — ведь алгоритм обработки данных и принятия решений не слишком примитивная задача).

Кроме того, в комплект входят колеса, моторы, три ИК-датчика расстояния, корпус, винты, шнуры, аккумуляторы и зарядное устройство. В комплекте используются сервомоторы. К сожалению, скорость их вращения не слишком велика, поэтому робот получается довольно медлительный, но это одновременно и достоинство — Palm останется целей… Поскольку контроллеры позволяют подключать не один сервомотор и датчик, то возможности расширения есть даже в базовом комплекте, а при желании можно объединить несколько таких контроллеров или добавить плату управления электродвигателями или другие платы расширения (видеокамеру, звуковой модуль и т.д.)


Кстати, Palm можно использовать не только в этом комплекте. Фирма Diverse Electronic Services (divelec.tripod.com) предлагает Micro II, основанный на микропроцессоре H-Bridge PWM-контроллер, который может программироваться с помощью Palm.


Карл Макинтайр (Karl McEntire) приделал к Palm плату DI-194 от фирмы Dataq. Это плата сбора данных с четырьмя каналами и COM-портом, что позволяет обрабатывать на Palm сигналы с четырех датчиков. Есть у Dataq и более мощные платы сопряжения.

А Norland Research (www.smallrobot.com/scimath.html), пожалуй, переплюнула всех, соорудив TI Calculator Robot Kit — набор для создания робота, где в качестве контроллера используются калькуляторы фирмы TI.

Brainstem


Brainstem GP 1.0 Module стоит в одном из вариантов PPRK. К сожалению найти сведений об используемом процессоре не удалось (RISC 40 МГц — вот и все, что известно), но и остальное выглядит неплохо: пять десятиразрядных АЦП, пять цифровых каналов ввода-вывода, поддержка GP2D02 (ИК-датчик расстояния), мегабитный IIC-порт с поддержкой IIC-маршрутизации, способность хранить одиннадцать программ TEA (Tiny Embedded Application — «маленькие встроенные приложения», написанные на С) размером до 1 Кбайт и одновременно выполнять четыре из них, последовательный порт, четыре высокоточных выхода для управления сервомоторами, производительность — 9 тысяч команд в секунду и т.д.

Благодаря порту IIC можно соединять до 126 Brainstem-плат или плат сторонних производителей. Модуль может работать в трех режимах: Slave mode — управление осуществляет «главная ЭВМ» через порт I/O (тот же Palm через RS-232), Reflex mode — одна команда (или входной сигнал) вызывает выполнение какой-либо программы действий и TEA mode — выполнение TEA-приложений Существует поддержка разработки на Java, C и C++ для Windows, WinCE, MacOS, PalmOS и Linux Этот модуль весьма привлекателен для самостоятельного создания робота или просто внешнего контроллера с использованием Palm, WinCE или любого десктопа. Благодаря масштабированию и возможностям расширения и относительно невысокой цене ($79) довольно интересное решение.


Кроме того, в дополнение к Brainstem GP 1.0 Module предлагается плата BrainStem Moto 1.0 Module для управления мощными моторами.

Сделай сам

1


PowerBot.


Создание робота — это не только забава. Не случайно довольно много ресурсов в Сети существует на серверах различных университетов — ведь робот является отличным пособием при изучении электроники, программирования, систем управления, и именно поэтому в различных соревнованиях роботов (футбол и даже сумо) участвуют университетские команды.

Например, в Новом Государственном университете Мексики вводный курс в машинную организацию и ассемблер является, по сути, вводным курсом в архитектуру процессора 68HC11. Лабораторное изучение микропроцессора состоит в разработке и построении моторизованного транспортного средства с использованием управляющего контроллера на основе 68HC11. В течение курса студенты собирают печатные платы, формируют моторизованные транспортные средства (или другие экзотические устройства) и пишут программы на ассемблере для поддержки связи между персональным компьютером, процессором и для управления моторизованным транспортным средством.


Пожалуй, самая известная и популярная основа для создания робота — Lego Invention System. Рассчитанный именно на детей, этот набор позволяет довольно легко построить робота и написать программу. Но кажущаяся простота, «детский» вид деталей и программного интерфейса скрывают неплохой набор возможностей, поэтому нередко используется в обучении студентов колледжей.


Существует еще ряд конструкторов, подобных Lego: например, наборы Fischertechnik Industry Robot Kit.


Если же нет желания что-то изобретать, можно воспользоваться уже готовыми платформами. Так, фирма ActivMedia Robotics предлагает законченные решения (не исключающие, впрочем, дальнейшего расширения). Поскольку это довольно сложные устройства, дешевыми их не назовешь. К тому же они продаются уже готовыми, так что их можно порекомендовать как основу для построения специализированных роботов, предназначенных для конкретных задач. Они наверняка заинтересуют тех, кто не хочет слишком долго возиться со сборкой, но хочет иметь достаточно мощную базу для дальнейшего развития. ActivMedia Robotics выпускает четыре серии роботов:

3


PeopleBot.


  • • PowerBot — самый крупный робот: при весе 120 кг (с аккумуляторами) и габаритах 85х65х43 см может нести на себе до 100 кг оборудования.
  • • PeopleBot — довольно высокое сооружение (112 см в высоту) и кажется не слишком устойчивым.

  • • Pioneer существует в двух вариантах: Pioneer 2-DXe Pioneer 2-AT. Это небольшие роботы весом около 30 кг.
  •  • AmigoBot самый маленький — всего 1 кг. В отличие от предыдущих позиционируется прежде всего как «домашний» робот для развлечений, поскольку не может быть оснащен дополнительным оборудованием в достаточном количестве.

  • Главный недостаток этих моделей — высокая цена. Робота дешевле полутора тысяч долларов найти трудно.


    Компания MrRobot вышла на рынок с Talrik Junior (TJ), который «является превосходным транспортным средством для знакомства с миром программируемых, автономных, мобильных роботов». Диаметр собранного TJ — 7 дюймов, высота — 3,5 дюйма. Корпус изготавливается или из пятислойной березовой фанеры, или из черного пластика. Передвигается робот на двух 2,75-дюймовых колесах и заднем опорном ролике.

    Два высококачественных сервомотора установлены ниже платформы, чтобы управлять каждым колесом непосредственно. В качестве контроллера используется плата MSCC11E2 на основе процессора MC68HC11 (256 байт RAM и 2 Кбайт EEPROM). Доступные языки: Imagecraft C (коммерческий транслятор C), ассемблер MC68HC11, sBASIC, tinyFORTH, и TJ Mindstorms (все ПО свободное).




    Robobug.

    TJ Pro.


    Кроме того, Talrik Junior оборудован двумя инфракрасными детекторами и двумя инфракрасными излучателями. Плата MSCC11E2A обладает достаточно широкими возможностями ввода-вывода , чтобы существенно увеличить количество датчиков TJ. Стоимость робота от $140(за набор деталей для самостоятельной сборки) до $220 (за полностью собранного робота). Кроме того, есть TJ Pro и TJ II — более продвинутые модели. У них процессор помощнее, памяти побольше, а значит, и возможности пошире, однако заплатить придется уже от 300 до 800 долларов.


    Эта же компания предлагает Robobug (около 500 долларов) — почти аналог TJ, но не на колесах, а на шести ногах — этакий механический таракан.

    Фирма K-Team продает парочку дешевых моделей роботов: Koala и Khepera построены на одной платформе (процессор Motorola 68331, 25 MГц, датчики, моторы), но у Koala более привлекательный дизайн.

    6

    2

    Koala.

    Khepera.

    Подобных решений — когда под видом набора «Сделай сам» дается возможность, особенно не напрягаясь, собрать робота, — на рынке предостаточно.

    Для тех же, кто чувствует себя уверенно и готов самостоятельно собирать робота «от и до», тоже существует немало привлекательных предложений. Ведь из чего состоит робот? Из «мозгов», рецепторов, эффекторов и базы (шасси), на которой все это размещено.


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


    С «мозгами» несколько сложнее. Может быть, это не соответствует действительности, но, по моим ощущениям, в основном используются два роботоконтроллера — OOPic и Basic Stamp. Есть еще два контроллера: BrainStem и HandyBoard, которые упоминаются реже. И существует множество разработок продвигаемых прочими фирмами. В основном это контроллеры на микропроцессорах Motorola 68xxx. Как ни странно, не удалось обнаружить сведений о применении Z80 — весьма известного процессора.

    Он, конечно, довольно старый, но весьма привлекательный по цене и возможностям (многие, наверное, помнят легендарные «Спектрумы», захватившие рынок домашних компьютеров в 1980-х). Есть еще процессоры АТ90S (AVR) фирмы Atmel, которые тоже встречаются очень редко. Несмотря на кажущуюся примитивность подобных контроллеров (слабенький процессор, малюсенькая память) они неплохо справляются со своей задачей. А благодаря наличию шины IIC в большинстве контроллеров можно объединять их по несколько штук.

    OOPic


    OOPic — аббревиатура от Object-Oriented Programmable Integrated Circuit. Судя по всему, OOPic производится фирмой Savage Innovations. Это первый программируемый микроконтроллер, который использует объектно-ориентированный язык. Не без недостатков, конечно, но устройство вполне пригодно для создания робота. К достоинствам можно отнести EEPROM, в которой программы могут храниться сорок лет без электропитания. Сама плата выпускается в двух вариантах: S и R. Разница в размере и количестве и качестве портов. Но оба варианта поддерживают IIC, что позволяет строить масштабируемые системы. Программирование осуществляется на OOPic Basic — полностью совместимом по синтаксису с Visual Basic. Поддерживается С и Java. Так же как и в BrainStem, в OOPic имеется порт IIC, позволяющий объединять несколько плат в одну систему

    Basic Stamp

    Фирма Parallax предлагает под торговой маркой Basic Stamp микроконтроллер, выполненный в формате DIP, что позволяет встраивать его в самые различные платы, просто вставляя в панельку. В самом микроконтроллере отсутствует электронная обвязка, поэтому к нему необходима плата с разъемами питания, портов, АЦП/ЦАП и т.д.

    Компактный и довольно простой контроллер построен на основе микросхемы PIC16*** (или подобных ей), с интерпретатором PBasic. На основе этого решения многие производители предлагают свои варианты — с большим числом портов и т.д. Существует и несколько вариантов от самой Parallax. Например, такой, где вместо Basic используется Java.

    Упомянем еще микроконтроллер BasicX от NetMedia, схожий по параметрам с Basic Stamp от Parallax, но чуть более мощный — EEPROM 32 Кбайт, 65000 IPS, 8000 lines. И самое замечательное: по цоколевке они совместимы. Правда, просто заменить один контроллер другим не получится, так как используются разные версии Basic.

    Подобные продукты есть и у других производителей — например, у Micromint.

    IIC

    Inter-Integrated Circuit Standard (IIC или I2C) — стандарт последовательной одноранговой связи. Разработан компанией Philips в середине 1980-х как эффективное и простое средство связи между различными компонентами в телевизоре (!). Но этот стандарт (двухпроводной!) оказался достаточно удобным для использования в микроконтроллерах и получил широкое распространение. Двухпроводная шина может работать как на своей стандартной скорости 400 кбит/с, так и на скорости 1 Мбит/с и даже больше (все зависит от устройства). Каждое устройство имеет уникальный адрес, поэтому можно подключать 126 индивидуальных устройств к одной шине. Многие контроллеры, используемые в мобильном роботостроении, поддерживают IIC, что позволяет объединять платы различного назначения разных производителей. Кроме того, поддержка IIC зачастую встречается в LCD-дисплеях, электронных компасах, CCD-камерах, H-Bridges, EEPROMs, real-time-таймерах, A/D- и D/A-конверторах (ЦАП и АЦП), sonar rangers и пр. В большинстве контроллеров для мобильных роботов есть IIC (BrainStem, OOPic, BasicStamp и др.). Кстати, хотя шина двухпроводная, но проводков чуть больше — целых пять. Два служат для передачи данных, два — это питание, и еще один — Reset.

    Самыми распространенными рецепторами являются разнообразные датчики расстояния, как инфракрасные, так и ультразвуковые. А самые популярные ИК-датчики — серии GP2Dxxx производства фирмы Sharp. Среди ультразвуковых лидируют сонары Polaroid (благодаря тому, что имеют хорошую чувствительность, так как используются в фотоаппаратах).

    Кроме того, есть множество других датчиков: от простейших датчиков освещенности (фоторезисторов) до систем GPS.

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

    Эффекторы (исполнительные части) у робота, как правило, уже есть (колеса, ноги, гусеницы), но всегда можно добавить манипуляторы, светодиоды. Чтобы он мог общаться с создателем, имеются спич-модули.

    Семь раз отмерь


    Отдельно стоит поговорить о симуляторах роботов. Самой первой программой такого рода был Autonomous Micro Robot Soccer Simulator (автор Рандиб Сингх [Randeep Singh] из Индии). Но увы! Это больше похоже на игрушку, чем на серьезную программу, — поведение робота жестко задано, хоть и можно выбирать из нескольких вариантов.

    К счастью, есть ARC (Autonomous Robot Controller), разработанный Ксави Маркезом (Xavi Mаrquez). Конечно, эта программа не позволяет моделировать своего собственного робота от начала до конца, но дает возможность проверить поведение робота в определенном окружении при наличии тех или иных датчиков. Можно задавать тип, количество, расположение датчиков, реакцию на их сигналы, окружение робота (стены, прозрачные объекты, линии на полу, координатные точки и т.д.). К недостаткам можно отнести двухмерность (вид сверху), ограничение на тип робота (только два колеса) и неудобную систему программирования (писать придется на C да еще оформлять в виде DLL). Но зато небольшой размер (примерно 750 Кбайт), наличие примеров, исходников, более или менее подробного описания и бесплатность делают ARC неплохим выбором.

    Есть, по меньшей мере, еще одна программа такого рода: MOBOTSIM, но она уже из разряда shareware, стоит 30 долларов. Trial-версия работоспособна в течении тридцати дней (или сто запусков). В сравнении с ARC этот симулятор немного удобнее из-за встроенного интерпретатора языка Sax Basic, так что задавать параметры робота можно не выходя из симулятора.

    Но лучше пользоваться обеими программами, поскольку в ARC можно использовать больше датчиков различных типов, зато MOBOTSIM проще в настройках.

    Следует упомянуть и Electric Drive Train Simulator, который позволяет еще до покупки подобрать роботу подходящие электромоторы и аккумуляторы, исходя из веса, размера и требующейся автономности хода, что немаловажно, поскольку робот должен работать больше, чем пару минут…

    Этим список симуляторов не исчерпывается, но оставшиеся либо работают под Unix, либо представляют собой пристройки к пакетам типа Mathematica, либо являются коммерческим ПО.



    Ключевые слова:
    обзор роботов
    домашние роботы
    Aibo
    PPRK
    Сделай сам
    PowerBot
    Robobug
    Basic
    датчиков
    управления
    контроллеров
    BrainStem
    платы
    контроллера
    программы
    Robot
    Домашние роботы
    Игровые роботы
    робот


    Вернуться в рубрику:

    Роботы игрушки


    Хотите видеть на нашем сайте больше статей? Кликните Поделиться в социальных сетях! Спасибо!

    Смотрите также:

    Обратите внимание полезная информация.

    Робототехника для каждого. 2024г.