Three-Dimensional Location and Mapping Analysis in Mobile Robotics Based on Visual SLAM Methods
Table 1
Selected criteria for ROS.
Criteria
Features
Peer-to-peer
Processes connected at runtime without fixed clients and servers. Processes behave as both clients and servers
Distributed processing
Processes (nodes) can run on different hosts and communicate across the network
Lightweight system
ROS provides a lightweight packaging mechanism for third-party libraries
Multilanguage
Although ROS supports different languages such as Octave, LISP, Lua, and Java, the APIs (application programming interface) with the best support are those of C++ (roscpp) and Python (rospy)
Free and open source
The entire ROS source code is in the public domain
Tool-based
ROS design is based on a microkernel in which a large number of small tools are used to build and execute various ROS components, as opposed to a monolithic development and execution environment