Из предыдущих проектов на этой странице вы, вероятно, заметили, что я глубоко интересуюсь роботизированными проектами. В одной из моих предыдущих инструкций я построил четвероногого робота, используя большие мощные серводвигатели, и на этот раз я решил попробовать сделать микро-версию четвероногого робота, которая будет значительно более универсальной и маневренной. В этом руководстве я покажу вам конструкцию и сборку компактного четвероногого робота.
Основная цель при создании этого проекта заключалась в том, чтобы сделать систему как можно меньше, но при этом быть надежной, чтобы во время экспериментов с различными походками и бегом мне не приходилось постоянно беспокоиться о сбоях оборудования. Это позволило мне довести оборудование до предела возможностей и поэкспериментировать со сложными походками и движениями. Вторичной целью было сделать четвероногого относительно недорогим, используя легкодоступные детали для хобби и 3D-печать, что позволило быстро создать прототип. Сочетание этих двух целей обеспечивает прочную основу для проведения различных экспериментов, позволяя разрабатывать четвероногих для более конкретных требований, таких как навигация, избегание препятствий и динамическое передвижение.
Следуйте дальнейшей инструкции чтобы создать своего собственного четвероногого микро-робота на Arduino.
![]() |
![]() |
Для разработки четвероногого робота было использовано программное обеспечение для 3D-моделирования Autodesk Fusion 360 бесплатная версия. Я начал с того, что импортировал в конструкцию микросервомоторы и построил вокруг них ноги и корпус. Дизайн был разработан с учетом простоты и надежности, так как я надеялся поэкспериментировать с различными динамическими походками, которые доведут оборудование до предела. Другой целью при разработке четвероногого робота было сделать модель как можно более компактной, чтобы максимально использовать крутящий момент, обеспечиваемый серводвигателями. Размеры звеньев были сделаны для достижения большого диапазона движения при минимальной общей длине. Если сделать их слишком короткими, детали напечатанные на 3D-принтере столкнутся, уменьшится диапазон движения, а если они будут слишком длинными, то на приводы будет оказываться ненужный крутящий момент. Наконец, я спроектировал корпус робота, на который будет устанавливаться Arduino и другие электронные компоненты. Я также оставил дополнительные точки крепления на верхней панели корпуса, чтобы разместить другие датчики и инструменты и сделать проект масштабируемым для дальнейших улучшений. Можно добавить датчики, такие как датчики расстояния, камеры или другие приводимые в действие механизмы, такие как роботизированные захваты.
Примечание: 3D модели деталей для робота можно загрузить в одном из следующих шагов.
![]() |
![]() |
Вот список всех компонентов и деталей, необходимых для создания вашего собственного четвероногого робота на Arduino. Все детали Вы можете найти в интернет-магазине Robototehnika.ru.
ЭЛЕКТРОНИКА:Самая большая стоимость этого проекта - 12 серводвигателей. Я рекомендую выбрать модель серво среднего или высокого уровня качества вместо дешевых с пластиковыми шестернями, так как они легко ломаются. Без учета инструментов общая стоимость этого проекта составляет примерно 60 $.
В этом проекте использовалась Arduino Uno. Данный контроллер отвечает за вычисление траекторий движения различных походок, которые были протестированы, и инструктирует исполнительные механизмы двигаться под точными углами с точной скоростью, чтобы создать плавное движение ходьбы. Arduino - отличный выбор для разработки проектов из-за своей универсальности. Он предоставляет набор контактов ввода-вывода, а также предоставляет интерфейсы связи, такие как последовательный, I2C и SPI, для связи с другими микроконтроллерами и датчиками. Arduino также предоставляет отличную платформу для быстрого прототипирования и тестирования, а также дает разработчикам возможность для улучшений и расширяемости. В этом проекте следующие версии будут включать блок инерциальных измерений для обработки движений, таких как обнаружение падения и динамическое передвижение по неровной местности, а также датчик измерения расстояния для избежания препятствий.
Для этого проекта использовалась среда разработки Arduino IDE. (также существует онлайн-версия Arduino Web Editor)
Примечание: Программы для робота можно загрузить в одном из следующих шагов.
![]() |
![]() |
Детали, необходимые для этого проекта, должны были быть изготовлены по индивидуальному заказу, поэтому для их печати использовался 3D-принтер. Отпечатки были сделаны с заполнением 40%, 2 периметра, соплом 0,4 мм и высотой слоя 0,1 мм с PLA, цветом по вашему выбору. Ниже вы можете найти полный список частей и STL для печати вашей собственной версии робота.
Примечание: С этого момента детали будут упоминаться по именам в списке.
Всего (без проставок) 22 детали. Общее время печати около 20 часов.
3D модели деталей (780k zip).![]() |
![]() |
Начните делать звенья, вставьте качалки серво в прорези детали leg2 и используя винты соедините это вместе с leg2 cover.
![]() |
![]() |
Затем вставьте сервопривод servo1 в специальный паз на leg1 и надежно закрепите его с помощью двух винтов.
Повторите этот процесс с остальными 3 ногами.
![]() |
![]() |
Затем вставьте качалку сервопривода в каждую деталь leg3 и leg3 mirror.
![]() |
![]() |
Пропустите провода servo1 прикрепленного к звену leg1 и servo2 (свободного) через специальную прорезь для укладки проводов, между деталью leg3 и leg3 cover. Прикрутите leg3 cover к leg3 (уже с установленной качалкой) с помощью двух винтов.
Вставьте сервопривод servo2 в специальный паз на leg3 и надежно закрепите его с помощью двух винтов.
Повторите этот процесс для остальных ног.
![]() |
![]() |
Прикрепите 4 сервомотора servo3 к корпусу винтами изнутри. Хотя установка сервоприводов с помощью винтов изнутри может быть немного сложной, это очень важно, потому что винты, прикрепленные снаружи, будут мешать ногам и уменьшать диапазон движения каждой ноги.
![]() |
![]() |
Присоедините 4 готовых узла leg3 с уже установленными servo2 к каждому из 4 сервоприводов servo3 на корпусе.
![]() |
![]() |
Используйте звено leg2, чтобы соединить servo2 прикрепленного к leg3 с servo1 прикрепленного к leg1.
Повторите этот процесс для остальных трех ног, и на этом общая сборка вашего компактного четвероногого робота готова.
![]() |
![]() |
Я решил использовать плату расширения ввода/вывода для Arduino, которая обеспечивает соединения для серводвигателей. Я бы порекомендовал вам использовать Плата расширения ввода/вывода v5 для Arduino, так как она имеет встроенный разъем внешнего источника питания. Однако ту, которую я использовал, не имела этой опции. Присмотревшись к плате расширения ввода/вывода для Arduino более внимательно, я заметил, что эта плата потребляет питание от 5-вольтового контакта на плате Arduino (что является ужасной идеей, когда речь идет о серводвигателях высокой мощности, поскольку вы рискуете повредить Arduino). Для решения этой проблемы нужно было согнуть вывод 5 В на плате расширения, чтобы он не подключался к выводу 5 В на Arduino. Таким образом, теперь мы можем подавать внешнее питание через вывод 5 В, не повреждая Arduino.
![]() |
![]() |
Начните с протяжки проводов через корпус, чтобы лишние провода не свисали. Затем подключите порты сервопривода к плате расширения ввода/вывода. Подключение сигнальных контактов всех 12 серводвигателей показано в таблице ниже.
Примечание: Направление сверху вниз. servo3 - это сервопривод, прикрепленный к корпусу. servo2 - это сервопривод, прикрепленный к ноге. servo1 - это сервопривод, прикрепленный к звену.
Нога 1 (передняя левая):![]() |
![]() |
Прежде чем приступить к программированию сложных походок и других движений, нам нужно установить нулевые точки каждого сервопривода. Это дает роботу ориентир, который он использует для выполнения различных движений.
Чтобы избежать повреждений робота, вы можете удалить качалки сервопривода из звеньев.
Этот код помещает каждый из сервоприводов под углом 90 градусов. Как только сервоприводы достигли положения 90 градусов, вы можете повторно прикрепить звенья так, чтобы ноги были совершенно прямыми, а сервопривод, прикрепленный к корпусу, был перпендикулярен верхней панели четвероногого робота.
На этом этапе из-за конструкции качалок сервопривода некоторые соединения могут быть не совсем прямыми. Решением является корректировка массива zero_positions, находящегося в 13-й строке файла Quadruped.h. Каждое число представляет собой нулевую позицию соответствующего сервопривода (порядок совпадает с порядком, в котором вы прикрепили сервопривод к Arduino). Немного измените эти значения, пока ноги не станут идеально прямыми.
Примечание: Примечание. Вот значения, которые я использую, хотя эти значения могут вам не подойти:
int zero_positions[12] = {83, 89, 164, 85, 93, 3, 102, 90, 15, 90, 99, 175};
Также обратите внимание, что эта программа может работать с любым четвероногим роботом, которого вы построите. Просто измените значения в конструкторе, который вызывается в строке 3 main.ino. (Более подробную информацию можно найти в readme на странице GitHub)
![]() |
![]() |
Чтобы четвероногие выполняли полезные действия, такие как бег, ходьба и другие движения, сервоприводы должны быть запрограммированы в виде траекторий движения. Пути движения - это пути, по которым движется конечный эффектор (в данном случае ноги). Этого можно добиться двумя способами:
Программа, содержащая эти функции, может быть найдена на следующем шаге.
После завершения подключения и инициализации вы можете запрограммировать робота и создать крутые траектории движения, чтобы робот выполнял интересные задачи. После загрузки программы робот должен начать ходить. Вы можете варьировать параметры походки, используя различные методы, включенные в класс робота.
Четвероногий робот может делать шаги длиной от 4 до 1 см. Скорость также можно варьировать, сохраняя при этом походку сбалансированной. Этот четвероногий представляет собой надежную платформу для экспериментов с различными другими походками и другими целями, такими как прыжки или выполнение заданий. Я бы порекомендовал вам попробовать изменить траектории движения ног, чтобы создать свои собственные походки и узнать, как различные походки влияют на производительность робота. Я также оставил несколько точек крепления в верхней части робота для дополнительных датчиков, таких как датчики измерения расстояния для задач уклонения от препятствий или IMU для динамической походки по неровной местности. Можно также поэкспериментировать с дополнительным захватом, установленным на верхней части робота, поскольку робот чрезвычайно устойчив и прочен и не может вот так вот легко опрокинуться.
Надеюсь, вам понравилось это руководство, и оно вдохновило вас на создание своего собственного четвероногого робота. Удачи!