URDF文件中inertial数据的描述坐标系说明

这件事的来源是这样的:结构手动把连杆坐标系下描述的惯性张量数据写入了urdf中,给我到以后发现有问题,给我搞懵了,以为我错了这么多年,于是有了本次的深度调研,先上结论,感兴趣的可以参考后文。

结论:

  • URDF文件中inertial的数据是在质心坐标系下描述的!!!

文章目录

      • [1. 官方说明](#1. 官方说明)
      • [2. 论坛](#2. 论坛)
      • [3. 通过webots侧面验证](#3. 通过webots侧面验证)
      • [4. 通过urdf2webots验证](#4. 通过urdf2webots验证)
      • [5. 通过matlab验证](#5. 通过matlab验证)
      • [6. 通过sw2urdf验证](#6. 通过sw2urdf验证)
      • [7. 实测](#7. 实测)

1. 官方说明

urdf官方说明:https://wiki.ros.org/urdf/XML/link,原文如下:

This link's moments of inertia ixx, iyy, izz and products of inertia ixy, ixz, iyz about Co (the link's center of mass) for the unit vectors Ĉx, Ĉy, Ĉz fixed in the center-of-mass frame C.

18年的时候,笔者实测solidworks使用sw2urdf导出的urdf,其结果与sw中的质心坐标系对应:

2. 论坛

以下几个链接中,也说明是质心坐标系下描述的

3. 通过webots侧面验证

从webots官方看到,webots中的惯性参数是描述在质心坐标系下的,官方说明:https://cyberbotics.com/doc/reference/physics,明确表示惯性矩阵是相对于centerOfMass定义的

笔者以前的测试可以说明这点:

4. 通过urdf2webots验证

从urdf2webots工具包的代码中,发现确实直接读取的是urdf中的ixx等标签,https://github.com/cyberbotics/urdf2webots/blob/master/urdf2webots/parserURDF.py#L509

从此处看,说明urdf中描述的是质心坐标系下的参数

5. 通过matlab验证

将urdf通过importrobot导入matlab的时候,发现rigidBody中的Inertia数据是连杆坐标系下描述的。rigidBody的官方描述如下:

Inertia of rigid body, specified as a [Ixx Iyy Izz Iyz Ixz Ixy] vector relative to the body frame in kilogram square meters. The first three elements of the vector are the diagonal elements of the inertia tensor. The last three elements are the off-diagonal elements of the inertia tensor. (https://ww2.mathworks.cn/help/robotics/ref/rigidbody.html)

6. 通过sw2urdf验证

SW2URDF工具源码:https://github.com/ros/solidworks_urdf_exporter

翻看代码,发现应该是导出的质心坐标系下的数据


7. 实测

实测环境:

● SOLIDWORKS 2022

● SolidWorks To URDF version 1.6.0-4-g7f85cfe



相关推荐
bohu832 天前
ros2笔记-6.2 使用urdf创建机器人模型
机器人·建模·ros2·rviz·urdf
kuan_li_lyg3 个月前
SolidWorks 导出 URDF 中的惯性矩阵错误问题
开发语言·人工智能·机器人·ros·urdf·solidworks
tangliang_cn7 个月前
C++入门 ros中urdf整合rviz
c++·ros·rviz·urdf
万俟淋曦8 个月前
[ROS 系列学习教程] 建模与仿真 - URDF 建模实践
人工智能·ai·机器人·ros·rviz·仿真建模·urdf
kuan_li_lyg8 个月前
MATLAB - 自定义惯性矩阵
开发语言·python·matlab·机器人·urdf·机器人仿真
kuan_li_lyg10 个月前
UR5 机器人 URDF 代码阅读
人工智能·机器人·自动驾驶·ros·urdf·四足机器人·人形机器人
kuan_li_lyg1 年前
URDF - 通用机器人描述格式 - XML 规范
matlab·机器人·自动驾驶·ros·ros2·gazebo·urdf
山重水复疑无路@1 年前
从0手写两轮差速机器人urdf模型
机器人·ros·urdf