Humanoid Robots News and Knowledge

Modular Whole Body Control (WBC) of Humanoid Robots with ROS

What is Whole Body Control (WBC) in humanoid robots?

Humanoid robots are among the most complex robotic systems, with lot of joints, which work not in isolation but must work in coordination.

The rotation of each joint, along each axis, is one degree of freedom (DOF). Actually DOF can also be linear, not only rotational (such as when analyzing structures in civil engineering), but in humanoid robots, we mainly deal with rotational DOF.

Whole Body Control (WBC) is a commonly used term which refers to coordinating body movements, which means all DOF in a balanced and stable way toward desired goals.

This includes the following criteria which are coordinated simultaneously:

  • Position of end effectors, such as hands and feet.
  • Center of Mass (CoM) position
  • Overall balance
  • Joint rotation and torque amount and limit
  • Optimizing posture (also called redundancy resolution)

WBC considers all this criteria and brings them together to solve one problem of optimization which, must also run alongside the continuously running systems of power management, sensor data analysis and fusion and other controls.

Techniques used during WBC operation included

  • Task Prioritization: Different actions have different priorities, assigned by techniques such as Nullspace projection. High priority tasks take precedence over lower priority tasks.
  • Inverse Kinematics: Calculating required set of motions, and in turn joint parameters (rotation amounts, angles…) to reach a target posture (a desired position of end effectors like hands and feet).
  • Cost functions for comparing different actions by considering power, safety, stability and balance, accuracy and smoothness, to find the “less costly” course
  • Constraints: all these must take place within certain constraints such as position, velocity, acceleration, dynamic motion equation (for a floating base), contact constraints such as non-slip, zero velocity, friction, balance, collision avoidance, joint torque and force (actuation) constraints

How ROS modularizes WBC?

Now lets look into how ROS brings modularity and flexibility into wbc implementation. Modularity means breaking down into smaller, separate pieces each of which does one job, but overall they work together towards the desired goal. How ROS achieves is, is that it enables separation of robot’s control system into separate independent segments called nodes, which communicate with each other.

The examples of what nodes do:

  • Obtains data from sensors,
  • Calculates the required actuator positions,
  • Generates trajectory,
  • Calculates the whole body position based on the criteria discussed above,
  • Controls motors,
  • Prioritizes tasks.

Each of these nodes can be developed, tested, even replaced or upgraded separately which gives great flexibility to engineers. Modular design also means scalability, which means application of the design to larger and complex systems.

On our website we strive to provide information to not only people who are already involved in robotics, but also to others who aren’t. Therefore you will find that many posts here are in plain English, just like this one, for as many people to understand, while keeping it a certain level to serve as a reference or at least refresher summary to people who are in the field. Thanks for reading….

By: A. Tuter

——————————————————

Terms of use:

Copying or republishing of any type of content from this website is not allowed without written permission from us. We make dated records of our posts, keep originals of our images.

The content in this website may contain errors, inaccuracies or be incomplete. User assumes all liability as a result of usage of content in our site. Also see our Terms page for more details.