当前位置:网站首页>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介绍”)
边栏推荐
- js删除字符串中的子串
- Green bamboo biological sprint Hong Kong stocks: loss of more than 500million during the year, tiger medicine and Beijing Yizhuang are shareholders
- The poor family once again gave birth to a noble son: Jiangxi poor county got the provincial number one, what did you do right?
- P6774 [NOI2020] 时代的眼泪(分块)
- Tech talk activity preview | building intelligent visual products based on Amazon kVs
- 一年顶十年
- Changwan group rushed to Hong Kong stocks: the annual revenue was 289million, and Liu Hui had 53.46% voting rights
- Eye of depth (II) -- matrix and its basic operations
- 福元医药上交所上市:市值105亿 胡柏藩身价超40亿
- Vscode setting delete line shortcut [easy to understand]
猜你喜欢

【Leetcode】13. Roman numeral to integer

智能垃圾桶(五)——点亮OLED

博客主题 “Text“ 夏日清新特别版

剑指 Offer 25. 合并两个排序的链表

Win10系统使用pip安装juypter notebook过程记录(安装在系统盘以外的盘)

PhD battle-11 preview | review and prospect backdoor attack and defense of neural network

2020 "Lenovo Cup" National College programming online Invitational Competition and the third Shanghai University of technology programming competition (a sign in, B sign in, C sign in, D thinking +mst

GeoServer:发布PostGIS数据源

Qstype implementation of self drawing interface project practice (II)

Chapter 3 of hands on deep learning - (1) linear regression is realized from scratch_ Learning thinking and exercise answers
随机推荐
Amazon cloud technology community builder application window opens
Timing / counter of 32 and 51 single chip microcomputer
Ocio V2 reverse LUT
A case study of college entrance examination prediction based on multivariate time series
Un an à dix ans
剑指 Offer 24. 反转链表
The poor family once again gave birth to a noble son: Jiangxi poor county got the provincial number one, what did you do right?
Smart trash can (V) - light up OLED
Geoserver: publishing PostGIS data sources
[essay solicitation activity] Dear developer, RT thread community calls you to contribute
畅玩集团冲刺港股:年营收2.89亿 刘辉有53.46%投票权
二、mock平台的扩展
In MySQL and Oracle, the boundary and range of between and precautions when querying the date
Eye of depth (II) -- matrix and its basic operations
【Leetcode】13. Roman numeral to integer
详细介绍scrollIntoView()方法属性
lsf基础命令
体验居家办公完成项目有感 | 社区征文
js删除字符串中的子串
Notice on holding a salon for young editors of scientific and Technological Journals -- the abilities and promotion strategies that young editors should have in the new era