# 默认配置会应用到所有未单独覆盖的 link。 [defaults] # auto 会分别拟合 box、sphere、cylinder,并选择包围体积最小的一种。 primitive = "auto" # auto 模式允许参与比较的碰撞体类型。 allowed_primitives = ["box", "sphere", "cylinder"] # 碰撞体向外扩张的绝对尺寸,单位为米。0 表示不扩张。 padding = 0.0 # 以拟合中心为基准缩放碰撞体。1.0 表示保持原始拟合尺寸。 scale = 1.0 # trimesh 搜索最小包围圆柱时的方向采样密度;越大越精确,但计算越慢。 cylinder_sample_count = 6 # 圆柱方向优化的角度容差。 cylinder_angle_tol = 0.001 # 仅用于 USD:如果输入中仍有旧的 STL 网格碰撞体,在 overlay 中将其停用。 # URDF 默认替换生成 link 上的旧碰撞体;传入 --keep-existing 可改为追加。 disable_existing_mesh_collisions = true # base_link 已在 dual_arm.urdf 中明确配置了固定圆柱碰撞体 base_column, # 不需要根据可视模型重复生成。 [links.base_link] enabled = false # 指尖和相机在 dual_arm.urdf 中已经有明确的 sphere 碰撞体,跳过自动拟合。 [links.R_FINGER_TIP] enabled = false [links.R_CAM] enabled = false # 躯干使用与 PELVIS_S 局部 XYZ 轴平行的长方体。 # alignment="link" 表示使用 link-local AABB,不允许盒体自由倾斜。 [links.PELVIS_S] primitive = "box" alignment = "link" # 左右长连杆在各自 link 局部坐标中主要沿 Y 轴延伸。 # 这些 link 使用轴对齐长方体,避免最小体积 OBB 出现肉眼可见的倾斜。 [links.L_SHOULDER_R_S] primitive = "box" alignment = "link" [links.R_SHOULDER_R_S] primitive = "box" alignment = "link" [links.L_SHOULDER_Y_S] primitive = "box" alignment = "link" [links.R_SHOULDER_Y_S] primitive = "box" alignment = "link" [links.L_ELBOW_R_S] primitive = "box" alignment = "link" [links.R_ELBOW_R_S] primitive = "box" alignment = "link" # 左右前臂使用圆柱体,圆柱轴固定为 link 局部 Y 轴。 # 如果更重视减少自碰撞误报,也可以改为 primitive="box"、alignment="link"。 [links.L_WRIST_P_S] primitive = "cylinder" axis = "y" [links.R_WRIST_P_S] primitive = "cylinder" axis = "y" # 最新导入的 USD 没有提供左右末端腕部的可视网格点, # 因此回退到 URDF 使用的原始 STL。mesh_file 相对本 TOML 文件解析。 # 末端腕部外形不规则且截面不圆,使用 link 轴对齐长方体。 [links.L_WRIST_R_S] mesh_file = "../../model/xiaoyan_description/meshes/L_WRIST_R_S.STL" primitive = "box" alignment = "link" [links.R_WRIST_R_S] mesh_file = "../../model/xiaoyan_description/meshes/R_WRIST_R_S.STL" primitive = "box" alignment = "link"