使用IsaacSim与ros2控制机器人
前言
在机器人仿真领域,NVIDIA Isaac Sim凭借其强大的物理引擎和逼真的渲染效果正成为行业新宠。本文将详细记录我如何将Isaac Sim与ROS 2进行集成,实现虚拟场景中的机器人控制。整个过程充满挑战,但也收获颇丰。
1. 安装isaacsim与ros2
提供两个官方链接, 分别是安装ros2和isaacsim, 其中isaacsim是通过pip安装, 这里基本没啥坑
Windows (binary) — ROS 2 Documentation: Humble documentation
Installation using Isaac Sim pip — Isaac Lab Documentation
2. 在isaacsim中接通ros2
接通ros2需要在启动isaacsim前应用ros环境:
source /opt/ros/humble/setup.sh
因为我的isaacsim在服务器上, 可以使用无窗口启动:
isaacsim isaacsim.exp.full.streaming --no-window
无窗口启动需要在本地下载IsaacSim Streaming Client:
Livestream Clients — Isaac Sim Documentation
启动并输入服务器的ip:

3. isaacsim中创建场景
这里按照教程, 创建场景:
Driving TurtleBot via ROS2 messages — Isaac Sim Documentation
创建后的场景如图:


其中要注意:
1. ros2_subscribe_twist要设置topicName
2. constant token 要设置value为wheel_left_joint和wheel_right_joint
3. differential_controller要设置wheelradius,wheeldistance,maxlinearspeed
4.articulation_controller要设置targetprim
4. 使用ros2消息控制机器人移动
在isaacsim中play, 然后新开一个端口, 运行:
source /opt/ros/humble/setup.sh
ros2 run teleop_twist_keyboard teleop_twist_keyboard
即可通过键盘控制isaacsim的机器人移动, 运行场景如图:
