Четырехногий робот

Много времени прошло с момента когда спрашивал про детали гексапода, уже успел даже продать его. Собрать большую робособаку и решив что на ней тестировать не удобно, собрал мелкого четвероногого друга =) www.thingiverse.com/thing:4822059

Робот честно ходит: обратная кинематика, просчет положения в будущем, перемещение, алгоритм движения ног и т.д., но пока все расчеты в одной плоскости и без учета IMU. Управление через браузер на смартфоне, максимально удобно и просто.

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

Собственно собран робот на сервах TowerPro mg90d (не уверен что оригинал у меня), в качестве контроллера ESP32, питание от 2х элементов 18650 и три mini360 для питания серв (греются, но вроде не критично) и мозгов. Детали напечатаны китайским PLA на Ender 3 pro. В целом проект стараюсь делать максимально бюджетно, открыто, свободно, модно, молодежно.

Исходный код: github.com/SovGVD/esp32-robot-dog-code
Исходники для печати (FreeCAD): github.com/SovGVD/esp32-small-robot-dog-hardware

Больше фото робота и процесса в инстаграме (но вперемешку с семейными фото): www.instagram.com/sovgvd/

  • 782
Comments
Sci_Rosso

Здоровский проект!
Код писали сами, или взяли за основу уже готовые скетчи?

SovGVD

Спасибо =)
Всё сам от и до (ну не считая всяких стандартных библиотек, типа работы с PWM или веб сервер для управления через браузер), включая детали конструкции.
Большая часть готовых скетчей это огромные массивы с записью углов серв, либо монстры на raspberry с ROS, что имхо перебор.

Игорь555

Глеб привет.Тема старая ,но может увидишь комент.Хотел спросить ты ставил ESP32 , а дополнительно на сервы плату ставил ,если да то какую.По сколько рекомендуют сервы запитывать отдельно что бы не сажать питание самой ESP32 .И на борту есть ли какие датчики для предотвращения столкновения с препятствием. И я там заметил стоят сервы на шестернях для поворота ног наверно в верх/низ …насколько они нужны ,поскольку шагом управляют две сервы не посредственно на ногах…

SovGVD

Привет. Только увидел коммент. Тут только ESP32, для серв используется либа khoih-prog/ESP32_ISR_Servo. Сервы питаются от 2х DC-DC (2 банки -> 5.5…6 вольт) и еще один для самого контроллера + пара конденсаторов (я не особо в схемотехнике, но ещё со времён MultiWii и MegaCopter помню что помогает). Из датчиков только датчик тока и IMU (который я задействовал в одной из веток кода). Сервы на шестернях чтобы экономить место, попутно бонусом точность выше, люфт меньше. Нового двуногого робота сейчас делаю, там вообще всё только через шестерни. Сейчас вообще занят больше кодом чтобы тип шагающего робота можно было через конфиг задавать + вся математика + свистелки с перделками, код тут github.com/SovGVD/esp32-legged-robots-core картинки и видосы в Инстаграмме instagram.com/sovgvd.diy

SovGVD

Про шестерни наверное не понял вопрос правильно. Сервы там нужны чтобы нормально (а не как petoi) разворот делать. В теории можно и без них, и поворачивать “по танковому”, но при этом придётся всю математику переписать, так как код по факту просто принимает координаты места крепления ноги в 3D и координаты куда ногу ставить в 3D, без всех 3х серв это надо будет как то эмулировать.

Игорь555

Глеб привет…спасибо за ответ.Слушай а что за прога у тебя в инстограме чертежи на ней показаны…Она в 3D строит и в SТL сохраняет…

SovGVD

Это FreeCAD.