大家好,我是公众号一直摸鱼的小鱼,最近一直积极在社区(fishros.org.cn)回答问题,想着能增加点活跃度,但感觉社区一直发展不起来,于是小鱼就到国外一些高质量社区看了下,确实发现了很多不同之处。
小鱼参考的这个社区是 robotics.stackexchange.com ,问题相关性和我们社区比较像,讨论的基本都是ROS 相关技术,小鱼翻了几个帖子就发现了他们的提问质量都非常高,没错,说的是提问质量。
比如这个描述ros2 topic hz 命令相关问题。为了方便大家阅读,小鱼翻译成了中文,原文链接(https://robotics.stackexchange.com/questions/110419/inconsistency-between-ros2-topic-hz-and-bw)
首先是提问部分
ros2 topic hz和bw之间的不一致性
我遇到了一些意外行为,反映在和的输出中。.ros2 topic hzros2 topic bw
背景:
我正在构建一个在实时内核树莓派4上运行并通过CAN控制几个执行器的ros2_control硬件接口。每个执行器都有一个导出的状态接口,通过默认的joint_state_broadcaster发布到一个话题中。/joint_states
测试:
我试图找到控制器管理器更新速率和话题发布速率的限制。连接了2个执行器后,我以400hz、600hz、800hz和1khz的更新速率运行了一些测试,并在单独的终端中运行了.ros2 topic hz /joint_states和.ros2 topic bw /joint_states
在400hz、600hz和800hz的控制器管理器更新速率下,我得到了以下话题发布频率和带宽:
~400hz @ 46kbps
~600hz @ 70kbps
~795hz @ 93kbps
这些呈现了话题频率和带宽之间的线性关系(符合预期,因为理论上每个循环传输的数据量是恒定的)。
问题:
当我以1khz的控制器管理器更新速率运行时,我得到了一个话题频率约为~750hz @ 115kbps,这与我之前看到的关系不一致。115kbps在每个控制循环速率方面与较慢的速率一致,但话题发布频率没有跟上控制循环速率。
我想在1khz时,我接近了Pi4 cpu的极限,但我困惑的是带宽增加了,而话题频率却降低了。这似乎表明每个循环的数据传输发生了变化,但我不知道这是如何可能的。
如果有人能够解释为什么会发生这种情况,或者我的理解有误,我将非常感激!
看到那么详细的描述,读完后,小鱼立马就想到了原因,第一时间就下了结论和对应的测试方法,虽然没有帐号,也第一时间注册了个去回答。
其实对于这种能描述清晰,立马可以想到问题所在的提问者,相信大多数人都愿意随手指点一下。但如果是没头没尾,遇到问题不做任何探索尝试,就直接提问,往往需要多次询问提问者更多的信息,大多数人肯定不愿意花这个时间。
该社区除了对提问要求很高,对回答也是,小鱼的某个回答也被其他成员说了不合格。这就属于不清晰的回答,小鱼以后也会引以为鉴。
最后,小鱼制作了一个提问模板,要求发帖时必须使用模板和格式,对于描述不清的问题,小鱼就不会回答,而是要求提问者修改格式,帮助提问者完善问题后再进行作答。
## 标题:[清晰而简洁地总结您的问题]
## 提问模板(建议直接复制粘贴):
### 背景(可选):
[在这里描述你要实现什么,也许有更好的方案]
### 问题描述:
[在这里详细描述您遇到的问题。请确保您提供了足够的背景信息,以便其他人能够理解您的问题。]
### 具体细节和上下文:
- [列出任何相关细节或前后操作,以帮助回答者更好地理解您的问题。]
- [如果可能,请提供与您问题相关的链接或参考资料。]
### 尝试过的解决方法:
- [描述您已经尝试过的任何解决方法或方法。这可以帮助其他人了解您遇到问题的具体情况,并避免给出与您已经尝试过的解决方案相同的答案。]
最后就是要对你的提问负责,定期看一下问题是否被回答,有新的进展及时补充,如果有被回答,验证后一定要给个回复,这样后来者看到问题和答案才知道是怎么解决的,社区才能起到互相帮助的作用并可以维持良性发展。
小鱼再次感谢大家的提问和回答,愿国内机器人社区,从我们的每一次问答进步。