德仓创机器人 Dechuang Robot 9.1机器人操作系统概述 ROS的四大特点 (2)多语言支持 (3)精简与集成 ROS现在支持许多种不同的语言,例如C+、Python、 0 ctave和LISP,也包含其他语言的多种接口实现。 ·OS建立的系统具有模块化的特点,各模块中的代 码可单独编译,而且编译使用的CMake.工具使它很 容易的就实现精简的理念。 点对点 ·O$基本将复杂的代码封装在库里,只是创建了一 些小的应用程序为OS显示库的功能,允许对简单 的代码超越原型进行移植和重新使用。 ROS利用了很多现在已经存在的开源项目的代码, 工具包丰富 免费开源 ROS 多语言 比如说从Player项目中借鉴了驱动、运动控制和仿 真方面的代码,从0 penCV中借鉴了视觉算法方面的 代码,从OpenRAVE借鉴了规划算法的内容。 ROS可以不断的从社区维护中进行升级,包括从其 精简 他的软件库、应用补丁中升级R0S的源代码。 集成
9.1 机器人操作系统概述 7 ROS的四大特点 ROS 点对点 多语言 精简 集成 工具包丰富 免费开源 (2)多语言支持 ROS现在支持许多种不同的语言,例如C++、Python、 Octave和LISP,也包含其他语言的多种接口实现。 (3)精简与集成 • ROS建立的系统具有模块化的特点,各模块中的代 码可单独编译,而且编译使用的CMake工具使它很 容易的就实现精简的理念。 • ROS基本将复杂的代码封装在库里 ,只是创建了一 些小的应用程序为ROS显示库的功能,允许对简单 的代码超越原型进行移植和重新使用。 • ROS利用了很多现在已经存在的开源项目的代码, 比如说从Player项目中借鉴了驱动、运动控制和仿 真方面的代码,从OpenCV中借鉴了视觉算法方面的 代码,从OpenRAVE借鉴了规划算法的内容。 • ROS可以不断的从社区维护中进行升级,包括从其 他的软件库、应用补丁中升级ROS的源代码
德仓创机器人 Dechuang Robot 9.1机器人操作系统概述 ROS的四大特点 (4)工具包丰富 rqt 可视化工具。 rqt_graph:显示通信架构 rqt_plot:查看原始数据,绘制 曲线,查看里程计,码盘 rqt_console:查看日志 ROS丰富的工具 Rosbag 包 Rviz ROS命令行工具 免费的开源资源 记录和回放数据流 The Robot Visualization tool 命令 可视化工具,方便监控与调试 专用工具 Moveit Gazebo (常用于机械臂领城) 机器人仿真工具 8
9.1 机器人操作系统概述 8 ROS的四大特点 (4)工具包丰富 ROS丰富的工具 包 免费的开源资源 rqt 可视化工具。 rqt_graph: 显示通信架构 rqt_plot:查看原始数据,绘制 曲线,查看里程计,码盘 rqt_console: 查看日志 Rosbag ROS命令行工具 记录和回放数据流 命令 专用工具 Moveit (常用于机械臂领域) Gazebo 机器人仿真工具 Rviz The Robot Visualization tool 可视化工具,方便监控与调试
德仓创机器人 Dechuang Robot 9.1机器人操作系统概述 理解ROS的四个关键要素 ROS (1)R0S-设计思想:分布式架构 设计思想 设计思想主要是分布式架构,将机器人的 核心工具 ROS ROS 功能和软件,做成一个个节点,然后每个 核心概念 节点通过topicj进行沟通,这些节点可以部 署在同一台机器上,也可以部署在不同机 ROS 器上,还可以部署在互联网上。 核心模块 9
9.1 机器人操作系统概述 9 理解ROS的四个关键要素 ROS ROS 设计思想 ROS 核心概念 ROS 核心模块 核心工具 (1)ROS-设计思想:分布式架构 设计思想主要是分布式架构,将机器人的 功能和软件,做成一个个节点,然后每个 节点通过topic进行沟通,这些节点可以部 署在同一台机器上,也可以部署在不同机 器上,还可以部署在互联网上
德仓创机器人 Dechuang Robot 9.1机器人操作系统概述 理解ROS的四个关键要素 ROS (2)ROS核心概念 设计思想 ·Nodes->节,点 节点是各自独立的可执行文件,能够通过话题、服务 或参数,与服务器或其他进程(节点)通信。ROS通过 ROS ROS 使用节点的方式将代码和功能解耦,提高了系统容错 核心工具 核心禄念 能力和可维护性,使系统简化。节点允许了ROS系统 能够布置在任意多个机器上并同时运行。关于节点需 要注意的事项有:节点在系统中必须有唯一的名称; ROS 节点可以使用不同的库进行编写,如roscpp和rospy, 核心模块 其中roscpp基于Ct+,rospy基于Python。 10
9.1 机器人操作系统概述 10 理解ROS的四个关键要素 (2)ROS核心概念 ROS ROS 设计思想 ROS 核心概念 ROS 核心模块 核心工具 • Nodes->节点 节点是各自独立的可执行文件,能够通过话题、服务 或参数,与服务器或其他进程(节点)通信。ROS通过 使用节点的方式将代码和功能解耦,提高了系统容错 能力和可维护性,使系统简化。节点允许了ROS系统 能够布置在任意多个机器上并同时运行。关于节点需 要注意的事项有:节点在系统中必须有唯一的名称; 节点可以使用不同的库进行编写,如roscpp和rospy, 其中roscpp基于C++,rospy基于Python
德仓创机器人 Dechuang Robot 9.1机器人操作系统概述 理解ROS的四个关键要素 ROS (2)R0S核心概念 设计思想 Messages and Topics->消息与话题(或主题) 节点之间通过topic机制进行通信,topic机制是 核心工具 ROS ROS 一个一对多的Publish/Subscribe模式,同一个 核心摄念 话题也可以有很多个订阅者,它的底层传输依 靠的是TCPP,也可以是UDP。topic.具体传输 ROS 的是message,具有一定的类型和数据结构,包 核心模块 括ROS提供的标准类型,和用户自定义类型。 11
9.1 机器人操作系统概述 11 理解ROS的四个关键要素 (2)ROS核心概念 ROS ROS 设计思想 ROS 核心概念 ROS 核心模块 核心工具 • Messages and Topics->消息与话题(或主题) 节点之间通过topic机制进行通信,topic机制是 一个一对多的Publish/Subscribe 模式, 同一个 话题也可以有很多个订阅者,它的底层传输依 靠的是TCP/IP,也可以是UDP。topic具体传输 的是message,具有一定的类型和数据结构,包 括ROS提供的标准类型,和用户自定义类型