Common utility functions and algorithms for robotics work used by ARC & ARM labs and TRI.
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.gitThis 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.xmlFor ROS 2 Galactic+
cd ~/ws/src/common_robotics_utilities
ln -sT CMakeLists.txt.ros2 CMakeLists.txt
ln -sT package.xml.ros2 package.xmlFinally, use rosdep
to ensure all dependencies in the package.xml are satisfied:
cd ~/ws
rosdep install -i -y --from-path srcUse catkin_make or
colcon accordingly.
For ROS 1 Kinetic+
cd ~/ws
catkin_make # the entire workspace
catkin_make --pkg common_robotics_utilities # the package onlyFor ROS 2 Galactic+
cd ~/ws
colcon build # the entire workspace
colcon build --packages-select common_robotics_utilities # the package onlyUse 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 onlyFor 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