swri-robotics / marti_common

Common utility functions for MARTI
BSD 3-Clause "New" or "Revised" License
53 stars 63 forks source link

MARTI Common

This repository provides various utility packages created at Southwest Reseach Institute's Intelligent Vehicle Systems section for working with Robot Operating System(ROS). This branch adds support for ROS 2 Dashing and newer releases. Most packages from ROS 1 have been ported, but a few have been removed due to being unnecessary or redundant, and some functionality is not implemented yet.

Build Status

ROS2 Distro Branch Build status Released packages
Humble humble CI
ROS2 Build Farm
swri_cli_tools
swri_console_util
swri_dbw_interface
swri_geometry_util
swri_image_util
swri_math_util
swri_opencv_util
swri_math_util
swri_roscpp
swri_route_util
swri_serial_util
swri_system_util
swri_transform_util
Iron iron CI
ROS2 Build Farm
swri_cli_tools
swri_console_util
swri_dbw_interface
swri_geometry_util
swri_image_util
swri_math_util
swri_opencv_util
swri_math_util
swri_roscpp
swri_route_util
swri_serial_util
swri_system_util
swri_transform_util
Jazzy jazzy CI
ROS2 Build Farm
swri_cli_tools
swri_console_util
swri_dbw_interface
swri_geometry_util
swri_image_util
swri_math_util
swri_opencv_util
swri_math_util
swri_roscpp
swri_route_util
swri_serial_util
swri_system_util
swri_transform_util
Rolling rolling CI
ROS2 Build Farm
swri_cli_tools
swri_console_util
swri_dbw_interface
swri_geometry_util
swri_image_util
swri_math_util
swri_opencv_util
swri_math_util
swri_roscpp
swri_route_util
swri_serial_util
swri_system_util
swri_transform_util

Overview

What's changed in the ROS 2 port?

Removed packages:

  1. marti_data_structures
    Nothing used this and it only contained a linked list
  2. swri_nodelet
    Obsolete due to ROS 2's component mechanism
  3. swri_rospy
    Unnecessary in ROS 2
  4. swri_string_util
    Equivalent functionality is provided by boost
  5. swri_yaml_util
    This package only existed in order to bridge nodes between ROS Hydro and ROS Indigo; use yaml-cpp directly now

Package migration notes:

  1. swri_image_util
    replace_colors_node has not been ported from ROS 1 yet due to extensive changes in how ROS parameters work

Installation (ROS 2 Humble, Iron, Jazzy, Rolling)

If you have installed ROS 2, you can install any of the packages in this repository with apt-get:

sudo apt-get install ros-${ROS_DISTRO}-<package>

Building From Source (ROS 2 Humble, Iron, Jazzy, Rolling)

These directions assume you have already set up rosdep. See the rosdep documentation on the ROS wiki for help setting up rosdep.

  1. If you don't have a colcon workspace, create one:

    mkdir $HOME/workspace/src
    cd $HOME/workspace/src
  2. Check out the source code

    cd $HOME/workspace/src
    git clone https://github.com/swri-robotics/marti_common.git
  3. Install dependencies:

    # (In the root of this repository)
    rosdep install --from-paths . --ignore-src
  4. Build

    cd $HOME/workspace
    colcon build