机器人操作系统ROS现状与应用实例李宝全PPT课件

上传人:仙*** 文档编号:34801014 上传时间:2021-10-23 格式:PPT 页数:59 大小:5.70MB
收藏 版权申诉 举报 下载
机器人操作系统ROS现状与应用实例李宝全PPT课件_第1页
第1页 / 共59页
机器人操作系统ROS现状与应用实例李宝全PPT课件_第2页
第2页 / 共59页
机器人操作系统ROS现状与应用实例李宝全PPT课件_第3页
第3页 / 共59页
资源描述:

《机器人操作系统ROS现状与应用实例李宝全PPT课件》由会员分享,可在线阅读,更多相关《机器人操作系统ROS现状与应用实例李宝全PPT课件(59页珍藏版)》请在装配图网上搜索。

1、每周工作报告 南开大学机器人与信息自动化研究所1ROS - Robot Operating System: 现状与应用实例李宝全李宝全南开大学南开大学 :2014-7-3南开大学首届机器人学博士生论坛南开大学首届机器人学博士生论坛2 ROS- Robot Operating System现状现状几个应用例程综合实例:体感远程控制3 应用火爆的ROS ROS Repositories (50) Map:4 应用火爆的ROS Robotics & Automation Magazine, IEEE 该杂志上设立了专题讨论区:ROS Topics 下方图片是在最新一期中ROS Topics的论文5

2、应用火爆的ROS 新加坡南洋理工大学(NTU)机器人相关实验室大家都在用,已经形成了全民一起上的局面 所见的应用设备: Pioneer3AT/DX Kinect AR.Drone TurtleBot6 ROS体系 Main:由Willow Garage公式维护核心部分程序 Universe:全球范围的代码,由其它个人/组织维护相关知识库(Repository),即功能包(例如先锋机器人的ROSARIA,Kinect的openni_tracker, 语言识别pocketsphinx)7 几点说明 虽然ROS的名字为“机器人操作系统”,但不是真正的操作系统,只是说它可以提供类似于操作系统的一些服务

3、,比如底层通讯, 分布式控制。 对于机器人的相关功能,不使用ROS也能实现. 但ROS使得机器人软件搭建的工作更方便,效率更高。8 ROS的程序的核心 节点 即可执行文件 由.cpp文件编译生成而来(指C+) 节点之间的通讯 节点间信息的发布与接收 Publish Subscribe9 节点 将整个工程(Project)模块化,每个节点即为一个模块。 每个节点都可以单独维护,比如现在有N个节点已经在运行了,用户可以再编写第N+1个节点,然后编译,然后运行,即有N+1个节点共同运行。 每个节点有唯一的名字 节点之间可借助网络跨主机共同运行.10 节点之间的通讯 发布者Publisher 订阅者S

4、ubscriber 话题: 发布者与订阅者之间的通讯方式 话题的名称: Topic:发布者与订阅者之间数据传输“管道”的名字,为一字符串 消息: Message: 传输数据的类型,例如int, char,自定义类型。11 ROS- Robot Operating System现状几个应用例程几个应用例程综合实例:体感远程控制12 ROS的几个例程 Hello world 图像 先锋机器人P3AT/P3DX KinectSkeleton Voice Network通讯13 Hello World程序 节点: 2个 节点talker (talker.cpp) : 包含一个发布者 节点listene

5、r (listener.cpp) : 包含一个接收者 节点间的通讯: Topic(话题的名称):“chatter” Message(传递的数据类型):std_msgs:String String为 ROS自定义的数据类型 String中包含唯一变量为 std:string data14 Hello World程序15 Hello World程序16 Hello World程序17 Hello World程序18 ROS的几个例程 Hello world 图像图像 先锋机器人P3AT/P3DX KinectSkeleton Voice Network通讯19 ROS的几个例程: 图像 图像的发布

