在VScode中配置ROS环境的详细过程

 更新时间:2022年07月19日 08:55:59   作者:冰激凌啊  
这篇文章主要介绍了在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
在这里插入代码片

```bash
执行快捷键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"
        }
    ]
}

参考

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

https://www.jb51.net/article/192889.htm

https://www.jb51.net/article/192888.htm

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

使用VScode搭建ROS开发环境的教程详解

ros项目调试:vscode下配置开发ROS项目的详细教程

到此这篇关于在VScode中配置ROS环境的文章就介绍到这了,更多相关VScode配置ROS环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vscode中快速创建自定义代码模板的方法

    Vscode中快速创建自定义代码模板的方法

    这篇文章主要介绍了Vscode中快速创建自定义代码模板的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Git中使用.gitignore忽略文件的推送方式

    Git中使用.gitignore忽略文件的推送方式

    这篇文章主要介绍了Git中使用.gitignore忽略文件的推送方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Git rebase命令使用实战

    Git rebase命令使用实战

    这篇文章主要介绍了Git rebase命令使用实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • git如何从某个分支的指定历史版本中创建新分支

    git如何从某个分支的指定历史版本中创建新分支

    这篇文章主要介绍了git如何从某个分支的指定历史版本中创建新分支问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • phpMyAdmin“无法载入 mysql 扩展, 请检查 PHP 配置”问题的解决方案

    phpMyAdmin“无法载入 mysql 扩展, 请检查 PHP 配置”问题的解决方案

    安装XAMPP后,phpMyAdmin无法进入,一直提示“无法载入 mysql 扩展, 请检查 PHP 配置”。网上查,需要修改php.ini,却发现本来就是正确的;
    2009-02-02
  • openlayers 模仿高德箭头导航路线图的代码详解

    openlayers 模仿高德箭头导航路线图的代码详解

    这篇文章主要介绍了openlayers 模仿高德箭头导航路线图的示例代码,主要包括原始数据、起点/终点寻找、起点和终点样式函数,结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 解决git 提交后中文字符会乱码的问题

    解决git 提交后中文字符会乱码的问题

    这篇文章主要介绍了解决git 提交后中文字符会乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • VSCode插件安装完成后的配置详解

    VSCode插件安装完成后的配置详解

    这篇文章主要介绍了VSCode插件安装完成后的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • vscode扩展代码定位实现步骤详解

    vscode扩展代码定位实现步骤详解

    这篇文章主要为大家介绍了vscode扩展代码定位实现步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • IntelliJ IDEA卡死,如何优化内存

    IntelliJ IDEA卡死,如何优化内存

    这篇文章主要介绍了IntelliJ IDEA卡死,如何优化内存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05

最新评论