Project Overview
This robot was built with one goal in mind - mobility in unstructured environments. Key Principles:
- Stability: constantly balancing on its own
- Low Complexity: few moving parts
- Energy Efficiency
Leg Design
The leg mechanism is a four-bar linkage driven by a single actuator at the hip. It’s designed for vertical compliance, stability and geometric simplicity.
Core Components:
- Hip Motor: The only actuator. All movements is derived from it. With position feedback.
- Thigh Rod: Connects the actuator to the mechanism
- Drive Rod: Maintains platform orientation through parallel linkage. Mechanically decouples body pitch from leg motion
- Calf rod: interacts with the ground, integrates the wheel and passive compliance.
This structure ensures that the platform stays horizontal regardless of leg movement.
****
Control System
The robot uses a two-loop architecture to separate body control from leg motion:
Body Stabilization - LQR
LQR logic is broken down into multiple PID controllers:
- Angle feedback: Stabilizes Pitch using MPU6050 angle (Y-axis)
- Gyro feedback: Dampens oscillations with angular velocity
- Displacement: Uses AS5600 encoders to maintain position
- Velocity: Regulates forward/backward motion Instead of solving Riccati equations, the LQR weights are manually tuned as 4 PID terms.
Yaw Control
- Integrates IMU yaw angle using angular unwrapping
- PID control on yaw angle and gyro for smooth heading correction
- Yaw correction applied symmetrically to wheel torque
Fall Detection & Recovery
- if pitch exceeds , disables motor torque
- automatically resumes balancing after recovery timeout
Leg Control & Jumping
Roll-Stabilized Leg Height Control
- Uses roll axis from IMU to stabilize lateral motion.
- Applies filtered PID correction to servo targets.
- Leg position scaled based on joystick-controlled body height
Jump Mechanism
- Rising-edge detection on directional input triggers jump.
- Executes predefined trajectory using STS3032 servos with synchronized write.
- Includes timed recovery sequence before returning to normal control.
System Integration
FOC Motor Control
- Uses SimpleFOC for torque-mode control of BLDC motors.
- Real-time sensor feedback from AS5600 encoders (I2C).
Serial Tuning with Commander
- Live PID and LPF tuning via UART command interface.
- Tweak balance behavior, leg responsiveness, yaw dynamics without reflashing