第6章 机器人操作系统(ROS)
学习目标
阅读完本章之后,你将能够:
- 解释机器人操作系统(ROS)的基本概念;
- 创建并开发ROS软件包;
- 利用从传感器获得的信息来操作虚拟机器人;
- 为机器人开发并实现可工作的程序。
本章重点介绍ROS以及开发ROS软件包的各种方法,还会介绍如何基于传感器接收的信息,使用ROS操作一个虚拟机器人。
6.1 简介
为机器人开发软件不像开发其他类型的软件那么容易。为了构建机器人,需要通过一定的方法和函数来获取传感器的信息、控制机器人的部件,并与机器人连接。ROS提供了这些方法和函数,让构建虚拟机器人变得更容易。
ROS是一个与Ubuntu(Linux)兼容的框架,用来编写机器人软件。利用ROS提供的库和工具,可以构建出机器人的不同行为。这个框架最有趣的特性之一是,编写出来的代码适用于任何机器人。此外,通过ROS可以同时开发几台不同的机器,例如,如果希望用机器人摘苹果,可以用一台计算机来获取关于苹果的摄像头信息并进行处理,用另一台机器来控制机器人的动作,最后由机器人摘下苹果。通过遵循这个工作流,计算机不用执行太多计算任务,执行过程也会更为流畅。
无论是对研究者还是对公司来说,ROS都是机器人学中应用最广泛的工具。ROS正在成为机器人执行任务的标准。此外,ROS仍在不断发展,可以解决新的问题,适应不同的技术。这些特点都使得ROS是一个很好的学习和实践主题。
6.2 ROS基本概念
第一次接触ROS不是很轻松,但和其他软件一样,你需要理解ROS的工作原理,以及如何使用ROS执行某些任务。因此,在安装和使用ROS框架之前,应该先理解ROS的基本概念。下面列举了ROS函数背后的关键概念,可以帮助你理解ROS的内部过程。
- 节点(node):ROS节点是一个负责执行任务和计算的进程。通过使用主题或者其他更复杂的工具,可以进行节点相互之间的结合。 ...
Get Python计算机视觉和自然语言处理 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.