Files
huoyi_training_level/docs/solenopsis_urdf_comparison.md
T

115 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Solenopsis CAD URDF 与旧 M20 简化 URDF 对比
对比对象:
- 旧模型:`deep_robotics_model/M20/M20_urdf/urdf/M20.urdf`
- 新模型:`deep_robotics_model/M20/M20_urdf/urdf/Solenopsis.urdf`
- CAD 来源:`Solenopsis-00 火蚁-四单臂轮足平台总成.STEP`
## 质量闭合
用户提供的刚体分组质量为:机身组 17.274 kg、单个摆臂组 0.955 kg、单个轮组 1.340 kg;整机质量为 26.581 kg。
```text
17.274 + 4 × 0.955 + 4 × 1.340 = 26.454 kg
26.581 - 26.454 = 0.127 kg
```
按确认结果,将差额 0.127 kg(即 127 g,不是 0.127 g)合并到 `base_link`,因此新 `base_link` 质量为 17.401 kg。该差额等效放在已报告的机身组质心处,所以不改变机身组质心坐标和惯量张量;没有假定未知零部件的空间分布。
| 刚体 | 旧模型单体质量 | 新模型单体质量 | 单体变化 |
| --- | ---: | ---: | ---: |
| `base_link` | 15.882 kg | 17.401 kg | +1.519 kg(+9.5643%) |
| 每个 `*_knee` | 0.612 kg | 0.955 kg | +0.343 kg(+56.0458%) |
| 每个 `*_wheel` | 1.340 kg | 1.340 kg | 0 |
| 整机 | 23.690 kg | 26.581 kg | +2.891 kg(+12.2035%) |
## 坐标换算
SolidWorks 总装坐标为 Y 轴向上;现有训练模型采用 ROS/URDF 的 Z 轴向上。新模型使用以下右手坐标变换:
```text
(x, y, z)_URDF = (z, x, y)_SolidWorks
```
摆臂和轮子的质量属性原始坐标系是运动模组坐标系,X 轴为电机旋转轴,Y 轴沿轮心指向关节中心。为了保持现有控制器的关节符号约定,新 URDF 统一定义:
- 四个关节轴均为 `(0, -1, 0)`;
- `q = 0` 时四个摆臂均竖直向下;
- 关节中心到轮轴中心的距离为 CAD 中的精确值 0.300 m;
- 左右侧采用不同的正规旋转矩阵变换质量属性,没有使用镜像矩阵变换惯量。
## 质心与惯量
所有新惯量均为“关于各自刚体质心、并与对应 URDF link 坐标轴对齐”的惯量,单位为 kg·m²。SolidWorks 的 kg·mm² 已严格乘以 `10^-6`,并按 `I_URDF = R I_SW R^T` 旋转。
### base_link
| 参数 | 旧模型 | 新模型 |
| --- | ---: | ---: |
| 质心 x | 0.003551059 m | -0.000072 m |
| 质心 y | 0.001650758 m | 0.000171 m |
| 质心 z | -0.003464621 m | 0.076892 m |
| Ixx | 0.088078700 | 0.133964838 |
| Iyy | 0.533816000 | 0.363696493 |
| Izz | 0.563915000 | 0.450717599 |
| Ixy | 0.001396000 | -0.000732466 |
| Ixz | 0.000111000 | 0.000157104 |
| Iyz | 0.000519000 | 0.000165399 |
### 单个 knee
新左侧 knee 质心为 `(-0.000040, -0.001088, -0.158988) m`,新右侧 knee 质心为 `(0.000040, 0.001088, -0.158988) m`。
| 参数 | 旧模型代表值 | 新模型左侧 | 新模型右侧 |
| --- | ---: | ---: | ---: |
| Ixx | 0.005202000 | 0.014124479 | 0.014124479 |
| Iyy | 0.005202000 | 0.014470094 | 0.014470094 |
| Izz | 0.000734400 | 0.000478899 | 0.000478899 |
| Ixy | ±0.000024480 | 0.000002919 | 0.000002919 |
| Ixz | ±0.000091800 | 0.000004851 | -0.000004851 |
| Iyz | ±0.000673200 | -0.000261898 | 0.000261898 |
### 单个 wheel
新左轮质心为 `(-0.000002, 0.059326, -0.000009) m`,新右轮质心为 `(0.000002, -0.059326, -0.000009) m`。这保留了 SolidWorks 报告的轮组轴向质心偏置,不再把轮组质心强制放在关节原点。
| 参数 | 旧均匀圆柱模型 | 新模型左侧 | 新模型右侧 |
| --- | ---: | ---: | ---: |
| Ixx | 0.003856632 | 0.003296552 | 0.003296552 |
| Iyy(轮轴) | 0.006174720 | 0.005826562 | 0.005826562 |
| Izz | 0.003856632 | 0.003296995 | 0.003296995 |
| Ixy | 0 | 0.000000144 | 0.000000144 |
| Ixz | 0 | -0.000000077 | 0.000000077 |
| Iyz | 0 | 0.000000424 | -0.000000424 |
## 关节几何
| 参数 | 旧简化模型 | 新 CAD 模型 |
| --- | ---: | ---: |
| 前/后关节中心 x | ±0.300 m | ±0.117577164466 m |
| 左/右关节中心 y | ±0.140 m | ±0.167 m |
| 关节中心 z | 0 m | 0.070 m |
| 膝关节至轮轴向量 | `(0, ±0.110, -0.210) m` | `(0, 0, -0.300) m` |
| 膝关节至轮轴距离 | 0.237065 m | 0.300000 m |
| 关节轴 | `(0, -1, 0)` | `(0, -1, 0)` |
| 自由度 | 8 | 8 |
关节名称、顺序、扭矩上限和速度上限均保持不变,因此软件接口仍是四个 knee 加四个 wheel。不过,质量、质心、惯量、关节位置和杆长都有实质变化,旧策略不能被视为动力学等价策略,应重新训练或至少重新做系统性验证。
## 显示与碰撞几何
新 URDF 使用从 STEP 总成拆分得到的 9 个 STL 作为 visual:一个机身、四个摆臂、四个轮组。STL 保留毫米坐标,URDF 使用 `0.001` 比例换算到米。当前训练引用 `meshes_solenopsis_visual` 中的可视化网格;高精度原始导出保留在 `meshes_solenopsis` 中。
collision 不使用 STL,只使用方块和圆柱,尺寸来自 CAD 外廓:
- `base_link`:一个 `0.706 × 0.310 × 0.1714 m` 方块;
- 每个 `*_knee`:一个 `0.088 × 0.031 × 0.3765 m` 摆臂方块,加一个 P65 转动端圆柱;
- 每个 `*_wheel`:半径 `0.098804 m`、轴向宽度 `0.082959 m` 的圆柱。
训练可视化网格约 23.5 万个三角形、11.7 MB,顶点相对高精度 STL 的最大量化位移不超过 1.733 mm。非闭合边、内部电气件和紧固件不会参与碰撞求解。这样既保留 CAD 外观,又避免 214 万面高精度 STL 拖慢 Isaac Sim 导入,同时让并行训练继续使用稳定的基础几何碰撞体。
## 当前切换状态
旧 `M20.urdf` 没有被覆盖,IsaacLab训练入口已经切换到 `Solenopsis.urdf`。导入时,visual加载STEP拆分得到的STL用于正常显示,collision只加载方块和圆柱参与物理计算。