机器人操作系统ROS-现状与应用实例李宝全.ppt
《机器人操作系统ROS-现状与应用实例李宝全.ppt》由会员分享,可在线阅读,更多相关《机器人操作系统ROS-现状与应用实例李宝全.ppt(59页珍藏版)》请在三一办公上搜索。
1、1,ROS-Robot Operating System:现状与应用实例,李宝全,南开大学:2014-7-3,南开大学首届机器人学博士生论坛,2,ROS-Robot Operating System,What&Why,现状,How&Results,几个应用例程,Sum-mary,综合实例:体感远程控制,3,应用火爆的ROS,ROS Repositories(50)Map:,4,应用火爆的ROS,Robotics&Automation Magazine,IEEE该杂志上设立了专题讨论区:ROS Topics下方图片是在最新一期中ROS Topics的论文,5,应用火爆的ROS,新加坡南洋理工大学
2、(NTU)机器人相关实验室大家都在用,已经形成了全民一起上的局面所见的应用设备:Pioneer3AT/DXKinectAR.DroneTurtleBot,6,ROS体系,Main:由Willow Garage公式维护核心部分程序Universe:全球范围的代码,由其它个人/组织维护相关知识库(Repository),即功能包(例如先锋机器人的ROSARIA,Kinect的openni_tracker,语言识别pocketsphinx),7,几点说明,虽然ROS的名字为“机器人操作系统”,但不是真正的操作系统,只是说它可以提供类似于操作系统的一些服务,比如底层通讯,分布式控制。对于机器人的相关功
3、能,不使用ROS也能实现.但ROS使得机器人软件搭建的工作更方便,效率更高。,8,ROS的程序的核心,节点即可执行文件由.cpp文件编译生成而来(指C+)节点之间的通讯节点间信息的发布与接收PublishSubscribe,9,节点,将整个工程(Project)模块化,每个节点即为一个模块。每个节点都可以单独维护,比如现在有N个节点已经在运行了,用户可以再编写第N+1个节点,然后编译,然后运行,即有N+1个节点共同运行。每个节点有唯一的名字节点之间可借助网络跨主机共同运行.,10,节点之间的通讯,发布者Publisher订阅者Subscriber话题:发布者与订阅者之间的通讯方式话题的名称:T
4、opic:发布者与订阅者之间数据传输“管道”的名字,为一字符串消息:Message:传输数据的类型,例如int,char,自定义类型。,11,ROS-Robot Operating System,What&Why,现状,How&Results,几个应用例程,Sum-mary,综合实例:体感远程控制,12,ROS的几个例程,Hello world图像先锋机器人P3AT/P3DXKinectSkeletonVoiceNetwork通讯,13,Hello World程序,节点:2个节点talker(talker.cpp):包含一个发布者节点listener(listener.cpp):包含一个接收者
5、节点间的通讯:Topic(话题的名称):“chatter”Message(传递的数据类型):std_msgs:StringString为 ROS自定义的数据类型String中包含唯一变量为 std:stringdata,14,Hello World程序,15,Hello World程序,16,Hello World程序,17,Hello World程序,18,ROS的几个例程,Hello world图像先锋机器人P3AT/P3DXKinectSkeletonVoiceNetwork通讯,19,ROS的几个例程:图像,图像的发布:对应ROS中的Publisher.以如下三个图像源举例:Kinec
6、t的RGB摄像头笔记本内置摄像头外接USB摄像头图像的接收:对应ROS中的Subscriber图像的处理:可以与OpenCV相结合(OpenCV与ROS均属于Willow Garage公司,所以.)用户可以在该步骤中进行任意的图像处理操作(“so you can do everything in this step”)图像的显示:与OpenCV相结合,20,图像的发布:Kinect的RGB摄像头,首先对Kinect设备进行配置,并进行初始化由于Kinect与ROS相互支持,因此配置过程非常简便初始化Kinect的过程就是发布一些列Topic的过程,这些Topic包括:/camera/rgb/i
7、mage_color:该话题即对应于我们需要的RGB图像数据至此图像发布的任务完毕若想把图像显示出来,需要进行下一节“图像的接收与显示”/camera/rgb/image_raw:RGB图像的原始数据/camera/grey:这是灰度图像/camera/depth:这是场景深度图像,21,图像的发布:Kinect的RGB摄像头,图:Rviz中显示出的Kinect发布的点云信息,22,图像的发布:笔记本内置摄像头,对于笔记本内置USB摄像头的图像获取,要比Kinect复杂.这是由于ROS对Kinect的支持包括了图像Topic的发布,而对于计算机的内置/外置USB摄像头,需要我们自己做些操作下载
8、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,因此将设备名的语句修改为除此之外,其它操作与上一节的内置摄像头图像发布一致,25,图像的接收,处理与显示,ROS的图像数据使用sensor_msgs/Image的消息格式CvBridge:属于ROS的库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 操作系统 ROS 现状 应用 实例 李宝全
链接地址:https://www.31ppt.com/p-6421103.html