小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
提问前必看!不符合要求的问题拒绝回答!!
-
2024年4月更新
最近一直思考,国内机器人社区为什么发展不起来,于是就到国外一些高质量社区看了下,确实发现了很多不同之处。
小鱼参考的这个社区是 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的极限,但我困惑的是带宽增加了,而话题频率却降低了。这似乎表明每个循环的数据传输发生了变化,但我不知道这是如何可能的。 如果有人能够解释为什么会发生这种情况,或者我的理解有误,我将非常感激!
看到那么详细的描述,读完后,小鱼立马就想到了原因,第一时间就下了结论和对应的测试方法,虽然没有帐号,也第一时间注册了个去回答。
其实对于这种能描述清晰,立马可以想到问题所在的提问者,相信大多数人都愿意随手指点一下。但如果是没头没尾,遇到问题不做任何探索尝试,就直接提问,往往需要多次询问提问者更多的信息,大多数人肯定不愿意花这个时间。
该社区除了对提问要求很高,对回答也是,小鱼的某个回答也被其他成员说了不合格。这就属于不清晰的回答,小鱼以后也会引以为鉴。
最后,小鱼制作了一个提问模板,建议发帖时直接复制粘贴该模板使用。
## 标题:[清晰而简洁地总结您的问题] ## 提问模板(建议直接复制粘贴): ### 背景(可选): [在这里描述你要实现什么,也许有更好的方案] ### 问题描述: [在这里详细描述您遇到的问题。请确保您提供了足够的背景信息,以便其他人能够理解您的问题。] ### 具体细节和上下文: - [列出任何相关细节或前后操作,以帮助回答者更好地理解您的问题。] - [如果可能,请提供与您问题相关的链接或参考资料。] ### 尝试过的解决方法: - [描述您已经尝试过的任何解决方法或方法。这可以帮助其他人了解您遇到问题的具体情况,并避免给出与您已经尝试过的解决方案相同的答案。]
另外在发帖之前,请确保您已经在网站上搜索过您的问题,以确保它没有被回答过。感谢您的提问,社区会竭尽全力提供帮助!
最后就是要对你的提问负责,定期看一下问题是否被回答,有新的进展及时补充,如果有被回答,验证后一定要给个回复,这样后来者看到问题和答案才知道是怎么解决的,社区才能起到互相帮助的作用并可以维持良性发展。
最后小鱼再次感谢大家的提问和回答,愿国内机器人社区,从我们的每一次问答进步。
原文
一个好的提问不仅能够帮助自己理清楚问题,还有助于别人快速帮助到
你。——提问的智慧- 问题一定要描述清楚,终端打印一定复制粘贴,方便回答者检索和引用(你可以在linux系统上打开浏览器进社区)
- 基本的Markdown语法一定要学习下,不要图片代码一团糟
- 提问时一定要提供尽可能多的信息(系统版本,ROS版本,前后操作,终端日志),包括你的目的,比如你其实想装装某个库遇到问题,不要只说这个问题,因为可能有更好的替代方案
- 先搜索再提问,很多问题其实都有解决方案,确保你自己对自己的问题有一定了解再提问
- 尽量一句话说完,不要把社区当微信聊天一样用,每一个回复都尽量提供更多的的信息。
大家提问的时候一定需要注意以下几点:
1.使用明确的问题标题
好的标题:
- 一键安装后 进不去图形操作系统(能让人一眼看出问题)
不好的标题(看到后感觉莫名其妙不想回答):
- ssh远程登录(远程登录怎么了?)
- ROS安装错误(不说什么错误)
2. 不要截图,要复制粘贴,一定要代码块包裹
不要截图的原因是,代码方便回答者去复制帮你搜索,而且无论是在手机上还是电脑上都更容易看。
用代码块包裹是为了更加美观,不会一个代码很长一段,不易阅读
3. 尽量提供更多的信息(大多数问题不是别人不知道如何解决,而是不知道你的问题是什么)
即使再厉害的大佬,也不能通过你的一句话帮你定位出问题,提出解决方案。
如果是程序,版本信息,系统信息,ROS版本,你的前后操作等等都是帮助快速定位的。
4.如何添加话题
编辑话题在编辑页面左下方
-
https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md
在提问之前
在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情:
尝试在你准备提问的论坛的旧文章中搜索答案。
尝试上网搜索以找到答案。
尝试阅读手册以找到答案。
尝试阅读常见问题文件(FAQ)以找到答案。
尝试自己检查或试验以找到答案。
向你身边的强者朋友打听以找到答案。
如果你是程序开发者,请尝试阅读源代码以找到答案。
当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所学到的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。运用某些策略,比如先用 Google 搜索你所遇到的各种错误信息(搜索 Google 论坛和网页),这样很可能直接就找到了能解决问题的文件或邮件列表线索。即使没有结果,在邮件列表或新闻组寻求帮助时加上一句 我在 Google 中搜过下列句子但没有找到什么有用的东西 也是件好事,即使它只是表明了搜索引擎不能提供哪些帮助。这么做(加上搜索过的字串)也让遇到相似问题的其他人能被搜索引擎引导到你的提问来。
别着急,不要指望几秒钟的 Google 搜索就能解决一个复杂的问题。在向专家求助之前,再阅读一下常见问题文件(FAQ)、放轻松、坐得舒服一些,再花点时间思考一下这个问题。相信我们,他们能从你的提问看出你做了多少阅读与思考,如果你是有备而来,将更有可能得到解答。不要将所有问题一股脑拋出,只因你的第一次搜索没有找到答案(或者找到太多答案)。
准备好你的问题,再将问题仔细的思考过一遍,因为草率的发问只能得到草率的回答,或者根本得不到任何答案。越是能表现出在寻求帮助前你为解决问题所付出的努力,你越有可能得到实质性的帮助。
小心别问错了问题。如果你的问题基于错误的假设,某个普通黑客(J. Random Hacker)多半会一边在心里想着蠢问题…,一边用无意义的字面解释来答复你,希望着你会从问题的回答(而非你想得到的答案)中汲取教训。
绝不要自以为够格得到答案,你没有;你并没有。毕竟你没有为这种服务支付任何报酬。你将会是自己去挣到一个答案,靠提出有内涵的、有趣的、有思维激励作用的问题 —— 一个有潜力能贡献社区经验的问题,而不仅仅是被动的从他人处索取知识。
另一方面,表明你愿意在找答案的过程中做点什么是一个非常好的开端。谁能给点提示?、我的这个例子里缺了什么?以及我应该检查什么地方比请把我需要的确切的过程贴出来更容易得到答复。因为你表现出只要有人能指个正确方向,你就有完成它的能力和决心。
当你提问时
小心选择你要提问的场合。如果你做了下述的事情,你很可能被忽略掉或者被看作失败者:
在与主题不合的论坛上贴出你的问题。
在探讨进阶技术问题的论坛张贴非常初级的问题;反之亦然。
在太多的不同新闻群组上重复转贴同样的问题(cross-post)。
向既非熟人也没有义务解决你问题的人发送私人电邮。
黑客会剔除掉那些搞错场合的问题,以保护他们沟通的渠道不被无关的东西淹没。你不会想让这种事发生在自己身上的。因此,第一步是找到对的论坛。再说一次,Google 和其它搜索引擎还是你的朋友,用它们来找到与你遭遇到困难的软硬件问题最相关的网站。通常那儿都有常见问题(FAQ)、邮件列表及相关说明文件的链接。如果你的努力(包括阅读 FAQ)都没有结果,网站上也许还有报告 Bug(Bug-reporting)的流程或链接,如果是这样,链过去看看。
向陌生的人或论坛发送邮件最可能是风险最大的事情。举例来说,别假设一个提供丰富内容的网页的作者会想充当你的免费顾问。不要对你的问题是否会受到欢迎做太乐观的估计 —— 如果你不确定,那就向别处发送,或者压根别发。
在选择论坛、新闻群组或邮件列表时,别太相信它的名字,先看看 FAQ 或者许可书以弄清楚你的问题是否切题。发文前先翻翻已有的话题,这样可以让你感受一下那里的文化。事实上,事先在新闻组或邮件列表的历史记录中搜索与你问题相关的关键词是个极好的主意,也许这样就找到答案了。即使没有,也能帮助你归纳出更好的问题。
别像机关枪似的一次“扫射”所有的帮助渠道,这就像大喊大叫一样会使人不快。要一个一个地来。
搞清楚你的主题!最典型的错误之一是在某种致力于跨平台可移植的语言、套件或工具的论坛中提关于 Unix 或 Windows 操作系统程序界面的问题。如果你不明白为什么这是大错,最好在搞清楚这之间差异之前什么也别问。
一般来说,在仔细挑选的公共论坛中提问,会比在私有论坛中提同样的问题更容易得到有用的回答。有几个理由可以支持这点,一是看潜在的回复者有多少,二是看观众有多少。黑客较愿意回答那些能帮助到许多人的问题。
可以理解的是,老练的黑客和一些热门软件的作者正在接受过多的错发信息。就像那根最后压垮骆驼背的稻草一样,你的加入也有可能使情况走向极端 —— 已经好几次了,一些热门软件的作者由于涌入其私人邮箱的大量不堪忍受的无用邮件而不再提供支持。
-
@风雪 点赞点赞
-
此回复已被删除! -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-