ROS(Robot Operating System)机器人操作系统,由斯坦福大学人工智能实验室开发的一套提供类似操作系统服务的机器人专用开源系统。ROS包括一个类似于硬件系统的硬件抽象,但它不是一个传统的操作系统,它具有可用于异构硬件的特性。
- ROS特点
分布式进程:它以可执行进程的最小单位(节点,Node)的形式进行编程,每个进程独立运行,并有机地收发数据。
功能包单位管理:由于它以功能包的形式管理着多个具有相同目的的进程,所以开发和使用起来很容易,并且很容易共享、修改和重新发布。
公共存储库:每个功能包都将其功能包公开给开发人员首选的公共存储库(例如GitHub),并标识许可证。
API类型:使用ROS开发程序时,ROS被设计为可以简单地通过调用API将其加载到其使用的代码中。在每章中介绍的源代码中,您会发现ROS编程与C++和Python程序没有区别。
支持多种编程语言:ROS程序提供客户端库(Client Library) 2 以支持各种语言。它可以用于如JAVA、C#、Lua和Ruby等语言,也可以用于机器人中常用的编程语言,如Python、C++和Lisp。换句话说,您可以使用熟悉的语言开发ROS程序。
- ROS基本概念
ROS中比较重要的概念包括节点、主节点、消息、主题、服务和动作。
节点(node)是指在ROS中运行的最小处理器单元。可以