ROS client libraries are used to write ROS nodes. All of the ROS concepts are implemented in client libraries. So, we can just use it without implementing everything from scratch. We can implement ROS nodes with a publisher and subscriber, write service callbacks, and so on using client libraries.
The main ROS client libraries are in C++ and Python. Here is a list of popular ROS client libraries:
- roscpp: This is one of the most recommended and widely used ROS client libraries for building ROS nodes. This client library has most of the ROS concepts implemented and can be used in high-performance applications.
- rospy: This is a pure implementation of the ROS client library in Python. The advantage of this library is its ease of prototyping, which means that development time isn't as long. It is not recommended for high-performance applications, but it is perfect for non-critical tasks.
- roslisp: This is the client library for LISP and is commonly used to build robot planning libraries.
Details of all the client ROS libraries can be found at the following link: http://wiki.ros.org/Client%20Libraries. The next section will give us an overview of different ROS tools.