ROS is based on BSD license, so anyone can freely download, modify, reuse and redistribute it. ROS uses nodes as minimum execution process units and uses a master as a name server for connection between nodes and message communication. In addition, a one-way message transmission/reception method (topic) and a bidirectional message request/response method (service) are used for message communication. A package is composed of multiple nodes and executes various application programs.
As of June 2016, the number of downloads of the ROS package reached 8.44 million, and the download rates by version are as follows (ROSCON 2016).
- Hydro: 1.92%
- Indigo: 72.84%
- Jade: 3.96%
- Kinetic: 11.02%
In order to develop various functions required for social/care robots, what is basically necessary includes image recognition, speech recognition/synthesis, SLAM (technology to perform position localization as well as to create a map of a robot's environment), and 3D simulator. ROS currently offers a number of related packages. In particular, RViz displays various data (such as distance sensor data of LRF, point cloud data, camera image data, etc.) on the ROS network in two- or three-dimensions, and Gazebo has contributed greatly to the global dissemination and diffusion of ROS with various physics simulation engines (ODE, Bullet, Simbody, DART, etc.) and intuitive and colorful 3D graphics.