В этом материале речь пойдёт о создании шагающего робота Strider Walker V6, оснащённого камерой.


Шагающий робот

Материалы


  • Плата разработчика TTGO T-Journal ESP32.
  • Модуль камеры OV2640 или OV3660 с немного более длинным, чем обычно, соединителем.
  • Два сервопривода 4.3g с возможностью вращения на 360 градусов.
  • Два литий-полимерных аккумулятора 801525.
  • Две скрепки для бумаг.
  • Коаксиальный соединитель с разъёмом SMA для установки на печатную плату.
  • Короткая SMA-антенна.
  • 60-100 винтов M1.2 (3,6 мм).

Шаг 1. Изготовление осей из скрепок



Выравниваем скрепки и режем их на две части


Участок скрепки длиной 24 мм оставляем прямым, а из оставшейся части скрепки формируем ушко


Изготовим четыре таких оси

Шаг 2. Доработка сервоприводов



Сервопривод


Наметим линии резки


Разберём корпус сервопривода


Разрежем корпус сервопривода


Завершим резку корпуса


Соберём подготовленный сервопривод


Завершим сборку


Обрежем ось сервопривода

Шаг 3. Замена антенны на плате TTGO T-Journal



Отпаяем антенну с платы и припаяем коаксиальный разъём


Установим в разъём короткую антенну

Шаг 4. 3D-печать


Необходимые STL-файлы размещены на Thingiverse. Их надо загрузить и напечатать детали робота.

Шаг 5. Сборка ножек робота


Нам нужны 6 пар ножек. Мы называем их детали leg1, leg2, leg3 и leg4. Эти же названия применяются и при именовании STL-файлов с моделями ножек. Рассмотрим процедуру их сборки.


Детали leg1, leg2, leg3 и leg4


Соединяем детали leg2 и leg3 с помощью винта


Прикручиваем то, что получилось, к leg1


Соединяем винтом leg3 и leg4


Соберём ещё одну ножку, повторив вышеописанные действия


Соединим винтом детали leg2 и leg4 двух ножек


Соединим другие детали leg2 и leg4 двух ножек

Шаг 6. Установка сервоприводов



Сервопривод и внутренняя часть корпуса робота


Поместим провода в отверстие на корпусе


Поместим сервопривод в отверстие на корпусе


Прикрутим сервопривод с наружной стороны корпуса


Прикрутим сервопривод со внутренней стороны корпуса

Шаг 7. Установка кривошипного механизма и ножек


Здесь используются детали, называемые axis1, axis2 и axis3. Эти же названия используются в именах соответствующих STL-файлов.


Присоединим деталь axis1 к сервоприводу


Установим пару ножек на axis1


Установим axis2


Установим следующую пару ножек на axis2


Установим ещё одну деталь axis2


Установим последнюю пару ножек на axis2


Установим деталь axis3

Шаг 8. Установка осей, изготовленных из скрепок


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


Начало установки первой оси


Начало установки первой оси, вид сбоку


Продолжение установки первой оси


Установка первой оси почти завершена


Завершение установки первой оси, вид сбоку


Завершение установки первой оси, вид спереди


Завершение установки двух осей, вид спереди

Шаг 9. Проверка сервопривода



Испытание сервопривода с целью проверки правильности перемещения ножек

Шаг 10. Сборка и установка второй стороны робота



Повторим шаги 6-9 для сборки второй стороны робота

Шаг 11. Подключение сервоприводов к плате TTGO T-Journa



Робот, готовый к установке платы TTGO T-Journal


Обрежем провода сервоприводов


Припаяем провода левого сервопривода к контактам GPIO 2, 3V3 и GND, а провода правого сервопривода — к контактам GPIO 4, 3V3 и GND.

Шаг 12. Установка аккумуляторов



Поместим два аккумулятора в корпус робота


Соединим аккумуляторы параллельно для того чтобы в нашем распоряжении оказалось больше энергии


Завершим подключение аккумуляторов

Шаг 13. Взвешивание робота



Взвешивание робота

Шаг 14. Программирование робота


Этот материал ориентирован, в основном, на описание новой аппаратной части шагающего робота. Программной части робота посвящены шаги 26 — 28 этого материала.

Приведём здесь их краткое описание.

Вот какие программы и библиотеки вам понадобятся:


В файле FSBrowserPlus.ino нужно раскомментировать строку, соответствующую модели вашей камеры. Остальные строки, имеющие отношение к другим камерам, должны быть закомментированы. Например, для CAMERA_MODEL_ESP32_CAM_ROBOT это выглядит так:

// Select camera model
// #define CAMERA_MODEL_WROVER_KIT // Has PSRAM
// #define CAMERA_MODEL_ESP_EYE // Has PSRAM
// #define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
// #define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
// #define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
// #define CAMERA_MODEL_ESP32_CAM // Has PSRAM
#define CAMERA_MODEL_ESP32_CAM_ROBOT // Has PSRAM
// #define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
// #define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
// #define CAMERA_MODEL_JSZWY_CYIS
#include "cameraAPI.h

Обратите внимание на то, что в нашем случае раскомментированной должна быть следующая строка:

#define CAMERA_MODEL_TTGO_T_JOURNAL_ROBOT

В camera_pins.h должны быть описаны выводы, управляющие сервоприводами. В случае с CAMERA_MODEL_ESP32_CAM_ROBOT это выглядит так:

#define MOTOR
#define MotorL_A_Pin 13
#define MotorL_B_Pin 12
#define MotorR_A_Pin 2
#define MotorR_B_Pin 14

Для настройки светодиода используется файл camerarobot.htm, там, в районе строки 616, можно настроить пин, к которому подключён светодиод:

const query = `${baseHost}/gpio?pin=4&val=${value}`;

Готовый код компилируют и загружают на устройство. Теперь с роботом можно поэкспериментировать.

Планируете ли вы создать собственного шагающего робота?

Комментарии (14)


  1. drWhy
    01.12.2021 16:38
    +4

    Тео Янсен и Грег Перри снисходительно улыбаются.



  1. Elsajalee
    01.12.2021 17:14
    +3

    В материалах даже скрепки упомянули, а пластик для 3D принтера (да и сам принтер) - нет.


    1. frnch
      01.12.2021 19:03
      +4

      Отопитель мастерской, лампу, само здание, в котором поисходила сборка, их тоже не упомянули. И не только их.


  1. Enfriz
    01.12.2021 17:20
    +2

    Сильно не хватает видео с результатом работы: как робот шагает, как управляется.


    1. JohurN
      01.12.2021 17:43
      +2

      Добавили в пост видео :)


  1. shuhray
    02.12.2021 01:22

    Очень симпатичный!


  1. DIMooo
    02.12.2021 06:36
    +5

    Корпус сделать под кирпичик и отправить следить за действиями камня шпиона разработки Военно-воздушной академии из Воронежа


  1. beeptec
    02.12.2021 11:28
    -3

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


  1. Nikopol25
    02.12.2021 11:57

    На черную пятницу купил принтер, попробую сделать такого робота


  1. xl0e
    02.12.2021 20:36
    +1

    А что за пульт управления? Самосборный? Если да, не поделитесь ссылкой на схемы?


    1. Xenotester
      03.12.2021 15:54

      Я не уверен, но похоже это Odroid Go


      1. xl0e
        03.12.2021 16:34

        Похоже он и есть. Спасибо!


  1. boojum
    04.12.2021 16:23
    +1

    После просмотра видео сразу вспомнился Терри Пратчетт и его Сундук из груши разумной )


  1. Dabbuger
    08.12.2021 15:16

    сервы на 360 граудсов найти не так уж и просто почему-то.