/lipm_walking_controller

Walking controller based on linear inverted pendulum tracking

Primary LanguageC++BSD 2-Clause "Simplified" LicenseBSD-2-Clause

LIPM Walking Controller

Stair climbing by the HRP-4 humanoid robot

Source code of the walking and stair climbing controller used in the experiments of Stair Climbing Stabilization of the HRP-4 Humanoid Robot using Whole-body Admittance Control, as well as in an industrial demonstrator at the Airbus Saint-Nazaire factory.

Getting started

Installation

The controller has been tested on Ubuntu 14.04 (gcc/clang) with ROS Indigo and Ubuntu 16.04 (gcc) with ROS Kinetic. See the installation instructions on the wiki.

Dependencies

Compilation requires:

The following dependencies are not publicly released but available upon request to Pierre Gergondet:

  • mc_rtc: robot controller library (includes mc_control, mc_rbdyn, mc_solver and mc_tasks)
  • mc_rtc_ros: ROS tools for mc_rtc
  • mc_rtc_ros_data: ROS environment and object descriptions for mc_rtc

Usage

Launch RViz for the JVRC-1 model by:

roslaunch lipm_walking_controller display.launch robot:=jvrc1

Enable the controller in your mc_rtc configuration:

{
  "MainRobot": "JVRC1",
  "Enabled": ["LIPMWalking"]
}

Finally, start the controller from your mc_rtc interface. Here is the example of a local Choreonoid simulation using the mc_udp interface:

cd /usr/local/share/hrpsys/samples/JVRC1
choreonoid --start-simulation sim_mc_udp.cnoid  # in one terminal
MCUDPControl -h localhost  # in another terminal

You should end up with the following windows: 2019-09-03-104321_1920x1080_scrot See the Graphical user interface page of the wiki for further instructions on how to use this GUI.

Thanks

To @gergondet for developing and helping with the mc_rtc framework.