- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
ROS星火计划 从0到1搭建ROS环境 NXROBOExBot
PAGE8
仿真工具Gazebo与URDF
urdf介绍
urdf(unifiedrobotdescriptionformat)是ROS中描述机器人的一种语言,在ROS开发中占据了非常重要的地位。urdf主要用途在于标识机器人物理模型有哪些部件、每个部件的尺寸、部件间以何种关节连接、关节限制等,可容易实现关节空间坐标与笛卡尔坐标的转换,如配合robot_state_publisher包使用,可根据关节的值确定出部件的位置和姿态。
urdf定义了一系列XML标签来描述机器人模型,最核心的两个标签为:
link——机器人部件/连杆/刚体,
joint——机器人关节/运动副。
robot标签为根标签,是其它标签的容器,其作用类似于launch文件中的launch标签。它有一个属性name,用来设置机器人的名字。如下如所示:
link标签用于描述机器人某个部件(也即刚体部分)的外观和物理属性。机器人底座、轮子、激光雷达、摄像头等,每个部件都对应一个link。在link标签内,可以设计该部件的形状、尺寸、颜色、惯性矩阵、碰撞参数等一系列属性。属性name用于设置部件名字。下图为一些子标签具体设置:
joint标签用于描述机器人关节的运动学和动力学属性,还可以指定关节运动的安全极限。机器人的两个部件(parentlink与childlink)以关节的形式相连接,不同的关节有不同的运动形式:旋转、滑动、固定、旋转速度、旋转角度限制。属性name,设置关节的名字;属性type,设置关节类型。
以下是一些Joint类:
Revolute:转动关节,但是有转动范围,必须要求之后的limit参数中必须含有上下界才合法。
Continuous:连续转动关节,没有转动范围。
Prismatic:平动关节,也需要上下界的定义。
Fixed:完全固定,连接的两个link幷没有可动关系,可以理解为纯粹为了标识固定传感器相对位置与姿态而设立的。
Floating:允许link与link之间有完全6个自由度的转换,跟fixed一样,一般是标识一些环境物体或者无人机在全局位置姿态的。
Planar:与floating类似,用于标识地面机器人在地面上的位置姿态。
Gearbox:描述了齿轮传动的转动关系。
Ball:球关节,两个转动自由度的合成。
Screw:类似于螺丝的运动,单个自由度,但转动与平动位移的合成。
取消了floating与planar。
下图为一些子标签具体设置:
urdf本身设计有一些缺陷。
整个joint与link成树状描述,而机器人存在一些的物理模型例如并联机构,环状机构等就无法表示。一些标签设置也不是非常合理,还有整个xml语法上也不是非常灵活。
这些问题的存在使urdf在一些情况中显得非常鸡肋,但是对于大部分移动机器人与机械臂,urdf已经够用,关键是已经有大量现成工具,使得urdf在ROS中的地位还是不可撼动。
XACRO宏介绍
复杂的机器人常常有多达十几个joint和link,许多joint或link非常相似,整个urdf文件显得非常冗长、复杂,urdf文件中还经常存在一些值计算依赖。
XACRO是ROS中简化大型xml文件的写法、增加结构性与扩展性的XML宏语言,提供了属性定义,数学运算,条件判断和宏定义等功能。使用宏能极大增加urdf文件的层次感与可读性,在各个机器人公开的ROSurdfpackage中,基本都是用XACRO工具进行组织。
需要注意:必须在robot标签中加入xmlns:xacro=/wiki/xacro属性。
属性:使用xacro:property标签定义,用${属性名称}来调用该参数。如下图所示:
数学运算:在变量的大括号中可以使用基本的数学运算,可以使用Python数学模块中的函数和常量。如下图所示:
条件判断:表达式中的结果必须是0、1、true或false,在expression中任何结果为布尔值的Python表达式都是可以的。如下图所示:
宏定义:使用xacro:macro来定义一个宏,参数用空格分割,参数可以用:=来添加默认值。如下图所示:
仿真简述
仿真/模拟(Simulation),泛指基于实验或训练的目的,将原本的系统、事务或流程,建立一个模型以表征其关键特性(keycharacteristics)或者行为/功能,予以系统化与公式化,以便进行可对关键特征做出模拟。
当所研究的系统造价昂贵、实验的危险性大或需要很长的时间才能了解系统参数变化所引起的后果时,仿真是一种特别有效的研究手段。它广泛应用于电气、机械、化工、水力、热力、社会、经济、生态、管理等领域。重要工具就是计算机。ROS中的仿真
您可能关注的文档
- 《公路技术状况评定》课件——3.5 路面结构强度检测.pptx
- 《公路技术状况评定》课件——1.4沿线设施破损类别与识别.pptx
- 《公路技术状况评定》课件——3.6 路基、桥隧构造物与沿线设施技术状况检测与调查.pptx
- 《国际物流与货运代理》课件——1.1 货运代理的角色与责任.pptx
- 《国际物流与货运代理》课件——2.12国际海运进口业务流程.pptx
- 《鸿蒙机器人编程》1-ROS起源及特色 --教案.docx
- 《鸿蒙机器人编程》1-实践课 - 从0到1搭建ROS环境--实训指南.docx
- 《鸿蒙机器人编程》2-ROS通信与工作机制--教案.docx
- 《鸿蒙机器人编程》2-实践课 - 运行第一个ROS程序--实训指南.docx
- 《鸿蒙机器人编程》3-创建工作空间--教案.docx
最近下载
- 第十七届山东省职业院校技能大赛高职组“工业互联网集成应用”赛项规程.docx VIP
- 全国可编辑地图(精确到区县)课件.pptx VIP
- 关于尖子生辅导 课件--2024届高三尖子生培优主题班会.pptx VIP
- 冀教版八年级数学下册《第十九章平面直角坐标系》单元检测卷(带答案).pdf VIP
- 员工自愿放弃社保福利的免责协议6篇.docx
- 八年级数学试卷答题卡.doc VIP
- 黑龙江工业企业技术改造投资指导目录.doc
- 苏教版五年级上册数学寒假专题训练:应用题训练.docx VIP
- 工学一体化课程《小型网络安装与调试》任务3教学单元5之教学单元活动方案.pdf VIP
- 八年级(上)期末数学试卷(含答题卡) .pdf VIP
文档评论(0)