参考链接:Debugging With Visual Studio Code — Omniverse Robotics documentation
尝试使用pycharm调用python内核编译失败后,参考教程使用其推荐的VScode环境。
1. 启动Vscode
在Isaac Sim应用 Isaac Sim App Selector 中单击“Open in Terminal”按钮,然后执行以下命令:code。这将启动一个新的VS Code窗口并打开当前文件夹。你也可以启动VS Code并打开文件夹。
启动Terminal,输入 code . 用于启动VScode.
2. 在Vscode中启动Sim仿真
2.1 Helloworld
打开示例文件,位于目录standalone_examples/api/omni.isaac.kit/hello_world.py
从左边的工具栏中选择“运行”图标,并确保从配置下拉菜单中选择“Current File”。此时可以运行查看是否正常。不正常的话可以重启一下VScode。
2.2 json文件
尝试在.vscode/launch的“args”字段中向代码传递一个命令行参数。
例如,这里我们更改默认的核服务器。
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"env": {
"EXP_PATH": "${workspaceFolder}/apps",
"RESOURCE_NAME": "IsaacSim"
},
"python": "${workspaceFolder}/kit/python/bin/python3",
"envFile": "${workspaceFolder}/.vscode/.standalone_examples.env",
"preLaunchTask": "setup_python_env",
"args": ["--/persistent/isaac/asset_root/default=\"omniverse://my_server\""]
}
# The most basic usage for creating a simulation app
kit = SimulationApp()
import carb
server_check = carb.settings.get_settings().get_as_string("/persistent/isaac/asset_root/default")
print(server_check)
for i in range(100):
kit.update()
kit.close() # Cleanup application
修改文件并重新运行。
2.3 运行RL CartpoleTask
参考示例:6. Custom RL Example using Stable Baselines — Omniverse Robotics documentation
注意,在文件standalone_examples\api\omni.isaac.gym中,已经准备好了任务,训练,演示三个文件,直接运行cartpole_train开始训练,训练完成后可以运行cartpole_play。
3. 在已启动的Sim中Vscode联调
3.1 启用插件
从顶部工具栏中,选择“ Window > Extensions”。然后搜索“vscode”,然后单击omni.kit.debug.vscode扩展的启用按钮。默认情况下,状态将以红色文本显示“VS Code Debugger Unattached”。
需要在配置菜单中,选择“Python: Attach (windows-x86_64/linux-x86_64)”,然后单击绿色箭头开始调试。
此时Sim中的状态将会变色。
没测试,不清楚有啥用。