ROS(3)订阅者subscriber编程实现

cd ~/testROS_ws/src/topic_publisher/src

创建代码pose_subscriber.cpp

/*** 该例程将订阅/turtle1/pose话题,消息类型turtlesim::Pose*/#include <ros/ros.h>
#include "turtlesim/Pose.h"// 接收到订阅的消息后,会进入消息回调函数
void poseCallback(const turtlesim::Pose::ConstPtr& msg)
{// 将接收到的消息打印出来ROS_INFO("Turtle pose: x:%0.6f, y:%0.6f", msg->x, msg->y);
}int main(int argc, char **argv)
{// 初始化ROS节点ros::init(argc, argv, "pose_subscriber");// 创建节点句柄ros::NodeHandle n;// 创建一个Subscriber,订阅名为/turtle1/pose的topic,注册回调函数poseCallbackros::Subscriber pose_sub = n.subscribe("/turtle1/pose", 10, poseCallback);// 循环等待回调函数ros::spin();return 0;
}

3.编译代码

3.1修改cmakelists.txt

添加这两句:

add_executable(pose_subscriber src/pose_subscriber.cpp)target_link_libraries(pose_subscriber ${catkin_LIBRARIES})

python代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 该例程将订阅/turtle1/pose话题,消息类型turtlesim::Poseimport rospy
from turtlesim.msg import Posedef poseCallback(msg):rospy.loginfo("Turtle pose: x:%0.6f, y:%0.6f", msg.x, msg.y)def pose_subscriber():# ROS节点初始化rospy.init_node('pose_subscriber', anonymous=True)# 创建一个Subscriber,订阅名为/turtle1/pose的topic,注册回调函数poseCallbackrospy.Subscriber("/turtle1/pose", Pose, poseCallback)# 循环等待回调函数rospy.spin()if __name__ == '__main__':pose_subscriber()

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

居然还能这样——程序员加薪的新方法

我的朋友A君是个典型的.NET开发人员&#xff0c;技术不错&#xff0c;人品也不错&#xff0c;在一家小公司&#xff08;姑且称为甲公司&#xff09;做项目开发&#xff0c;是技术骨干。 3个月前&#xff0c;他找到我说想跳槽&#xff0c;让我帮忙介绍工作。我说为什么想跳了&am…

Hive 禁止提交 大范围磁盘扫描任务(禁止提交where条件包含未分区过滤)

参考书籍&#xff1a;Hive编程指南 如果用户需要做一个查询&#xff0c;查询条件是全盘扫描。Hive会不得不读取每个文件目录&#xff0c;但这种宽范围的磁盘扫描还是比较少见的。   但是&#xff0c;如果表中的数据以及分区个数都非常大的话&#xff0c;执行这样一个包含有所…

range类型

输入包含一定范围内的数字 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body><form action"demo_form.php"method"get">请输入数值: <input type&qu…

程序员真的很穷吗?

前几天一位做市场的同事跑过来问&#xff0c;池老师&#xff0c;我有一位朋友&#xff0c;快30了&#xff0c;想转行写程序&#xff0c;您觉得有戏吗&#xff1f;我看了看满目疮痍的他说&#xff0c;如果是你就没戏。 30多岁转行做程序员当然可行&#xff0c;毕竟历史上存在一些…

Hive 行转列,列传行 - Impala 暂不支持

注&#xff1a;Impala 不支持 lateral view explode 一、行转列 (对某列拆分&#xff0c;一列拆多行) 使用函数&#xff1a;lateral view explode(split(column, ,)) num eg: 如表&#xff1a;t_row_to_column_tmp 数据如下&#xff0c;对tag列进行拆分 SQL代码&#xff1a…

ros(4)话题的自定义消息

&#xff11;.首先创建msg文件 在cd ~/testROS_ws/src/topic_publisher/src新建person.msg string name uint8 age uint8 sexuint8 unknown 0 uint8 male 1 uint8 female 2 修改package.xml 添加这两句 <build_depend>message_generation</build_depend&g…

Hive 外部表关联分区数据

0. 说明 已经安装好Hadoop和hive环境&#xff0c;hive把元数据存储在mysql数据库。这里仅讨论外部表和HDFS的关联&#xff0c;并且删掉外部表之后&#xff0c;对HDFS上的文件没有影响。 1. 在HDFS创建分区&#xff0c;并存有文件 手工创建或者由程序在HDFS上生成了分区目录&a…

日期选择器date、week、time、datetime、datetime-local类型

