最近工作中需要用到isaac sim去仿真生成实验数据,机械臂厂商提供的文件中只有urdf文件没有usd文件,仿真时需要用到usd文件,所以需要用isaac sim去生成usd文件。
用到的资源包括:isaac sim, 机械臂的配置文件包括urdf和自带的meshes包等
对NVIDIA的isaac sim和isaac lab感兴趣的,推荐可以去学习一下官方课程:
第一步 打开isaac sim
file -> import ->
选中相应的urdf文件,点击右下角import, 在urdf文件同级目录会生成一个包含usd文件的文件夹。
注意:在使用配置文件的时候需要带着整个配置文件结构,以免出错,目前看主要用到urdf 和meshes
第二步 修改articulation root
目前生成的usd文件使用的时候汇报错,好像报错内容提示是跟articulation root有关,具体有点忘了
但是说一下解决方案
自动生成的usd文件的root_joint的属性里有一个articulation root,需要把root_joint的 articulation root这个属性删除,在最外层的prim上添加articulation root.
去掉以上界面中articulation enable的勾,并点击articulation root 右边的红色小叉,会弹出提示窗口点击 yes就删除了。
删除之后root_joint物理属性中就不再有articulation root:
再在机械臂最外层添加articulation root
单击机械臂的名称 -> 右键 -> add -> physics ->articulation root
添加之后在physics属性中可以看到articulation root,添加成功,仿真运行的时候就不会报articulation root相关错误了
注意:删除root_joint中的articulation root之前,在机械臂最外层的属性里默认是看不到物理属性的,而且右键添加物理属性也看不到articulation root,删除原本的articulation root之后才能看到右键可以add -> physics ->articulation root。应该是一个机械臂只能有一个articulation root