(Paper)(Code...Later)
As humanoid robots become increasingly prevalent across the world—whether through widespread deployment of standardized robotic platforms or through the impressive advancements made by startups and research groups like Boston Dynamics—there is a renewed interest in the adaptability and control of bipedal locomotion. While many modern systems leverage reinforcement learning and advanced AI pipelines, this work revisits a legacy humanoid platform, the Darwin OP, to explore novel methods of gait control using traditional input systems. We present a modular, real-time walking controller that enables dynamic, omni-directional locomotion via both discrete (keyboard) and continuous (joystick) interfaces.
Simulation Environment
The Darwin OP model in Webots features 20 degrees of freedom, each represented by individually controlled servo motors. These are accompanied by a suite of virtual sensors, including accelerometers, gyroscopes, foot-ground contact sensors, and joint position sensors. Webots simulates accurate foot ground interaction and supports real-time visualization of motion dynamics, making it ideal for testing balance, trajectory, and walking behavior under different control inputs.
Discrete(Keyboard) Based Input Movement
The discrete controller utilizes standard keyboard keys as binary inputs to modulate gait amplitudes and direct the motion of the Darwin OP humanoid robot. Each keypress corresponds to a specific motion command (e.g., move forward, turn left), and the controller interprets these inputs to gradually ramp up or down the robot’s walking amplitudes over time. Unlike traditional fixed-state gait machines, this approach enables fluid transitions and more lifelike walking behavior through amplitude-based modulation.
Input Mapping
↑ (UP Arrow) → Increase forward walking amplitude
↓ (DOWN Arrow) → Increase backward walking amplitude
← (LEFT Arrow) → Increase rotational amplitude
→ (RIGHT Arrow) → Increase rotational amplitude
A / a → Increase left strafe amplitude
D / d → Increase right strafe amplitude
Spacebar → Toggle walking on/off via GaitManager::start() or GaitManager::stop()
Continuous(Joystick) Based Input Movement
The joystick-based controller uses analog input values from a standard Xbox-style joystick to produce continuous, real-time gait modulation for the Darwin OP humanoid robot. This approach allows for more expressive, fine-grained control over walking behavior, enabling seamless blending of direction, speed, and rotational movement based on user intent.
Input Mapping
Left Stick (X-axis) → Lateral movement amplitude
Left Stick (Y-axis) → Forward/backward amplitude
Right Stick (X-axis) → Rotational amplitude
Button A (Button 0) → Toggle walking mode on/off