Создаем робота-андроида своими руками - Джон Ловин
Шрифт:
Интервал:
Закладка:
В позиции Е центральные ноги возвращаются в среднее положение. В такой позиции робот «стоит» прямо и опирается только на передние и задние ноги. В позиции 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, которые бы соответствовали тому типу сервомотора, который использован в вашей конструкции шестиногого робота.