ROS:msg自定义类型,话题通信

更新时间:2023-05-27 01:59:32 阅读: 评论:0

ROS:msg⾃定义类型,话题通信话题通信图⽰:
打开新创建的⼯作空间
创建msg⽂件
⾃定义变量类型中申明三个变量查别人手机位置
string name
int32 age
float32 height
修改配置⽂件
<buildtool_depend>catkin</buildtool_depend>
<build_depend>roscpp</build_depend>
<build_depend>rospy</build_depend>
<build_depend>std_msgs</build_depend>
<build_depend>message_generation</build_depend>
<build_export_depend>roscpp</build_export_depend> <build_export_depend>rospy</build_export_depend>
<build_export_depend>std_msgs</build_export_depend>
重点工作计划<exec_depend>roscpp</exec_depend>
<exec_depend>rospy</exec_depend>
<exec_depend>std_msgs</exec_depend>
<exec_depend>message_runtime</exec_depend>
修改另⼀个配置⽂件
第⼀步
第⼆步(注意,这是⾃⼰创建的msg⽂件名称)
第三步(解封这段)
第四步 后⾯添加
编译
编写发布者程序
创建⽂件
需要修改配置⽂件,让系统先编译⾃定义数据类型
add_dependencies(person_pub ${PROJECT_NAME}_generate_messages_cpp )发布者代码
#include"ros/ros.h"
#include"../../../devel/include/plumbing_pub_sub/Person.h"
/*
发布⽅:发布⼈的消息
1.包含头⽂件
#include "plumbing_pub_sub/person.h"
表格法2.初始化ROS节点
3.创建节点句柄
4.创建发布者对象
5.编写发布逻辑,发布数据
*/
int main(int argc,char*argv[])
{
tlocale(LC_ALL,"");
ROS_INFO("这是消息发布者");
小学生反义词// 2.初始化ROS节点
ros::init(argc,argv,"banZhuRen");
/
/ 3.创建节点句柄
ros::NodeHandle nh;
//  4.创建发布者对象
ros::Publisher pub = nh.adverti<plumbing_pub_sub::Person>("liaotian",10);
// 5.编写发布逻辑,发布数据
//5.1创建被发布的数据
plumbing_pub_sub::Person  person;
person.name ="张三";
person.age =18;
person.height =1.70;
南京科技学院
//5.2设置发布频率
店长英文
ros::Rate      rate(1);
孤掌
//5.3循环发布数据
while(ros::ok())
{
//数据发布
pub.publish(person);
ROS_INFO("发布的消息为:名字:%s,年龄:%d,⾝⾼:%2f",person.name.c_str(),person.age,person.height);
//年龄加⼀
person.age ++;
//延时
rate.sleep();
//建议
ros::spinOnce();
}
return0;
}
着急造句

本文发布于:2023-05-27 01:59:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/789014.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:发布   类型   创建   发布者   数据   配置   编写   修改
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图