PEBL

Role: Project lead

Scope: Software Architecture, Control system design, Electronics/Sensors integration, Hardware modification

PEBL, the Platform for Bipedal Locomotion, is a full-size humanoid robot built for investigating new approaches to bipedal locomotion.

This pair of legs originally belonged to the THOR-OP robot that RoMeLa sent to the DARPA Robotics Challenge Trials in 2013. Each of the 6 DOF legs utilize modular servo motors and contain absolute encoders at each joint. Current research objectives include walking on uneven terrain, push recovery and online gait planning.

Disturbance rejection during walking
PEBL walking in simulation environment
Balancing on a beam

Background

PEBL is designed to be a locomotion research platform that emphasizes simplicity and modularity, hence utilizing non-specific actuators for the leg joints and using a bracket + bolts system to allow reconfiguring the robot’s kinematic configuration.

It has a 6 joints in each leg for a total of 12 degrees of freedom. Actuators are Dynamixel Pro actuators with a 252:1 cycloidal gearbox. PEBL is equipped with a full sensor suite including 6-axis F/T sensors on each ankle, an IMU and a small form-factor computer for untethered operation.

My involvement in the PEBL platform was designing the software architecture, control system and electronics integration. Currently, about 95% of the code running on PEBL was written by me with the exception of a small amount of shared code used by our lab for shared memory management and device drivers.

The codebase uses a hybrid of python and C/C++, utilizing multiple processes and shared memory to utilize multiple cores and decrease the control loop time.

Much of what makes PEBL an interesting research topic is that we are attempting highly dynamic locomotion actions while using traditional gearmotors as actuators. Although electric backdrivable motors with lower gear ratios have recently come into vogue for legged robots, I believe that by exploiting recent advancements in control theory and properly considering the fundamentals of legged locomotion, it is possible to for robots like PEBL to display a high level of maneuverability.

Challenges

  • Achieving high torque, high bandwidth actuation from high gear ratio gearmotors (backlash, friction, current limits)
  • Low center of gravity due to heavy legs required rebuilding chassis
  • Diagnosing equipment malfunctions. (encoders, motor communication, power supply)
  • Designing fault-tolerant motion planning system to handle imperfect real-world sensors and environment
  • Reformulating force-based motion control algorithms to work with position-controlled actuators
  • Managing control loop latency for quasi-real time control
  • Avoiding kinematic self-collision due to limited workspace

Control system

PEBL’s primary locomotion algorithm takes advantage of the fact that the angular orientation and velocity pose of the robot’s base is very easy to measure as opposed the linear velocity and position. We make use of a novel gait based on parameterizing solutions to the equations of motion for the linear inverted pendulum and tie gait parameters to sensor feedback from the estimated angular orientation and velocity of the robot. We call adjustments to gait parameters corrective actions.

Corrective Actions:

  • Applied to desired pose based on error in orientation of base:
    • Ground plane tilt in x, y direction
    • Offset base link home position in x, y directions
    • Offsetting base link roll/pitch
    • Extending swing foot
  • Applied to gait frequency:
    • Speed up gait if robot appears to be tilting away from upright position
    • Snap gait phase forward if early contact is detected.

Notably, because our gait is completely parametrized using analytical solutions to the Linear Inverted Pendulum, it is possible for PEBL to adjust its step timing as well as its footstep placement on the fly. This sidesteps a lot of the inherent limitations of many common locomotion synthesis algorithms which mandate a fixed gait time, cannot be recomputed easily (MPC) or are not responsive to disturbances (CPGs).