Humanoid loco-manipulation controller
- Completely open source! (controller framework: mc_rtc, simulator: Choreonoid, sample robot model: JVRC1)
- Accepts commands for trajectory and velocity of a loco-manipulation object.
- Automated management with CI: Dynamics simulation is run on CI to verify loco-manipulation.
This controller is a simple extension of BaselineWalkingController for loco-manipulation. For more information on walking control, see BaselineWalkingController.
- Compiler supporting C++17
- Tested with
Ubuntu 20.04 / ROS Noetic
andUbuntu 18.04 / ROS Melodic
This package depends on
- (Skip if ROS is already installed.) Install ROS. See here for details.
$ export ROS_DISTRO=melodic
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install ros-${ROS_DISTRO}-ros-base python-catkin-tools python-rosdep
- (Skip if mc_rtc is already installed.) Install mc_rtc. See here for details.
$ curl -1sLf 'https://dl.cloudsmith.io/public/mc-rtc/stable/setup.deb.sh' | sudo -E bash
$ sudo apt-get install libmc-rtc-dev mc-rtc-utils ros-${ROS_DISTRO}-mc-rtc-plugin ros-${ROS_DISTRO}-mc-rtc-rviz-panel libeigen-qld-dev
- Setup catkin workspace.
$ mkdir -p ~/ros/ws_lmc/src
$ cd ~/ros/ws_lmc
$ wstool init src
$ wstool set -t src isri-aist/LocomanipController https://github.com/isri-aist/LocomanipController --git -y
$ wstool update -t src isri-aist/LocomanipController
$ wstool merge -t src src/isri-aist/LocomanipController/depends.rosinstall
$ wstool update -t src
- Install dependent packages.
$ source /opt/ros/${ROS_DISTRO}/setup.bash
$ rosdep install -y -r --from-paths src --ignore-src
- Build a package.
$ catkin build locomanip_controller -DCMAKE_BUILD_TYPE=RelWithDebInfo --catkin-make-args all tests
- Setup controller
$ mkdir -p ~/.config/mc_rtc/controllers
$ cp ~/ros/ws_lmc/src/isri-aist/LocomanipController/etc/mc_rtc.yaml ~/.config/mc_rtc/mc_rtc.yaml
$ sudo apt-get install jvrc-choreonoid
# Terminal 1
$ source ~/ros/ws_lmc/devel/setup.bash
$ roscore
# Terminal 2
$ source ~/ros/ws_lmc/devel/setup.bash
$ cd /usr/share/hrpsys/samples/JVRC1
$ ./clear-omninames.sh
$ choreonoid sim_mc.cnoid --start-simulation
# Terminal 3
$ source ~/ros/ws_lmc/devel/setup.bash
$ roslaunch locomanip_controller display.launch