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.
- Installation instructions
- Wiki for guides and troubleshooting
- API documentation
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.
Compilation requires:
- ROS with a working catkin workspace
- SpaceVecAlg: spatial vector algebra
- RBDyn: rigid body dynamics
- eigen-qld: quadratic programming
- eigen-quadprog: quadratic programming
- sch-core: collision detection
- Tasks: inverse kinematics
- mc_rbdyn_urdf: robot model loader
- copra: linear model predictive control
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
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: See the Graphical user interface page of the wiki for further instructions on how to use this GUI.
To @gergondet for developing and helping with the mc_rtc framework.