ROS基础教学讲解课件_第1页
ROS基础教学讲解课件_第2页
ROS基础教学讲解课件_第3页
ROS基础教学讲解课件_第4页
ROS基础教学讲解课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(RobotOperatingSystem,ROS)湖南大学电气与信息工程学院2023/1/81.(RobotOperatingSystem,ROS)1、ROS的定义Linux操作系统ROS开发环境Han'sCuteTurtleBot2ROSisroboticsmiddleware(i.e.collectionofsoftwareframeworksforrobotsoftwaredevelopment).2023/1/82.1、ROS的定义Linux操作系统ROS开发环境Han's串口协议ROS环境串口协议机械臂1.将机械臂发送上来的信息以话题的形式发布

在ROS环境中如:/joint1_controller/state/claw_controller/state2.将话题信息转换成机械臂所需要的串口信息如:/joint1_controller/command/claw_controller/commmand2023/1/83.串口协议ROS环境串口协议机械臂1.将机械臂发送上来的信息以也就是说ROS环境键盘(节点)手柄(节点)平板(节点)机器人底盘(节点)2023/1/84.也就是说ROS环境键盘(节点)手柄(节点)平板(节点)机器人2、ROS的基本概念1、节点管理器master:master在整个网络通信架构里相当于管理中心,管理着各个node。node首先在master处进行注册,之后master会将该node纳入整个ROS程序中。2、node之间的通信也是先由master进行“牵线”,才能两两的进行点对点通信。2023/1/85.2、ROS的基本概念1、节点管理器master:maste理解话题(topic)node2masternode1注册节点publishtopic注册节点subscribetopic/topic_name/topic_name/topic_name基本的msg包括bool、int8、int16、int32、int64(以及uint)、float、float64、string、time、duration、header、可变长数组array[]、固定长度数组array[C]。topic是ROS中的一种单向的异步通信方式。然而有些时候单向的通信满足不了通信要求,比如当一些节点只是临时而非周期性的需要某些数据,如果用topic通信方式时就会消耗大量不必要的系统资源,造成系统的低效率高功耗。2023/1/86.理解话题(topic)node2masternode1注册理解服务(service)nodeA(client)nodeB(server)/servicerequestreplyService是同步通信方式,所谓同步就是说,此时NodeA发布请求后会在原地等待reply,直到NodeB处理完了请求并且完成了reply,NodeA才会继续执行。NodeA等待过程中,是处于阻塞状态的成通信。这样的通信模型没有频繁的消息传递,没有冲突与高系统资源的占用,只有接受请求才执行服务,简单而且高效。

2023/1/87.理解服务(service)nodeAnodeB/servic话题和服务的对比2023/1/88.话题和服务的对比2023/1/88.3、ROS文件系统1、创建工作空间$mkdir–pcatkin_ws/src#创建工作空间$cdcatkin_ws#进入工作空间$catkin_make#编译catkin_ws/src/Cmakelists.txt/build/develcatkin_make的工作流程2023/1/89.3、ROS文件系统1、创建工作空间$mkdir–pca创建package2、创建包$cdcatkin_ws/src#进入工作空间的src下$catkin_create_pkgpackage_namestd_msgsrospyroscppcatkin_ws/src/package_name/├──CMakeLists.txt#package的编译规则(必须)

├──package.xml#package的描述信息(必须)

├──src/ #源代码文件

├──include/ #C++头文件

├──scripts/#可执行脚本

├──msg/ #自定义消息

├──srv/ #自定义服务

├──models/ #3D模型文件

├──urdf/ #urdf文件

├──launch/ #launch文件

2023/1/810.创建package2、创建包$cdcatkin_ws/s自定义发布topic/talker/listenerpublish/chattersubscribebool、int8、int16、int32、int64、uint、float、float64、string、time、duration、header、可变长数组array[]、固定长度数组array[C]发布任何名称的话题任意数据:以某一频率2023/1/811.自定义发布topic/talker/listenerpubl自定义service/client/server发送请求接收回复bool、int8、int16、int32、int64、uint、float、float64、string、time、duration、header、可变长数组array[]、固定长度数组array[C]2023/1/812.自定义service/client/server发送请求接收sudoapt-getinstallkdevelop2023/1/813.sudoapt-getinstallkdevelop22023/1/814.2023/1/814.回顾:ROS的定义Linux操作系统ROS开发环境Han'sCuteTurtleBot2ROSisroboticsmiddleware(i.e.collectionofsoftwareframeworksforrobotsoftwaredevelopment).2023/1/815.回顾:ROS的定义Linux操作系统ROS开发环境Han'sTheROScontrollerwillnotdirectlycommunicatewiththehardware,insteadofthat,therobothardwareinterfacecantalkwithhardware.ThemainfunctionofthehardwareinterfaceisthatitwillactasamediatorbetweenROScontrollersandtheRealHardware/Simulator.ROScontroller2023/1/816.TheROScontrollerwillnotdiurdf和xarcoUnifiedRobotDescriptionFormat,统一机器人描述格式,简称为URDF。ROS中的urdf功能包包含一个URDF的C++解析器,URDF文件使用XML格式描述机器人模型。robot:ThistagencapsulatestheentirerobotmodelthatcanberepresentedusingURDF.Insidetherobottag,wecandefinethenameoftherobot,thelinks,andthejointsoftherobot.

