本人最近刚开始学习ROS2,因此在此记录本人的学习历程。
个人认为只有先理解了ROS2的开发环境和整个项目的布局,才能在之后的学习中更加得心应手。
今天先简述:在Ubuntu22.04系统中使用VSCODE软件来搭建一个ROS2开发项目。
前期准备:
Ubuntu22.04版本
ROS2
VSCODE
具体步骤:
一. 安装VS CODE插件
我安装的是如下几个插件,可以根据自己的需求添加
二. 创建工作空间
按住ALT + CTRL + T 打开终端 ,输入以下指令:
mkdir -p test_xjw/src (工作空间自己取名,我取的是test_xjw)
cd test_xjw/src (进入demo_xjw/src文件夹)
code . (在该目录下打开VS CODE)
操作可参考如下:
三. 创建功能包
打开终端,在 工作空间/src 目录下 ,输入以下代码:
ros2 pkg create <你的功能包名字> --build-type <选择cmake/ament_camke/ament_python三者之一作为项目的编译工具> --node-name <节点名称,这一项可以不写,后续手动配置> --dependencies <依赖项名字,例如在ROS1中常用的rclpy rclcpp std_msgs sensor_msgs等>,如:
ros2 pkg create demo --build-type ament_cmake --node-name demo_node --dependencies rclcpp
四. 在<ROS2工程目录下>/src/<节点cpp>.cpp
进行节点编程
五. 配置 settings.json文件
需要自己
在项目下面新建 .vscode
文件夹,然后在在该文件夹下新建 settings.json文件
, 添加下列内容:
{
// Settings.json的配置,主要在于添加/opt/ros/humble文件夹下的ros2的include路径
// pldz@pldz-pc:~/share/ROS2_DEMO/1_Chapter/code/.vscode$ tree .
// .
// └── settings.json
// 0 directories, 1 file
"files.associations": {
"cstdio": "cpp"
},
"C_Cpp.default.includePath": ["/opt/ros/humble/include/**"]
}
六. 配置ROS2项目的 package.xml
文件和配置 CMakeLists.txt
文件:
package.xml
文件是ROS2项目的功能包管理文件。 CMakeLists.txt
是ROS2项目的编译配置文件,ROS2项目采用ament_cmake工具。
这一步,可以先不做改动。
七. 利用 colcon
工具构建项目:
打开终端,在项目工作空间的目录下,输入colcon build
进行构建
构建完成后,可以看到
八. 执行该项目节点文件:
首先需要添加项目的install环境,即 source <项目目录>/install/setup.bash
,然后可以通过ros2 run <项目名称> <节点名称>
运行节点.
也可以在工作空间目录下打开终端,输入
source ~/工作空间/install/setup.bash
echo "source ~/工作空间/install/setup.bash" >> ~/.bashrc
最后,运行。在终端输入 ros2 run 功能包名 节点名