openDog Robot Leg Motor Homing and Calibration Guide

Added:

Robot Setup
Motor Calibration
Encoder Issues
Homing Sequence
Leg Homing
Software Control
Power Check
Actuator Homing
Master Comms
Slave Control

Robot Setup

0:00
Playing Section
  • 1

    Build wooden support frame to hold robot during leg calibration.

  • 2

    Set brake resistance and motor pole pairs for each ODrive.

  • 3

    Manually run motor calibration on startup until encoder mounts are reliable.

Fundamentals of Brushless DC (BLDC) motor operation, including phase commutation, field-oriented control (FOC), and the role of motor drivers.
Working principles of rotary encoders, specifically distinguishing between incremental and absolute encoders for angular position feedback.
Basic concepts of closed-loop control systems, particularly PID (Proportional-Integral-Derivative) controllers and how they govern motor behavior.
Familiarity with microcontroller programming and communication protocols (such as CAN bus, SPI, or I2C) used to interface with motor controllers.
Forward and Inverse Kinematics for calculating joint angles required to achieve specific foot coordinates in 3D space.
Gait generation and multi-leg coordination strategies (such as walking, trotting, and bounding) for stable quadruped locomotion.
Dynamic stability control and state estimation using Inertial Measurement Units (IMUs) and Ground Reaction Force (GRF) sensors.
Integration with high-level robotic middleware, such as ROS (Robot Operating System), to implement autonomous navigation, mapping, and obstacle avoidance.
176.3K views4.7Klikes27:04@jamesbrutonOriginal Release: 2018-09-11

This video demonstrates the essential calibration and homing process for a four-legged robot using ODrive brushless motor controllers, covering three critical steps: setting brake resistance for regenerative braking, configuring motor magnet pole pairs for proper brushless motor control, and calibrating motor stator position against encoder feedback. The process involves using home switches to establish known positions for each joint, with the system performing motor calibration by spinning the motor in both directions to find the encoder's Z-index, then backing off a precise distance to establish a reference position. This calibration must be performed on startup since the ODrive needs to know the exact relationship between motor stator position and encoder counts to properly energize motor coils at the correct times for brushless motor operation.