Шагающие роботы

В представлении любителей фантасти­ки робот - человекоподобное создание. Конечно, сейчас уже существует множе­ство технологически сложных роботов, которые даже отдаленно не похожи на людей. Тем не менее, человек придуман достаточно хорошо для нашего мира, и в будущем неоднократно возникнет потреб­ность заменить его в таких ситуациях, где потребуются качества, пока не востребо­ванные в промышленности. Одно из них - умение ходить. Создать двуногого робота и заставить его эффективно перемещать­ся - задачка, над которой трудятся тыся­чи специалистов по всему миру. Уже сде­лан бегающий робот-андроид Asimo и множество его аналогов. Робот Alpha Rex, рекламируемый компанией Lego, тоже может перемещаться на двух ногах, но ходьбой это можно назвать с натяж­кой. Однако даже его конструкция доволь­но сложна (ее можно найти на компакт- диске, прилагающемся к наборам 8527 и 8547, в электронном учебнике, встроен­ном в среду программирования Lego Minstorms NXT).

Тема шагающих роботов очень об­ширна. Мы коснемся лишь малой ее час­ти. Однако и это небольшое знакомство, как правило, вызывает восторг детей и удивление взрослых. Простота базовых конструкций и минимальное количество деталей позволяют собрать NXT «на нож­ках» практически из любого набора. Но кажущаяся легкость требует высокой точ­ности, что многим не сразу дается. Вмес­то движения вперед робот начинает при­храмывать или «танцевать рок-н-ролл». В чем ошибка? Для того чтобы разобрать­ся, пройдем весь путь.

 

Наиболее подходящим для начально­го изучения представляется четвероногий робот. Двуногому потребуется увеличивать площадь стопы, как у Alpha Rex, или вовремя переносить центр тяже­сти, что является сложной инженерной задачей. Большее количество ног (8, 12, 16) может придать роботу маневреннос­ти, но значительно усложнит проект.

 

Робот на четырех ногах устойчив, как табурет. При правильном соединении он будет двигаться по прямой линии, притоп­тывая подобно маленькому слонику. Как и у тележки, его первая задача проста: идти вперед.

Сформулируем требования к конструк­ции:

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

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

О расположении центра тяжести сто­ит позаботиться заранее, чтобы не прихо­дилось потом навешивать дополнительные грузы. Важно правильно (относительно расположения шестеренок) прикрепить микроконтроллер, в котором сосредото­чена основная масса - «тело» робота.

Немного странным может показаться выбор длины осей: потребуется 5- и 6-мо- дульная ось. Они вставляются в мотор с двух сторон так, чтобы из соот­ветствующих балок выступали части осей длиной ровно 1 модуль.

На эти оси надеваются 24-зубые шес­теренки (рис. 7), остальные устанавлива­ются на светлые штифты-полуоси: серые или бежевые. Синие для этой

На ведущие оси насаживаются 24-зубые шестерни цели не подойдут, поскольку создают очень большое трение.

 
 

Наиболее сложная задача - выравнива­ние шестеренок. Все четыре основные ше­стерни (24 зуба) должны быть расположе­ны так, чтобы пары отверстий в них были строго параллельны друг другу. Расположение 40-зубых центральных ше­стеренок не играет роли.

Когда шестерни повернуты правиль­но, можно приступать к установке штиф­тов, на которые будут крепиться «ноги».

Часть из восьми гладких штифтов вставляются в 24-зубые шестеренки сим­метрично относительно центра большой шестерни. И ровно наобо­рот с другой стороны: то есть если спра­ва от NXT они были ближе к центру, то слева должны быть дальше от центра.

Кроме того, по два штифта с каждой стороны устанавливаются в NXT в точно­сти в соответствии с рисунком.

Вращательное движение, преобразуе­мое в поступательное, совершается с по­мощью системы из двух коленец (балок), скрепленных гладкими штифтами (рис. 13). По сути, нам придется построить криво- шипно-шатунный механизм, который ис­пользуется, например, в двигателе внут­реннего сгорания.

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

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

