Content deleted Content added
No edit summary |
|||
Line 6:
{{Infobox software
| name =
| logo =
| logo size =
| logo caption =
| screenshot = Cart_pushing_rviz_holonomic.jpg
| caption = Cart pushing simulation in RVIZ
Line 19:
| license = [[BSD license]]
| website = {{URL|www.ros.org}}
| programming_language = [[C++]]
}}
'''Robot Operating System''' ('''ROS''') is [[robotics middleware]] (i.e. collection of [[software framework]]s for [[robot]] software development). Although ROS is not an [[operating system]], it provides services designed for a heterogeneous [[computer cluster]] such as [[hardware abstraction]], low-level [[Device driver|device control]], implementation of commonly used functionality, [[Inter-process communication|message-passing between processes]], and package management. Running sets of ROS-based processes are represented in a [[graph theory|graph]] architecture where processing takes place in nodes that may receive, post and multiplex sensor, control, state, planning, actuator, and other messages. Despite the importance of reactivity and [[low latency]] in robot control, ROS itself is ''not'' a [[Real-time operating system|real-time OS]] (RTOS). It is possible, however, to integrate ROS with real-time code.<ref>ROS-Introduction http://wiki.ros.org/ROS/Introduction</ref> The lack of support for real-time systems has been addressed in the creation of ROS 2.0.<ref>{{cite web|last1=Kay|first1=Jackie|title=Proposal for Implementation of Real-time Systems in ROS 2|url=http://design.ros2.org/articles/realtime_proposal.html|access-date=16 August 2016}}</ref><ref>{{cite web|last1=Kay|first1=Jackie|title=Realtime Design Guidelines For ROS 2|url=http://design.ros2.org/articles/realtime_background.html#design-guidelines-for-ros-2|website=design.ROS2.org|publisher=ROS2|access-date=22 November 2018}}</ref><ref>{{cite web|title=ROS 2 For Realtime Applications|url=https://discourse.ros.org/t/ros2-for-real-time-applications/6493|website=discourse.ROS.org|publisher=ROS|access-date=22 November 2018}}</ref>
|