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
C++: functionality available in C++ libraries
Python: functionality available in Python modules/packages
API |
ROS |
C++ |
Python |
Basic Datatypes |
|||
Manipulating message streams |
|||
Drivers |
joystick_drivers, camera_drivers, laser_drivers, sound_drivers, imu_drivers |
joystick_drivers, camera_drivers, laser_drivers, sound_drivers, imu_drivers |
|
Driver Implementation |
|
||
Filtering data |
|
|
|
3D processing |
|
||
Image processing |
|
||
Transforms/Coordinates |
|
||
Actions |
actionlib (client only) |
||
Navigation |
via actionlib |
via actionlib |
|
Simulation (2D) |
|
||
Simulation (3D) |
|
||
Robot Model |
|
|
|
Realtime Controllers |
|






