Coder Social home page Coder Social logo

razgriz-2002 / esp32-robot-dog-code Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sovgvd/esp32-robot-dog-code

0.0 0.0 0.0 272 KB

WIP: ESP32 powered robot dog, quadruped robot. This is just code, hardware in the other repositories

License: MIT License

C++ 72.86% C 17.45% JavaScript 7.94% HTML 1.75%

esp32-robot-dog-code's Introduction

Small Robot dog (quadruped)

Small robot dog

Hardware

  • ESP32
  • IMU (not implemented)
  • 12 servos TowerPro mg90d
  • Two 18650

Software

  • Arduino IDE compatible

TODO

  • use power sensor and IMU

How to

Calibrate servos (create servoMainProfile)

  • Print servo_calib tool and install servo into it: circle plate with dots, 10deg each from 0 to 180.
  • use tools/servoCalib.ino and connect servo to 14 pin
  • open Arduino IDE terminal and input 1500 (and press Enter) - this should be servo middle and it should point to the middle dot of printed tool
  • decrease value to find minAngle and degMin values for it (start with 800 and decrease it until servo stop move, than return back one step, e.g. set 790 - servo moved, 780 - servo moved, 760 - servo don't move, use 780)
  • do the same to find maxAngle and degMax but make value and start from 2100 and increase values
  • great, now we know our servo limits (or at least what are the limits for lib+servo), time to find more accurate servo positions
  • input values until you will not find proper positions for deg30, deg50...deg130, deg150

Legs

Assembling

  • to assembly legs correctly print leg_calib tool/template one as it is and one mirrored for the other side of robot for Beta and Gamma angles, as also Alpha angle tool
  • power up servo and connect ESP32 to you computer, open Arduino IDE terminal
  • input set servo_to_calib to set all servo to position expected for printer tool
  • assemble legs as closer as possible to expected leg parts positions according to the tool (90deg, 45deg, 90deg)

Calibration

  • repeat steps 2,3 of Legs->Assembling instruction
  • input set help to see the list of available commands, we are interested in XX_HAL_trim_xxxx, e.g. LF_HAL_trim_alpha, where LF - left front leg, and alpha is the angle name
  • put Alpha leg tool on top of the robot legs servo, surface of tool should be (near)perfectly align with servos body, if not, use XX_HAL_trim_alpha value_in_deg command to set servo trim value, e.g. set LF_HAL_trim_alpha -3, it should not be too big, in other cases you need to repeat Assemble step
  • using tool for Beta and Gamma angles, calibrate/trim other servos

esp32-robot-dog-code's People

Contributors

sovgvd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.