Сделай своего робота сам

Введение для начинающего роботостроителя


Введение

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


Мозг робота

Что же именно обуславливает их популярность в наше время? Не секрет, что самым важным узлом в робототехнике является вычислительный блок. Если еще 30-10 лет назад микропроцессорная электроника была на несравнимо более низкой стадии развития, и логика роботов создавалась преимущественно на дискретных элементах (транзисторах и т.д.), то теперь существует много разновидностей микросхем микроконтроллеров различных фирм (Atmel, Microchip PIC, Fujitsu и т.д.), которые позволяют значительно упростить электронную схему робота. Микроконтроллер, для тех, кто не знает, это микросхема, которая заключает в себе процессор, оперативную память и постоянную память. Кроме того, она имеет порты ввода-вывода, через которые осуществляется обмен информацией с окружающей средой (снятие показаний с датчиков происходит через порты ввода) и управление внешними устройствами (через порты вывода). Таким образом, чтобы запрограммировать поведение своего робота, вместо того, чтобы паять громоздкие схемы (и вместе с тем намертво заложить в него программу его поведения без возможности ее дальнейшего изменения), устанавливаете микроконтроллер, подключаете к нему датчики (подробнее о них ниже) и внешние устройства (двигатели колес, ног, рук - в зависимости от типа передвижения вашего электронного любимца; манипуляторы, светодиоды, индикаторы, радиомодули и т.д.) и пишете программу, которую затем загружаете в микроконтроллер с помощью программатора (его запросто можно сделать самому). Языков программирования, на которых можно писать для этих целей, немало - это, естественно, Assembler, созданы средства разработки на C++, Basic, tinyFORTH - в зависимости от фирмы-производителя вашего микроконтроллера.

 


Датчики

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

Зрение

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

Осязание

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

Весьма удобно использовать в качестве контактных сенсоров пьезоэлементы ввиду их миниатюрности. Так, например, они установлены на лапах робота NANO, созданного любителем Hans Tappeiner из Германии, для определения наличия контакта с поверхностью. Правда, среди отечественных любительских разработок я использования пьезоэлементов не встречал, но это не значит, что так оно и есть.

Слух

В роботах, где вычислительный блок сделан на базе компьютера (ПК или ноутбука), нередко присутствует функция распознавания речи, которая реализовывается при помощи Speach Recognition Engine от "Майкрософт" (например, Albert, сделанный John'ом Cutter'ом). Недостаток роботов на базе ПК - громоздкость и высокое энергопотребление.

Емкостные датчики

Существуют достаточно простые схемы емкостных детекторов и датчиков электрического поля: Wilf Rigter's E-sensor, Rich Caudle's capaciflector. С их помощью можно организовать детектор людей, так как человек - это хороший конденсатор ;).

Датчики состояния робота

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

Навигационные элементы

К этой категории относятся GPS-модули, пьезогироскопы, электронные компасы. Экзотика! Хотя у буржуев используются довольно широко. Подобные устройства облегчают навигацию на местности, особенно, если робот лишен человеческого присутствия, он обретает больше самостоятельности. Но и тут есть свои минусы. Доступные модули GPS (до 500 у.е. типа GARMIN) не работают в помещении, даже в лесу проблематично увидеть нужное количество спутников. Точность (у военных систем) в пределах сантиметров, но у гражданских недорогих приемников такой точности нет.


Немного истории

Устройства, созданные лишь на базе механики и имеющие шанс считаться роботами, известны уже давно. Но первым электронным роботом, который был мобилен и имел некоторую самостоятельность, была, пожалуй, Черепашка Эйхлера.

Черепаха, построенная Эйхлером в 1955 г., могла реагировать на свет, звук и прикосновение, демонстрируя довольно сложное поведение. Кроме того, одновременное воздействие двух раздражителей (прикосновения и звука) вызывало возникновение условного рефлекса.

Началом массового увлечения робототехникой можно, наверное, считать 70-е годы XX-го столетия, когда вышла в свет книга Дейва Хейзермана "Как самому сделать робот" (BUILD YOUR OWN WORKING ROBOT by David L. Heiserman). Бастер - автономный робот Дейва Хейзермана, созданный в 70-х годах прошлого века и ставший классикой любительского роботостроения. Бастер способен длительное время вести "активную жизнь" без вмешательства человека и не вступая с ним в контакт, так как даже умел сам находить подзарядное устройство и пополнять запас энергии. Бастер не имел процессора, и элементы его поведения реализовывались соответствующими электронными блоками. Однако алгоритмы его поведения достаточно интересны и могут быть реализованы и в других конструкциях.

(Продолжение следует)

Сергей БОНДАРЕНКО Aka WildCat,
tetravita@mail.ru


Примеры роботов

ABOR: Autonomous Bottle Opener Robot. Разработан студентом Clerc Jean-Philippe из Университета Флориды, Intelligent Machines Design Laboratory. Автономный робот - "открывальщик бутылок", выполняющий функции "помощника бармена". Робот курсирует взад-вперед по барной стойке и, обнаружив стоящую на ней бутылку пива, открывает ее и ставит перед клиентом.

Универсальный робот MR-803/T. Сделал Demon333. В зависимости от решаемой задачи он может быть оборудован соответствующим набором датчиков и исполнительных устройств. К примеру, для участия в презентации "Терминатора-3" автор сделал модель "робота-охранника".

В этом варианте робот может быть оборудован детектором движения, а в качестве исполнительных устройств - нести полноразмерные макеты пулеметов Дягтерева, генератор световых эффектов, стробоскоп, звуковой процессор (имитация звука выстрелов, сирена и пр.). Работая в автономном режиме, робот может имитировать "охрану периметра", обнаружение вторжений и "уничтожение" нарушителя. Замена набора датчиков и исполнительных механизмов позволяет изменить назначение робота. Так, с "рукой", оборудованной вакуумным захватом, робот "умеет" раздавать рекламные листовки и может быть использован на выставках и других подобных мероприятиях.

Боевой сумо-робот Invertabot. Invertabot - это 3-килограммовый робот, созданный Dale Heatherington в сентябре 2003 года для участия в соревнованиях боевых роботов Dragon*Con. Цель этого соревнования - выпихнуть противника за поле боя или уничтожить его. Мощное разрушительное оружие ради безопасности людей не разрешается. Тем не менее, Invertabot'у есть чем за себя постоять. Шипы на корпусе могут вонзаться в обшивку соперника. Флиппер (на фото серебристая крышка спереди робота) способен подкидывать противника на солидное расстояние: толкающая сила пневмофлиппера - 12 кг. Кроме этого, робот оборудован инфракрасным детектором противника, радиосвязью на 9600 бод и многими другими полезными фишками. Все это делает его грозным соперником.

Версия для печатиВерсия для печати

Номер: 

09 за 2004 год

Рубрика: 

Компьютер и жизнь
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Аватар пользователя Саша
А как он управляется?