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

wordpress 修改布局seo高级优化方法

wordpress 修改布局,seo高级优化方法,代做网站地图,六安网站建设目录 构建发布者构建订阅者编写lanch文件自动启动节点测试运行ROS的目录结构 切换到工作空间的src目录下: 构建发布者 catkin_create_pkg publisher std_msgs rospy roscpp编写发布者程序: // 1.包含头文件 #include "ros/ros.h" #include &…

目录

  • 构建发布者
  • 构建订阅者
  • 编写lanch文件自动启动节点
  • 测试运行
  • ROS的目录结构

切换到工作空间的src目录下:

构建发布者

catkin_create_pkg publisher std_msgs rospy roscpp

编写发布者程序:

// 1.包含头文件 
#include "ros/ros.h"
#include "std_msgs/String.h" //普通文本类型的消息
#include <sstream>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<std_msgs::String>("test",10);//5.组织被发布的数据,并编写逻辑发布数据//数据(动态组织)std_msgs::String msg;std::string msg_front = "这里是发布者发来的信息"; //消息前缀int count = 0; //消息计数器//发布消息前睡眠0.5秒,确保消息发布成功ros::Duration(0.5).sleep();//这里是每秒通过一次,剩余时间则阻塞在下面的r.sleepros::Rate r(1);//节点不死while (ros::ok()){//使用 stringstream 拼接字符串与编号std::stringstream ss;ss << msg_front << count;msg.data = ss.str();//发布消息pub.publish(msg);//加入调试,打印发送的消息ROS_INFO("发送的消息:%s",msg.data.c_str());//根据前面制定的发送贫频率自动休眠 休眠时间 = 1/频率;r.sleep();count++;//循环结束前,让 count 自增//暂无应用ros::spinOnce();}return 0;
}

在cmakelist中把:

add_executable(${PROJECT_NAME}_node src/publisher.cpp)
target_link_libraries(${PROJECT_NAME}_node${catkin_LIBRARIES}
)

注释去掉

构建订阅者

同样先创建包:

catkin_create_pkg subscriber std_msgs rospy roscpp

然后构建订阅者节点:

// 1.包含头文件 
#include "ros/ros.h"
#include "std_msgs/String.h"
//这里创建了回调函数,接收信息后传递的是std_msgs::String类型的常指针
void doMsg(const std_msgs::String::ConstPtr& msg_p){ROS_INFO("作为订阅者,我接收到了:%s",msg_p->data.c_str());}
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<std_msgs::String>("test",10,doMsg);//5.处理订阅的消息(回调函数)ros::spin();//循环读取接收的数据,并调用回调函数处理return 0;
}

对于cmakelist的操作相同,添加构造对象及对象所需的依赖:

add_executable(${PROJECT_NAME}_node src/subscriber.cpp)
target_link_libraries(${PROJECT_NAME}_node${catkin_LIBRARIES}
)

然后退回到工作空间所在的下层目录,进行catkin_make编译。

编写lanch文件自动启动节点

在功能包目录下新建launch目录,下面放launch文件。形如:

<launch><!-- screen表示输出到屏幕上 --><node pkg="publisher" type="publisher_node" name="talker" output="screen" />
</launch>

其中:
pkg=“包名”

节点所属的包

type=“nodeType”

节点类型(与之相同名称的可执行文件)

name=“nodeName”

节点名称(在 ROS 网络拓扑中节点的名称)

测试运行

激活工作空间环境变量:

source ./devel/setup.bash

启动:

rosluanch publisher start.launch
rosluanch subscriber start.launch

在这里插入图片描述

ROS的目录结构

在这里插入图片描述

http://www.yidumall.com/news/58192.html

相关文章:

  • 博客式笑话网站织梦源码河南纯手工seo
  • 做网站有地区差异吗网站建设详细方案模板
  • 做网站好的网站建设公司排名百度站内搜索的方法
  • 以前做的网站怎么才能登陆后台电商网站建设价格
  • 做购物网站适合的服务器百度seo是什么
  • 设计做网站通用cms的源代码seo快速排名优化方法
  • 常用的网站建设程序有那些如何成为百度广告代理商
  • 保洁公司开发app鱼头seo软件
  • 效果图制作网站网络营销策划书2000字
  • 怎么做关于梦想的网站免费的免费网站安全软件下载
  • 爱站网在线全集私人影视图片优化
  • 长春电商网站建设哪家专业宁波正规优化seo软件
  • 做网站可以用新建项目的方式吗网店运营
  • 有哪些网站可以用网站文章优化技巧
  • jekyll做公司网站个人网站模板
  • 无锡网站建设设计友情链接是什么
  • 莆田网站建设方案优化新媒体销售好做吗
  • 龙口建网站价格搜索引擎广告推广
  • 陕西网站建设托管东营seo整站优化
  • 做flash的网站免费拓客软件排行榜
  • 政府网站数据开放 建设方案seo网站推广案例
  • 响应式网站视频会计培训班推荐
  • 页面设计美观青山seo排名公司
  • 环球军事网最新军事新闻做关键词优化的公司
  • 做网站都有什么成本免费引流在线推广
  • 网站优化分析温州seo招聘
  • 成都网站设计得多少钱北京seo外包
  • 办公软件广告投放优化师
  • 国际免费b2b网站大全在线优化seo
  • 庆阳网页设计背景陕西整站关键词自然排名优化