ROS学习——通信机制(话题通信③—注意事项)

这篇具有很好参考价值的文章主要介绍了ROS学习——通信机制(话题通信③—注意事项)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2.1.2 话题通信基本操作A(C++) · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 

 043话题通信(C++)4_注意事项_Chapter2-ROS通信机制_哔哩哔哩_bilibili

1. int main(int argc, char const *argv[]){}

vscode 中的 main 函数 声明 int main(int argc, char const *argv[]){},默认生成 argv 被 const 修饰,需要去除该修饰符

2.头文件ros.h不存在

ros/ros.h No such file or directory .....

检查 CMakeList.txt find_package 出现重复,删除内容少的即可

参考资料:fatal error: ros/ros.h: No such file or directory - ROS Answers: Open Source Q&A Forum

3.未添加roscpp rospy std_msgs相关的依赖包

find_package 不添加一些包,也可以运行啊, ros.wiki 答案如下

You may notice that sometimes your project builds fine even if you did not call find_package with all dependencies. This is because catkin combines all your projects into one, so if an earlier project calls find_package, yours is configured with the same values. But forgetting the call means your project can easily break when built in isolation.
Copy

4.数据丢失

订阅时,第一条数据丢失

原因: 发送第一条数据时, publisher 还未在 roscore 注册完毕(先订阅,后发布的问题)

ROS学习——通信机制(话题通信③—注意事项)

解决: 注册后,加入休眠 ros::Duration(3.0).sleep(); 延迟第一条数据的发送

ROS学习——通信机制(话题通信③—注意事项)

ROS学习——通信机制(话题通信③—注意事项) 

 5.回调函数

相当于单片机的中断,满足了触发条件就执行这个函数

普通函数在语句中出现就执行,时机可控;

回调函数在语句中出现了不马上执行,而是等到外部消息过来了再执行,需要外部触发,时机不可控;

PS:可以使用 rqt_graph 查看节点关系。文章来源地址https://www.toymoban.com/news/detail-478467.html

到了这里,关于ROS学习——通信机制(话题通信③—注意事项)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ROS通信机制之话题(Topics)的发布与订阅以及自定义消息的实现

    我们知道在 ROS 中,由很多互不相干的节点组成了一个复杂的系统,单个的节点看起来是没起什么作用,但是节点之间进行了通信之后,相互之间能够交互信息和数据的时候,就变得很有意思了。 节点之间进行通信的一个常用方法就是使用 话题(topic) ,话题表示的是一个定义

    2024年02月11日
    浏览(37)
  • 蓝桥杯攻略大全 | 学习路线 | 注意事项

    蓝桥杯 攻略 一.语法基础 想参加算法竞赛就必须会使用一门编程语言,编程语言是竞赛的基础,如果你还没有学习编程就想参加蓝桥杯,那么我建议你先去学习一门编程语言,这里推荐C/C++,因为C语言更适合算法竞赛,java这种严谨的语言更适合做项目使用,不过如果你已经

    2024年02月03日
    浏览(43)
  • 机器学习21:机器学习工程落地注意事项-I

    目录  1.静态训练与动态训练 1.1 如何选择训练方式? 2.静态与动态推理

    2024年02月12日
    浏览(47)
  • 机器学习22:机器学习工程落地注意事项-II(公平-Fairness)

    负责任地评估机器学习模型需要做的不仅仅是计算损失指标。在将模型投入实际应用之前,审核训练数据并评估偏见( Bias )对预测至关重要。 本文内容着眼于解读训练数据中可能存在的不同类型的人类偏见,同时提供了识别它们并评估其影响的策略。 目录 1.偏见的类型(

    2024年02月12日
    浏览(47)
  • 【机器学习】进阶学习:详细解析Sklearn中的MinMaxScaler---原理、应用、源码与注意事项

    【机器学习】进阶学习:详细解析Sklearn中的MinMaxScaler—原理、应用、源码与注意事项 这篇文章的质量分达到了 97分 ,虽然满分是100分,但已经相当接近完美了。 请您耐心阅读,我相信您一定能从中获得不少宝贵的收获和启发~ 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matp

    2024年03月12日
    浏览(55)
  • 【机器学习】详细解析Sklearn中的StandardScaler---原理、应用、源码与注意事项

    【机器学习】详细解析Sklearn中的StandardScaler—原理、应用、源码与注意事项 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分

    2024年03月20日
    浏览(49)
  • C#反射的学习,反射的一些注意事项,反射的一些使用代码的实例

    本文档写的的是C#中的反射常用的方式(附带示例代码)以及在使用的时候的一些注意事项。 C#中的反射是一种强大的机制,它允许在运行时动态地检查、访问和操作程序的元数据、类型信息和对象。以下是C#中反射常用的技巧和使用方式: 获取类型信息:使用Type类可以获取

    2024年02月06日
    浏览(51)
  • Unity学习笔记--File.ReadAllLines和File.ReadAllText的使用以及注意事项(一定要看到最后!!!)

    最近在做文件存储以及读取的时候,需要用到C#给我们提供的类: File 具体使用方法可以看官方文档:C# File 类 这篇文章只会说 File.ReadAllLines 和 File.ReadAllText 的使用以及注意事项 Tips:(一定要看到最后!!!) 一、File.ReadAllLines 重载 操作 ReadAllLines(String) 打开一个文本文件

    2024年02月02日
    浏览(42)
  • 弱电线布线注意什么?弱电线布线的注意事项

    弱电 弱电一般是指直流电路或音频、视频线路、网络线路、电话线路,直流电压一般在36V以内。家用电器中的电话、电脑、电视机的信号输入(有线电视线路)、音响设备(输出端线路)等用电器均为弱电电气设备。 弱电线的种类如:电话线、网络线、有线电视线及音响线

    2024年02月07日
    浏览(44)
  • 算法竞赛个人注意事项

    浅浅记录一下自己在算法竞赛中的注意事项。 注意看数大小,数学库中的函数尽量加上 * 1.0 , 转成double,防止整型溢出。 , int 型相乘如果可能溢出,乘 * 1LL 。 数据范围大于1e6,注意用快读。 浮点数输入输出: 取模,注意取成负数的情况。 全 int ,但是数据太大,全转

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包