6、: 对应ROS中的Publisher. 以如下三个图像源举例: Kinect的RGB摄像头 笔记本内置摄像头 外接USB摄像头 图像的接收: 对应ROS中的Subscriber 图像的处理: 可以与OpenCV相结合 (OpenCV与ROS均属于Willow Garage公司, 所以.) 用户可以在该步骤中进行任意的图像处理操作(“so you can do everything in this step”) 图像的显示: 与OpenCV相结合20 图像的发布: Kinect的RGB摄像头 首先对Kinect设备进行配置, 并进行初始化 由于Kinect与ROS相互支持, 因此配置过程非常简便

7、 初始化Kinect的过程就是发布一些列Topic的过程, 这些Topic包括: /camera/rgb/image_color: 该话题即对应于我们需要的RGB图像数据 至此图像发布的任务完毕 若想把图像显示出来, 需要进行下一节“图像的接收与显示” /camera/rgb/image_raw: RGB图像的原始数据 /camera/grey : 这是灰度图像 /camera/depth: 这是场景深度图像21 图像的发布: Kinect的RGB摄像头图图: Rviz中显示出的中显示出的Kinect发布的点云信息发布的点云信息22 图像的发布: 笔记本内置摄像头 对于笔记本内置USB摄像头的

8、图像获取, 要比Kinect复杂. 这是由于ROS对Kinect的支持包括了图像Topic的发布, 而对于计算机的内置/外置USB摄像头, 需要我们自己做些操作 下载usb_cam包: https:/ . 包含如下3个文件 /usb_cam.h /usb_cam.cpp: 由于是在Ubuntu (12.04)系统下进行的, 因此里面用到了Linux的V4L2视频驱动与服务 /usb_cam_node.cpp 摄像头的图像在此节点中发布23 图像的发布: 笔记本内置摄像头24 图像的发布: 外置USB摄像头 也需要利用包usb_cam 由于外接USB摄像头的设备名为video1,因此将设备名的语

9、句修改为 除此之外, 其它操作与上一节的内置摄像头图像发布一致25 图像的接收,处理与显示 ROS的图像数据使用sensor_msgs/Image的消息格式 CvBridge: 属于ROS的库, 在vision_opencv(堆stack) /cv_bridge(包package) /image_geometry中. 用以转换sensor_msgs/Image至cv:Mat 该部分功能: 从相应Topic中获得sensor_msgs:Image图像信息(接收者),并将其转化为cv:Mat的形式, 并显示图像。 当然, 该部分首先需要图像源来发布一个图像Topic,例如上节的Kinect, 内置

10、USB摄像头, 外接USB摄像头26 图像的接收,处理与显示27 图像的接收,处理与显示28 图像的接收,处理与显示 上页的image_converter节点对应于图像发布源为Kinect, 若想要获得外置/内置摄像头的图像时, 将订阅者的Topic改为 “/image_raw”即可. 改为 因此将该节点修改后重新编译并运行, 便可以继续获取另一个图像源的图像. 这也体现了ROS的代码维护非常灵活.29 图像的接收,处理与显示30 ROS的几个例程 Hello world 图像 先锋机器人先锋机器人P3AT/P3DX KinectSkeleton Voice Network通讯31 先锋机器人

11、P3AT/P3DX P3AT/P3DX的配置 角速度和线速度控制量的发布 控制量发布的节点: 对应Publisher 控制量的接收 控制量接收的节点: 对应Subscriber 即控制机器人的运动32 P3AT/P3DX的配置 由于P3AT是串口通讯, 我的笔记本上仅有USB口, 因此首先需要配置USB转串口. 安装ROSARIA ARIA是ActivMedia公司为先锋机器人提供的驱动与服务 由于该公司也支持ROS, 因此发布了ROSARIA版本33 角速度和线速度控制量的发布 话题名称/RosAria/cmd_vel“ 该话题名称要与下一节接收节点中的一致 消息类型为ROS自定义的: ge

12、ometry_msgs:Twist 在该Twist数据结构中, 包括了角速度控制量与线速度控制量34 角速度和线速度控制量的发布35 控制量的接收 首先下载包rosaria: https:/ 该包中含有RosAria.cpp文件 将该文件编译为节点RosAria, 并运行该节点 节点RosAria的功能: 接收上节的Twist数据结构(即订阅者), Twist中含有角速度与线速度的数据. 将控制量发送给先锋机器人, 即让机器人做相应运动.36 控制量的接收37 ROS的几个例程 Hello world 图像 先锋机器人P3AT/P3DX KinectSkeleton(人体骨骼识别人体骨骼识别)

