网站怎么做描文本,沙市网站建设,oa系统登录界面,重庆施工许可证查询前两期推文#xff1a;机器人控制系列教程之动力学建模(1)、机器人控制系列教程之动力学建模(2)#xff0c;我们主要从数学的角度介绍了机器人的动力学建模的方式#xff0c;随着机器人技术的不断发展#xff0c;机器人建模成为了机器人系统设计中的一项关键任务。URDF机器人控制系列教程之动力学建模(1)、机器人控制系列教程之动力学建模(2)我们主要从数学的角度介绍了机器人的动力学建模的方式随着机器人技术的不断发展机器人建模成为了机器人系统设计中的一项关键任务。URDFUnified Robot Description Format是一种用于描述机器人结构和属性的XML文件格式。它提供了一种标准化的方式使得不同的机器人系统能够共享和交换机器人模型的信息。在ROSRobot Operating System后续将重点讲解机器人操作系统中URDF模型是机器人导航、仿真和感知等功能的基础。 link 标签 link 标签用于描述机器人某个刚体部分的外观和物理属性包括尺寸size)、颜色color、形状(shape)入、惯性矩阵(inertial matrix.)、入碰撞参数(collision properties)等。机器人的1ink结构一般如下图所示其基本的URDF描述语法如下
link namelink name
inertial . . . . . . / inertial
visual . . . . . . /visual
collision . . . . . . /coll ision
/linkvisual 标签用于描述机器人link部分的外观参数 inertial 标签用于描述link的惯性参数而 collision 标签用于描述link的碰撞属性。从图中可以看到检测碰撞的1ink区域大于外观可视的区域这就意味着只要有其他物体与collision区域相交就认为link发生碰撞。 joint标签 joint 标签用于描述机器人关节的运动学和动力学属性包括关节运动的位置和速度限 制。根据机器人的关节运动形式可以将其分为六种类型如下表所示。 joint namemy_joint typefloatingorigin xyz0 0 1 rpy0 0 3.1416/parent linklink1/child linklink2/calibration rising0.0/dynamics damping0.0 friction0.0/limit effort30 velocity1.0 lower-2.2 upper0.7 /safety_controller k_velocity10 k_position15 soft_lower_limit-2.0 soft_upper_limit0.5 //joint其中必须指定joint的parent link和child link还可以设置关节的其他属性。 calibration 关节的参考位置用来校准关节的绝对位置 dynamics 描述关节的物理属性例如阻尼值、物理静摩擦力等经常在动力学仿真中用到 limit 描述运动的一些极限值包括关节运动的上下限位置、速度限制、力矩限制等 mimic 描述该关节与已有关节的关系safety_controller描述安全控制器参数。保护机器人关节的运动
与人的关节样机器人关节的主要作用是连接两个刚体1ink,这两个link分别称为parent link和child link. robot 标签 robot 是完整机器人模型的最顶层标签 link 和 joint 标签都必须包含在 robot 标签内。一个完整的机器人模型由一系列 link 和 joint 组成。 robot 标签内可以设置机器人的名称其基本语法如下
robotlink.../linklink.../linkjoint.../joint
/robotURDF文件里面有着与XML语言格式。要定义好一个机器人首先你得知道机器人有什么。一个机器人主要由连杆link和关节joint组成URDF具有类似XML树状结构的。link与 joint是robot下面的子分量换句话说joint和link隶属于robot。知道了机器人的基本构成之后还不够还需要知道基本组成部分的一些物理信息例如连杆的质量属性惯量属性颜色以及关节的种类这到底是转动关节还是平动关节。因此link和joint也要有自己的子分量比如inertial和visual visual 下面还可以再次细分子分量geometry和material然后material下面还可以有自己的子分量由此往复我们就可以用URDF来充分定义好一个机器人的各个信息。所以一个增加了这些额外信息的URDF文件内容例子如下:
robotlinkinertial.../inertialvisualgeometry.../geometrymaterialcolor //material/visual/link...
/robot我们定义好了机器人的组成部分以及各个部分所具有的信息接着还需要有属性描述这些量。比如robot,link,joint都有name属性一个用来辨识模块的字符串。color有rgba属性用来定义连杆的外表颜色。添加了相关信息的URDF文件长这个样子
robot name linkagelink name root linkinertial.../inertialvisualgeometry.../geometrymaterialcolor rgba 1 0 0 1 //material/visual/link...
/robot自定义模型及导入MATLAB
下面我们将通过URDF格式创建两个连杆并创建运动副将这两个连杆固定起来。具体代码如下
?xml version1.0?
robot nameTechM_Robotlink namelink_1visualgeometrycylinder length0.6 radius0.1//geometryinertialorigin rpy0 0 0.3 xyz0.0002 0.0002 0.1264/ mass value5.6431/inertia ixx0.1183 ixy-0.0001 ixz0.0001 iyy0.1182 iyz0.0001 izz0.0140/ /inertial/visual/linklink namelink_2visualgeometrybox size0.6 0.1 0.2//geometryorigin rpy0 0 1.57075 xyz0 0 -0.3//visual/linkjoint namejoint_1 typefixedparent linklink_1/child linklink_2/origin rpy0 0 0 xyz0 -0.22 0.25/axis xyz0 0 0//joint
/robot打开MATLAB软件输入
TechM_Robotimportrobot(test.urdf);
show(TechM_Robot)即可看到刚才创建的两个连杆的机器人以及机器人的各种属性。 对于通过URDF文件建立机器人的模型来说相关的参数设置属实较为麻烦明天得推文我们将讲解如何利用URDF生成工具来自动导出URDF文件。
参考资料
https://blog.csdn.net/zhelijun/article/details/102709150https://www.guyuehome.com/34641
往期推荐