xml创建模型组合体

XML创建模型组合体


创建步骤

模型准备

CAD 提供的原始模型如下:

该模型存在的问题:

  1. 单位问题:CAD出图的是 mm 为单位,但是 mujoco 建模这边用的是以 m 为单位的;
  2. 原点问题:CAD作图时,没有坐标原点的概念,为了能更好的控制模型的位置,需要确定模型的原点,将物体的某一个特征点移动到 (0, 0, 0)
  3. 姿态问题:暂无

模型处理

姿态:关于模型姿态问题,暂时不处理,需要在作图时保障与坐标轴平行

位置纠偏

  1. CC 里把模型打开
  2. 统一度量衡,对模型整体进行缩放,操作:CC->Edit->scale
  3. 查看模型属性,主要是 Global box center 这个参数
  4. 然后根据 Box dimension 计算需要平移的值
  5. 平移模型, 操作: CC->Edit-> Apply transformation

模型文件XML编写

<mujoco model="air_condition_outdoor">
  <asset>
    <mesh file="./meshes/air_condition_outdoor.stl" name="base" scale="0.5 0.5 0.5"/>
  </asset>
  <worldbody>
    <body>
      <body name="object">
        <inertial pos="0 0 0" mass="0.05" diaginertia="0.002 0.002 0.002" />
        <geom pos="0. 0. 0.0" quat="1  0 0 0  " mesh="base" type="mesh" solimp="0.998 0.998 0.001" solref="0.001 1" density="100" friction="1 1 1" group="0" condim="4" rgba="0.839 0.839 0.839 1"/>
        <geom pos="-0.1001 -0.0564 0.264" size="0.002 0.005" quat="0 0 0.707 0.707" type="cylinder" rgba="1. 0. 0. 1.0" solimp="0.998 0.998 0.001" solref="0.02 1" density="100" friction="0.95 0.3 0.1" group="0" condim="4" />
        <geom pos=" 0.1001 -0.0564 0.264" size="0.002 0.005" quat="0 0 0.707 0.707" type="cylinder" rgba="1. 0. 0. 1.0" solimp="0.998 0.998 0.001" solref="0.02 1" density="100" friction="0.95 0.3 0.1" group="0" condim="4" />
        <geom pos="-0.1001 -0.0564 0.27" size="0.002 0.005" quat="0 0 0 1.0" type="cylinder" rgba="1. 0. 0. 1.0" solimp="0.998 0.998 0.001" solref="0.02 1" density="100" friction="0.95 0.3 0.1" group="0" condim="4" />
        <geom pos=" 0.1001 -0.0564 0.27" size="0.002 0.005" quat="0 0 0 1.0" type="cylinder" rgba="1. 0. 0. 1.0" solimp="0.998 0.998 0.001" solref="0.02 1" density="100" friction="0.95 0.3 0.1" group="0" condim="4" />
      </body>
      <body name="visual">
        <inertial pos="0 0 0" mass="0.05" diaginertia="0.002 0.002 0.002" />
        <geom pos="0 0 0" mesh="base" type="mesh" conaffinity="0" contype="0"  group="0" mass="0.0001" rgba="0.8 0.8 0.8 0.1"/>
      </body>
      <site rgba="0 0 0 0" size="0.005" pos="0 0 -0.004" name="bottom_site"/>
      <site rgba="0 0 0 0" size="0.005" pos="0 0 0.004" name="top_site"/>
      <site rgba="0 0 0 0" size="0.005" pos="0. 0. 0" name="horizontal_radius_site"/>
      <site rgba="0 0 0 0" size="0.005" pos="-0.1001 -0.0564 0.1295" name="hole_0_site"/>
    </body>
  </worldbody>
</mujoco>

效果

红色小柱子为模拟的该位置的螺丝孔

相关推荐
Luis Li 的猫猫2 小时前
深度学习中的知识蒸馏
人工智能·经验分享·深度学习·学习·算法
带娃的IT创业者3 小时前
机器学习实战(6):支持向量机(SVM)——强大的非线性分类器
算法·机器学习·支持向量机
木觞清4 小时前
PyTorch与TensorFlow的对比:哪个框架更适合你的项目?
人工智能·pytorch·tensorflow
鹿鸣悠悠4 小时前
第二月:学习 NumPy、Pandas 和 Matplotlib 是数据分析和科学计算的基础
学习·numpy·pandas
Java能学吗5 小时前
2.17学习总结
数据结构·学习
靡不有初1116 小时前
CCF-CSP第31次认证第二题——坐标变换(其二)【NA!前缀和思想的细节,输出为0的常见原因】
c++·学习·ccfcsp
wyg_0311137 小时前
用deepseek学大模型04-模型可视化与数据可视化
人工智能·机器学习·信息可视化
陈敬雷-充电了么-CEO兼CTO8 小时前
DeepSeek核心算法解析:如何打造比肩ChatGPT的国产大模型
人工智能·神经网络·自然语言处理·chatgpt·大模型·aigc·deepseek
南风过闲庭9 小时前
人工智能泡沫效应
大数据·人工智能·科技·搜索引擎·百度·ai
我是一个对称矩阵9 小时前
YOLOv5-Seg 深度解析:与 YOLOv5 检测模型的区别
人工智能·yolo·目标跟踪