Research Article

Three-Dimensional Location and Mapping Analysis in Mobile Robotics Based on Visual SLAM Methods

Table 1

Selected criteria for ROS.

CriteriaFeatures

Peer-to-peerProcesses connected at runtime without fixed clients and servers. Processes behave as both clients and servers

Distributed processingProcesses (nodes) can run on different hosts and communicate across the network

Lightweight systemROS provides a lightweight packaging mechanism for third-party libraries

MultilanguageAlthough 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 sourceThe entire ROS source code is in the public domain

Tool-basedROS 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

Source: [16].