我有ROS节点,并在VS代码中调试它,启动任务如下:
{
"name": "(gdb) Launch ROS node",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/catkin_ws/devel/lib/my_ros_node/my_ros_node",
"args": [
<some cmd-line arguments>
],
"cwd": "${workspaceFolder}/build/catkin_ws/devel/lib/my_ros_node/",
"environment": [{"name": "LD_LIBRARY_PATH", "value": "${workspaceFolder}/build/lib/:/opt/ros/melodic/lib"} ],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
所有的工作都很好。但是在一个时刻我必须重新Map主题。最简单的方法是使用roslaunch。我为它写了启动文件:
<launch>
<remap from="topicA" to="topicB" />
<remap from="topicD" to="topicC" />
<node name="my_ros_node" pkg="my_ros_node" type="my_ros_node" args="<some args>"/>
</launch>
我应该更正VS代码启动目标。我无法找到如何启动在VS代码启动目标ROS节点通过roslaunch命令。VS代码扩展ROS不工作正常可能的情况下,我的ROS节点只是我的工作空间的一小部分。
我只找到一个解决办法:在roslaunch上单独启动ros节点。然后在VS代码中连接到进程。它工作正常,但要求授予root访问权限。
还有比我更简单的解决方案吗?
1条答案
按热度按时间omvjsjqw1#
checkout vscode ROS扩展(ms-iot.vscode-ros):
https://marketplace.visualstudio.com/items?itemName=ms-iot.vscode-ros
这增加了对指定
"target": "<path_to_your_launch_file>"
的"type": "ros", "request": "launch"
调试配置的支持。