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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS机械臂开发:创建机器人URDF模型相关的知识,希望对你有一定的参考价值。

参考技术A

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

以上是关于ROS机械臂开发:创建机器人URDF模型的主要内容,如果未能解决你的问题,请参考以下文章

ROS机械臂开发:机器视觉应用

ROS中的3D机器人建模

Unity和ROS通讯的机械臂

ROS 2 驱动程序现在可用于 ABB 的机械臂

ROS从入门到精通系列(十七)-- 机械臂驱动器方案

ROS从入门到精通系列(十七)-- 机械臂驱动器方案