Whole Body Controller Core Introduction - ihmcrobotics/ihmc-open-robotics-software-tutorials GitHub Wiki

Introduction

Welcome to the IHMC Open Robotics Software Tutorial: Whole Body Controller Core Introduction!

These tutorials will give a basic overview of the IHMC software developed in pursuit of modeling efficient and dynamic walking movement. Our hope is that this tutorial set will provide an understanding of the whole-body controller core’s structure that we use here at IHMC, and will allow others to use and adapt this software to their own projects.

The Simulation Construction Set (SCS) is a very powerful tool that we will be using to simulate the design and motion of robotic devices. For more experience using SCS, we invite you to check out Getting Started with Simulation Construction Set. Using SCS, we will analyze the components and format of a standard PID controller. This is the industry’s most commonly used control system but, as with any stand-alone system, it has its shortcomings. So, in the second half of the tutorial, we transition to the whole-body controller core (WBCC).

Unlike a lone controller, the WBCC has the flexibility to switch between different control frameworks (inverse dynamics, inverse kinematics, and virtual model), and provides feedback controllers which can be accessed independent of the active control mode. The WBCC also has a robust variable feedback system that simplifies the tracking of objectives and results.

We will briefly outline the purpose of each control framework and observe how the controller core carries out a command in joint-space and in task-space. The final simulation demonstrates a quasi-static walking gait with a simple bipedal robot. This execution is made possible by the state machine framework, a feature responsible for the transitions between the sub-controllers that perform the micro-actions involved in walking (standing, transferring weight to one leg, and supporting one leg).

Note: this tutorial set assumes you have followed the Setting up the Development Environment guide and know a bit about Java. If you do not know how to program in Java, pick up a good book or two. We recommend Bruce Eckel's "Thinking in Java", which can be downloaded for free at bruceeckel.com.

Let's get into a breakdown of the pages in this set.

Let's get started with Import Whole Body Controller Core Project!