下面只写两个类型的代码案例&#xff0c;其他都大同小异 date类型&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>hello</title></head><body><form action"demo_form.php"…

野生程序员的故事

野生程序员是指仅凭对计算机开发的兴趣进入这个行业&#xff0c;从前端到后台一手包揽&#xff0c;但各方面能力都不精通的人。野生程序员有很强大的单兵作战能力&#xff0c;但是在编入“正规军”之后&#xff0c;可能会不适应新的做事方法。 遭遇“野生程序员” 腾讯公司内部…

ros(5)service client实现

&#xff11;.创建功能包 cd ~/testROS_ws/src catkin_create_pkg service_example roscpp rospy std_msgs geometry_msgs turtlesim 创建cpp文件  /*** 该例程将请求/spawn服务&#xff0c;服务数据类型turtlesim::Spawn*/#include <ros/ros.h> #include <turtle…

output.properties data exceeds its limit [2048] HUE执行脚本异常

Hue执行Shell脚本报错 java.io.IOException: output.properties data exceeds its limit [2048]at org.apache.oozie.action.hadoop.LocalFsOperations.getLocalFileContentAsString(LocalFsOperations.java:86)at org.apache.oozie.action.hadoop.LauncherAM.processActionDa…

5种类型的程序员

在我的代码旅程和编程冒险中&#xff0c;我遇到过很多奇怪的敌人&#xff0c;以及陌生的盟友。我发现至少有五种不同类型的代码战士&#xff0c;有的人能成为并肩合作的战友&#xff0c;而有些人似乎只能衬托我的每一个计划。 不过&#xff0c;他们在软件开发这个万神殿中也有着…

html中怎么定义搜索框?html中search类型?

<!DOCTYPE html> <html><head><meta charset"utf-8" /><title>hello</title></head><body><form action"demo_form.php"method"get">请输入搜索关键字: <input type"search"…

ros(6) service server编程实现

创建代码 turtle_command_server.cpp /*** 该例程将执行/turtle_command服务&#xff0c;服务数据类型std_srvs/Trigger*/#include <ros/ros.h> #include <geometry_msgs/Twist.h> #include <std_srvs/Trigger.h>ros::Publisher turtle_vel_pub; bool pubC…

程序员要如何学英语?

一般来说&#xff0c;程序员可算是英语水平比较好的群体&#xff0c;因为在这个行业&#xff0c;英文资料是最全面、最及时&#xff0c;对英文资料的需求也最迫切的。就我观察&#xff0c;刚入门不久的程序员一般都能查阅英文文档&#xff0c;找到需要的信息。但是另一方面&…

Impala 查询导出到文本,本地系统

Hive查询导出到文本使用 insert overwrite local directory 在Impala中不支持&#xff0c;Impala使用&#xff0c;注意--output_delimiter与-B 一同使用&#xff0c;否则不生效 impala-shell -q "select birthday,b.uid from dw_crawler.bsl_weibo_article a,ods_xxx.…

html怎么设计自动出现提示的数据列表?怎么设计数据列表像百度一样怎么随用户输入而更新

<!DOCTYPE html> <html><head><meta charset"utf-8" /><title>hello</title></head><body><h2>输入查询的城市</h2><form autocomplete"on"><input type"text" id"s…

程序员从优秀到卓越的几点建议

和其他技术一样&#xff0c;编程也有层次阶段之分——业余爱好者、普通级别和专家级别。关于这个问题我问过很多很多次—— 如何从优秀到卓越&#xff1f;这是一个程序员应该扪心自问的最重要的问题。至少&#xff0c;在他们职业生涯的某些时候。 为了给出一个令人满意的答案&a…

ros(7)自定义service数据

创建Persom.srv 新建srv文件夹 在srv文件夹中创建Persom.srv&#xff0c;编辑文件 string name uint8 age uint8 sexuint8 unknown 0 uint8 male 1 uint8 female 2--- string result 修改package,xml add_service_files(FILESPerson.srv )generate_messages(DEPE…

Hive表 Parquet压缩 , Gzip,Snappy,uncompressed 效果对比

创建两张表&#xff0c;通过一种是parquet &#xff0c; 一种使用parquet snappy压缩 创建表 使用snappy CREATE EXTERNAL TABLE IF NOT EXISTS tableName(xxx string) partitioned by (pt_xvc string) ROW FORMAT DELIMITED FIELDS TERMINATED BY \001 STORED AS PARQUET TB…