Оглавление:
- Шаг 1: Конструкция ножек и кронштейнов сервопривода
- Шаг 2: Оптимизация бедренной и большеберцовой костей
- Шаг 3: Проектирование кронштейна сервопривода
- Шаг 4: вырезание и сборка кронштейнов сервопривода
- Шаг 5: сборка ножек и тест
- Шаг 6: конструирование и сборка тела
- Шаг 7: Первые тесты электроники
- Шаг 8: Первый простой тест походки
- Шаг 9: перенос контроллера PS3
- Шаг 10: Первый тест IK
- Шаг 11: Второй тест IK
- Шаг 12: большеберцовая кость и тазик EV3
- Шаг 13: бедренная кость гладкой формы
- Шаг 14: Заключительные шаги
Видео: Гексапод: 14 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:54
В течение нескольких лет мне интересно экспериментировать и создавать роботов, и меня очень вдохновил Зента, здесь вы найдете его канал на Youtube https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T и его веб-сайт
В Интернете можно найти множество комплектов от самых разных поставщиков, но они очень дорогие, до 1500 долларов США + за гексапод с 4 степенями свободы, а комплекты из Китая не имеют хорошего качества. Итак, я решил творить в гексаподе по-своему. Вдохновленный гексаподом Зенты Феникс, вы найдете его на его канале Youtube (и набор, который вы можете найти https://www.lynxmotion.com/c-117-phoenix.aspx, я начал создавать свой собственный с нуля.
Для создания я установил следующие цели / требования для себя:
1.) Получайте удовольствие и узнавайте новое.
2.) Экономичный дизайн (черт возьми, моя компания меня полностью избаловала)
3.) Детали из фанеры (потому что большинству людей, а также мне легче резать древесину)
4.) Использование бесплатных доступных инструментов (программного обеспечения)
Итак, что я использовал до сих пор?
а) SketchUp для механического проектирования.
б) Многослойная древесина бука 4 мм и 6 мм (1/4 дюйма).
в) Arduino Uno, Mega, IDE.
г) Цифровые стандартные сервоприводы (можно найти на Amazon по хорошей цене).
д) Досуки и ленточная пила, сверлильный станок, наждачная бумага и напильник.
Шаг 1: Конструкция ножек и кронштейнов сервопривода
Сначала я проводил небольшое исследование в Интернете, чтобы узнать, как сделать робота, но не очень успешно нашел хорошую информацию о том, как делать механическое проектирование. Так что я много боролся и, наконец, решил использовать SketchUp.
После нескольких часов обучения в SketchUp я закончил свой первый дизайн ног. Бедренная кость оптимизирована под размер серворогов, которые я использую. Как я понял, оригинал имеет диаметр около 1 дюйма, но мои рожки сервопривода имеют 21 мм.
Распечатка с правильным масштабом не работала правильно со SketchUp на моем компьютере, поэтому я сохранил ее в формате PDF, сделал распечатку со 100%, сделал некоторые измерения и, наконец, снова распечатал с правильным коэффициентом масштабирования.
Я с первого раза создавал арты только для двух ног. Для этого я сложил две доски, наклеил (для обоев) распечатку и вырезал детали модельной ленточной пилой.
Используемый материал: слой бука 6 мм (1/2 дюйма).
После этого я провел несколько экспериментов, которые не документировал, и провел некоторые оптимизации. Как видите, большеберцовая кость немного увеличена, как и бедренная кость.
Чтобы установить серворога через бедренную кость, необходимо отрезать 2 мм материала. Сделать это можно разными способами. С помощью фрезы или дрели Форстнера. Форстнер был всего 200 мм в диаметре, так что послевоенные работы пришлось проделывать вручную с помощью долота.
Шаг 2: Оптимизация бедренной и большеберцовой костей
Немного изменил дизайн.
1.) Большеберцовая кость теперь намного лучше подходит для сервопривода, который я использую.
2.) Бедренная кость теперь немного меньше (около 3 дюймов от оси к оси) и соответствует рожкам сервопривода (диаметр 21 мм).
Я использовал 6 досок из 6-миллиметрового дерева и склеил их двусторонним скотчем. Если этого недостаточно, просверлите отверстие во всех досках и с помощью шурупа скрепите их вместе. затем сразу вырезают детали ленточной пилой. Если вы достаточно круты, можете использовать и лобзик:-)
Шаг 3: Проектирование кронштейна сервопривода
Пришло время спроектировать кронштейн сервопривода. Это сильно связано с тем сервоприводом, который я использовал. Все детали изготовлены из бука толщиной 6 мм, снова см. Следующий шаг.
Шаг 4: вырезание и сборка кронштейнов сервопривода
Я снова вырезал шесть деталей одновременно на ленточной пиле. Метод такой же, как и раньше.
1.) Используя двусторонний скотч, склейте доски вместе.
2.) Винты для большей устойчивости при резке (здесь не показаны).
Затем я использовал клей для моделирования, чтобы склеить их вместе, и два винта SPAX (на фото еще не применены).
По сравнению с оригинальным гексаподом я пока не использую шарикоподшипники, вместо этого я использую только 3 мм винты, шайбы и самоконтрящиеся гайки позже, чтобы собрать ножки с корпусом / шасси.
Шаг 5: сборка ножек и тест
На первых двух картинках вы видите первую версию ноги. Далее вы видите сравнение старых и новых деталей и сравнение новых деталей (версия 2) с оригиналом (фото на заднем плане).
Наконец-то вы сделаете первый тест на движение.
Шаг 6: конструирование и сборка тела
Тело, которое я пытался восстановить по фотографиям. В качестве справки я использовал рупор сервопривода, который, как я предполагал, имеет диаметр 1 дюйм. Таким образом, передняя сторона становится шириной 4,5 дюйма, а средняя - 6,5 дюйма. Для длины, которую я принял, 7 дюймов. Позже купил оригинальный обвес и сравнил. Я был очень близок к оригиналу. Наконец, я сделал третью версию, которая является копией оригинала 1: 1.
Первый обвес я сделал из 6-миллиметровой древесины, здесь вы видите вторую версию, сделанную из 4-миллиметровой древесины, которая, как я выяснил, достаточно прочная и жесткая. В отличие от оригинального комплекта, я устанавливал сервопривод сверху, соответственно. через материал (вы можете увидеть это также на бедренной кости). Причина в том, что я не в настроении покупать дорогие алюминиевые рожки, вместо этого я хочу использовать уже поставляемые пластиковые рожки. Другая причина в том, что я приближаюсь к сервоприводу, поэтому поперечные силы меньше. Это делает соединение более стабильным.
Кстати, иногда хорошо иметь на борту Ганеша. Спасибо моему другу Теджасу:-)
Шаг 7: Первые тесты электроники
Теперь все искусства собраны воедино. Хорошо, я знаю, что это выглядит не очень красиво, но на самом деле я много экспериментирую. На видео вы можете увидеть, как проигрываются некоторые простые предопределенные последовательности, на самом деле никакой обратной кинематики не реализовано. Предопределенная походка не работает должным образом, потому что она рассчитана на 2 степени свободы.
В этом примере я использую сервоконтроллер SSC-32U от Lynxmotion, вы найдете его здесь:
Несколько дней назад я также использовал другой ШИМ-контроллер (16-канальный ШИМ-контроллер Adafruit, https://www.adafruit.com/product/815), но на самом деле SCC имеет некоторые приятные функции, такие как замедление сервоприводов.
Вот и все. Затем мне нужно выяснить, как работает обратная кинематика (IK), может быть, я запрограммирую простую походку, подобную предопределенной в контроллере SSC. Я уже нашел здесь готовый пример https://github.com/KurtE/Arduino_Phoenix_Parts, но еще не запустил его. Не знаю почему, но я работаю над этим.
Итак, вот краткий список дел.
1.) Запрограммируйте простую походку, как встроенную в SSC.
2.) Запрограммируйте класс / оболочку контроллера PS3 для Arduino Phoenix.
3.) Получите код от запущенного KurtE или напишите мой собственный код.
Сервоприводы, которые я использую, я нашел на Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1. Цена неплохая, но качество могло быть намного лучше.
Шаг 8: Первый простой тест походки
Как я уже упоминал на последнем шаге, я пытался запрограммировать свою собственную последовательность походки. Это очень простой, как механическая игрушка, и он не оптимизирован для тела, которое я здесь использую. Намного лучше было бы простое прямое тело.
Итак, желаю вам много удовольствия. Мне нужно выучить ИК сейчас;-)
Примечания: Если вы внимательно посмотрите на ноги, вы увидите, что некоторые сервоприводы ведут себя странно. Я имею в виду, что они не всегда двигаются плавно, возможно, мне придется заменить их другими сервоприводами.
Шаг 9: перенос контроллера PS3
Сегодня утром я работал над написанием оболочки для кода Phoenix. На это у меня ушло несколько часов, примерно 2-3. код окончательно не отлажен, и я добавил дополнительную отладку в консоль. Пока работает:-)
Но, кстати, когда я запускал код Phoenix, казалось, что все сервоприводы работают в обратном порядке (в противоположном направлении).
Если вы хотите попробовать самостоятельно, вам понадобится код от KurtE в качестве основы https://github.com/KurtE/Arduino_Phoenix_Parts. Следуйте инструкциям по установке кода. Скопируйте папку Phoenix_Input_PS в папку библиотеки Arduino (обычно это подпапка в папке с эскизом), а папку Phoenix_PS3_SSC32 в папку с эскизом.
Информация: Если у вас нет опыта работы с Arduino и инструментами и у вас возникли проблемы, свяжитесь с сообществом Arduino (www.arduino.cc). Если у вас возникнут проблемы с кодом Phoenix от KurtE, свяжитесь с ним. Спасибо.
Предупреждение: понимание кода, на мой взгляд, не для новичков, поэтому вы должны быть хорошо знакомы с C / C ++, программированием и алгоритмами. Код также содержит много условно скомпилированного кода, контролируемого #defines, что делает его очень трудным для чтения и понимания.
Список оборудования:
- Ардуино Мега 2560
- Экран хоста USB (для Arduino)
- Контроллер PS3
- Сервоконтроллер LynxMotion SSC-32U
- Аккумулятор 6 В (пожалуйста, ознакомьтесь с требованиями на всем вашем аппаратном обеспечении, иначе вы можете его повредить)
- IDE Arduino
- Некоторые USB-кабели, переключатели и другие мелкие детали по мере необходимости.
Если вам нравится контроллер PS2, вы найдете в Интернете много информации о том, как подключиться к Arduino.
Так что, пожалуйста, проявите терпение. Я обновлю этот шаг, когда программа будет работать правильно.
Шаг 10: Первый тест IK
Я нашел другой порт кода Phoenix, который работает намного лучше (https://github.com/davidhend/Hexapod), возможно, у меня проблема с настройкой другого кода. Код кажется немного глючным, а походка не очень плавной, но для меня это большой шаг вперед.
Учтите, что код на самом деле экспериментальный. Мне нужно многое почистить и исправить, и в ближайшие дни я опубликую обновление. Порт PS3 основан на уже опубликованном порту PS3, и я отказался от файлов PS2 и XBee.
Шаг 11: Второй тест IK
Решение было таким простым. Мне пришлось исправить некоторые значения конфигурации и инвертировать все углы сервопривода. Теперь работает:-)
Шаг 12: большеберцовая кость и тазик EV3
Я не смог устоять, поэтому сделал новые голени и тазики (кронштейны сервопривода). Это уже третья версия, которую я сделал. Новые имеют более круглую форму и более органичный / бионический вид.
Итак, актуальный статус есть. Гексапод работает, но по-прежнему есть проблемы с некоторыми вещами.
1.) Не выяснил почему у БТ задержка 2..3 секунды.
2.) Плохое качество сервопривода.
Дела, которые необходимо сделать:
* Проводка сервоприводов должна быть улучшена.
* Нужен хороший аккумулятор.
* Придется найти способ установить электронику.
* Повторно откалибруйте сервоприводы.
* Добавление датчиков и монитора напряжения для АКБ.
Шаг 13: бедренная кость гладкой формы
Несколько дней назад я уже сделал новую бедренную кость, потому что предыдущая меня не полностью удовлетворила. На первом изображении вы увидите различия. Старые имели диаметр на концах 21 мм, новые - 1 дюйм. Я проделал отверстия в бедренной кости с помощью фрезерного станка с помощью простого вспомогательного инструмента, как вы можете видеть на следующих трех фотографиях.
Перед тем, как делать углубления в бедренную кость, имеет смысл просверлить все отверстия, иначе это может стать затруднительным. Рупор сервопривода подходит очень хорошо, следующий шаг, не показанный здесь, - это придание краям круглой формы. Для этого я использовал фрезу радиусом 3 мм.
На последней картинке вы увидите сравнение старого и нового. Не знаю, что вы думаете, но новый мне нравится больше.
Шаг 14: Заключительные шаги
Я закончу этот урок, иначе он превратится в бесконечную историю:-).
В видео вы увидите, как Phoenix-код KurtE работает с некоторыми моими модификациями. Робот движется не идеально, извините за это, но у дешевых сервоприводов плохое качество. Я заказал несколько других сервоприводов, я только что протестировал два из них с хорошими результатами и все еще ожидаю доставки. Так что извините, я не могу показать вам, как робот работает с новыми сервоприводами.
Вид сзади: датчик тока 20 А, слева от потенциометра 10 кОм. Когда робот ходит, он легко потребляет 5 ампер. Справа от 10-килобайтного потенциометра вы увидите OLED-дисплей 128x64 пикселей, отображающий некоторую информацию о состоянии.
Вид спереди: простой ультразвуковой датчик HC-SR04, еще не интегрированный в ПО.
Вид справа: ускоритель MPU6050 и гиро (6-осевая).
Вид слева: пьезо-динамик.
Механический дизайн сейчас более или менее завершен, за исключением сервоприводов. Итак, следующими задачами будет интеграция некоторых датчиков в ПО. Для этого я создал учетную запись GitHub с программным обеспечением, которое я использую, который основан на снимке KurtE's Phoenix SW.
OLED:
Мой GitHub:
Рекомендуемые:
Как: установка Raspberry PI 4 Headless (VNC) с Rpi-imager и изображениями: 7 шагов (с изображениями)
Как: установка Raspberry PI 4 Headless (VNC) с Rpi-imager и изображениями: я планирую использовать этот Rapsberry PI в кучу забавных проектов еще в моем блоге. Не стесняйтесь проверить это. Я хотел вернуться к использованию своего Raspberry PI, но у меня не было клавиатуры или мыши в моем новом месте. Прошло много времени с тех пор, как я установил Raspberry
Счетчик шагов - Micro: Bit: 12 шагов (с изображениями)
Счетчик шагов - Микро: Бит: Этот проект будет счетчиком шагов. Мы будем использовать датчик акселерометра, встроенный в Micro: Bit, для измерения наших шагов. Каждый раз, когда Micro: Bit трясется, мы добавляем 2 к счетчику и отображаем его на экране
Джаспер Гексапод Arduino: 8 шагов (с изображениями)
Гексапод для Arduino Джаспер: Дата проекта: ноябрь 2018 г. ОБЗОР (ДЖАСПЕР) Шесть ножек, три сервопривода на каждую ногу, 18 сервоприводов, управляемых Arduino Mega. Сервоприводы подключаются через сенсорный экран Arduino Mega V2. Связь с Hexapod через модуль Bluetooth BT12 разговаривает с бес
Тоби1 - Гексапод: 12 шагов
Toby1 - Hexapod: Toby1 - это робот-гексапод, который использует кривошипное движение ворот штатива для ходьбы, это многонаправленный бот от прямого к обратному, который может полностью изменить свое движение с помощью сенсорного датчика
Гексапод своими руками: 6 шагов
DIY Hexapod: в этом руководстве я дам вам пошаговое руководство по созданию Bluetooth-устройства Hexapod с дистанционным управлением. Во-первых, это большой гексапод, и для его перемещения вам понадобятся 12 мощных сервомоторов (MG995) и для обработки такого количества сигналов ШИМ (чтобы