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

laser_pipeline

Image processing

image_common, image_pipeline, opencv2

opencv2

Transforms/Coordinates

tf, robot_state_publisher

tf

Actions

actionlib

actionlib

actionlib (client only)

Navigation

navigation

via actionlib

via actionlib

Simulation (2D)

simulator_stage

simulator_stage

Simulation (3D)

simulator_gazebo

simulator_gazebo

Robot Model

urdf, kdl_parser, pr2_mechanism_model

Realtime Controllers

pr2_controller_manager

pr2_controller_interface, realtime_tools

Wiki: APIs (last edited 2010-01-10 04:23:19 by KenConley)