Оглавление:

Биоинспирированная роботизированная змея: 16 шагов (с изображениями)
Биоинспирированная роботизированная змея: 16 шагов (с изображениями)

Видео: Биоинспирированная роботизированная змея: 16 шагов (с изображениями)

Видео: Биоинспирированная роботизированная змея: 16 шагов (с изображениями)
Видео: Обновление производителя: L3 освобождает Alexa 2024, Июль
Anonim
Image
Image

Я был вдохновлен начать этот проект после того, как посмотрел исследовательские видеоролики, в которых показаны как роботизированные змеи, лазящие по деревьям, так и роботизированные угри. Это моя первая попытка создания роботов, использующих змеевидное движение, но не последняя! Подпишитесь на YouTube, если хотите узнать о будущем.

Ниже я описываю конструкцию двух разных змей вместе с файлами для 3D-печати и обсуждаю код и алгоритмы для достижения змееподобного движения. Если вы хотите продолжить обучение, после прочтения этого руководства я бы посоветовал прочитать ссылки в разделе ссылок внизу страницы.

Технически это руководство представляет собой 2-в-1, поскольку я объясняю, как сделать 2 разные версии роботизированной змеи. Если вас интересует только создание одной из змей, игнорируйте инструкции для другой змеи. Эти 2 разные змеи будут далее называться взаимозаменяемыми следующими фразами:

  1. Одноосная змея, одномерная змея или желто-черная змея
  2. Двухосевая змея, 2D-змея или белая змея

Конечно, вы можете напечатать змей любым цветом, который захотите. Единственное различие между двумя змейками состоит в том, что в 2D-змейке каждый двигатель повернут на 90 градусов относительно предыдущего, тогда как в 1D-змейке все моторы выровнены по одной оси.

Заключительное предисловие: хотя каждая из моих змей имеет только 10 сервоприводов, можно сделать змей с большим или меньшим количеством сервоприводов. Одна вещь, которую следует учитывать, заключается в том, что с меньшим количеством сервоприводов вы достигнете менее успешного движения, а с большим количеством сервоприводов вы, вероятно, будете более успешны в змеевидном движении, но вам нужно будет учитывать стоимость, текущую тягу (см. Последующие примечания) и количество штифтов. доступно на Arduino. Не стесняйтесь изменять длину змеи, однако имейте в виду, что вам также потребуется изменить код, чтобы учесть это изменение.

Шаг 1: Компоненты

Это список деталей для одной змейки, если вы хотите сделать обе змейки, вам потребуется удвоить объем компонентов.

  • 10 сервоприводов MG996R *
  • Нить для 3D-печати 1,75 мм
  • 10 шарикоподшипников, номер детали 608 (я вытащил шахту из внешнего обода спиннеров Jitterspin)
  • 20 маленьких шарикоподшипников, номер детали r188, для колес ** (я вытащил шахту из внутренней части спиннеров Jitterspin)
  • 40 винтов с головкой Philips 6-32 x 1/2 дюйма (или аналогичные)
  • 8 более длинных винтов (у меня нет номера детали, но они того же диаметра, что и винты выше)
  • По крайней мере, 20 частей 4-дюймовых застежек-молний (сколько вы хотите использовать, зависит от вас)
  • Красный и черный провод 20 калибра по 5 м или толще ***
  • Проволока стандартного калибра 22
  • 30 штифтов с штыревой головкой (разделены на 10 партий по 3 шт.)
  • Ардуино Нано
  • Детали, напечатанные на 3D-принтере (см. Следующий раздел)
  • Некоторая форма питания (см. Раздел «Питание змейки» для получения дополнительной информации), я лично использовал модифицированный блок питания ATX.
  • Электролитический конденсатор 1000 мкФ 25 В
  • Термоусадочная трубка различных размеров, припой, клей и др. Разные инструменты.

* вы можете использовать другие типы, но вам нужно будет переделать 3D-файлы, чтобы они соответствовали вашим сервоприводам. Также, если вы попробуете использовать сервоприводы меньшего размера, такие как sg90, вы можете обнаружить, что они недостаточно сильны (я не тестировал это, и вы должны будете поэкспериментировать).

