Skip to content

Isaac Lab 中的 URDF 导入与处理

注意

本篇内容基于 Isaac Sim 4.5.0、Isaac Lab 2.0.0 版本。

将 URDF 转换 USD

将 SolidWorks 导出为 URDF 之后,需要将其转换为 USD 格式,以便在 Isaac Lab 中使用。 此时,需要使用 Isaac Lab 中的 convert_urdf.py 脚本,这个脚本位于 IsaacLab 目录中 scripts/tools/convert_urdf.py ,在使用该脚本的过程,实际就是将 URDF 转换为 USD 格式,并将转换后的 USD 文件保存到指定的位置。

省流

通过官方脚本实现将自定义URDF转换为 Isaac_Asset 资产

tianracer_t110 为例,将 URDF 转换为 USD 的方法如下:

bash
(.ros2) tianbot@ros2go:~/isaacsim_ws/IsaacLab-2.0.0$ ./isaaclab.sh -p scripts/tools/convert_urdf.py                               \    # 脚本路径
                                                     ~/tianbot_ws/src/tianracer/tianracer_description/urdf/tianracer_compact.urdf \    # urdf 路径
                                                     source/isaaclab_assets/data/Robots/Tianbotics/tianracer_110.usd              \    # usd 路径
                                                     --merge-joints        \                                                           # 参数
                                                    --joint-stiffness 0.0  \
                                                    --joint-damping 0.0    \
                                                    --joint-target-type none

技巧

如果希望过程是headless模式,则可以在最后再添加--headless参数

添加驱动消息订阅节点

添加传感器

对于一个从SolidWorks中导出的URDF模型来说,通常已有的是各传感器base_link的坐标变换关系,在完成URDFUSD模型的转换后,还需要基于Isaac Sim补充各种传感器数据源。 那么接下来的工作就是将传感器数据源添加到USD模型中,以便Isaac Lab`能够识别并使用。

Camera

完整的RGBD传感器数据源添加方法,可以直接参考官方的文档,这里不再赘述。

Lidar

IMU

添加 Action Graph ros2 发布节点

Clock 发布

TF 发布

rqt 验证

我们可以通过rqt来验证传感器数据源是否添加成功,具体操作如下:

  • 打开rqt,选择Plugins->Topics->Topic Monitor,查看话题发布的数据

传感器参数配置

TODO