[Documentation] [TitleIndex] [WordIndex

API per functionality

For a list of common ROS repositories, see the ROS GitHub Organizations.

ROS supports several Client Libraries, though the main supported libraries are C++ roscpp and rospy. There are also numerous ROS stacks and packages that provide higher-level functionality. Support for higher-level functionality in various languages is summarized below.

APIs

API

ROS

C++

Python

ROS

ROS

roscpp

rospy

Basic Datatypes

common_msgs

common_msgs

common_msgs

Manipulating message streams

topic_tools

message_filters

message_filters

Drivers

joystick_drivers, camera_drivers, laser_drivers, audio_common (aka sound_drivers), imu_drivers

joystick_drivers, camera_drivers, laser_drivers, audio_common, imu_drivers

Driver Implementation

driver_common

driver_common

Filtering data

filters

3D processing

laser_pipeline, perception_pcl

laser_pipeline, perception_pcl

Image processing

image_common, image_pipeline, vision_opencv

vision_opencv

Transforms/Coordinates

tf, tf_conversions, robot_state_publisher

tf, tf_conversions

Actions

actionlib

actionlib

actionlib

Executive/Task Manager

executive_smach

executive_smach

Navigation

navigation

via actionlib

via actionlib

Simulation (2D)

simulator_stage

simulator_stage

Simulation (3D)

simulator_gazebo

simulator_gazebo

Robot Model

robot_model

Realtime Controllers

pr2_controller_manager

pr2_controller_interface, realtime_tools

Motion planning (arms)

ompl, chomp_motion_planner, sbpl

actionlib through move_arm

actionlib through move_arm

Humanoid walk

walk_msgs

walk_interfaces

Packages in Layered Layout

More slide-friendly layout of ROS packages in a layered manner.

https://docs.google.com/drawings/d/1N3skvSyzZj_dWzCqwEfsNd3gtwTNGFDwpm_TM__Vk2s/edit

Note:

Improvements/corrections for the package grouping diagram

Particularly following may require improvements/corrections (please remove the lines when addressed):


2024-11-23 12:13