Abstract

This paper presents a general framework for locomotion control and generation of humanoid robots. Different from most of the existing work which uses the zero-moment point (2mp) to determine the feasibility of robot’s motion, we use the so-called contact wrench cone to derive motion feasibility conditions, whole-body motion controllers, and locomotion generators. The contact wrench cone consists of all feasible wrenches that can be applied to the robot through contacts, which provide allowable external forces and moments for realizing the robot’s motion. Algorithms are proposed to compute quantities defined on linear representations of a general convex cone, which can be various contact wrench cones as needed in developing motion generators and controllers. Based on the contact wrench cone for contact links and the proposed algorithms as well as a decomposition of the whole-body dynamics of a floating-base humanoid robot, we derive two motion tracking controllers. One controller contains a single quadratic program with linear inequality constraints, while the other consists of two quadratic programs which can be quickly solved by one of the proposed algorithms and in a closed form, respectively. Both controllers can be applied in real-time and achieve similar motion tracking performance in simulation. Based on contact wrench cones, furthermore, we derive two motion generation methods for humanoid robots. The first method adapts a reference motion, most often infeasible, to the robot by warping the motion’s time line so that the motion trajectory will remain the same but the velocity and acceleration profiles will be changed. The second method generates bipedal locomotion for given footsteps. All the proposed motion controllers and generators are applicable to general scenarios including uneven terrains and motions with the support of other links besides feet.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call