Кладбище домашних животных 2 17.12.2002 Вячеслав Гурьянов
PPRK Этот комплект был разработан Институтом робототехники Университета Carnegie Mellon (www-2.cs.cmu.edu/~pprk/overview.html), но по лицензионному соглашению распространением занимается компания 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) (www.townisp.com/~kmcentire/palmprog.htm) приделал к Palm плату DI-194 от фирмы Dataq. Это плата сбора данных с четырьмя каналами и COM-портом, что позволяет обрабатывать на Palm сигналы с четырех датчиков. Есть у Dataq и более мощные платы сопряжения. А Norland Research (www.smallrobot.com/scimath.html), пожалуй, переплюнула всех, соорудив TI Calculator Robot Kit - набор для создания робота, где в качестве контроллера используются калькуляторы фирмы TI. OOPic OOPic - аббревиатура от Object-Oriented Programmable Integrated Circuit. Судя по всему, OOPic производится фирмой Savage Innovations (www.oopic.com). Это первый программируемый микроконтроллер, который использует объектно-ориентированный язык. Не без недостатков, конечно, но устройство вполне пригодно для создания робота. К достоинствам можно отнести EEPROM, в которой программы могут храниться сорок лет без электропитания. Сама плата выпускается в двух вариантах: S и R. Разница в размере и количестве и качестве портов. Но оба варианта поддерживают IIC, что позволяет строить масштабируемые системы. Программирование осуществляется на OOPic Basic - полностью совместимом по синтаксису с Visual Basic. Поддерживается С и Java. Так же как и в BrainStem, в OOPic имеется порт IIC, позволяющий объединять несколько плат в одну систему Basic Stamp Фирма Parallax (www.parallaxinc.com) предлагает под торговой маркой Basic Stamp микроконтроллер, выполненный в формате DIP, что позволяет встраивать его в самые различные платы, просто вставляя в панельку. В самом микроконтроллере отсутствует электронная обвязка, поэтому к нему необходима плата с разъемами питания, портов, АЦП/ЦАП и т.д. Компактный и довольно простой контроллер построен на основе микросхемы PIC16*** (или подобных ей), с интерпретатором PBasic. На основе этого решения многие производители предлагают свои варианты - с большим числом портов и т.д. Существует и несколько вариантов от самой Parallax. Например, такой, где вместо Basic используется Java. Упомянем еще микроконтроллер BasicX от NetMedia (www.basicx.com), схожий по параметрам с Basic Stamp от Parallax, но чуть более мощный - EEPROM 32 Кбайт, 65000 IPS, 8000 lines. И самое замечательное: по цоколевке они совместимы. Правда, просто заменить один контроллер другим не получится, так как используются разные версии Basic. Подобные продукты есть и у других производителей - например, у Micromint. 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 для управления мощными моторами. 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.
|