本文简述:在 Ubuntu 22.04 系统中使用 VS Code 来搭建一个 ROS2 开发项目。
1. ROS2 安装
可以运行下面的命令,一键安装:
wget http://fishros.com/install -O fishros && . fishros
2. 创建 ROS 工作空间
本文假设配置完成 VS Code,C++ 环境(g++/gdb)。具体步骤可参考:Ubuntu 22.04: VS Code 配置 C++ 编译及 CMake
2.1 创建目录
选择文件夹作为工作空间,并在这个文件夹下,创建 src 子文件夹。
cd btl_ros_project/
mkdir src
2.2 编译工作空间
在创建好的功能包中,继续完成代码的编写,完成后需要编译和配置环境变量,才能正常运行:
colcon build # 编译工作空间所有功能包
source install/local_setup.bash # 配置环境初始化
执行命令后,文件夹内出现了一些新的文件夹:build, install, log。
创建工作空间时需要编译,以后创建功能包,修改代码后都要重新编译。
2.3 设置环境变量, 初始化工作区
编译完成后,还需要设置环境变量才能让系统知道这个工作空间内有哪些功能包和可执行文件,因此还需要设置环境变量。这一步的作用是初始化工作区。
1)使环境变量只在当前终端内生效
cd btl_ros_project/
source install/local_setup.sh
2)使环境变量在所有终端生效。使用第二种后,也可以使用第一种手动刷新环境变量。
cd btl_ros_project/
echo " source ~/myProjects/btl_ros_project/install/local_setup.sh" >> ~/.bashrc
设置环境变量的操作在每次编译之后都要执行。
package.xml
文件是ROS2项目的功能包管理文件。 CMakeLists.txt
是ROS2项目的编译配置文件,ROS2项目采用ament_cmake工具。
3. 创建功能包
功能包均位于工作空间下的src文件夹内,区别于工作空间,不能用普通的右键新建文件夹或者mkdir命令直接新建,需要使用 ros2 pkg create 命令新建。
3.1 创建只有一种语言的功能包
创建 C++ 功能包:
cd src
ros2 pkg create pkg_helloworld