1 构建自定义数据类型
1、自定义消息类型Student
1.1 创建base_interfaces_demo包
1.2 创建Student.msg文件
string name
int32 age
float64 height
1.2 在cmakeLists.txt中增加如下语句
#增加自定义消息类型的依赖
find_package(rosidl_default_generators REQUIRED)
# 为接口文件生成源代码
rosidl_generate_interfaces(${PROJECT_NAME}
"msg/Student.msg"
)
2、发布方实现
/*
需求:以固定频率发布文本消息:“hello world!!”,文本后缀编号,每发布一条,编号+1
流程:
1. 包含头文件
2. 初始化ROS2客户端;
3. 自定义节点类;
1. 创建发布方;
2. 创建定时器;
3. 在回调函数中,组织并发布消息,
4. 调用spin函数,传入自定义类的对象指针;
释放资源;
*/
#include "rclcpp/rclcpp.hpp"
#include "std_msgs/msg/string.hpp"
#include "base_interfaces_demo/msg/student.hpp"
using namespace std::chrono_literals;
using base_