** вам не нужно использовать маленькие шарикоподшипники для колес, у меня просто много валялось. В качестве альтернативы вы можете использовать колеса LEGO или другие игрушечные колеса.

*** Этот провод может пропускать до 10 ампер, слишком тонкий, и ток расплавит его. См. Эту страницу для получения дополнительной информации.

Шаг 2: компоненты для 3D-печати

Сборка змей
Сборка змей

Если вы делаете 1D змейку, распечатайте эти части.

Если вы делаете 2D-змейку, распечатайте эти части.

Важное примечание: масштаб может быть неправильным! Я проектирую свои компоненты в Fusion 360 (в миллиметрах), экспортировал дизайн в виде файла.stl в программу MakerBot, а затем распечатывал его на принтере Qidi Tech (клонированная версия MakerBot Replicator 2X). Где-то в этом рабочем процессе есть ошибка, и все мои отпечатки получаются слишком маленькими. Мне не удалось определить местонахождение ошибки, но у меня есть временное исправление: масштабирование каждого отпечатка до размера 106% в программе MakerBot устраняет проблему.

Учитывая это, имейте в виду, что если вы распечатаете файлы выше, они могут быть неправильно масштабированы. Я предлагаю напечатать только одну деталь и проверить, подходит ли она к сервоприводу MG996R, прежде чем печатать их все.

Если вы все-таки распечатаете какой-либо из файлов, дайте мне знать, каков будет результат: если отпечаток слишком маленький, в самый раз, слишком большой и на сколько процентов. Работая вместе как сообщество, мы можем определить местонахождение ошибки с помощью различных 3D-принтеров и срезов.stl. Как только проблема будет решена, я обновлю этот раздел и приведенные выше ссылки.

Шаг 3: Сборка змей

Сборка змей
Сборка змей
Сборка змей
Сборка змей
Сборка змей
Сборка змей

Процесс сборки у обеих версий змейки практически одинаковый. Единственное отличие состоит в том, что в 2D-змейке каждый двигатель повернут на 90 градусов относительно предыдущего, тогда как в 1D-змейке все моторы выровнены по одной оси.

Начните с откручивания сервопривода, сохраните винты и снимите верхнюю и нижнюю части черной пластиковой рамы, и будьте осторожны, чтобы не потерять ни одну из шестерен! Вставьте сервопривод в рамку, напечатанную на 3D-принтере, сориентировав ее, как показано на рисунках выше. Замените верхнюю часть корпуса сервопривода и прикрутите его на место четырьмя винтами 6-32 1/2 дюйма. Сохраните нижнюю часть рамы сервопривода (на случай, если вы захотите использовать ее снова в более поздних проектах) и замените ее 3D печатный корпус, единственное отличие состоит в том, что дополнительная ручка для скольжения шарикового подшипника. Снова скрутите сервопривод, повторите 10 раз.

ВАЖНО: Прежде чем продолжить, вы должны загрузить код в Arduino и переместить каждый сервопривод на 90 градусов. Несоблюдение этого правила может привести к поломке одного или нескольких сервоприводов и / или рам, напечатанных на 3D-принтере. Если вы не знаете, как повернуть сервопривод на 90 градусов, см. Эту страницу. В основном подключите красный провод сервопривода к 5 В на Arduino, коричневый провод к GND и желтый провод к цифровому контакту 9, затем загрузите код в ссылку.

Теперь, когда каждый сервопривод находится под углом 90 градусов, продолжайте:

Соедините 10 сегментов, вставив напечатанную на 3D-принтере ручку из одного корпуса сервопривода в отверстие второй части сегмента, затем с небольшим усилием вставьте ось сервопривода в его отверстие (см. Изображения выше и видео для ясности). Если вы делаете 1D змейку, все сегменты должны быть выровнены, если вы делаете 2D змейку, каждый сегмент должен быть повернут на 90 градусов относительно предыдущего сегмента. Обратите внимание, что хвостовая часть и рама головы составляют только половину длины других сегментов, соедините их, но не комментируйте части в форме пирамиды, пока мы не закончим монтаж проводов.

