????????在学习ROS 系统前,我们需要先了解操作系统的定义。操作系统,顾名思义,即提供部分软件和硬件的接口,以供用户直接使用。因此,针对不同的平台、不同的功能,需要采用不同的操作系统来完成底层操作。
????????ROS 系统是适用于机器人的开源操作系统。它提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库,用于获取、编译、编写和执行多机融合的程序。
????????另外,ROS 具备进程之间的通信,这是它与其他操作系统之间最大的区别。传统的操作系统,进程之间的通信需要系统来调用,这会消耗大量的系统资源,不适用于作为机器人的操作系统。
????????一个机器人的构成可能会包含多种传感器,以通过各模块间的通信协作来完成指定任务。因此进程之间有效快速的通信,是一个机器人必备的要求,而ROS 则提供了这样的功能。
1) 点对点设计,各个功能独立;
2) 结构简单,集成度高;
3) 工具包丰富,多语言支持,各个包可以采用不同的编程语言;
4) 免费且开源;
5) 社区丰富。
ROS 官网:https://wiki.ros.org