For a list of common ROS tools, please see the ROS tools overview.

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

  • ROS: functionality available via ROS topics and services

  • C++: functionality available in C++ libraries

  • Python: functionality available in Python modules/packages

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, sound_drivers, imu_drivers

joystick_drivers, camera_drivers, laser_drivers, sound_drivers, imu_drivers

Driver Implementation

driver_common

driver_common

Filtering data

filters

3D processing

laser_pipeline, point_cloud_perception

laser_pipeline, point_cloud_perception

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

Wiki: APIs (last edited 2013-05-13 08:16:28 by YoshimaruTanaka)