ROS机械臂开发:创建机器人URDF模型

ROS机械臂开发:创建机器人URDF模型,第1张

URDF是一种使用XML格式描述的机器人模型文件

<link>标签

一个典型的link标签如下:

(注意长度单位是米,角度单位是弧度)

<collision>标签描述了碰撞属性,如下图红色框(圆柱体)所示,当进入框内时就会认为发生碰撞,这是为了加速碰撞检测做的一种简化

<joint>标签

每个joint连接两个link,其中的origin是相对于上一个joint的origin描述的,而上面的<link>标签中的origin是相对于joint坐标系表达的,也就是说在机器人运动过程中, 每个连杆的joint和link坐标系是相对静止的 ,理解这一点很重要。

<robot>标签

整个模型 <robot>根标签 包含,一个完整的机器人模型,由一系列<link>和<joint>组成

URDF建模存在的问题

由此产生了URDF的改进版本:xacro模型文件,它具有如下优点:

常量定义

常量使用

数学计算

宏定义

宏调用

文件包含

比如传感器一个文件,机器人本体一个文件,移动底盘一个文件,用一个文件include三个文件拼在一起

以一个6轴机器人为例,下图是在rviz中加载xacro文件后的显示

包含可视化,惯性矩阵,碰撞检测三个部分

下面是在rviz中可视化该模型的launch文件,

真实的机械臂不会是这样的圆柱、方块组成的简单模型,真实场景是购买到厂商机械臂本体后,对方给你一个3D模型文件,如.stp文件,需要solidworks转成urdf导入ROS中使用。

(2)修改display.launch文件中的urdf文件路径

打开rviz后,将Fixed frame更改为base_link,点击Add,添加RobotModel

导出urdf文件用小写英文。SolidWorks到URDF导出器是一个SolidWorks插件,可以方便地将SW零件和装配体导出到URDF文件中。导出器将创建一个类似ROS的包,其中包含网格、纹理和机器人(urdf 文件)的目录。对于单个SolidWorks零件,零件导出器将提取材料属性并在URDF中创建单个链接。对于程序集,导出器将构建链接并基于SW程序集层次创建树。导出器可以自动确定正确的关节类型、关节变换和轴。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6040902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-12
下一篇 2023-03-12

发表评论

登录后才能评论

评论列表(0条)

保存