Thesyntaxisasfollows:

<robotname="<nameoftherobot>"

<link>.....</link> <joint>.......</joint>

<link>......</link>

<link>.....</link>

<joint>........</joint>

</robot>

2023/1/817.urdf和xarcoUnifiedRobotDescrilink:

TheVisualsectionrepresentsthereallinkoftherobot,andtheareasurroundingthereallinkistheCollisionsection.TheCollisionsectionencapsulatesthereallinktodetectcollisionbeforehittingthereallink.

<linkname="<nameofthelink>">

<visual>............</visual>

<collision>..........</collision> <inertial>...........</inertial>

</link>

<robotname="<nameoftherobot>"

<link>.....</link> <joint>.......</joint>

<link>......</link>

<link>.....</link>

<joint>........</joint>

</robot>

2023/1/818.link:

TheVisualsectionjoint:Thejointtagsupportsthedifferenttypesofjointssuchasrevolute,continuous,prismatic,fixed,floating,andplanar

<robotname="<nameoftherobot>"

<link>.....</link> <joint>.......</joint>

<link>......</link>

<link>.....</link>

<joint>........</joint>

</robot>

<jointname="<nameofthejoint>">

<parentlink="link1"/>

<childlink="link2"/>

<calibration..../>

<dynamicsdamping..../>

<limiteffort..../>

</joint>

2023/1/819.joint:<robotname="<nameofth<linkname="<nameofthelink>">

<visual>............</visual>

<collision>..........</collision> <inertial>...........</inertial>

</link>

<robotname="<nameoftherobot>"

<link>.....</link> <joint>.......</joint>

<link>......</link>

<link>.....</link>

<joint>........</joint>

</robot>

<jointname="<nameofthejoint>">

<parentlink="link1"/>

<childlink="link2"/>

<calibration..../>

<dynamicsdamping..../>

<limiteffort..../>

</joint>

2023/1/820.<linkname="<nameofthelink>学习Moveit和navigation包1.ROS环境自动将机器人的串口信息解析成话题信息;2.创建节点和发布话题;3.构建自定义机器人的模型-urdf和xarco文件4.根据urdf和xarco文件,创建moveit包和navigation包2023/1/821.学习Moveit和navigation包1.ROS环境自动将THANKSFORYOURATTENTION汇报人:肖2023/1/822.THANKSFORYOURATTENTION汇报人:(RobotOperatingSystem,ROS)湖南大学电气与信息工程学院2023/1/823.(RobotOperatingSystem,ROS)1、ROS的定义Linux操作系统ROS开发环境Han'sCuteTurtleBot2ROSisroboticsmiddleware(i.e.collectionofsoftwareframeworksforrobotsoftwaredevelopment).2023/1/824.1、ROS的定义Linux操作系统ROS开发环境Han's串口协议ROS环境串口协议机械臂1.将机械臂发送上来的信息以话题的形式发布

在ROS环境中如:/joint1_controller/state/claw_controller/state2.将话题信息转换成机械臂所需要的串口信息如:/joint1_controller/command/claw_controller/commmand2023/1/825.串口协议ROS环境串口协议机械臂1.将机械臂发送上来的信息以也就是说ROS环境键盘(节点)手柄(节点)平板(节点)机器人底盘(节点)2023/1/826.也就是说ROS环境键盘(节点)手柄(节点)平板(节点)机器人2、ROS的基本概念1、节点管理器master:master在整个网络通信架构里相当于管理中心,管理着各个node。node首先在master处进行注册,之后master会将该node纳入整个ROS程序中。2、node之间的通信也是先由master进行“牵线”,才能两两的进行点对点通信。2023/1/827.2、ROS的基本概念1、节点管理器master:maste理解话题(topic)node2masternode1注册节点publishtopic注册节点subscribetopic/topic_name/topic_name/topic_name基本的msg包括bool、int8、int16、int32、int64(以及uint)、float、float64、string、time、duration、header、可变长数组array[]、固定长度数组array[C]。topic是ROS中的一种单向的异步通信方式。然而有些时候单向的通信满足不了通信要求,比如当一些节点只是临时而非周期性的需要某些数据,如果用topic通信方式时就会消耗大量不必要的系统资源,造成系统的低效率高功耗。2023/1/828.理解话题(topic)node2masternode1注册理解服务(service)nodeA(client)nodeB(server)/servicerequestreplyService是同步通信方式,所谓同步就是说,此时NodeA发布请求后会在原地等待reply,直到NodeB处理完了请求并且完成了reply,NodeA才会继续执行。NodeA等待过程中,是处于阻塞状态的成通信。这样的通信模型没有频繁的消息传递,没有冲突与高系统资源的占用,只有接受请求才执行服务,简单而且高效。

