Python 使用ROS与其他方法(有关此“其他方法”的更多详细信息,请参阅帖子)

Python 使用ROS与其他方法(有关此“其他方法”的更多详细信息,请参阅帖子),python,raspberry-pi,publish-subscribe,ros,robotics,Python,Raspberry Pi,Publish Subscribe,Ros,Robotics,所以我正在和一个朋友一起开发一个使用树莓皮的机器人。我们正在研制的这个机器人将是一艘自动艇。现在,对于Raspberry Pi,我们正在使用的Raspbian图像已经专门安装了ROS,ROS动能,我已经确认ROS正在工作 对于我们的机器人船,我们希望在其中包含不同的功能: 获取GPS定位 通过水听器获取音频并处理音频以检测特定的频率范围,即,我希望船能够检测通过水听器清晰听到8500-9000 Hz的声音 能够通过XBee进行通信 因此,我过去使用过ROS,我熟悉发布和订阅主题的概念。然而,我的

所以我正在和一个朋友一起开发一个使用树莓皮的机器人。我们正在研制的这个机器人将是一艘自动艇。现在,对于Raspberry Pi,我们正在使用的Raspbian图像已经专门安装了ROS,ROS动能,我已经确认ROS正在工作

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

获取GPS定位 通过水听器获取音频并处理音频以检测特定的频率范围,即,我希望船能够检测通过水听器清晰听到8500-9000 Hz的声音 能够通过XBee进行通信 因此,我过去使用过ROS,我熟悉发布和订阅主题的概念。然而,我的朋友说ROS会导致性能问题,因为ROS有一些开销,声称ROS会减慢我们的音频处理或其他

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

将上述机器人的3个方面分别放在不同的Python文件中。 当Raspberry Pi启动时,自动运行所有Python文件。 为了在本质上模仿ROS的发布/订阅功能相互传递信息,Python文件将写入不同的文本文件以发布值,并从这些文本文件中读取以订阅,并且这些文本文件包含的值将在每次更新新值时被覆盖。 所以。。。对于我们的机器人来说,哪种传递信息的方法更好

使用活性氧 使用我朋友提出的上述文件写入/读取方法 别的 哦,还有其他我应该提到的事情:

我知道如何使用ROS,我的朋友不知道 我的朋友实际上还没有完成所有的代码来完成他的文件编写/阅读想法,而ROS已经完全准备好了,可以继续使用覆盆子Pi
虽然我可以找到很多列出ROS各种优势的网站,我找不到任何东西可以将ROS与我上面提到的朋友的方法进行比较。

ROS有Nodelet,它允许多个节点生活在同一进程中,并在没有复制开销的情况下相互通信,因此比编写文件所产生的开销要少


有趣的常规节点如何?在性能方面,这些与写入文件相比如何?我之所以问这个问题,是因为NoDeles似乎只是C++,至少是根据我在网上搜索到的,我和我的朋友正在尝试处理Python。kutschkem@user2477181这不容易回答。我认为,区别在于通过网络接口还是通过磁盘。衡量一下。我不知道ROS或是什么推动了3文件设计,但github.com/schollii/pypubsub支持基于事件的架构,用于多模块但单进程的应用程序