在VScode中配置ROS环境

准备工作

首先在VScode中安装ROS和catkin_tool插件
在这里插入图片描述
在这里插入图片描述

VScode快捷键说明:
ctrl+shift+p:调出用于执行命令的输入框
ctrl+shift+b:编译

使用

1 创建工作空间

终端打开,在命令行:

mkdir -p ~/am_ws/src
cd ~/am_ws/src
catkin_init_workspace

cd ~/am_ws
catkin_make

# 然后在~/.bashrc中设置ROS工作空间的环境变量

2 VScode打开工作空间

在需要的文件夹下打开终端,终端输入,打开VScode:

code .

因为安装了ROS插件,VScode会直接识别catkin环境,并且自动生成.vscode文件夹,里面保含c_cpp_properties.jsonsettings.json 两个文件。

其中:

  • c_cpp_properties.json主要是includePath参数,当有自定义头文件时,需要在其内添加。
  • setting.json主要是ROS使用python编程,python相关配置,以及其它配置。

3 创建功能包

  • 方法一:终端

    # 在src文件夹下
    # catkin_create_pkg 【功能包的名称】 std_msgs rospy roscpp
    # 如:
    catkin_create_pkg my_test_pkg std_msgs rospy roscpp
    
  • 方法二:VScode中创建
    在左侧资源管理器找到我们创建的工作区中的src文件夹,右键src选择create catkin package

    • 弹出的第一个框(package name)填写你的功能包名称,这个是自定义,如my_test_pkg;
    • 弹出的第二个框(dependencies)填写用到的功能包名称,如roscpp rospy std_msgs;

4 创建配置json文件

  • 自动生成的json文件
    c_cpp_properties.jsonsettings.json自动生成不需要修改。

  • tasks.json
    按下ctrl + shfit + p输入指令tasks: configure task,然后会下拉出许多,选择catkin_make: build 会自动生成tasks.json文件。

5 编写文件

功能包的src下面创建cpp或者python文件,编写节点信息、话题信息等。
注意创建的文件如果无法运行,可以右键-属性-设为可执行文件

6 修改功能包CMakeList.txt

如果是cpp文件,需要修改功能包CMakeList.txt,在其中添加以下内容:

# add_executable(节点名称 src/文件名称.cpp)
add_executable(hello src/helloworld.cpp)

# target_link_libraries(节点名称 ${catkin_LIBRARIES})
target_link_libraries(hello ${catkin_LIBRARIES})

7 编译

  • 方法一:终端

    catkin_make
    
  • 方法二:VScode

    执行快捷键:ctrl+shift+b
    

8 运行ROS MASTER

  • 方法一:终端

    roscore
    
  • 方法二:VScode

    执行快捷键ctrl + shfit + p,
    再输入 ROS:START
    

9 运行节点

  • 方法一:终端

    source devel/setup.bash 
    rosrun test_pkg hello
    
  • 方法二:VScode

    执行快捷键ctrl + shfit + p
    输入ROS:Run a Ros executable
    依次输入创建的功能包的名称以及节点名称(即编译成功后二进制文件的名称,注意不是文件名)
    

调试

快捷键ctrl+shift+d,新建launch.json文件:
(每次debug不同的文件,需要修改"program",可选修改 "name",也可以定义多个name这样的结构体)

{
    "version": "0.2.0",
    "configurations": [    
        {
            "name": "my_dxl_node", // 自定义的名称
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/devel/lib/myDynamixel/my_dxl_node", // 需要debug的文件。注意是node名称,不是文件名
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "catkin_make: build",//这里跟的是tasks.json文件中的定义,意在debug前进行build操作
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

需要添加不同类型的配置文件,可点击下方的而配置文件选择
在这里插入图片描述

对于ROS而言

  • ROS:Launch是针对launch文件进行调试
  • ROS:Attach是针对单个ROS节点进行调试

在launch.json中配置了py程序的debug,但是打了断点进行debug后,终端terminal都没有反应,悬浮的调试按钮条也只出现了不到1s就消失了


解决:

  1. 修改python版本
    在这里插入图片描述
    在这里插入图片描述

更新:版本要再老一点,我选择2022.8.0的版本会报错:Timed out waiting for debuggee spawn。最后选的2021年的版本就可以了(据说新版本的插件不太支持老版本的py2了)


2. ROS用的2.7,注意在编译器下方选则
在这里插入图片描述


3. 其他
launch.json文件python的配置中,program可以是默认的$fiile,也可以写需要调试的py文件的路径。前者的话,不同py文件只需要一个配置就行,后者不同py文件的需要有多个配置


参考:https://blog.csdn.net/kraisi/article/details/127287966

参考

关于json文件的配置,可以参考(不用特别配置就可以运行的):

关于ros debug调试相关的,可以参考:

  • 6
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
利用VSCode创建ROS2的工作空间非常简单。首先,确保已经安装了ROS2和VSCode。 1. 打开VSCode,并安装ROS插件。插件名称为“ROS”。 2. 创建一个新的文件夹作为ROS2的工作空间。可以通过在VSCode的资源管理器右键单击并选择“新建文件夹”来创建。 3. 在新建的工作空间文件夹,右键单击并选择“在终端打开”。 4. 在终端输入以下命令来初始化ROS2工作空间: ``` ros2 init ``` 这将创建一个名为“src”的文件夹,用于存放ROS2软件包。 5. 然后,您可以在“src”文件夹创建自己的ROS2软件包。可以通过在VSCode资源管理器右键单击“src”文件夹并选择“新建文件夹”来创建新的软件包。 注意:您也可以使用ROS2命令行工具来创建软件包。在终端,使用以下命令: ``` ros2 pkg create <package_name> ``` 这将在“src”文件夹创建一个新的软件包。 6. 在VSCode的资源管理器,导航到您的软件包文件夹。您可以在其添加和编辑ROS2节点、话题和服务。 7. 在VSCode左侧的侧边栏,选择“运行”选项卡。然后,单击顶部的绿色播放按钮以启动ROS2环境。 8. 现在,您可以使用VSCode的终端来运行ROS2命令和节点。 9. 要构建和编译您的ROS2软件包,可以使用以下命令: ``` colcon build --packages-select <package_name> ``` 或者您可以在VSCode的终端使用ROS2命令行工具。 通过以上步骤,您已经成功创建了ROS2的工作空间,并可以使用VSCode进行开发、构建和调试ROS2应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值