当前位置:网站首页>ROS知识点——消息过滤器 ( message_filters)
ROS知识点——消息过滤器 ( message_filters)
2022-07-02 14:49:00 【Jerry_Sea】
参考:
1)时间同步器
https://blog.csdn.net/u012700322/article/details/51784412
https://blog.csdn.net/fana8010/article/details/23880067(这篇文章是上一篇的原文)
2)基于策略的同步器
https://blog.csdn.net/muyiyushan/article/details/118418040(官网翻译,第7部分)
http://wiki.ros.org/message_filters#Policy-Based_Synchronizer_.5BROS_1.1.2B-.5D(官网,第7部分)
以下是针对参考1)中的第一篇内容:
bug1:3.1 连接
两句等价成一句,但为什么要分开成两句呢?因为只使用一句只能读取一个输入传给回调函数,所以需要使用两句,先用一句分开将多个数据封装好,然后再用一句将多个数据传给回调函数。
boost bind
bug2:4 时间一致器
The TimeSynchronizer filter synchronizes incoming channels by the timestamps contained in their headers
PointCloud2ROS点云数据消息结构:header里面有个stamp,比较不同数据源的stamp来进行时间同步。
以下是针对参考2)中的解释:
bug3:对“自己”代码的理解
typedef message_filters::sync_policies::ApproximateTime<sensor_msgs::PointCloud2, sensor_msgs::PointCloud2> SyncPolicyT;
//定义策略,message_filters::sync_policies::ApproximateTime策略使用一个基于时间戳的自适应算法匹配消息,匹配两个点云
void DualLidarCalib::start()
{
// 订阅器 sub and pub
parent_cloud_sub_ = new message_filters::Subscriber<sensor_msgs::PointCloud2>(nh_, parent_cloud_topic_, 10);
child_cloud_sub_ = new message_filters::Subscriber<sensor_msgs::PointCloud2>(nh_, child_cloud_topic_, 10);
//点云同步器 ApproximateTime takes a queue size as its constructor argument, hence MySyncPolicy(100)
cloud_synchronizer_ = new message_filters::Synchronizer<SyncPolicyT>(SyncPolicyT(100), *parent_cloud_sub_, *child_cloud_sub_);
//调用回调函数
cloud_synchronizer_->registerCallback(boost::bind(&DualLidarCalib::cloudCallback, this, _1, _2));
//registerCallback()输入为const boost::shared_ptr<M const>&
}
void DualLidarCalib::cloudCallback(const sensor_msgs::PointCloud2::ConstPtr& in_parent_cloud_msg,
const sensor_msgs::PointCloud2::ConstPtr& in_child_cloud_msg)
{
...
}
boost::bind()理解:
1)https://blog.csdn.net/holyjw/article/details/89883363(只用看“1. 通过functions和function pointers使用bind”)
2)https://blog.csdn.net/bj318318/article/details/116200356(只用看“1介绍”)
边栏推荐
- 13、Darknet YOLO3
- QStyle实现自绘界面项目实战(二)
- Atcoder beginer contest 169 (B, C, D unique decomposition, e mathematical analysis f (DP))
- How to transfer business data with BorgWarner through EDI?
- PhD battle-11 preview | review and prospect backdoor attack and defense of neural network
- 什么是敏捷开发流程
- Interpretation of key parameters in MOSFET device manual
- Shutter: action feedback
- 关于举办科技期刊青年编辑沙龙——新时代青年编辑应具备的能力及提升策略的通知...
- Sword finger offer 27 Image of binary tree
猜你喜欢

A case study of college entrance examination prediction based on multivariate time series

Atcoder beginer contest 169 (B, C, D unique decomposition, e mathematical analysis f (DP))

七张图,学会做有价值的经营分析
![[shutter] dart data type (dynamic data type)](/img/6d/60277377852294c133b94205066e9e.jpg)
[shutter] dart data type (dynamic data type)

Error when uploading code to remote warehouse: remote origin already exists

Baobab's gem IPO was terminated: Tang Guangyu once planned to raise 1.8 billion to control 47% of the equity

Interpretation of key parameters in MOSFET device manual

你想要的宏基因组-微生物组知识全在这(2022.7)

LeetCode:1380. Lucky number in matrix -- simple

Listing of chaozhuo Aviation Technology Co., Ltd.: raising 900million yuan, with a market value of more than 6billion yuan, becoming the first science and technology innovation board enterprise in Xia
随机推荐
宝宝巴士创业板IPO被终止:曾拟募资18亿 唐光宇控制47%股权
Briefly introduce the use of base64encoder
简单介绍BASE64Encoder的使用
[error record] error -32000 received from application: there are no running service protocol
Exploration of mobile application performance tools
Nexus簡介及小白使用IDEA打包上傳到Nexus3私服詳細教程
Sword finger offer 25 Merge two sorted linked lists
Sword finger offer 21 Adjust the array order so that odd numbers precede even numbers
ETH数据集下载及相关问题
电脑自带软件使图片底色变为透明(抠图白底)
TCP congestion control details | 2 background
Fuyuan medicine is listed on the Shanghai Stock Exchange: the market value is 10.5 billion, and Hu Baifan is worth more than 4billion
13、Darknet YOLO3
[shutter] dart data type (dynamic data type)
海思Hi3798MV100机顶盒芯片介绍[通俗易懂]
使用知行之桥的API端口,提供资源供合作伙伴访问
Weili holdings listed on the Hong Kong Stock Exchange: with a market value of HK $500million, it contributed an IPO to Hubei
OpenHarmony如何启动远程设备的FA
Connect Porsche and 3PL EDI cases
Eth data set download and related problems