ROS Workspace
This is the ROS workspace which contains all of the projects needed for the robo_guide object tracking.
Some repositories use the git-lfs extension which has to be installed to pull all neccessary files.
The repository uses submodules to pull in all of the projects so this command for cloning:
git clone --recursive git@git.rwth-aachen.de:robo_guide/robo_guide_ws.git
Dependencies
The projects build on top of each and can be built in one source tree since they are catkin and cmake packages. There are quite a few dependencies which have to be installed most can be installed via the usual cmake process (checkinstall is recommended so you can cleanly remove the dependencies):
mkdir build
cd build
cmake ..
sudo checkinstall
ROS
ROS Perception (compare with this REP) includes most of the packages that are needed. In detail these packages are required:
- ROS-Desktop Install (for catkin, messages, nodes, ...)
- tf2_geometry_msgs for conversion of tf2 messages. Install via apt.
- realsense2_camera as data provider for the depth images. With a bit of tweaking of the launch files, the tracker should also run with OpenNI devices. Install as stated in realsense readme.
- image_pipeline for preprocessing of the raw camera data
conan
Some packages use conan packages. Install conan system wide, conan_cmake fails for --user installations:
sudo pip install conan
The repositories needed:
conan remote add tuebel-gl3w https://api.bintray.com/conan/tuebel/gl3w
conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
conan remote add conan-transit https://api.bintray.com/conan/conan/conan-transit
visp
Needed for handy-eye-calibration install via:
sudo apt install libvisp-dev libvisp-doc visp-images-data
Rendering
The dependencies of scigl_render are handled via conan.io. They will be pulled automatically if the following repositories from above are included.
Unit testing
googletest is included in robo_guide via conan.io.
Robot communication
protocol buffers v3.5.1 are included via conan.io.
Build
In the past Ubuntu 16.04 and ROS Kinetic were used, which should still work. Right now Ubuntu 18.04 an ROS Melodic are in use and tested.
Since this is a mixed catkin & cmake workspace, the easiest and fastest way is to use the catkin tools, catkin_make_isolated or colcon build.
It is required to set a profile for compilation. Use the catkin_configure.bash script before you use catkin build. The srcipt calls:
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release