什么是ROS?
ROS(Robot Operating System) 是一个在计算机上对机器人进行操作的一个开源系统。ROS系统通常由大量节点组成,其中任何一个节点均可以通过发布/订阅的方式与其他节点进行通信。举例来说,机器人上的一个位置传感器如雷达单元就可以作为ROS的一个节点,雷达单元可以以信息流的方式发布雷达获得的信息,发布的信息可以被其他节点如导航单元、路径规划单元获得。
为什么使用ROS?
ROS作为一个灵活的操作系统,其上的节点具有很大的随意性,它们可以位于不同的计算机上,甚至可以位于不同的网络上。举例来说,我们可以使用一个Arduino作为一个节点发布信息,使用一台笔记本电脑作为一个节点订阅上述信息以及使用一台手机作为一个节点驱动电机等。上述灵活性使得ROS可以适应很多不同场合的应用,另外,ROS还是一个开源的系统,由专门的社区维护。
ROS的一些基本概念
首先我们从宏观的角度观察ROS系统的构成。
ROS首先包含一个超级管理员ROS Master, ROS Master管理系统中所有节点,包括节点之间的相互通信。下图为ROS系统的基本结构。