13、 Voice Network通讯38 KinectSkeleton 由于用到了Kinect的骨骼识别, 因此首先需要安装NiTE 之后下载包openni_tracker: https:/ openni_tracker节点将用户的骨骼位置发布(发布者) Topic为 “/tf” Message为tf2_msgs:TFMessage, 一个TFMessage的对象包括了一个关节的位置与姿态信息39 KinectSkeleton40 KinectSkeleton41 KinectSkeleton图图: Rviz显示出的发布的显示出的发布的tf的信息的信息42 ROS的几个例程 Hello world

14、 图像 先锋机器人P3AT/P3DX KinectSkeleton Voice Network通讯43 Voice 语音识别 语言发布 综合: 声音的接收与发声44 Voice: 语言识别 包pocketsphinx的安装与配置 pocketsphinx用以语言识别, 并发布(Publish)识别结果String 识别结果的接收与显示 将pocketsphinx发布的String其获取(Subscribe)后从屏幕上显示45 Voice46 Voice: 语言发布 包sound_play的安装与配置 利用程序来控制发声47 Voice: 综合: 声音的接收与发声 利用pocketsphinx对

15、语言进行识别, 并以String的消息类型来发布 接收pocketsphinx发布的String 将String显示到屏幕上 发声: 将String朗读出来 当然也可以朗读其它语句, 即实现了人机之间的对话48 Voice: 综合: 声音的接收与发声49 ROS的几个例程 Hello world 图像 先锋机器人P3AT/P3DX KinectSkeleton Voice Network通讯通讯50 Network通讯(以两主机为例) ROS的分布式特点: 对两主机进行简单配置后, 若有相同的Topic, 则节点之间即可跨主机利用网络进行通讯. 因此网络通讯/控制变为十分简单. 实验场景: 取

16、名为”hal”的电脑上连接先锋机器人P3AT, 并连接Wifi 取名为”marvin”的电脑(我的笔记本)没有连接设备, 但与”hal”连接了同一个Wifi 目标: 让”marvin”将先锋机器人的控制命令通过Wifi发送给”hal”, 然后”hal”再把此命令发送给先锋机器人51 Network通讯(以两主机为例)52 ROS- Robot Operating System现状几个应用例程综合实例综合实例: :体感远程控制体感远程控制53 ROS综合实例: 实验目标 通过网络, 远程控制机器人的运动 使用者在Kinect前移动, 当距离Kinect超过1米时, 让远方的机器人做前进运动; 当

17、距离Kinect小于1米时, 让机器人后退; 并且机器人的运动速度与使用着距Kinect 1米的误差成正比. 将上一章 “几个应用例程” 结合在了一起.54 ROS综合实例: 实验场景 取名为”hal”的电脑上连接先锋机器人P3AT, 并连接Wifi 取名为”marvin”的电脑(我的笔记本)连接了Kinect, 并与”hal”连接了同一个Wifi55 ROS综合实例:实现方法 通过Kinect读取用户的骨骼位置(KinectSkeleton) 根据用户的头部位置, 主机“marvin”来设计P3AT的线速度量. 通过Wifi将机器人的速度控制量传到主机“hal”上 “hal”将速度控制量发送到P3AT上56 ROS综合实例: 框架57 ROS综合实例: 视频展示 1_Kinetct-P3AT_TrackingPeople.mp4 2_ControlThroughNetwork.mp4 3_withMe 综合.mp458 总结与展望 总结 ROS的应用已非常火爆 介绍了ROS的几个典型应用, 并给出了一综合实例 展望 ROS整合了世界范围内的很多很强大的功能, 比如语言的识别与发布, 骨骼位置获取, 可以使机器人更智能. ROS的模块化特点, 使得代码易于维护 ROS本身是基于分布式的, 因此网络通讯/控制变为十分简单 59 Q & A Thanks!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!