这里写自定义目录标题
一、背景
主机:Ubuntu20.04
介绍:基于上一篇(四)ROS2学习–第一个ROS2项目(创建一个客制化接口),本片教程将会在新的包里面创建新的发布者publisher,发布到上一篇文章创建的topic,另外创建新的接收者subscriber也可以参考本篇文章。
二、构建步骤
1. 构建项目包
- 首先打开上一篇文章所用到的源码目录
cd <Your project path>/ros2_01/src
- 创建ROS2项目包及msg
ros2 pkg create --build-type ament_cmake car_publish_test
mkdir car_publish_test/msg
创建完成后项目目录结构如下
.
├── build.sh
└── src
├── car_publish_test
│ ├── CMakeLists.txt
│ ├── include
│ │ └── car_publish_test
│ ├── msg
│ ├── package.xml
│ └── src
└── smart_car
├── CMakeLists.txt
├── include
│ └── smart_car
├── msg
│ └── Car.msg
├── package.xml
└── src
├── publish_car.cpp
└── subscriber_car.cpp
11 directories, 8 files
2. 创建消息接口
- 创建msg文件
既然要用到上一篇文章创建的接口,就必然与上一个包里的msg文件有所关联,所以我们在路径“ros2_01/src/car_publish_test/msg/”目录下创建一个.msg文件,命名为Car.msg,内容如下:
smart_car/Car[] car
3. 修改“package.xml”
在"package.xml"中添加项目编译时依赖rosidl_default_generators及运行时依赖rosidl_default_runtime及依赖所在的组别。同时,此包依赖上一篇文章中生成的"smart_car", 也要添加编译和运行依赖。添加后的文件内容如下(需要自行修改项目描述description,作者信息maintainer ,以及遵从的license) :
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>car_publish_test</name>
<version>0.0.0</version>
<description>TODO: Package description</description>
<maintainer email