A package suite that provides all the capabilities for the ROS users to connect to the robots that run on RT Middleware or RTM-based controllers.
This document explains how to use and how to contribute to rtm-ros-robotics softwares (openrtm_aist_core, openhrp3, hrpsys, rtshell_core, rtmros_common, rtmros_hironx, rtmros_tutorial, rtmros_gazebo). These instructions use rtmros_common
repository as an example, but also works for other rtm-ros-robotics repositories.
- Install software rtm-ros-robotics software is distributed as ros-debian packages, if you already use the ROS system, install this software as follows:
sudo apt-get install ros-$ROS_DISTRO-rtmros-common
If you have not yet installed the base ROS system, please follow these instructions. These typically tend to be:
-
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -a` 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 update ros-hydro-ros-base
# you may use ros-groovy-ros-base if you want -
sudo rosdep init
-
rosdep update
-
source /opt/ros/hydro/setup.bash
# it is better to source ROS environment everytime terminal starts (echo "source /opt/ros/hydro/setup.bash" >> ~/.bashrc
) -
Compile from source code
You have two choices, one is to compile the whole rtm-ros-robotics source code, the other is to just compile the target repository.
Whichever you decide, you must first create the catkin workspace
-
mkdir -p ~/catkin_ws/src
-
cd ~/catkin_ws/src
-
wstool init .
-
Decide what you want to compile.
To compile everything
-rosws merge https://raw.github.com/start-jsk/rtmros_common/master/.rosinstall -y
Otherwise, to compile only the target repository
-wstool set rtm-ros-robotics/rtmros_common https://github.com/start-jsk/rtmros_common --git -y
-
wstool update
-
cd ..
-
source /opt/ros/hydro/setup.bash
-
rosdep install -v -r --from-paths src --ignore-src --rosdistro hydro -y
-
catkin_make
-
Contributing to rtm-ros-robotics related projects.
-
First fork the target repository on GitHub
-
Setup ROS environment
$ source ~/catkin_ws/devel/setup.bash
-
Move to the package directory
$ roscd <name>
-
Add your forked repository called
<name>
as<github>
git remote add <github> <name>
To add this repository, you would replace<name>
withhttps://github.com/start-jsk/rtmros_common.git
. A typical<name>
if you fork this repository would be,https://github.com/<your github user name>/rtmros_common.git
-
git add origin https://github.com/<your github user name>/rtmros_common
-
git pull upstream master
-
Write awesome code
-
Commit it
git commit -m "detailed description of what you did"
-
Push to your Github repository
git push <github>
-
Submit a pull request on GitHub to the upstream repository
-
Please check travic-ci status after sending your pull request.
-
Use other forked repository before merging into master.
You don't need to wait for the maintainers to merge some pull requests by others before you use them.
- Add other remote repository to your git remote
git remote add <awesome-fork> https://github.com/<user>/rtmros_common
- Fetch branches from the remote
git fetch <awesome-fork>
- Merge those remote branch into your current branch
git merge <awesome-fork>/<branch-name>