![机器人操作系统ROS Indigo 入门学习_第1页](http://file4.renrendoc.com/view/0286474ee84b3f7402b2c1210711e9fc/0286474ee84b3f7402b2c1210711e9fc1.gif)
![机器人操作系统ROS Indigo 入门学习_第2页](http://file4.renrendoc.com/view/0286474ee84b3f7402b2c1210711e9fc/0286474ee84b3f7402b2c1210711e9fc2.gif)
![机器人操作系统ROS Indigo 入门学习_第3页](http://file4.renrendoc.com/view/0286474ee84b3f7402b2c1210711e9fc/0286474ee84b3f7402b2c1210711e9fc3.gif)
![机器人操作系统ROS Indigo 入门学习_第4页](http://file4.renrendoc.com/view/0286474ee84b3f7402b2c1210711e9fc/0286474ee84b3f7402b2c1210711e9fc4.gif)
![机器人操作系统ROS Indigo 入门学习_第5页](http://file4.renrendoc.com/view/0286474ee84b3f7402b2c1210711e9fc/0286474ee84b3f7402b2c1210711e9fc5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.理解ROSTopic这个教程介绍ROStopic和rostopic和rqt_plot命令行工具.1.1建立l.l.lroscore先在一个新的终端中运行roscore;$roscore注意:只能运行一个roscore.1.1.2tuetlesim在新的终端中运行turtlesim;$rosrunturtlesimturtlesim_node1.1.3turtle键盘遥控我们需要用一些东西去控制turtle,在新的终端运行:$rosrunturtlesimturtle_teleop_key[INFO]1254264546.878445000:Startednode[/teleop_turtle],pid[5528],boundon[aqy],xmlrpcport[43918],tcprosport[55936],loggingto[~/ros/ros/log/teleop_turtle_5528.log],using[real]timeReadingfromkeyboardUsearrowkeystomovetheturtle.现在你可以用键盘上的方向键控制小乌龟了(保持键盘输入窗口在焦点).再看看窗口后面发生了什么.uTurH%uTurH%一m回1.2R0STop-Cfurt-es-mlnode^furf-el-te-eopIkeynodeN画afop-c^^ffiDNFfurf-el-te-eopIkeyfflK->r+o2cFr沸审薄潘sim、mfurt-es-mgs可市sfop一C4理mwsimit期吉arqrgraph印渊SKffllEfflaqls*口nodes.君湘奇湖ae-ecfr-c^湖杷3高耕-w洼arxygrahm芫。1.2.1arqrgrahrqrgrahcd>福N—->&?Hs®患印渊测^FrlEfflffi①J-qf—grah湖qpfpackage昏—典"•更*Ssudoaprgs--nsfa--roslAd一slroV—rqr+ssudoaprg2.-nsfa=ros:Ad-s1TOV—rqrcommon:p-ug-ns<distro>用你的ros版本名替代再在新终端输入:$rosrunrqt_graphrqt_graph你将会看到:/teleop_turtlerqt_graph_turtle_key.pngo6?pnly:/f@通/teleop_turtlerqt_graph_turtle_key.pngo6?pnly:/f@通。就福M潞女Wsink%密株&HideDtbug潞High网眦F^t凸庶盗Cr»phCNodesonly:/,I,倒心mmp既舫困剧痴*4CNodesonly:/,I,倒心mmp既舫困剧痴*4winks窗lEftppiA昭HidubSug贸High闻眦螂FR凸rqt_graph_turtle_key2.png/geop_turtlT〉*佻l/commandKlocityAfrt^sim通过:$rostopic-h可以获得等多命令选项rostopicbwdisplaybandwidthusedbytopicrostopicechoprintmessagestoscreenrostopichzdisplaypublishingrateoftopicrostopiclistprintinformationaboutactivetopicsrostopicpubpublishdatatotopicrostopictypeprinttopictype让我们用这些命令去检验一下turtlesim.使用rostopicecho用法:rostopicecho[topic]允许我们看看turtle_teleop_keynode.发布的命令速度数据;对于ROSHydro和之后的版本,这个数据在发布在/turtle1/cmd_veltopic,在新终端,运行:$rostopicecho/turtle1/cmd_vel选择turtle_teleop_key终端,用方向键控制小乌龟,你将会看到linear:x:2.0y:0.0z:0.0angular:x:0.0y:0.0z:0.0linear:
x:2.0y:0.0z:0.0angular:x:0.0y:0.0z:0.0让我们再来看看rqt_graph让我们再来看看rqt_graph.点击左上角的刷新按钮显示新的node.你将会看至ijrostopicecho也订阅了turtle1/command_velocitytopic.使用rostopiclistrostopiclist会列出现在所有被订阅和发布的使用rostopiclistrostopiclist会列出现在所有被订阅和发布的topic.看看这个命令需要什么参数,运行:$rostopiclist-hUsage:rostopiclist[/topic]Options:-h,--helpshowthishelpmessageandexit-bBAGFILE,--bag=BAGFILE-v,--verbose-P-slisttopicsin.bagfilelistfulldetailsabouteachtopiclistonlypublisherslistonlysubscribers对于-v,--verbose-P-s$rostopiclist-v显示详细的一列topic信息包括发布的,订阅的和它们的类型.Publishedtopics:*/turtle1/color_sensor[turtlesim/Color]1publisher*/turtle1/command_velocity[turtlesim/Velocity]1publisher*/rosout[roslib/Log]2publishers*/rosout_agg[roslib/Log]1publisher*/turtle1/pose[turtlesim/Pose]1publisherSubscribedtopics:*/turtle1/command_velocity[turtlesim/Velocity]1subscriber*/rosout[roslib/Log]1subscriber1.3ROSMessagesTopic上的通信通过在nodes之间发送messages来实现.对于发布者(turtle_teleop_key)和订阅者(turtlesim_node)之间的通信必须使用相同的message类型.这就意味着,topic的类型由发布的message类型决定.发布在topic上的message的类型可以由rostopictype来决定.使用rostopictyperostopictype返回任何topic发布的message类型.用法:rostopictype[topic]对于ROSHydro和之后的版本:$rostopictype/turtle1/cmd_vel你会得到:geometry_msgs/Twist想得到详细信息运行:$rosmsgshowgeometry_msgs/Twistgeometry_msgs/Vector3linearfloat64xfloat64yfloat64zgeometry_msgs/Vector3angularfloat64xfloat64yfloat64z既然我们已经知道turtlesim期待什么类型的message了,我们可以发布命令给小乌龟.1.4继续rostopic既然我们已经知道rosmessage了,让我们一起用rosmessages吧。使用rostopicpubrostopicpub把数据发布到正被广播的topic上。用法:rostopicpub[topic][msg_type][args]对于ROSHydro和之后的版本:$rostopicpub-1/turtle1/cmd_velgeometry_msgs/Twist--'[2.0,0.0,0.0]”[0.0,0.0,1.8]'这会给turtle发布一个message告诉它线速度2.0,角速度1.8.这个命令十分复杂,所以我们仔细看看它的每个参数对于ROSHydro和之后的版本:这个命令会发送messages给给定的topic:rostopicpub这个选项使得rostopic只发布一条message然后退出:-1这是要发布给它信息的那个topic:/turtle1/cmd_vel这是发布topic时的message类型:geometry_msgs/Twist双虚线告诉选项剖析器接下来的参数都不是选择,以免把负号后面的参数当成参数选项。一个geometry_msgs/Twist有两组由三个浮点元素组成得的向量:线性的和角度的.这样的话,’[2.0,0.0,0.0]'就是线性值x=2.0,y=0.0,z=0.0而'[0.0,0.0,1.8]'就是角度的值x=0.0,y=0.0,z=1.8.这些参数遵从YAML语法规则。更多信息查看YAMLcommandlinedocumentation.'[2.0,0.0,0.0]''[0.0,0.0,1.8]'你也许注意到小乌龟已经停止了;这是因为小乌龟需要稳定的1HZ的命令流去保持运动。我们可以用rostopicpub-r命令发布一个稳定的命令流。
对于ROSHydro和之后的版本:$rostopicpub/turtle1/cmd_velgeometry_msgs/Twist-r1--'[2.0,0.0,0.0]''[0.0,0.0,1.8]'这将以1HZ的速度去发布速度命令给速度topic.再刷新一下rqt_graph,看至ijrostopicpubnode在和rostopicechonode通信当你看到小乌龟在绕圈圈的时候可以在一个新的终端输入rostopicecho命令看看turtlesim发布的数据。使用rostopichzrostopichz报告数据发布的速度用法:rostopichz[topic]来看看turtkesimnode以多快的速度发布/turtlel/pose。$rostopichz/turtle1/pose你会看到:subscribedto[/turtle1/pose]averagerate:59.354min:0.005smax:0.027sstddev:0.00284swindow:58averagerate:59.459min:0.005smax:0.027sstddev:0.00271swindow:118averagerate:59.539min:0.004smax:0.030sstddev:0.00339swindow:177averagerate:59.492min:0.004smax:0.030sstddev:0.00380swindow:237averagerate:59.463min:0.004smax:0.030sstddev:0.00380swindow:290现在我们知道turtlesim大概以60HZ的速度发布数据。也可以用rostopictype和rosmsg获取关于topic进一步的信息。对于ROSHydro和之后的版本:$rostopictype/turtle1/cmd_vel|rosmsgshow现在我们已经用rostopic检验了topic,让我们用其他工具看看turtlesim发布的数据把。1.5使用rqt_plotelectric之前的版本用rxplot代替。rqt_plot以时间轴的形式显示发布在topic上的数据。这里我们用它去显示发布在/turtle1/posetopic上的数据。首先:$rosrunrqt_plotrqt_plot这时会弹出一个新的窗口,一个文本框出现再左上角,文本框是输入topicd的,这里我们输入/turtleUpose/x会高亮原来不亮的按钮。按下它并且用rqt_plotpng/turtle1/pose/y重复同样的操作,就会看到x-y位置的图像出现。/turtlel/pase?x/turtlel/pose7yrqt_plotpng/turtle1/pose/y重复同样的操作,就会看到x-y位置的图像出现。/turtle
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度小区公共区域照明设施维护合同
- 失信被执行人申请书
- 中国装饰布艺用纱项目投资可行性研究报告
- 2025年河北承德市企业全景分析报告
- 2025年度企业员工股权代持与解绑服务合同
- 教师调动申请书理由
- 碳化硅材料项目评估报告范文模板
- 电车动力的教育价值与创新策略研究
- 项目-年产5000套注塑模具生产项目节能评估报告(节能专)
- 2025年度新媒体运营临时工劳动合同细则
- 水土保持方案中沉沙池的布设技术
- 安全生产技术规范 第25部分:城镇天然气经营企业DB50-T 867.25-2021
- 现代企业管理 (全套完整课件)
- 走进本土项目化设计-读《PBL项目化学习设计》有感
- 《网店运营与管理》整本书电子教案全套教学教案
- 教师信息技术能力提升培训课件希沃的课件
- 高端公寓住宅项目营销策划方案(项目定位 发展建议)
- 执业兽医师聘用协议(合同)书
- 第1本书出体旅程journeys out of the body精教版2003版
- [英语考试]同等学力英语新大纲全部词汇
- 2022年肝动脉化疗栓塞术(TACE)
评论
0/150
提交评论