Оглавление:
- Шаг 1: процесс проектирования
- Шаг 2: роль Arduino
- Шаг 3: Необходимые материалы
- Шаг 4: детали, напечатанные на 3D-принтере
- Шаг 5: Подготовка кронштейнов сервопривода
- Шаг 6: Изготовление звеньев
- Шаг 7: сборка ножек
- Шаг 8: индивидуальная печатная плата и проводка
- Шаг 9: Сборка корпуса
- Шаг 10: начальная настройка
- Шаг 11: Немного о кинематике
- Шаг 12: Программирование Arduino
- Шаг 13: Окончательные результаты: время экспериментировать
Видео: Двуногий робот, управляемый Arduino: 13 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Проекты Fusion 360 »
Меня всегда заинтриговали роботы, особенно те, которые пытаются имитировать человеческие действия. Этот интерес побудил меня попытаться спроектировать и разработать роботизированное двуногое животное, которое имитировало бы ходьбу и бег человека. В этом руководстве я покажу вам конструкцию и сборку двуногого робота.
Основная цель при создании этого проекта заключалась в том, чтобы сделать систему как можно более надежной, чтобы, экспериментируя с различными походками при ходьбе и беге, мне не приходилось постоянно беспокоиться о сбое оборудования. Это позволило мне довести оборудование до предела. Второстепенная цель заключалась в том, чтобы сделать двуногих относительно дешевыми, используя легкодоступные детали для хобби и 3D-печать, оставляя место для дальнейших обновлений и расширений. Сочетание этих двух целей обеспечивает прочную основу для проведения различных экспериментов, позволяя разрабатывать двуногого человека в соответствии с более конкретными требованиями.
Следуйте дальше, чтобы создать своего собственного робота-двуногого, управляемого Arduino, и проголосуйте в «Конкурсе Arduino», если вам понравился проект.
Шаг 1: процесс проектирования
Гуманоидные ноги были созданы в Autodesk, бесплатном для использования в программном обеспечении для 3D-моделирования Fusion 360. Я начал с того, что импортировал серводвигатели в конструкцию и построил вокруг них ножки. Я разработал кронштейны для серводвигателя, которые обеспечивают вторую точку поворота, диаметрально противоположную валу серводвигателя. Наличие двух валов на обоих концах двигателя придает конструкции устойчивость и исключает перекосы, которые могут возникнуть, когда опоры выдерживают некоторую нагрузку. Звенья были предназначены для удержания подшипника, в то время как в кронштейнах использовался болт для вала. После того, как звенья были прикреплены к валам с помощью гайки, подшипник обеспечил бы гладкую и надежную точку поворота на противоположной стороне вала серводвигателя.
Еще одна цель при разработке двуногой модели заключалась в том, чтобы сделать модель как можно более компактной, чтобы максимально использовать крутящий момент, обеспечиваемый серводвигателями. Размеры звеньев были сделаны для достижения большого диапазона движения при минимальной общей длине. Если сделать их слишком короткими, кронштейны столкнутся, диапазон движения уменьшится, а слишком длинный - приведет к возникновению ненужного крутящего момента на исполнительных механизмах. Наконец, я спроектировал корпус робота, на который будет устанавливаться Arduino и другие электронные компоненты.
Примечание. Детали включены в один из следующих шагов.
Шаг 2: роль Arduino
В этом проекте использовалась Arduino Uno. Arduino отвечал за вычисление траекторий движения различных походок, которые были протестированы, и инструктировал исполнительные механизмы двигаться под точными углами с точной скоростью, чтобы создать плавное движение ходьбы. Arduino - отличный выбор для разработки проектов из-за своей универсальности. Он предоставляет набор контактов ввода-вывода, а также предоставляет такие интерфейсы, как последовательный, I2C и SPI, для связи с другими микроконтроллерами и датчиками. Arduino также предоставляет отличную платформу для быстрого прототипирования и тестирования, а также дает разработчикам возможность для улучшений и расширяемости. В этом проекте следующие версии будут включать блок инерциальных измерений для обработки движений, таких как обнаружение падения и динамическое передвижение по неровной местности, и датчик измерения расстояния для избежания препятствий.
Для этого проекта использовалась среда Arduino IDE. (Arduino также предоставляет веб-среду IDE)
Примечание: программы для робота можно загрузить, выполнив один из следующих шагов.
Шаг 3: Необходимые материалы
Вот список всех компонентов и деталей, необходимых для создания вашего собственного двуногого робота на базе Arduino. Все детали должны быть общедоступными и легко доступными.
ЭЛЕКТРОНИКА:
Arduino Uno x 1
Сервомотор Towerpro MG995 x 6
Перфорированная плата (размер аналогичен Arduino)
Штыри заголовка "папа" и "мама" (около 20 штук каждого)
Провода перемычки (10 шт.)
MPU6050 IMU (опционально)
Ультразвуковой датчик (опция)
АППАРАТНОЕ ОБЕСПЕЧЕНИЕ:
Подшипник для скейтборда (8x19x7 мм)
Гайки и болты M4
Нить для 3D-принтера (в случае, если у вас нет 3D-принтера, в локальной рабочей области должен быть 3D-принтер, или распечатки можно будет сделать онлайн по довольно низкой цене)
Без учета Arduino и 3D-принтера общая стоимость этого проекта составляет 20 долларов.
Шаг 4: детали, напечатанные на 3D-принтере
Детали, необходимые для этого проекта, должны были быть изготовлены по индивидуальному заказу, поэтому для их печати использовался 3D-принтер. Отпечатки были сделаны с заполнением 40%, 2 периметра, соплом 0,4 мм и высотой слоя 0,1 мм с PLA, цветом по вашему выбору. Ниже вы можете найти полный список частей и STL для печати вашей собственной версии.
Примечание. С этого момента детали будут упоминаться по именам в списке.
- ножной держатель сервопривода x 1
- Зеркало держателя сервопривода ноги x 1
- держатель сервопривода колена x 1
- Зеркало держателя сервопривода колена x 1
- ножной держатель сервопривода x 1
- Зеркало держателя сервопривода ноги x 1
- несущее звено x 2
- звено сервопривода x 2
- звено ноги x 2
- мост x 1
- крепление для электроники x 1
- Прокладка для электроники x 8 (опционально)
- пространство для сервопривода x 12 (опционально)
Всего без проставок 14 деталей. Общее время печати около 20 часов.
Шаг 5: Подготовка кронштейнов сервопривода
После того, как все детали напечатаны, вы можете начать с установки сервоприводов и кронштейнов сервоприводов. Сначала вставьте подшипник в коленный сервопривод. Посадка должна быть плотной, но я бы порекомендовал немного отшлифовать внутреннюю поверхность отверстия вместо того, чтобы прикладывать усилия к подшипнику, что может привести к поломке детали. Затем проденьте болт M4 в отверстие и затяните его гайкой. Затем возьмитесь за ножное звено и прикрепите к нему круглый сервопривод с помощью прилагаемых винтов. Прикрепите ножное соединение к держателю сервопривода колена с помощью винтов, которые вы будете использовать также для крепления серводвигателя. Убедитесь, что двигатель выровнен так, чтобы вал находился на той же стороне болта, который вы прикрепили ранее. Наконец, закрепите сервопривод остальными гайками и болтами.
Сделайте то же самое с держателем сервопривода бедра и держателем сервопривода ноги. При этом у вас должно быть три серводвигателя и соответствующие им кронштейны.
Примечание: я даю инструкции по созданию одной ноги, а другая просто зеркально отражается.
Шаг 6: Изготовление звеньев
После того, как кронштейны собраны, приступайте к соединению звеньев. Чтобы сделать звено подшипника, еще раз слегка отшлифуйте внутреннюю поверхность отверстий для подшипника, затем вставьте подшипник в отверстия с обеих сторон. Обязательно вдавите подшипник до тех пор, пока одна сторона не окажется заподлицо. Для создания звена сервопривода возьмитесь за два круглых рожка сервопривода и прилагаемые винты. Поместите рожки на 3D-принт и совместите отверстия, затем прикрутите рожок к 3D-принту, прикрепив винт со стороны 3D-печати. Я рекомендую использовать для этих винтов проставку для сервопривода, напечатанную на 3D-принтере. После того, как звенья построены, можно начинать сборку ноги.
Шаг 7: сборка ножек
После того, как звенья и кронштейны будут собраны, вы можете объединить их, чтобы построить ногу робота. Во-первых, используйте рычаг сервомеханизма, чтобы соединить вместе кронштейн сервопривода бедра и кронштейн сервопривода колена. Примечание: пока не прикручивайте звуковой сигнал к сервоприводу, так как на следующем этапе есть этап настройки, и будет неудобно, если звуковой сигнал будет навинчен на серводвигатель.
С противоположной стороны закрепите опорную тягу на выступающих болтах с помощью гаек. Наконец, прикрепите кронштейн сервопривода ноги, вставив выступающий болт через подшипник на держателе сервопривода колена. И закрепите вал сервопривода к рогу сервопривода, соединенному с держателем сервопривода колена с другой стороны. Это может быть непростой задачей, и я бы порекомендовал для этого вторую пару рук.
Повторите шаги для другой ноги. Используйте изображения, прикрепленные к каждому шагу, в качестве справочника.
Шаг 8: индивидуальная печатная плата и проводка
Это необязательный шаг. Чтобы сделать разводку более аккуратной, я решил сделать специальную печатную плату, используя перфокарту и штырьки заголовка. На печатной плате есть порты для прямого подключения проводов серводвигателя. Кроме того, я также оставил дополнительные порты на случай, если я захочу расширить и добавить другие датчики, такие как инерционные измерительные устройства или ультразвуковые датчики расстояния. Он также содержит порт для внешнего источника питания, необходимого для питания серводвигателей. Перемычка используется для переключения между USB и внешним источником питания для Arduino. Прикрепите Arduino и печатную плату к любой стороне крепления электроники с помощью винтов и проставок, напечатанных на 3D-принтере.
Примечание. Обязательно отсоедините перемычку перед подключением Arduino к компьютеру через USB. Невыполнение этого может привести к повреждению Arduino.
Если вы решите не использовать печатную плату и вместо этого использовать макетную плату, вот соединения сервоприводов:
- Левое бедро >> контакт 9
- Правое бедро >> контакт 8
- Левое колено >> контакт 7
- Правое колено >> контакт 6
- Левая ножка >> пин 5
- Правая нога >> пин 4
Если вы все же решите сделать печатную плату, следуйте тому же порядку, что и выше, используя порты на печатной плате справа налево и портом IMU вверх. И используйте обычные перемычки «папа-мама» для подключения печатной платы к Arduino, используя указанные выше номера контактов. Не забудьте также подключить контакт заземления и создать такой же потенциал земли и контакт Vin, когда вы решите запустить его без питания USB.
Шаг 9: Сборка корпуса
Как только две ноги и электроника будут собраны, объедините их вместе, чтобы построить тело робота. Используйте перемычку, чтобы соединить две ножки вместе. Используйте те же монтажные отверстия на держателе сервопривода бедра, а также на гайках и болтах, которыми крепится серводвигатель. Наконец, подключите крепление электроники к мосту. Совместите отверстия на мосту и держателе электроники и используйте гайки и болты M4 для соединения.
Обратитесь за помощью к прилагаемым изображениям. На этом вы завершили аппаратную сборку робота. Теперь давайте перейдем к программному обеспечению и оживим робота.
Шаг 10: начальная настройка
При создании этого проекта я заметил, что серводвигатели и рупоры не должны идеально совмещаться, чтобы оставаться относительно параллельными. Вот почему «центральное положение» каждого серводвигателя необходимо вручную отрегулировать для совмещения с ножками. Для этого удалите сервоприводы с каждого сервопривода и запустите скетч initial_setup.ino. Как только моторы займут свое центральное положение, снова прикрепите рожки так, чтобы ноги были идеально прямыми, а ступни были идеально параллельны земле. Если это так, вам повезло. Если нет, откройте файл constants.h на соседней вкладке и измените значения смещения сервопривода (строки 1-6), пока ножки не будут идеально выровнены, а ножка не станет плоской. Поиграйте со значениями, и вы поймете, что необходимо в вашем случае.
После установки констант запишите эти значения, поскольку они понадобятся позже.
Обратитесь за помощью к изображениям.
Шаг 11: Немного о кинематике
Чтобы заставить двуногих выполнять полезные действия, такие как бег и ходьба, необходимо запрограммировать различные походки в виде траекторий движения. Пути движения - это пути, по которым движется конечный эффектор (в данном случае ножки). Этого можно добиться двумя способами:
- Один из подходов - подача углов сочленения различных двигателей методом грубой силы. Этот подход может быть трудоемким, утомительным, а также содержать ошибки, поскольку оценка является чисто визуальной. Вместо этого есть более разумный способ достижения желаемых результатов.
- Второй подход заключается в подаче координат концевого эффектора, а не всех углов сочленения. Это то, что известно как обратная кинематика. Пользователь вводит координаты, а углы шарниров регулируются, чтобы расположить конечный эффектор в заданных координатах. Этот метод можно рассматривать как черный ящик, который принимает в качестве входных данных координату и выдает углы сочленения. Те, кому интересно, как были разработаны тригонометрические уравнения этого черного ящика, могут посмотреть на диаграмму выше. Для тех, кому это не интересно, уравнения уже запрограммированы и могут использоваться с помощью функции pos, которая принимает в качестве входных данных x, z и выводит три угла, соответствующие двигателям.
Программа, содержащая эти функции, может быть найдена на следующем шаге.
Шаг 12: Программирование Arduino
Перед программированием Arduino необходимо внести в файл небольшие изменения. Помните константы, которые я просил записать? Измените те же константы на значения, которые вы установили в файле constants.h.
Примечание. Если вы использовали дизайны, представленные в этом Руководстве, вам нечего менять. В случае, если некоторые из вас создали свои собственные проекты, вам придется изменить еще несколько значений вместе со смещениями. Константа l1 измеряет расстояние между шарниром бедра и шарниром колена. Константа l2 измеряет расстояние между шарниром колена и шарниром голеностопа. Поэтому, если вы разработали свою собственную модель, измерьте эти длины и измените константы. Две последние константы используются для походки. Константа stepClearance измеряет, насколько высоко ступня будет подниматься при выходе вперед после шага, а константа stepHeight измеряет высоту от земли до бедра, когда она делает шаги.
Как только все константы будут изменены в соответствии с вашими потребностями, вы можете загрузить основную программу. Основная программа просто переводит робота в позицию для ходьбы и начинает делать шаги вперед. Функции могут быть изменены в соответствии с вашими потребностями, чтобы изучить различные походки, скорости и длину шага, чтобы увидеть, что работает лучше всего.
Шаг 13: Окончательные результаты: время экспериментировать
Двуногий может совершать шаги длиной от 10 до 2 см, не опрокидываясь. Скорость также можно изменять, сохраняя при этом походку сбалансированной. Этот двуногий в сочетании с мощью Arduino обеспечивает надежную платформу для экспериментов с различными другими походками и другими задачами, такими как прыжки или балансировка при ударе по мячу. Я бы порекомендовал вам попробовать изменить траектории движения ног, чтобы создать свои собственные походки и узнать, как различные походки влияют на производительность робота. Датчики, такие как IMU и датчик расстояния, могут быть добавлены к системе для увеличения ее функциональности, в то время как датчики силы могут быть добавлены к ногам для экспериментов с динамическим перемещением на неровных поверхностях.
Надеюсь, вам понравилось это руководство, и у него достаточно вдохновения, чтобы создать свой собственный. Если вам понравился проект, поддержите его, отказавшись от голосования в «Конкурсе Arduino».
Удачи!
Первый приз в конкурсе Arduino Contest 2020
Рекомендуемые:
Робот-помощник для подъема по башне V1 - Двуногий, RF, управление BT с помощью приложения: 22 шага (с изображениями)
Tower Climb Helping Robot V1 - Two Legged, RF, BT Control с приложением: когда я когда-либо вижу ящериц на стенах, я планирую сделать робота, как он. Это долгосрочная идея, я ищу во многих статьях электроклеи и проверяю их способность удерживать. Просто пока планирую сделать это с помощью электромагнита, чтобы
БОРИС Двуногий для начинающих и не только: 11 шагов (с изображениями)
BORIS the Biped for Beginners and Beyond: Всегда хотел научиться программировать Arduino, но вы просто не можете найти проект, на который стоит потратить время или деньги. Всегда хотел иметь собственного легко программируемого, взламываемого, настраиваемого робота, но не мог найти подходящего
Робот, управляемый Wi-Fi, с использованием Wemos D1 ESP8266, Arduino IDE и приложения Blynk: 11 шагов (с изображениями)
Робот, управляемый Wi-Fi, с использованием Wemos D1 ESP8266, Arduino IDE и приложения Blynk: в этом уроке я покажу вам, как сделать управляемый Wi-Fi роботизированный резервуар, управляемый со смартфона с помощью приложения Blynk. В этом проекте использовалась плата ESP8266 Wemos D1, но можно использовать и другие модели пластин (NodeMCU, Firebeetle и т. Д.), А пр
Легкий двуногий робот: 4 шага
Легкий двуногий робот: я разрабатывал этого робота в течение прошлого года, чтобы использовать его в качестве платформы для обучения робототехнике. С помощью этого робота я учу, как перемещать сервоприводы прямыми движениями и контролируемыми движениями, используя «ЗА». Робот может танцевать, ходить и даже бегать
ICBob - двуногий робот в стиле Боба: 10 шагов (с изображениями)
ICBob - Двуногий робот, вдохновленный Бобом: Мы - Клуб воображения подростков из публичной библиотеки Бриджвилля, Делавэр. Мы делаем крутые проекты, изучая электронику, компьютерное кодирование, 3D-дизайн и 3D-печать. Этот проект является нашей адаптацией BoB the BiPed, робота на базе Arduino