/common_robotics_utilities

Common utility functions and algorithms for robotics work used by ARC & ARM labs and TRI.

Primary LanguageC++OtherNOASSERTION

common_robotics_utilities

Common utility functions and algorithms for robotics work used by ARC & ARM labs and TRI.

Setup

common_robotics_utilities is a ROS package.

Thus, it is best to build it within a ROS workspace:

mkdir -p ~/ws/src
cd ~/ws/src
git clone https://github.com/calderpg/common_robotics_utilities.git

This package supports ROS 1 Kinetic+ and ROS 2 Galactic+ distributions. Prior distributions of ROS 2 can be supported by removing ROS 2 message printing support from include/common_robotics_utilities/print.hpp. Make sure to symlink the corresponding CMakeLists.txt and package.xml files for the ROS distribution of choice:

For ROS 1 Kinetic+

cd ~/ws/src/common_robotics_utilities
ln -sT CMakeLists.txt.ros1 CMakeLists.txt
ln -sT package.xml.ros1 package.xml

For ROS 2 Galactic+

cd ~/ws/src/common_robotics_utilities
ln -sT CMakeLists.txt.ros2 CMakeLists.txt
ln -sT package.xml.ros2 package.xml

Finally, use rosdep to ensure all dependencies in the package.xml are satisfied:

cd ~/ws
rosdep install -i -y --from-path src

Building

Use catkin_make or colcon accordingly.

For ROS 1 Kinetic+

cd ~/ws
catkin_make  # the entire workspace
catkin_make --pkg common_robotics_utilities  # the package only

For ROS 2 Galactic+

cd ~/ws
colcon build  # the entire workspace
colcon build --packages-select common_robotics_utilities  # the package only

Testing

Use catkin_make or colcon accordingly.

For ROS 1 Kinetic+

cd ~/ws
catkin_make run_tests  # the entire workspace
catkin_make run_tests_common_robotics_utilities  # the package only

For ROS 2 Galactic+

cd ~/ws
colcon test --event-handlers=console_direct+  # the entire workspace
colcon test --event-handlers=console_direct+ --packages-select common_robotics_utilities  # the package only