Isaac Sim知识小解(8):curobo配置文件
·
yaml配置文件完整定义了机器人的物理属性与规划规则。cuRobo 机器人配置主要包括以下几个方面:
- 资产路径 → 从哪加载模型(URDF/mesh)
- 运动学链 → base_link / ee_link
- 碰撞检测 → 碰撞 link / 球体近似 / 自碰撞忽略 / mesh 声明
- 关节锁定 → 哪些关节固定不动
- 虚拟扩展 → 附加夹具/抓取物的碰撞体
- C-space 参数 → 关节顺序 / 安全姿态 / 运动代价权重 / 平滑约束
curobo官方配置说明:Configuring a New Robot - cuRobo
robot_cfg:
kinematics:
# ============== 1. 资产路径 =====================
use_usd_kinematics: False # 是否使用 USD 文件进行运动学计算
usd_path: "franka.usda" # USD 场景文件路径
usd_robot_root: "/World/robot3.usda" # USD 中机器人根节点
isaac_usd_path: "" # Isaac Sim自带资产库里的USD路径
usd_flip_joints: {} # 用 USD 解析关节时常用:用来指定某些关节轴向/方向需要翻转
usd_flip_joint_limits: [] # 翻转关节的 限制范围
urdf_path: "franka.urdf" # URDF 文件路径
asset_root_path: "${ASSETS_DIR}/miscs/curobo/robot3/meshes" # 机器人 mesh 资源目录
external_asset_path: null # 外部资产路径
# ============== 2. 运动学链定义 =====================
base_link: "robot_base" # 运动学计算的“根 link”
ee_link: "ee_left" # 定义运动学求解的终点,即末端执行器
# link_names: ["ee_left"] # 额外跟踪的 link
# ============== 3. 虚拟扩展(夹具/工具/抓取物) =====================
# 作用 :在运动学树上 虚拟增加 一个 link(比如夹爪抓取的物体)。这样 cuRobo 在做轨迹规划时,会把被抓物体也纳入碰撞检测(用 4 个球体近似),避免规划出"物体穿模"的轨迹。
extra_links:
{
"attached_object":{
"parent_link_name": "ee_left" ,
"link_name": "attached_object",
"joint_name": "attach_joint" ,
"fixed_transform": [0,0,0,1,0,0,0], # 零位移 + 单位四元数”,即完全重合不偏移
"joint_type":"FIXED"
}
}
extra_collision_spheres: {"attached_object": 4} # 生成4 个碰撞球用于碰撞检测
# ============== 4. 碰撞检测 =====================
collision_link_names: # 参与碰撞检测的 link 列表
[
"waist_link_1",
"waist_link_2",
"waist_link_3",
"body",
"neck_link",
"head",
"base_link_left",
"link1_left",
"link2_left",
"link3_left",
"link4_left",
"link5_left",
"link6_left",
"link7_left",
]
collision_spheres: "${ASSETS_DIR}/miscs/curobo/robot3/spheres/collision_clean.yml"
collision_sphere_buffer: 0.005 # 碰撞裕量(buffer):碰撞球膨胀 5mm, 值越大越保守,也越容易“无解”
self_collision_ignore: # 自碰撞忽略,相邻 link需要忽略
{
"head": [ "body","waist_link_3","waist_link_2","base_link_left","link1_left","link2_left","link3_left" ],
"body": [ "waist_link_3","waist_link_2","base_link_left","link1_left","link2_left","link3_left" ],
"neck_link": ["body", "head", "base_link_left"],
"waist_link_3": [ "waist_link_2" ],
"waist_link_2": [ "waist_link_1" ],
"link1_left": [ "link2_left","link3_left","link4_left","base_link_left","body","head","waist_link_3","waist_link_2" ],
"link2_left": [ "link3_left","link4_left","link5_left","base_link_left","body","head","waist_link_3","waist_link_2" ],
"link3_left": [ "link4_left","body","head","waist_link_3","waist_link_2" ],
"link4_left": [ "link5_left","head","waist_link_2" ],
"link5_left": [ "link6_left" ],
"link6_left": [ "link7_left","attached_object" ],
"link7_left": [ "ee_left", "attached_object", ],
"ee_left": ["attached_object"]
}
self_collision_buffer: {} # 自碰撞的额外 buffer/阈值配置
use_global_cumul: True
mesh_link_names: # 哪些 link 关联到 mesh 资产(用于可视化/几何相关处理/某些工具链)
[
"waist_link_1", "waist_link_2", "waist_link_3",
"body", "neck_link", "head",
"link1_left","link2_left","link3_left","link4_left","link5_left","link6_left","link7_left","ee_left",
]
# ============== 5. 关节锁定 =====================
# 某些关节固定角度,相当于从可动 DOF 中“移除”这些关节,例如移动基座/躯干先固定一个姿态,只规划手臂
lock_joints:
{
"neck_yaw": 0,
"neck_pitch": -0.785,
"waist_pitch_1": -0.7, # 对应-30度(-0.52) 60度(1.05)
"waist_pitch_2": 1.22, # 对应60度(1.05) 70度(1.22)
"waist_pitch_3": -0.7, # 对应-40度(-0.7)
"waist_yaw": 0, # 腰部固定不动
}
# ============ 6、构型空间(C-space)参数 ============
cspace:
joint_names: # cuRobo “受控关节”的顺序列表
[
"neck_yaw", "neck_pitch",
"waist_pitch_1", "waist_pitch_2", "waist_pitch_3",
"waist_yaw",
"joint1_left", "joint2_left", "joint3_left", "joint4_left", "joint5_left", "joint6_left", "joint7_left",
] # List[str]
retract_config: # 规划初始化姿态;失败时的 安全 姿态
[
0, -0.785,
-0.7, 1.22, -0.7,
0,
0.523, -1.22, -2.7, -1.483, 2.355, 1, 0.49
] # List[float]
null_space_weight: # 越倾向于把该关节“拉回参考姿态”
[
6.0, 6.0,
6.0, 6.0, 6.0,
6.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
] # List[str]
cspace_distance_weight: # 值越大,更“难动”,被强烈惩罚
[
1.0, 1.0,
1.0, 1.0, 1.0,
1.0,
10, 10, 10, 7, 5, 5, 10.0
] # List[str]
max_jerk: 500.0 # 对“jerk(加加速度)”的约束/上限相关参数(使轨迹更平滑)
max_acceleration: 15.0 # 对“加速度”的约束/上限相关参数。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)