Присоедините x-образный сервомеханизм и прикрутите его. Наденьте шарикоподшипник на ручку, напечатанную на 3D-принтере, для этого нужно будет осторожно сжать 2 полукруглые стойки вместе. В зависимости от того, какую марку нити вы используете и плотность заполнения, стойки могут быть слишком хрупкими и ломкими, я не думаю, что это будет так, но, тем не менее, не применяйте чрезмерную силу. Я лично использовал нить PLA с заполнением 10%. Когда шарикоподшипник установлен, он должен оставаться заблокированным за выступы ручки.

Шаг 4: Схема

Схема
Схема
Схема
Схема
Схема
Схема

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

Выше приведена принципиальная электрическая схема только с двумя сервоприводами. Я попытался нарисовать схему с 10 сервоприводами, но оказалось слишком тесно. Единственная разница между этим изображением и реальной жизнью заключается в том, что вам нужно подключить еще 8 сервоприводов параллельно и подключить сигнальные провода ШИМ к контактам на Arduino Nano.

При прокладке линий электропередач я использовал один кусок провода калибра 18 (достаточно толстый, чтобы выдерживать 10 ампер) в качестве основной линии 5 В, идущей по длине змейки. С помощью приспособлений для зачистки проводов я удалил небольшой участок изолятора через 10 равных интервалов и припаял по короткому отрезку провода из каждого из этих интервалов группу из 3 штырей вилки. Повторите это второй раз для черного провода GND 18 калибра и второго штыря штекера. Наконец, припаяйте более длинный провод к 3-му штырю вилки, этот штырь будет передавать сигнал ШИМ на сервопривод от Arduino Nano в голове змеи (провод должен быть достаточно длинным, чтобы дотянуться до него, даже когда сегменты изгибаются). При необходимости прикрепите термоусадочную трубку. Соедините 3 штыря штекера с 3 штырьками гнездовой части проводов сервопривода. Повторите по 10 раз для каждого из 10 сервоприводов. В конечном итоге это приводит к параллельному подключению сервоприводов и пропусканию сигнальных проводов ШИМ к Nano. Причина появления штырей штекера / розетки заключалась в том, чтобы вы могли легко разбирать сегменты и заменять сервоприводы, если они сломаются, без распайки всего.

Припаяйте провода GND и 5V к монтажной плате с 3х7 отверстиями в хвостовой части с конденсатором и винтовыми клеммами. Целью конденсатора является устранение любых всплесков потребления тока, возникающих при запуске сервоприводов, которые могут сбросить Arduino Nano (если у вас нет конденсатора, вы, вероятно, можете обойтись без него, но лучше перестраховаться). Помните, что длинный контакт электролитических конденсаторов необходимо подключить к линии 5 В, а более короткий - к линии GND. Припаяйте провод GND к контакту GND Nano и провод 5V к контакту 5V. Обратите внимание, если вы используете другое напряжение (см. Следующий раздел), скажем, аккумулятор Lipo с напряжением 7,4 В, затем подключите красный провод к контакту Vin, а НЕ к контакту 5 В, это приведет к повреждению контакта.

Припаяйте 10 сигнальных проводов ШИМ к контактам на Arduino Nano. Я подключил свой в следующем порядке, вы можете выбрать другой, но помните, что тогда вам нужно будет изменить строки servo.attach () в коде. Если вы не уверены, о чем я говорю, просто подключите его так же, как и я, и у вас не будет проблем. В порядке от сервопривода на хвосте змеи к голове змеи я подключил обе змеи в следующем порядке. Подключение сигнальных контактов к: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.

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

Шаг 5: питание змеи

Питание Змеи
Питание Змеи
Питание Змеи
Питание Змеи
Питание Змеи
Питание Змеи

