[Перевод] Создание Strider Walker V6 — шагающего робота с камерой

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

image-loader.svg


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

Материалы


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


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


c9e918684bd5ad20c31c1b1762a31c6d.jpg


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

387872fce4450267401777524477321f.jpg


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

bc9135c4dd160e87656135f50a819d9c.jpg


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

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


d038bd52a757797f997b95681e65145e.jpg


Сервопривод

4a9fa027597360bd17ffbc78b9f9342a.jpg


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

e67dfb33246fc90adf564629a97bea9d.jpg


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

d6f562585e00ef44b965ba3ec987b53e.jpg


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

ffbf8c612dc2efccae691664bc027615.jpg


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

22d607261a950cdc08fc4db608645534.jpg


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

f81d8708d51a654c45d096528053318d.jpg


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

6696c335acb74e4dba624cb5f35be459.jpg


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

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


d2dc012c704f9bc5f92431436d7974ae.jpg


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

6405913d1e4064e75911bcdf3c241d71.jpg


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

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


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

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


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

5e8f774b9639137caec5c10632298eb9.jpg


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

129e456e09bc7269bbe8d24a21028508.jpg


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

04e51704203ab4c57e2dae38467bac00.jpg


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

aab9202bdb2e2ccdd29abbf7fe7cea52.jpg


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

866563bc5562cf8a47dbd33ed78f422d.jpg


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

c55d7068f280bb20782a2c9eed589ab6.jpg


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

34e6169d91bb914cee0f574fa4a5c69f.jpg


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

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


457b0653089800f333933963c85dc1a9.jpg


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

1000eff398d3eb293051625d81fe9ad8.jpg


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

63752405f7ef935ff30a1f75447bd0ac.jpg


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

93ef656ea19280575abef5a4aeda4171.jpg


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

ce831aed5efcb35431708990dca37d7b.jpg


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

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


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

575ae5c2a966ebea6a6f01e8ca3d877b.jpg


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

e64d05a68f8c09923e2b12b73d42d6cb.jpg


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

3d2a8c2b0afe5a8192c1c66369684073.jpg


Установим axis2

e40a4808879c7db9bf4f3d708d3f24cd.jpg


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

d40f7aeb5765263b44881d0e18272130.jpg


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

a22816fe6789d82dd7f3c41eeb3e74ea.jpg


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

17b4de959ced4afdf26543d893d3e2f0.jpg


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

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


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

41a02b2b6a9d710316f904138ba91117.jpg


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

3a0757eb95c5dbbb1896324439e4d56d.jpg


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

bf5993eb4093588418ee02c8f268a510.jpg


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

40606b0f48937773c45b972e4a423ec1.jpg


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

0d30102028a3021f3147989835a0c3ec.jpg


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

ae627a26bb96b31351a50b66ddc8a06c.jpg


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

c889102977d8df730e8d6ace60016dfd.jpg


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

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


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

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


e373be78e85222e9a6d2779216c1d93b.jpg


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

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


8c129079b03441b51e53cbae586368b6.jpg


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

3b9ed0f13ed8d3720f2c3f090ec013af.jpg


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

aaeccb6184dc101f62b6b9944953484e.jpg


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

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


74adc5c6e196aacc5f03c92d9d334182.jpg


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

a76f8492d1876fae14a6f082d2218fa1.jpg


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

79a96b0a1c96e8aa6c7a9bf369df4363.jpg


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

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


d3201f85165c88fff331d2d597af8511.jpg


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

Шаг 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}`;


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

kghq9za934md5ceo14bxovinlgy.jpeg

© Habrahabr.ru