|
||||
|
Глава 11 Шагающие роботы Шагающие роботы представляют собой класс роботов, имитирующих передвижение животных или насекомых. Как правило, для передвижения роботы используют механические ноги. Передвижение с помощью ног насчитывает миллионы лет истории. По контрасту, история передвижения с помощью колеса началась от 10 до 7 тысяч лет назад. Колесное передвижение достаточно эффективно, но требует наличия относительно ровных дорог. Достаточно взглянуть на аэрофотосъемку города или его пригородов, чтобы заметить сеть переплетающихся дорог. Цель создания шагающих роботов Шагающие роботы могут передвигаться по пересеченной местности, недоступной для обычных колесных средств. С подобной целью обычно и создают шагающих роботов. Имитация жизни Совершенные шагающие роботы имитируют движения насекомых, ракообразных, и иногда – человека. Конструкции двуногих роботов редки, поскольку требуют для осуществления сложных инженерных решений. Я планирую рассмотреть проект двуногого робота в моей следующей книге с условным названием Pic-Robotics. В этой главе мы будем строить шестиногого шагающего робота. Шесть ног – походка треножником Используя модель с шестью ногами мы сможем продемонстрировать знаменитую походку «треножником», т е. с опорой на три ноги, которую используют большинство существ. На следующих рисунках темный кружок означает, что нога устойчиво поставлена на землю и поддерживает вес существа. Светлый кружок означает, что нога поднята и находится в движении. На рис. 11.1 показано наше существо в позиции «стояния». Все ноги опираются о землю. Из положения «стояния» наше существо решает идти вперед. Для того чтобы сделать шаг, оно поднимает три из своих ног (см. светлые кружки на рис. 11.2), опираясь своим весом на три оставшиеся ноги (темные кружки). Заметьте, что ноги, поддерживающие вес (темные кружки), расположены в форме треножника (треугольника). Такая позиция является устойчивой, и наше существо не может упасть. Три остальные ноги (светлые кружки) могут двигаться и двигаются вперед. На рис. 11.3 показан момент движения поднятых ног. В этой точке вес существа перемещается с неподвижных на движущиеся ноги (см. рис. 11.4). Заметьте, что вес существа по-прежнему поддерживается треугольным расположением опорных ног. Затем таким же образом переставляется другая тройка ног, и цикл повторяется. Такой способ передвижения называется треножной походкой, поскольку вес тела существа в каждый момент времени поддерживается треугольным положением опорных ног. Рис. 11.1. Треножная походка. Исходное положение Рис. 11.2. Треножная походка, первый шаг вперед Рис. 11.3. Треножная походка, второе движение, перенос центра тяжести Рис. 11.4. Треножная походка, третье движение Создание шагающего робота Существует много моделей небольших заводных шагающих игрушек. Такие игрушечные «пешеходы» передвигают ногами вверх-вниз и вперед-назад с помощью кулачковых механизмов. Хотя такие конструкции вполне способны «шагать», а некоторые делают это достаточно проворно, нашей целью является создание шагающего робота, не использующего кулачковые механизмы для имитации шагового передвижения. Мы будем строить робота, имитирующего треножную походку. Роботу, описанному в этой главе, требуется три сервомотора для передвижения. Существуют другие шестиногие и четырехногие модели шагающих роботов, которые требуют больших степеней свободы в своих ногах. Соответственно, наличие большего количества степеней свободы требует большего количества управляющих механизмов для каждой из ног. Если для этой цели используются сервомоторы, то для каждой ноги потребуются два, три или даже четыре двигателя. Необходимость в таком количестве сервомоторов (приводов) диктуется тем, что требуется как минимум две степени свободы. Одна для опускания и поднимания ноги, а другая – для движения ее вперед-назад. Шагающий робот с тремя сервомоторами Шагающий робот, которого мы собираемся сделать, является компромиссным решением по замыслу и конструкции и требует наличия всего трех сервомоторов. Однако даже в этом случае он обеспечивает передвижение с помощью треножной походки. В нашей конструкции использованы три облегченных сервомотора HS300 (крутящий момент 1,3 кгс) и микроконтроллер 16F84-04. Работа устройства Перед тем как мы приступим к конструированию робота, посмотрим на готового робота, изображенного на рис. 11.5, и проанализируем, как робот осуществляет передвижение. Треножная походка, которая использована в данной конструкции, является не единственно возможной. Рис. 11.5. Шестиногий ходок готов к прогулке В передней части робота закреплены два сервомотора. Каждый из сервомоторов управляет движением передней и задней ног с соответствующей стороны робота. Передняя нога прикреплена непосредственно к ротору сервомотора и способна качаться вперед и назад. Задняя нога соединена с передней при помощи тяги. Тяга позволяет задней ноге повторять движения передней ноги вперед-назад. Две центральные ноги управляются третьим сервомотором. Этот сервомотор поворачивает центральные ноги вдоль продольной оси на угол от 20° до 30° по часовой стрелке и против часовой стрелки, что наклоняет робот вправо или влево. Используя информацию о механизме привода ног, мы сейчас посмотрим, как наш робот будет передвигаться. Посмотрим на рис. 11.6. Мы начнем с положения покоя. Каждый кружок отмечает положение ноги. Как и в предыдущем случае, темные кружки показывают положение опорных ног. Обратите внимание, что в положении покоя средние ноги не являются опорными. Эти ноги на 3 мм короче передних и задних ног. Рис. 11.6. Фазы движения шестинога В позиции А центральные ноги поворачиваются по часовой стрелке на угол примерно 20° от центрального положения. Это приводит к наклону робота вправо. В данной позиции вес робота удерживается правой передней и задней ногами и левой центральной ногой. Это стандартная позиция «треножника», которая была описана выше. Поскольку левая передняя и левая задняя нога оказываются «в воздухе», то их можно передвинуть вперед, как показано на рис 11.6, позиция В. В позиции С центральные ноги поворачиваются против часовой стрелки на угол примерно 20° от центральной позиции. Это приводит к наклону робота влево. В данной позиции вес робота распределяется между левой передней и задней ногами и правой средней ногой. Теперь правая передняя и задняя ноги не несут нагрузки и могут быть передвинуты вперед, как это показано на поз. D рис. 11.6. В позиции Е центральные ноги возвращаются в среднее положение. В такой позиции робот «стоит» прямо и опирается только на передние и задние ноги. В позиции F передние и задние ноги одновременно перемещаются назад, а робот соответственно – вперед. Далее цикл движения повторяется. Это был первый способ хождения, который я попробовал воспроизвести, и эта система работает. Вы можете разработать, совершенствовать и конструировать другие модели способов хождения, с которыми можно проводить эксперименты. Я оставлю вам разработку способов хождения назад (реверсирование) и поворотов направо и налево. Я буду продолжать совершенствовать этого робота, добавляя датчики наличия стен и препятствий, а также способов перемещения назад и поворотов. Конструкция робота За основу «тела» робота я взял лист алюминия размерами 200х75х0,8 мм. Сервомоторы прикреплены к передней части пластины (см. рис. 11.7). Разметка отверстий под сервомоторы должна быть скопирована с чертежа и перенесена на лист алюминия. Такое копирование обеспечит точность положения отверстий под крепления сервомоторов. Четыре отверстия диаметром 4,3 мм расположены немного позади средней линии и предназначены для крепления центрального сервомотора. Эти четыре отверстия смещены к правому краю. Это необходимо сделать для того, чтобы фланец центрального сервомотора находился точно по центру «тела». Два задних отверстия предназначены для подвижного крепления задних ног. Рис. 11.7. Основание «тела» Для разметки центров отверстий под сверление необходимо использовать кернер. В противном случае при сверлении отверстий сверло может «увести». Если у вас нет кернера, вы можете использовать в качестве неплохой замены острый гвоздь. Ноги робота изготовлены из алюминиевой полосы шириной 12 мм и толщиной 3 мм (см. рис. 11.8). В передних ногах просверливается по четыре отверстия. В задних ногах сверлятся два отверстия: одно для подвижного крепления, а другое – для крепления тяги. Обратите внимание, что задние ноги на 6 мм короче передних. Это объясняется тем, что необходимо учитывать высоту фланца сервомотора, к которому крепятся передние ноги, над общим уровнем пластины. Укорочение задних ног выравнивает положение платформы. Рис. 11.8. Конструкция передних и задних ног После сверления необходимых отверстий необходимо согнуть алюминиевую полосу по нужной форме. Зажмите полосу в тиски со стороны высверленных отверстий на расстоянии 70 мм. Нажмите на пластину и согните ее под углом 90°. Лучше всего нажимать на пластину непосредственно около губок тисков. При этом пластина согнется под углом 90° без риска выгибания самой «нижней» части ноги. Центральные ноги выполнены из одного куска алюминия (см. рис. 11.9). При креплении к роботу центральные ноги оказываются на 3 мм короче передних и задних ног. Таким образом, в среднем положении они не касаются земли. Эти ноги предназначены для наклона робота вправо и влево. При вращении центрального сервомотора ноги наклоняют робота на угол примерно ±20°. Рис. 11.9. Средние ноги При изготовлении центральных ног в алюминиевой полосе размером 3х12х235 мм сверлятся сперва три центральных отверстия под фланец сервомотора. Затем алюминиевая полоса крепится в тиски, причем губки тисков по верхнему краю должны фиксировать полосу на расстоянии 20 мм от центра полосы. Зажмите полосу с помощью плоскогубцев на расстоянии примерно 12 мм от верхнего края тисков. Сохраняя зажим плоскогубцев, аккуратно скрутите алюминиевую полосу на угол 90°. Производите операцию достаточно медленно, иначе можно легко сломать пластину. Аналогично скрутите пластину с другой стороны. После того как скручивание на 90° произведено, дополнительно согните пластину в двух местах на 90°, как мы это делали для передних и задних ног. Установка сервомоторов Передние сервомоторы крепятся к алюминиевому основанию с помощью пластиковых винтов и гаек 3 мм. Я выбрал пластиковые винты, поскольку их можно слегка гнуть и компенсировать небольшие несоответствия положений просверленных в пластине отверстий и крепежных отверстий сервомотора. Ноги крепятся к пластиковому фланцу сервомотора. Для этого я использовал 2 миллиметровые винты и гайки. При креплении фланца к валу сервомотора убедитесь, что каждая нога может отклоняться вперед-назад на одинаковый угол от среднего перпендикулярного положения. Конструкция тяги Тяга между передними и задними ногами изготовлена из прутка с резьбой 3 мм (см. рис. 11.10). В исходной конструкции длина тяги составляет 132 мм от центра до центра. Тяга вставляется в отверстия на передней и задней ноге робота и может быть закреплена с помощью нескольких гаек. Рис. 11.10. Детальный чертеж шарнира и тяги Перед установкой тяги задние ноги робота должны быть прикреплены к основанию. Крепление задних ног изготовлено из резьбовой заклепки 9,5 мм и крепежного винта. Детальное крепление ноги показано на рис. 11.10. Необходимо подложить пластиковые шайбы под основание, которые заполнят пространство между нижней частью основания и головкой винта. Такая конструкция обеспечивает крепление ноги к основанию без ее «болтания». Чтобы уменьшить трение, можно использовать пластиковые шайбы. Не используйте слишком много шайб – это приведет к излишнему прижиму ноги к поверхности основания. Нога должна поворачиваться в соединении достаточно свободно. На рис. 11.11 и 11.12 приведены фотографии частично собранного шестиногого робота. Рис. 11.11. Шестиног – вид снизу. Спереди два сервомотора Рис. 11.12. Частично собранный шестиног с двумя передними сервомоторами Центральный сервомотор Для крепления центрального сервомотора потребуются две Г-образные скобы (см. рис. 11.13). Просверлите соответствующие отверстия в алюминиевых полосках и согните их под углом 90°, чтобы получились скобы. Прикрепите две Г-образные скобы к центральному сервомотору с помощью пластиковых винтов и гаек (см. рис. 11.14). Затем прикрепите узел центрального сервомотора к нижней части основания. Совместите четыре отверстия на основании с отверстиями на верхней части Г-образных скоб. Скрепите части с помощью пластиковых винтов и гаек. На рис. 11.15 и 11.16 приведены фотографии вида сверху и снизу для шестиногого робота. Рис. 11.13. Скоба центрального сервомотора Рис. 11.14. Центральный мотор в сборе с крепежными скобами и средними ногами Рис. 11.15. Шестиног – вид снизу с тремя сервомоторами Рис. 11.16. Шестиног в сборе. Конструкция готова для монтажа электронного управления Электрическая часть На рис. 11.17 приведена схема управления сервомоторами с помощью PIC-микроконтроллера. Питание сервомоторов и микроконтроллера осуществляется от батареи 6 В. Батарейный отсек 6 В содержит 4 элемента АА. Схема микроконтроллера собрана на небольшой макетной плате. Батарейный отсек и схема прикреплены сверху к алюминиевому основанию. На рис 11.5 показана готовая конструкция робота, готовая к «передвижению». Рис. 11.17. Принципиальная схема управления шестиногого робота Программа для микроконтроллера Микроконтроллер 16F84 управляет работой трех сервомоторов. Наличие большого числа незадействованных шин ввода/вывода и места под программу предоставляет возможность совершенствования и модификации базовой модели робота. Программа PICBASIC ‘Шестиногий шагающий робот ‘Соединения ‘Левый сервомотор Pin RB1 ‘Правый сервомотор Pin RB2 ‘Сервомотор наклона Pin RB0 ‘Движение только вперед start: for B0 = 1 to 60 pulsout 0, 155 ‘Наклон по часовой стрелке, подъем правой стороны pulsout 1, 145 ‘Левые ноги на месте pulsout 2, 145 ‘Правые ноги движутся вперед pause 18 next B0 for B0 = 1 to 60 pulsout 0, 190 ‘Наклон против часовой стрелки, подъем левой стороны pulsout 1, 200 ‘Левые ноги движутся вперед pulsout 2, 145 ‘Правые ноги сохраняют положение вперед pause 18 next B0 for B0 = 1 to 15 pulsout 0, 172 ‘Среднее положение, отсутствие наклона pulsout 1, 200 ‘Левые ноги сохраняют положение вперед pulsout 2,145 ‘Правые ноги сохраняют положение вперед pause 18 next B0 for B0 = 1 to 60 pulsout 0, 172 ‘Среднее положение, отсутствие наклона pulsout 1, 145 ‘Движение левых ног назад pulsout 2, 200 ‘Движение правых ног назад pause 18 next B0 goto start На команду pulsout не все сервомоторы реагируют одинаковым образом. Возможно, что для создания робота вы приобретете сервомоторы, характеристики которых будут слегка отличаться от тех, которые были использованы мной. В этом случае обратите внимание на то, что параметры команды pulsout, которая определяет положение ротора сервомотора, должны быть подстроены. В этом случае необходимо подобрать численные значения параметров pulsout, которые бы соответствовали тому типу сервомотора, который использован в вашей конструкции шестиногого робота. Данная программа на PICBASIC позволяет роботу двигаться только в прямом направлении, однако, немного изменив программу, конструктор может заставить робота двигаться назад и совершать повороты вправо и влево. Установка нескольких сенсорных датчиков может информировать робота о наличии препятствий. Список деталей конструкции шагающего робота • Сервомоторы • Микроконтроллеры 16F84 • Алюминиевые полосы • Алюминиевый лист • Прутки и гайки с резьбой 3 мм • Пластиковые винты, гайки и шайбы Детали можно заказать в: Images Company 39 Seneca Loop Staten Island, NY 10314 (718) 698-8305 |
|
||
Главная | Контакты | Прислать материал | Добавить в избранное | Сообщить об ошибке |
||||
|