This repository contains the C++ code for the controller. It is provided as an open-source code for the researchers who are interested in the Multi-contatc scenarios. Here, I give a tutorial on how one can start simulations properly. Please do no hesitate to contact me or share your opinion in case of any issues or difficulties in running the controller.
The controller is tested in Ubuntu 18.04 and 20.04. Before running the controller, you need to install the following software:
-
ROS: robotics middleware
-
Eigen: linear algebra
-
Eigen3ToPython: Python bindings for Eigen
-
SpaceVecAlg: spatial vector algebra
-
RBDyn: rigid body dynamics
-
eigen-qld: quadratic programming
-
eigen-quadprog: quadratic programming
-
sch-core: collision detection
-
sch-core-python: Python bindings for sch-core
-
Tasks: inverse kinematics
-
mc_rbdyn_urdf: robot model loader
-
copra: linear model predictive control
-
mc_rtc: robot controller library
These are same dependencies for running other interesting controllers which are available as open-source in IDH team. For instance, you can check the LIPM Walking Controller.
For simulation, we are using Choreonoid software.
In order to install the controller, you need to create build
folder and install the controller through cmake
:
mkdir build && cd build
cmake ..
make
sudo make install
In separate consoles, you need to run the following commands. For Running the Choreonoid
:
choreonoidhrp4 ~/address-to-cnoid-file
You can use ~/wiping_cheb_admittance/cnoid/slope_Saeid_20deg.cnoid
for the cnoid file. Then, for running RVIZ:
roslaunch mc_rtc_ticker control_display.launch robot:=HRP4Comanoid
and finally, run the controller through:
MCUDPControl -h localhost -f ~/address-to-mc_rtc.conf-file
Enjoy!