Для запуска шагающего робота потре­буется довольно простая программа: «мо­тор B назад». Рассмотрим ее варианты для нескольких сред программирования.

 

Во встроенной оболочке NXT есть возможность включить моторы B и C с мощностью 75%, не прибегая к компью­теру. При этом в некоторых версиях обо­лочки (Firmware) по умолчанию требует­ся, чтобы были подсоединены обязатель­но оба мотора. В случае если хотя бы одного из них не хватает, выдается ошиб­ка. Однако вращение так или иначе про­исходит. В частности, в оригинальной про­шивке Lego Mindstorms NXT такое дви­жение будет прерывистым. Избавиться от этого можно подсоединением второго мо­тора.

Итак, в квадратных ячейках требует­ся разместить всего 5 команд:

Backward

Empty

Backward

Empty

Loop

Созданную программу можно сохра­нить, и она появится в меню NXT Files, расположенном в разделе My Files.

В этой среде программа, запускающая мотор A вперед, выглядит так:

Создайте цикл, который будет выпол­няться постоянно, а в него поместите пик­тограмму «Движение». В окне свойств установите галочку напротив мотора A, задайте максимальную мощность и уста­новите продолжительность «Без ограни­чения».

Загрузить программу в NXT можно, щелкнув мышкой кнопку «Загрузка» на командном центре, предваритель­но соединив NXT с компьютером и вклю­чив его.

Программа появится в памяти NXT в меню My Files ® Software Files с именем, которое вы ей дадите в среде при сохране­нии файла. По умолчанию, это Untitled-1.

В среде Robolab включить мотор B можно аналогичным способом.

В разделе «Программист» кликните дважды Inventor 4 и на белом поле создай­те программу, показанную на рисунке.

Для загрузки программы в NXT необ­ходимо кликнуть по белой стрелочке в левом верхнем углу экрана. Если NXT ответил звуковым сигналом, значит, все прошло успешно. Программа появится в меню My Files ® Software Files с именем «rbl».

 

Вот почти самая короткая программа на этом замечательном языке:

Для загрузки программы нажмите F5, после чего, не дожидаясь звукового сиг­нала, ищите ее в меню NXT My Files ® Software Files.

Еще раз следует обратить внимание на то, что в предложенной конструкции мо­тор должен вращаться не вперед, а назад (рис. 20). Если запустить его вперед, ро­бот будет пританцовывать на месте, по­чти не перемещаясь.

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

Если есть два набора, стоит провести небольшой конкурс «Гонки шагающих роботов». Правила просты: пройти по коридорчику шириной 20-40 см расстоя­ние в 1-2 м. Для эффективного прохож­дения этой дистанции потребуется неболь­шая доработка конструкции, которую можно сделать самостоятельно.

Используя полученный опыт, можно построить «шагоход» с любым количе­ством конечностей. Например, шестиногий двухмоторный робот при правильном алгоритме сможет не только довольно быстро передвигаться, но и поворачиваться на месте, меняя траекторию движения.

 

 

Составляя ЭЭ-модель шагающего ро­бота в среде LDD, автор был вынужден прибегнуть к некоторым хитростям для крепления конечностей к шестеренкам. Обычным способом точно повернуть сра­зу две балки довольно сложно. К счастью, в новой версии программы как на заказ появилась система автоматического пози­ционирования соединяемых отверстий - инструмент Hingle Aligh Tool (Shift-H).

Достаточно указать специальным курсо­ром два отверстия - и с конструкцией на­чинают происходить интересные метамор­фозы, которые при успешном исходе при­водят к тому, что отверстия располагаются в точности одно напротив другого.

После применения инструмента Hingle Aligh Tool можно брать ось или штифт и быть уверенным, что он без проблем вста­нет на место.