目录
- 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 time
def 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深度学习实战》
- 《机器学习强基计划》
- 《运动规划实战精讲》
- …