文章目录
一、ROS是何物
- 在近几年里,产生了多种优秀的机器人软件框架,为软件开发工作提供了极大的便利,其中最为优秀的软件框架之一就是机器人操作系统(Robot Operating System,ROS)。ROS是一个用于编写机器人软件的灵活框架,它集成了大量的工具、库、协议,提供了类似操作系统所提供的功能,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,可以极大简化繁杂多样的机器人平台下的复杂任务创建与稳定行为控制。
- ROS的设计目标是提高机器人研发中的软件复用率,所以它被设计成为一种分布式结构,使得框架中的每个功能模块都可以被单独设计、编译,并且在运行时以松散耦合的方式结合在一起。ROS主要为机器人开发提供硬件抽象、底层驱动、消息传递、程序管理、应用原型等功能和机制,同时整合了许多第三方工具和库文件,帮助用户快速完成机器人应用的建立、编写和多机整合。而且ROS中的功能模块都封装于独立的功能包(Package)或元功能包(Meta Package)中,便于在社区中共享和分发。
- ROS的核心——分布式网络,使用了基于TCP/IP的通信方式,实现了模块间点对点的松耦合连接,可以执行若干种类型的通信,包括基于话题(Topic)的异步数据流通信,基于服务(Service)的同步数据流通信,还有参数服务器上的数据存储等。
二、在Ubuntu上安装ROS
- Ubuntu18.04对应的ROS版本为ROS Melodic