2023/1/829.理解服务(service)nodeAnodeB/servic话题和服务的对比2023/1/830.话题和服务的对比2023/1/88.3、ROS文件系统1、创建工作空间$mkdir–pcatkin_ws/src#创建工作空间$cdcatkin_ws#进入工作空间$catkin_make#编译catkin_ws/src/Cmakelists.txt/build/develcatkin_make的工作流程2023/1/831.3、ROS文件系统1、创建工作空间$mkdir–pca创建package2、创建包$cdcatkin_ws/src#进入工作空间的src下$catkin_create_pkgpackage_namestd_msgsrospyroscppcatkin_ws/src/package_name/├──CMakeLists.txt#package的编译规则(必须)

├──package.xml#package的描述信息(必须)

├──src/ #源代码文件

├──include/ #C++头文件

├──scripts/#可执行脚本

├──msg/ #自定义消息

├──srv/ #自定义服务

├──models/ #3D模型文件

├──urdf/ #urdf文件

├──launch/ #launch文件

2023/1/832.创建package2、创建包$cdcatkin_ws/s自定义发布topic/talker/listenerpublish/chattersubscribebool、int8、int16、int32、int64、uint、float、float64、string、time、duration、header、可变长数组array[]、固定长度数组array[C]发布任何名称的话题任意数据:以某一频率2023/1/833.自定义发布topic/talker/listenerpubl自定义service/client/server发送请求接收回复bool、int8、int16、int32、int64、uint、float、float64、string、time、duration、header、可变长数组array[]、固定长度数组array[C]2023/1/834.自定义service/client/server发送请求接收sudoapt-getinstallkdevelop2023/1/835.sudoapt-getinstallkdevelop22023/1/836.2023/1/814.回顾:ROS的定义Linux操作系统ROS开发环境Han'sCuteTurtleBot2ROSisroboticsmiddleware(i.e.collectionofsoftwareframeworksforrobotsoftwaredevelopment).2023/1/837.回顾:ROS的定义Linux操作系统ROS开发环境Han'sTheROScontrollerwillnotdirectlycommunicatewiththehardware,insteadofthat,therobothardwareinterfacecantalkwithhardware.ThemainfunctionofthehardwareinterfaceisthatitwillactasamediatorbetweenROScontrollersandtheRealHardware/Simulator.ROScontroller2023/1/838.TheROScontrollerwillnotdiurdf和xarcoUnifiedRobotDescriptionFormat,统一机器人描述格式,简称为URDF。ROS中的urdf功能包包含一个URDF的C++解析器,URDF文件使用XML格式描述机器人模型。robot:ThistagencapsulatestheentirerobotmodelthatcanberepresentedusingURDF.Insidetherobottag,wecandefinethenameoftherobot,thelinks,andthejointsoftherobot.

Thesyntaxisasfollows:

<robotname="<nameoftherobot>"

<link>.....</link> <joint>.......</joint>

<link>......</link>

<link>.....</link>

<joint>........</joint>

</robot>

2023/1/839.urdf和xarcoUnifiedRobotDescrilink:

TheVisualsectionrepresentsthereallinkoftherobot,andtheareasurroundingthereallinkistheCollisionsection.TheCollisionsectionencapsulatesthereallinktodetectcollisionbeforehittingthereallink.

<linkname="<nameofthelink>">

<visual>............</visual>

<collision>..........</collision> <inertial>...........</inertial>

</link>

<robotname="<nameoftherobot>"

<link>.....</link> <joint>.......</joint>

<link>......</link>

<link>.....</link>

<joint>........</joint>

</robot>

2023/1/840.link:

TheVisualsectionjoint:Thejointtagsupportsthedifferenttypesofjointssuchasrevolute,continuous,prismatic,fixed,floating,

温馨提示

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

评论

0/150

提交评论