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

绿化面积 建设网站百度风云榜小说排行榜历届榜单

绿化面积 建设网站,百度风云榜小说排行榜历届榜单,做网络平台的网站有哪些,福田区网站建设文章目录运行环境:思路:1.1 定义.msg文件1)功能包下新建 msg 目录,添加文件 Person.msg2)修改package.xml3)修改CMakeLists.txt2.1 自定义消息调用(C)1)编译后修改includePath2)发布方实现2.1修改CMakeLists.txt2.3运行…

文章目录

    • 运行环境:
    • 思路:
    • 1.1 定义.msg文件
      • 1)功能包下新建 msg 目录,添加文件 Person.msg
      • 2)修改package.xml
      • 3)修改CMakeLists.txt
    • 2.1 自定义消息调用(C++)
      • 1)编译后修改includePath
      • 2)发布方实现
        • 2.1修改CMakeLists.txt
        • 2.3运行节点
      • 3)订阅方实现
        • 3.1修改CMakeLists.txt
        • 3.2运行节点

运行环境:

ubuntu20.04 noetic
宏基暗影骑士笔记本

思路:

定义.msg文件
修改package.xml和CMakeLists.txt文件

编译后修改includePath
创建功能包
在功能包src下新建.cpp文件

1.1 定义.msg文件

1)功能包下新建 msg 目录,添加文件 Person.msg

string name
uint16 age
float64 height

package.xml --功能包清单文件
CMakeLists.txt --CMake 配置文件

2)修改package.xml

# 编译依赖与执行依赖<build_depend>message_generation</build_depend><exec_depend>message_runtime</exec_depend>

3)修改CMakeLists.txt

编译依赖、运行依赖、引入msg、依赖std_msg

# 编译依赖
find_package(catkin REQUIRED COMPONENTSroscpprospystd_msgsmessage_generation
)
#运行依赖
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES demo02_talker_listenerCATKIN_DEPENDS roscpp rospy std_msgs message_runtime
#  DEPENDS system_lib
)
# 将.msg 引入功能包
add_message_files(FILESPerson.msg
)
# generate_messages 依赖于 std_msgs
generate_messages(DEPENDENCIESstd_msgs
)


2.1 自定义消息调用(C++)

1)编译后修改includePath

"/home/duduzai/demo01_ws/devel/include/**"

在这里插入图片描述

Person.msg编译后自动生成Person.h


2)发布方实现

在功能包src中新建person_pub.cpp文件

/*需求: 循环发布人的信息*/#include "ros/ros.h"
#include "demo01_pub/Person.h"int main(int argc, char *argv[])
{setlocale(LC_ALL,"");//1.初始化 ROS 节点ros::init(argc,argv,"talker_person");//2.创建 ROS 句柄ros::NodeHandle nh;//3.创建发布者对象ros::Publisher pub = nh.advertise<demo01_pub::Person>("chatter_person",1000);//4.组织被发布的消息,编写发布逻辑并发布消息demo01_pub::Person p;p.name = "sunwukong";p.age = 2000;p.height = 1.45;ros::Rate r(1);while (ros::ok()){pub.publish(p);p.age += 1;ROS_INFO("我叫:%s,今年%d岁,高%.2f米", p.name.c_str(), p.age, p.height);r.sleep();ros::spinOnce();}return 0;
}

.msg编译后生成.h头文件,下面引入头文件
#include “demo01_pub/Person.h”

消息类型
<demo01_pub::Person>

2.1修改CMakeLists.txt

# 生成可执行文件
add_executable(person_pub.cpp src/person_pub.cpp)# 链接可执行文件和消息类型
add_dependencies(person_pub.cpp ${PROJECT_NAME}_generate_messages_cpp)# 链接可执行和编译库
target_link_libraries(person_pub.cpp${catkin_LIBRARIES}
)

2.3运行节点

roscore
source ./devel/setup.bash
rosrun demo01_pub person_pub.cpp 

在这里插入图片描述


3)订阅方实现

在功能包src中新建person_sub.cpp文件

/*需求: 订阅人的信息*/#include "ros/ros.h"
#include "demo01_pub/Person.h"void doPerson(const demo01_pub::Person::ConstPtr& person_p){ROS_INFO("订阅的人信息:%s, %d, %.2f", person_p->name.c_str(), person_p->age, person_p->height);
}int main(int argc, char *argv[])
{   setlocale(LC_ALL,"");//1.初始化 ROS 节点ros::init(argc,argv,"listener_person");//2.创建 ROS 句柄ros::NodeHandle nh;//3.创建订阅对象ros::Subscriber sub = nh.subscribe<demo01_pub::Person>("chatter_person",10,doPerson);//4.回调函数中处理 person//5.ros::spin();ros::spin();    return 0;
}

3.1修改CMakeLists.txt

# 生成可执行文件
add_executable(person_sub.cpp src/person_sub.cpp)# 链接可执行文件和消息类型
add_dependencies(person_sub.cpp ${PROJECT_NAME}_generate_messages_cpp)# 链接可执行和编译库
target_link_libraries(person_sub.cpp${catkin_LIBRARIES}
)

3.2运行节点

# 打开终端
cd /home/duduzai/demo01_ws
source ./devel/setup.bash
rosrun demo01_pub person_sub.cpp 

在这里插入图片描述


⭐⭐⭐嘟嘟崽 ⭐⭐⭐
⭐⭐⭐祝你成功 ⭐⭐⭐
http://www.zhongyajixie.com/news/31954.html

相关文章:

  • 博物馆网站建设策划书吉林关键词优化的方法
  • 在网站上放广告百度如何推广广告
  • 简单大气静态网页模板seoaoo
  • 公司的网站建设费用算什么费用推广软文范例100字
  • 公司网站可以自己做成都seo技术
  • 中国网站建设第一品牌百度问答seo
  • 婚纱摄影网站的设计与实现论文百度云盘网官网
  • 电影网站备案衡阳网站优化公司
  • 全国做网站找哪家好竞价推广账户托管费用
  • 网站建设与维护内容seo快速排名软件方案
  • 张家港做外贸网站正在播网球比赛直播
  • office 网页制作软件锦州网站seo
  • 网站制作专业重庆网站seo搜索引擎优化
  • 昆山做企业网站sem是什么分析方法
  • 手机网站 微信支付流量精灵官网
  • 大型网站建设教程班级优化大师功能介绍
  • 网站建设的建议例子长沙疫情最新消息今天封城了
  • 学会建设网站必要性如何推广软件
  • 杭州定制网站公司中国新冠疫情最新消息
  • 房子如何上网站做民宿公司推广渠道
  • 网页设计怎样设置图片大小宿州百度seo排名软件
  • 做房产中介网站新媒体运营需要哪些技能
  • 南昌师范学院网站建设的意义和目的百度seo文章
  • 想给公司做个网站怎么做手机关键词排名优化
  • jsp做网站教程银川网页设计公司
  • 杭州网站建设案例八百客crm登录入口
  • wordpress网页图片加载很慢厦门seo蜘蛛屯
  • 长沙诚信做网站怎样推广公司的网站
  • 建筑设计专业的网站企业qq手机版
  • 网站空间服务站电话湖南正规seo公司