使用ROS vs other method(关于这个“other method”的更多细节,请参阅post)

2024-10-06 06:29:08 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我正在和一个朋友一起开发一个机器人(用树莓皮)。我们正在研究的这个机器人将是一艘自主船。现在,对于Raspberry Pi,我们使用的Raspbian图像已经很好地安装了ROS(特别是ROS动能),我已经确认了ROS正在工作。在

对于我们的机器人船,我们希望在其中包含不同的功能:

  1. 获取GPS位置
  2. 通过水听器获取音频并处理音频以检测特定频率范围(即,我希望船在通过水听器清晰听到8500-9000赫兹的声音时进行检测)
  3. 能够通过XBee进行通信

所以我以前用过ROS,我对发表和订阅主题的概念很熟悉。然而,我的朋友说,ROS会导致性能问题,因为ROS有一些“开销”,声称ROS会减慢我们的音频处理或其他什么。在

相反,他提出了以下替代方法:

  1. 将机器人的3个方面(如上所述)分别放在不同的Python文件中。在
  2. 当Raspberry Pi启动时,让所有Python文件自动运行。在
  3. 为了互相传递信息(本质上是“模仿”ROS的发布/订阅功能),Python文件将写入不同的文本文件(“发布”值)并从这些文本文件中读取(“订阅”),并且这些文本文件包含的值将在每次更新新值时被覆盖。在

所以。。。对于我们的机器人来说,哪种传递信息的方法更好?

  1. 使用ROS
  2. 使用我朋友提出的上述文件写入/读取方法
  3. 别的什么

哦,还有其他我应该提到的事情:

  1. 我知道如何使用ROS,我的朋友不会
  2. 我的朋友实际上还没有写完他写/读文件的所有代码,而ROS已经准备好了,可以继续使用Raspberry Pi了

虽然我可以找到很多网站列出ROS的各种优点,但我找不到任何可以将ROS与我前面提到的朋友的方法相比较的东西。在


Tags: 文件方法图像功能pi机器人朋友ros
1条回答
网友
1楼 · 发布于 2024-10-06 06:29:08

ROS有nodelet,它允许多个节点在同一个进程中生存并相互通信,而无需复制开销,因此比写文件所产生的开销要少。在

http://wiki.ros.org/nodelet

相关问题 更多 >