Оглавление:

Гексапод: 14 шагов (с изображениями)
Гексапод: 14 шагов (с изображениями)

Видео: Гексапод: 14 шагов (с изображениями)

Видео: Гексапод: 14 шагов (с изображениями)
Видео: Гексапод Enjoy Robotics 2024, Ноябрь
Anonim
Гексапод
Гексапод
Гексапод
Гексапод
Гексапод
Гексапод

В течение нескольких лет мне интересно экспериментировать и создавать роботов, и меня очень вдохновил Зента, здесь вы найдете его канал на 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: сборка ножек и тест

Image
Image
Сборка ножек и теста
Сборка ножек и теста
Сборка ножек и теста
Сборка ножек и теста

На первых двух картинках вы видите первую версию ноги. Далее вы видите сравнение старых и новых деталей и сравнение новых деталей (версия 2) с оригиналом (фото на заднем плане).

Наконец-то вы сделаете первый тест на движение.

Шаг 6: конструирование и сборка тела

Конструирование и сборка кузова
Конструирование и сборка кузова
Конструирование и сборка кузова
Конструирование и сборка кузова
Конструирование и сборка кузова
Конструирование и сборка кузова

Тело, которое я пытался восстановить по фотографиям. В качестве справки я использовал рупор сервопривода, который, как я предполагал, имеет диаметр 1 дюйм. Таким образом, передняя сторона становится шириной 4,5 дюйма, а средняя - 6,5 дюйма. Для длины, которую я принял, 7 дюймов. Позже купил оригинальный обвес и сравнил. Я был очень близок к оригиналу. Наконец, я сделал третью версию, которая является копией оригинала 1: 1.

Первый обвес я сделал из 6-миллиметровой древесины, здесь вы видите вторую версию, сделанную из 4-миллиметровой древесины, которая, как я выяснил, достаточно прочная и жесткая. В отличие от оригинального комплекта, я устанавливал сервопривод сверху, соответственно. через материал (вы можете увидеть это также на бедренной кости). Причина в том, что я не в настроении покупать дорогие алюминиевые рожки, вместо этого я хочу использовать уже поставляемые пластиковые рожки. Другая причина в том, что я приближаюсь к сервоприводу, поэтому поперечные силы меньше. Это делает соединение более стабильным.

Кстати, иногда хорошо иметь на борту Ганеша. Спасибо моему другу Теджасу:-)

Шаг 7: Первые тесты электроники

Image
Image
Большеберцовая кость и тазик EV3
Большеберцовая кость и тазик EV3

Теперь все искусства собраны воедино. Хорошо, я знаю, что это выглядит не очень красиво, но на самом деле я много экспериментирую. На видео вы можете увидеть, как проигрываются некоторые простые предопределенные последовательности, на самом деле никакой обратной кинематики не реализовано. Предопределенная походка не работает должным образом, потому что она рассчитана на 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

Image
Image

Я нашел другой порт кода Phoenix, который работает намного лучше (https://github.com/davidhend/Hexapod), возможно, у меня проблема с настройкой другого кода. Код кажется немного глючным, а походка не очень плавной, но для меня это большой шаг вперед.

Учтите, что код на самом деле экспериментальный. Мне нужно многое почистить и исправить, и в ближайшие дни я опубликую обновление. Порт PS3 основан на уже опубликованном порту PS3, и я отказался от файлов PS2 и XBee.

Шаг 11: Второй тест IK

Решение было таким простым. Мне пришлось исправить некоторые значения конфигурации и инвертировать все углы сервопривода. Теперь работает:-)

Шаг 12: большеберцовая кость и тазик EV3

Большеберцовая кость и тазик EV3
Большеберцовая кость и тазик EV3
Большеберцовая кость и тазик EV3
Большеберцовая кость и тазик EV3

Я не смог устоять, поэтому сделал новые голени и тазики (кронштейны сервопривода). Это уже третья версия, которую я сделал. Новые имеют более круглую форму и более органичный / бионический вид.

Итак, актуальный статус есть. Гексапод работает, но по-прежнему есть проблемы с некоторыми вещами.

1.) Не выяснил почему у БТ задержка 2..3 секунды.

2.) Плохое качество сервопривода.

Дела, которые необходимо сделать:

* Проводка сервоприводов должна быть улучшена.

* Нужен хороший аккумулятор.

* Придется найти способ установить электронику.

* Повторно откалибруйте сервоприводы.

* Добавление датчиков и монитора напряжения для АКБ.

Шаг 13: бедренная кость гладкой формы

Бедро гладкой формы
Бедро гладкой формы
Бедро гладкой формы
Бедро гладкой формы
Бедро гладкой формы
Бедро гладкой формы
Бедро гладкой формы
Бедро гладкой формы

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

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

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

Шаг 14: Заключительные шаги

Image
Image
Заключительные шаги
Заключительные шаги
Заключительные шаги
Заключительные шаги
Заключительные шаги
Заключительные шаги

Я закончу этот урок, иначе он превратится в бесконечную историю:-).

В видео вы увидите, как Phoenix-код KurtE работает с некоторыми моими модификациями. Робот движется не идеально, извините за это, но у дешевых сервоприводов плохое качество. Я заказал несколько других сервоприводов, я только что протестировал два из них с хорошими результатами и все еще ожидаю доставки. Так что извините, я не могу показать вам, как робот работает с новыми сервоприводами.

Вид сзади: датчик тока 20 А, слева от потенциометра 10 кОм. Когда робот ходит, он легко потребляет 5 ампер. Справа от 10-килобайтного потенциометра вы увидите OLED-дисплей 128x64 пикселей, отображающий некоторую информацию о состоянии.

Вид спереди: простой ультразвуковой датчик HC-SR04, еще не интегрированный в ПО.

Вид справа: ускоритель MPU6050 и гиро (6-осевая).

Вид слева: пьезо-динамик.

Механический дизайн сейчас более или менее завершен, за исключением сервоприводов. Итак, следующими задачами будет интеграция некоторых датчиков в ПО. Для этого я создал учетную запись GitHub с программным обеспечением, которое я использую, который основан на снимке KurtE's Phoenix SW.

OLED:

Мой GitHub:

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