目录
- 0 专栏介绍
- 1 Ubuntu下安装VSCode
- 1.1 基本安装
- 1.2 将VSCode添加到侧边栏
- 2 VSCode集成相关插件
- 3 VSCode运行ROS2环境步骤
- 3.1 安装编译依赖项
- 3.2 创建工作空间和源码空间
- 3.3 启动VSCode与配置
- 4 测试工程环境
- 4.1 C++版本
- 4.2 Python版本
0 专栏介绍
本专栏旨在通过对ROS2的系统学习,掌握ROS2底层基本分布式原理,并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。
🚀详情:《ROS2从入门到精通》
1 Ubuntu下安装VSCode
1.1 基本安装
步骤如下:
- 通过国内源下载VSCode
- 将压缩包解压并移动到
usr/local
目录sudo mv VSCode-linux-x64 /usr/local/
- 获取运行权限:
sudo chmod +x /usr/local/VSCode-linux-x64/code
- 安装VSCode,注意此处只能用普通用户权限
/usr/local/VSCode-linux-x64/code
- 创建软链接:
之后在任意位置可通过终端输入sudo ln -s /usr/local/VSCode-linux-x64/code /usr/local/bin/vscode
vscode
启动软件
1.2 将VSCode添加到侧边栏
进入application
文件夹并新建桌面文件
cd /usr/share/applications
sudo vim vscode.desktop
根据应用取名***.desktop
,该方法适用于其他应用。
在该桌面文件中添加
[Desktop Entry]
Encoding=UTF-8
Name=VSCode
Comment=VSCode
Exec=/usr/local/VSCode-linux-x64/code
Icon=/usr/local/VSCode-linux-x64/resources/app/resources/linux/code.png
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;
对于其他应用,主要修改四个项目
- Name
- Comment
- Exec
- Icon
前两个随便描述,Exec
为应用程序可执行文件的路径;Icon
为应用程序图标的路径。
2 VSCode集成相关插件
主要包含:
-
C/C++ Microsoft
-
C++ Intellisense austin
-
CMake Tools Microsoft
-
Python Microsoft
-
ROS Microsoft
3 VSCode运行ROS2环境步骤
3.1 安装编译依赖项
- 创建虚拟环境,原理可看Anaconda安装与Python虚拟环境配置保姆级图文教程(附速查字典)
conda create -n ros2 python=3.10
- 切换到虚拟环境
conda activate ros2
- 安装
colcon
构建系统pip install -U colcon-common-extensions
- 安装其他依赖项
pip install catkin_pkg numpy lark setuptools==58.2.0 conda install -c conda-forge gcc=12.1.0
3.2 创建工作空间和源码空间
mkdir -p xxx_ws/src
cd xxx_ws
colcon build
3.3 启动VSCode与配置
cd xxx_ws
vscode .
新建.vscode
目录,添加配置文件tasks.json
,内容替换为:
{// 有关 tasks.json 格式的文档,请参见// https://go.microsoft.com/fwlink/?LinkId=733558"version": "2.0.0","tasks": [{"label": "colcon:build", //代表提示的描述性信息"type": "shell", //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行"command": "colcon build",//这个是我们需要运行的命令"args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”"group": {"kind":"build","isDefault":true},"presentation": {"reveal": "always"//可选always或者silence,代表是否输出信息},"problemMatcher": "$msCompile"}]}
即可通过快捷键ctrl + shift + B
调用编译
编译后.vscode文件夹中会产生
c_cpp_properties.json
: 与C/C++运行头文件、库文件配置有关settings.json
: 与Python解释器有关
将c_cpp_properties.json
内容替换为:
{"configurations": [{"browse": {"databaseFilename": "","limitSymbolsToIncludedHeaders": true},"includePath": ["/opt/ros/humble/include/**","/usr/include/**","/usr/lib/**","/usr/local/include","${workspaceFolder}/**"],"name": "ROS2","defines": [],"compilerPath": "/usr/bin/g++","cStandard": "gnu17","cppStandard": "c++17","intelliSenseMode": "linux-gcc-x64"}],"version": 4
}
4 测试工程环境
4.1 C++版本
测试代码(暂时不用管什么意思)
#include "rclcpp/rclcpp.hpp"class HelloWorldNode : public rclcpp::Node
{public:HelloWorldNode() : Node("node_helloworld"){while(rclcpp::ok()){RCLCPP_INFO(get_logger(), "Hello World");sleep(1);}}
};int main(int argc, char * argv[])
{rclcpp::init(argc, argv); rclcpp::spin(std::make_shared<HelloWorldNode>()); rclcpp::shutdown(); return 0;
}
配置CMakeLists.txt
和package.xml
后ctrl + shift + B
调用编译与测试
4.2 Python版本
测试代码(暂时不用管什么意思)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-import rclpy
from rclpy.node import Node
import timedef main(args=None): rclpy.init(args=args) node = Node("node_helloworld") while rclpy.ok(): node.get_logger().info("Hello World") time.sleep(0.5) node.destroy_node() rclpy.shutdown()
配置setup.cfg
、setup.py
和package.xml
后ctrl + shift + B
调用编译与测试
至此完成VSCode搭建ROS2工程环境
🔥 更多精彩专栏:
- 《ROS从入门到精通》
- 《Pytorch深度学习实战》
- 《机器学习强基计划》
- 《运动规划实战精讲》
- …