当前位置: 首页 > news >正文

网站怎么做看起来好看2021热门网络营销案例

网站怎么做看起来好看,2021热门网络营销案例,wordpress 评论 编辑器,公司网站建设深目录 新建消息文件更改包xml文件中的依赖关系更改cmakelist文件中的配置执行时依赖改变cmakelist编译顺序发布者程序调用者程序新建launch文件程序测试 新建消息文件 在功能包目录下,新建msg文件夹,下面新建mymsg.msg文件,其内容为 string …

目录

  • 新建消息文件
  • 更改包xml文件中的依赖关系
  • 更改cmakelist文件中的配置
  • 执行时依赖
  • 改变cmakelist
  • 编译顺序
  • 发布者程序
  • 调用者程序
  • 新建launch文件
  • 程序测试

新建消息文件

在功能包目录下,新建msg文件夹,下面新建mymsg.msg文件,其内容为

string name
float64 value

发布者包含该消息,生成头文件,由发布者publisher包含该消息头文件即可

更改包xml文件中的依赖关系

  <build_depend>message_generation</build_depend><exec_depend>message_runtime</exec_depend><!-- exce_depend 以前对应的是 run_depend 现在非法-->

更改cmakelist文件中的配置

新增了message_generation

find_package(catkin REQUIRED COMPONENTSroscpprospystd_msgsmessage_generation
)

配置 msg 源文件

add_message_files(FILESmymsg.msg
)

执行时依赖

catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES demo02_talker_listenerCATKIN_DEPENDS roscpp rospy std_msgs message_runtime
#  DEPENDS system_lib
)

改变cmakelist

新生成的.h文件位于devel/include文件夹下,在订阅及发布方的cmakelist中添加:

include_directories(
# include${catkin_INCLUDE_DIRS}"/root/work/ws/devel/include/"
)

这样工程才能找到生成的消息文件

编译顺序

编译时先编译带有自定义消息mymsg.msg的功能包,再编译整体的功能,其顺序不能出错,不然可能生成不了头文件

catkin_make --pkg publisher
catkin_make

发布者程序

// 1.包含头文件 
#include "ros/ros.h"
#include "std_msgs/String.h" //普通文本类型的消息
#include <sstream>
#include "publisher/mymsg.h"
int main(int argc, char  *argv[])
{   //设置编码setlocale(LC_ALL,"");//2.初始化 ROS 节点:命名(唯一)// 参数1和参数2 后期为节点传值会使用// 参数3 是节点名称,是一个标识符,需要保证运行后,在 ROS 网络拓扑中唯一ros::init(argc,argv,"talker");//3.实例化 ROS 句柄ros::NodeHandle nh;//该类封装了 ROS 中的一些常用功能//4.实例化 发布者 对象//泛型: 发布的消息类型//参数1: 要发布到的话题//参数2: 队列中最大保存的消息数,超出此阀值时,先进的先销毁(时间早的先销毁)ros::Publisher pub = nh.advertise<publisher::mymsg>("test",10);int count = 0; //消息计数器ros::Duration(0.5).sleep();//这里是每秒通过一次,剩余时间则阻塞在下面的r.sleepros::Rate r(1);//节点不死while (ros::ok()){//使用 stringstream 拼接字符串与编号publisher::mymsg msg;msg.name="liu";msg.value=count;//发布消息pub.publish(msg);//加入调试,打印发送的消息// ROS_INFO("发送的消息:%s",msg.data.c_str());//根据前面制定的发送贫频率自动休眠 休眠时间 = 1/频率;r.sleep();count++;//循环结束前,让 count 自增//暂无应用ros::spinOnce();}return 0;
}

调用者程序


// 1.包含头文件 
#include "ros/ros.h"
#include "std_msgs/String.h"
#include "publisher/mymsg.h"
//这里创建了回调函数,接收信息后传递的是std_msgs::String类型的常指针
void doMsg(const publisher::mymsg::ConstPtr& msg_p){ROS_INFO("订阅信息:%s,%.2f", msg_p->name.c_str(), msg_p->value);
}int main(int argc, char  *argv[])
{setlocale(LC_ALL,"");//2.初始化 ROS 节点:命名(唯一)ros::init(argc,argv,"listener");//3.实例化 ROS 句柄ros::NodeHandle nh;//4.实例化 订阅者 对象ros::Subscriber sub = nh.subscribe<publisher::mymsg>("test",10,doMsg);//5.处理订阅的消息(回调函数)ros::spin();//循环读取接收的数据,并调用回调函数处理return 0;
}

新建launch文件

两个包文件夹下新建launch目录,下有launch文件,以subscriber包为例

<launch><!-- screen表示输出到屏幕上 --><node pkg="subscriber" type="subscriber_node" name="listener" output="screen" />
</launch>

默认生成的cmakelist,节点可执行程序名为包名__node

程序测试

source ./devel/setup.bash
roslaunch subscriber start.launch
roslaunch publisher start.launch

在这里插入图片描述

http://www.ds6.com.cn/news/1863.html

相关文章:

  • 宁波网站关键词排名提升博客网站
  • 网站内图片变换怎么做阿里指数查询
  • 阿亮seo技术南宁seo外包要求
  • 网站多快能收录seo百度推广外包
  • 网站建设 提成媒体软文推广平台
  • 怎么在互联网上建立网站seo名词解释
  • 企业网站的建立主要用于企业内部发布信息游戏优化是什么意思
  • wordpress 简洁模板seo短视频网页入口引流网站
  • wordpress文章加入标签seo诊断方法步骤
  • 网站建设配置什么是seo文章
  • [网络收集]form表单及网站开发中常用js表单取值方法自动点击竞价广告软件
  • 商丘有哪些网络公司沈阳seo顾问
  • 公司网站建设合同app开发
  • 做原型的网站seo系统教程
  • 网站的数据库怎么做如何优化关键词提升相关度
  • e脉通网站苹果cms播放器
  • 网站开发常见问题总结免费的编程自学网站
  • 云南网站设计定制网络广告策划书案例
  • 深圳网站建设比较有名的企业公众号推广费用一般多少
  • 陕西网站制作公司哪家好本周国内重大新闻十条
  • 重庆市建设工程信息网官网查询证书下载su搜索引擎优化
  • 15年做哪些网站能致富石家庄seo网站排名
  • 房产网站设计模板公司业务推广
  • 地下城做解封任务的网站长尾词挖掘工具
  • 奇信建设集团官方网站seo推广要多少钱
  • 公司网站模板大全推广专家
  • 河北网站建设推广电话如何网上销售自己的产品
  • 长沙专业做网站武汉网络推广公司排名
  • 网址与网站的区别如何修改百度上面的门店号码
  • 有做彩票网站平台的吗百度付费推广的费用