Поскольку сервоприводы подключены параллельно, все они получают одинаковое напряжение, но ток необходимо складывать. Глядя на таблицу для сервоприводов MG996r, они могут потреблять до 900 мА каждый во время работы (при условии отсутствия остановки). Таким образом, общий ток, потребляемый при одновременном движении всех 10 сервоприводов, составляет 0,9 А * 10 = 9 А. Обычный адаптер розетки на 5 В, 2 А не подойдет. Я решил модифицировать блок питания ATX, способный выдавать 5 В при 20 А. Я не буду объяснять, как это сделать, так как это уже много обсуждалось на Instructables и YouTube. Быстрый поиск в Интернете покажет вам, как модифицировать один из этих блоков питания.

Предполагая, что вы изменили блок питания, это просто случай подключения длинной троса между блоком питания и винтовыми клеммами на змейке.

Другой вариант - использовать встроенный липо-аккумулятор. Я не пробовал это, поэтому вам нужно будет спроектировать крепление для батарей и подключить их. Помните о рабочих напряжениях, потребляемом токе сервоприводов и Arduino (не припаивайте ничего, кроме 5 В, к вывод 5v на Arduino, перейдите к выводу Vin, если у вас более высокое напряжение).

Шаг 6: проверьте, все ли работает

Прежде чем продолжить, давайте просто проверим, все ли работает. Загрузите этот код. Ваша змея должна перемещать каждый сервопривод индивидуально между 0–180, а затем заканчивать, выстраиваясь по прямой линии. Если это не так, значит, что-то не так, скорее всего, проводка неправильная или сервоприводы изначально не были отцентрованы под углом 90 градусов, как упоминалось в разделе «Сборка змей».

Шаг 7: Код

В настоящее время для змейки нет пульта дистанционного управления, все движения запрограммированы заранее, и вы можете выбрать то, что хотите. Я разработаю пульт дистанционного управления в версии 2, но если вы хотите управлять им удаленно, я бы посоветовал изучить другие руководства по Instructables и адаптировать змейку для совместимости с bluetooth.

Если вы делаете змейку 1D, загрузите этот код.

Если вы делаете 2D-змейку, загрузите этот код.

Я призываю вас поэкспериментировать с кодом, внести свои изменения и создать новые алгоритмы. Прочтите следующие несколько разделов для подробного объяснения каждого типа передвижения и того, как его код работает.

Шаг 8: масштабирование по сравнению с колесами

Весы против колес
Весы против колес
Весы против колес
Весы против колес
Весы против колес
Весы против колес
Весы против колес
Весы против колес

Один из основных способов передвижения змей - это форма их чешуи. Весы позволяют легче двигаться вперед. Чтобы узнать больше, посмотрите это видео, начиная с 3:04 и далее, чтобы увидеть, как чешуя помогает змее двигаться вперед. Глядя на 3:14 в том же видео, можно увидеть эффект, когда змеи находятся в рукаве, устраняя трение чешуек. Как показано в моем видео на YouTube, когда роботизированная 1D-змея пытается скользить по траве без чешуи, она не движется ни вперед, ни назад, поскольку сумма сил равна нулю. Таким образом, нам нужно добавить несколько искусственных чешуек к нижней части живота робота.

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

К сожалению, это оказалось неэффективным (см. Мое видео на YouTube в 3:38), поскольку чешуя все еще скользила по поверхности ковра, вместо того, чтобы цепляться за волокна и увеличивать трение.

Если вы хотите поэкспериментировать с созданными мной масштабами, вы можете распечатать файлы с моего GitHub в 3D. Если вы успешно сделаете свой собственный, дайте мне знать в комментариях ниже!

Используя другой подход, я попытался использовать колеса из шарикоподшипников R188 с термоусадочной трубкой снаружи в качестве «покрышек». Вы можете распечатать пластиковые оси колес на 3D-принтере из файлов.stl на моем GitHub. Хотя колеса не являются биологически точными, они аналогичны весам в том смысле, что вращение вперед легко, но движение из стороны в сторону значительно сложнее. Вы можете увидеть успешный результат работы колес в моем видео на YouTube.

Шаг 9: скользящее движение (одноосная змейка)

Первый приз конкурса Make it Move

Рекомендуемые: