Идея собрать нашего знаменитого четырехногого робота родилась после появления 3D-принтера, и последующего поиска моделей на сайте thingiverse.com. Рассматривая разные интересные артефакты, я нашел такую вот забавную и несложную конструкцию:
Чертеж называется "Mini quadruped - optimized for 9G servos". То есть, существует подобный чертеж и для больших сервоприводов. Данный же вариант был разработан именно для 9g серв, которые мне очень нравятся (и не нравятся, порой) по ряду причин. Спасибо автору - кроме stl, он опубликовал еще и параметрические чертежи для OpenSCAD, так что я смог легко подогнать детали под размеры своих приводов. А 9g сервы, надо сказать, немного отличаются по размерам, в зависимости от производителя и фазы луны.
Можно назвать этот артефакт платформой. Конструкция может ходить, но на ней не хватает крепления для батарей, микроконтроллера и датчиков. Люди, которые печатали такие же ноги, выкручивались как могли. Имея под рукой 3D-принтер, грех было не сделать красивое тело для этих конечностей.
Учитывая особенности 3D-печати, я начертил кузов робота из трех частей:
- рамы;
- корзины для батареек;
- пластины для крепления макетной платы.
Для черчения использовал SketchUp 8.
Сборка
Распечатка деталей заняла очень много времени. В сумме, на все части конструкции ушло где-то девять часов. Использовали ABS пластик. Так выглядит свежеотпечатанная рама:
Собранная четырехногая платформа и детали кузова (за исключением пластины для макетной платы):
Рама крепится к позвоночнику только одним болтом, так что её можно без лишних движений отделить от ног. Такой вариант позволяет легко обслуживать серводвигатели, которые порой ведут себя неадекватно. Результат полной сборки выглядит так:
Управляется робот с помощью Arduino Uno (или любым другим аналогом). Единственный орган чувств - ультразвуковой датчик расстояния крепится на небольшой макетной плате над контроллером. Там же, размещается зуммер.
Для соединения контроллера и восьми сервоприводов пришлось спаять небольшой коммутационный блок, представляющий собой кусок макетной платы с кучкой штырьков. Также, в последней версии робота на батарейном отсеке была установлена платка с разъемами питания и общим тумблером.
Поведение
Поскольку мы используем это существо, в основном, для демонстрации возможностей 3D-печати и модульной робототехники, то разрабатывать особо сложное поведение не стали. ПО сути сейчас робот умеет только ходить вперед, детектировать препятствие и отходить от него в сторону. Демонстрация поведения приведена ниже.
Ролик о том, как мы учили его ходить.
Планы
Конструкция робота не предполагает каких-то сложных движений, однако, можно придумать разные забавные способы реакции на окружающие раздражители. К примеру, можно изобразить испуг, или нападение. Мы даже пробовали закодировать нечто подобное:
К сожалению, после того как к платформе прикрепили тело, робот совсем ослаб и смог перемешать свою тушу только в горизонтально направлении :) Слишком уже слабенькие 9g сервы для такого зверя.
В последнее время была произведена замена отсека 6хААА NiMH на две LiPoFe батареи 6.6В, соединенные параллельно. Такой вариант позволил немного снизить вес робота и увеличить время его ходьбы.
Исходники
- Оригинальные чертежи шагающей платформы: http://www.thingiverse.com/thing:38159
- Мои чертежи кузова: http://www.thingiverse.com/thing:183631
- Код программы: https://github.com/oevsegneev/arduino-dev/tree/master/sketches/quadruped