德仓创机器人 Dechuang Robot 9.1机器人操作系统概述 理解ROS的四个关键要素 (2)R0S核心概念 ROS 。 Services and Parameters->服务与参数 设计思想 除了topic,ROS还提供另一种一对一的机制,也就是 Service/Client,当你需要直接与节点通信并获得应答时 将无法通过话题实现,这时需要使用该服务。 ROS Master->ROS管理器 Master向ROS系统中其他节点提供命名和注册服务,跟踪 核心工具 ROS R05 核心摄念 和记录话题的发布者和订阅者,使ROS节点之间能够相 互查找。一旦节点找到了彼此,就能建立一种点对点的 通信方式 Stacks and packages-->堆栈与功能包 ROS代码组织主要依靠功能包(Packag©),是ROS中软件组织的基本形式, ROS 用于创建R0S程序。功能包含源代码和功能包请单(Manifest)。功能包 核心模块 清单提供关于功能包、许可信息、依赖关系、编译标志等的信息。功 能包请单是一个manifests..xml文件,通过这个文件能够实现对功能包 的管理。 12
9.1 机器人操作系统概述 12 理解ROS的四个关键要素 (2)ROS核心概念 ROS ROS 设计思想 ROS 核心概念 ROS 核心模块 核心工具 • Services and Parameters->服务与参数 除了topic,ROS还提供另一种一对一的机制,也就是 Service/Client,当你需要直接与节点通信并获得应答时 ,将无法通过话题实现,这时需要使用该服务。 • ROS Master->ROS管理器 Master向ROS系统中其他节点提供命名和注册服务,跟踪 和记录话题的发布者和订阅者,使ROS节点之间能够相 互查找。一旦节点找到了彼此,就能建立一种点对点的 通信方式 • Stacks and packages->堆栈与功能包 ROS代码组织主要依靠功能包(Package),是ROS中软件组织的基本形式, 用于创建ROS程序。功能包含源代码和功能包清单(Manifest)。功能包 清单提供关于功能包、许可信息、依赖关系、编译标志等的信息。功 能包清单是一个manifests.xml文件,通过这个文件能够实现对功能包 的管理
德仓创机器人 Dechuang Robot 9.1机器人操作系统概述 理解ROS的四个关键要素 日酒用鱼Mesa家PN3网 O2最圆数A是Rsc0d网aPk球 ROS 司罐程过程调用Remoe Pr0000Ca时 设计思想 O井布式参数系使Dsbad par S间 孩心模块Cote Componer ROS ROS 核心工具 核心概念 专月工o-ne Too @可屋化工Aw限 e@工具Tools ROS 甲 核心模块
9.1 机器人操作系统概述 13 理解ROS的四个关键要素 (3)ROS核心模块 ROS ROS 设计思想 ROS 核心概念 ROS 核心模块 核心工具 ROS核心模块包括通信结构基础、机器人特性功能以及 工具集。 通信结构基础包括消息传递、记录和回放消息、远程过 程调用、分布式参数系统; 机器人特性功能包括标准机器人消息,机器人几何库, 机器人描述语言,抢占式远程过程调用,诊断,位置估 计、定位与导航; 工具集包括命令式工具、可视化工具以及图形化接口
德仓创机器人 Dechuang Robot 9.1机器人操作系统概述 理解ROS的四个关键要素 ROS (4)R0S核心工具 设计思想 ROS拥有很多第三方的核心工具的支持,或者说Package 。比较常见的是五个工具: 。 gazeb0三维仿真环境; OpenCV-计算机视觉库; PCL点云库; ROS ROS 核心工具 MoveIt!机械臂的规划控制库; 核心概念 Industrial工业上会用的库; ● MRPT一个非常好的机器人编程工具箱; The Orocos Project:实时控制库。 ROS常用命令工具包括: ROS rostopic (Topics) rosservice (Services) 、 rosnode 核心模块 (Nodes)、rosparam(Parameters)、rosmsg (Messages) rossrv (Services).和roswtf(General debugging)。 14
9.1 机器人操作系统概述 14 理解ROS的四个关键要素 (4)ROS核心工具 ROS ROS 设计思想 ROS 核心概念 ROS 核心模块 核心工具 ROS拥有很多第三方的核心工具的支持,或者说Package 。比较常见的是五个工具: • Gazebo三维仿真环境; • OpenCV计算机视觉库; • PCL点云库; • MoveIt!机械臂的规划控制库; • Industrial工业上会用的库; • MRPT一个非常好的机器人编程工具箱; • The Orocos Project实时控制库。 ROS常用命令工具包括: rostopic (Topics) 、 rosservice (Services) 、 rosnode (Nodes)、rosparam (Parameters)、rosmsg (Messages) 、rossrv (Services)和roswtf (General debugging)
德仓创机器人 Dechuang Robot 9.1机器人操作系统概述 理解ROS的四个关键要素 ROS (4)R0S核心工具 设计思想 ROS用的最多的可视化工具: Rqt集成图像交互界面; Rviz3D可视化工具。 核心工具 ROS ROS ROS具有非常强的数据存储/回放功能,也就是使用bag存 核心概念 储topic(例如现实中的传感器数据),以后调用bag的topic数 据则不必每次都在现实中运行机器人,速度非常快。 ROS log:系统记录软件运行相关信息,便于以后的调试。 仿真环境由易到难主要有这三个:Turtlesim、ArbotiX、Gazebo。. ROS Turtlesim QT开发的2D轨迹显示界面,只能显示运动轨迹; 核心模块 Arbotiⅸ含有一个差速驱动机器人的rviz模拟器,机器人运动及topic数 据的3D显示,但不包含物理学引擎; gazebo功能齐全的3D物理模拟器。 15
9.1 机器人操作系统概述 15 理解ROS的四个关键要素 (4)ROS核心工具 ROS ROS 设计思想 ROS 核心概念 ROS 核心模块 核心工具 ROS用的最多的可视化工具: Rqt 集成图像交互界面; Rviz 3D可视化工具。 ROS具有非常强的数据存储/回放功能,也就是使用bag存 储topic(例如现实中的传感器数据),以后调用bag的topic数 据则不必每次都在现实中运行机器人,速度非常快。 ROS log系统记录软件运行相关信息,便于以后的调试。 仿真环境由易到难主要有这三个:Turtlesim、ArbotiX、Gazebo。 Turtlesim QT开发的2D轨迹显示界面,只能显示运动轨迹; ArbotiX 含有一个差速驱动机器人的rviz模拟器,机器人运动及topic数 据的3D显示,但不包含物理学引擎; Gazebo 功能齐全的3D物理模拟器
德仓创机器人 Dechuang Robot 9.2机器人操作系统体系结构 ROS体系结构是指系统的组织架构,ROS项目的组织形式。按照层次分为文件系统级(FileSystem Level) 计算图级(Computation Graph Level)和开源社区级(Community Level)_。 ROS体系结构 ROS程序运行机制 程序文件的组织构建 程序的分布式管理 进程与进程 程序代码 开发人员共享 进程与系统间的通信 执行文件 知识、算法和代码 支持库的组织 计算图级 文件系统级 开源社区级 16
9.2 机器人操作系统体系结构 16 ROS体系结构是指系统的组织架构,ROS项目的组织形式。按照层次分为文件系统级(FileSystem Level) 、计算图级(Computation Graph Level)和开源社区级(Community Level) 。 开源社区级 ROS程序运行机制 进程与进程 进程与系统间的通信 ROS体系结构 计算图级 文件系统级 程序文件的组织构建 程序代码 执行文件 支持库的组织 程序的分布式管理 开发人员共享 知识、算法和代码