我是一名行业程序员,还是一名航空航天爱好者,在这两个领域都有一定程度的培训。我正在从事一个无人机项目,虽然DIY无人机的优秀人才非常有帮助,但这个问题与无人机相关的问题略少,而与通用机器人/电子学的问题略多。本质上,我正在寻找地面站的选项,而我目前的粗略计划是这样的:

我有一个PC操纵杆,其底座中的传感器坏了,我打算将其拆卸,分开从底座的手柄上,将Arduino Nano插入(大部分为中空)手柄,并将其钩到所有按钮和帽子指尖上。然后,在用于将茎杆接收到底座的孔的位置,我安装一个水平延伸的支架,以固定一个较小的触摸屏(想想Razer的Project Fiona平板电脑只有一根棒),然后在其后安装Raspberry Pi。 Nano通过HID输入通过USB与RPi对话。 RPi将运行一些自定义软件,以显示从无人机发送来的遥测和其他数据。

我的主要问题是,Nano是否具有足够的能力来运行提供遥测链接的XBee而不会造成延迟在控制输入中。值得一提的是,无人机将进行线控飞行,因此轻微的卡顿不会导致飞行不稳定,但是严重的打扰仍然是有问题的,而且很烦人。还值得一提的是,这将仅用作简化的“指导手”控件。总是会有一个常规的遥控器可用(尤其是由于欧盟的飞行法规),所以这仅适用于我不想使用它的情况。如果那Nano不行,我有什么选择?我的第一个想法是再买一个Nano并驱动XBee(RPi毕竟有两个USB端口),但是可能会有更好的方法。

评论

如果可能,请在问题中添加一些图片,这肯定有助于理解您想要的内容。

即将添加系统图。

#1 楼

Arduino Nano应该可以与XBee交互。

如果您使用Arduino来转发RPi发出的消息,则最好只使用XBee Explorer板(基本上是FTDI芯片,带有适合XBee的插槽)。配置完成后,您要做的就是写一个串行端口以使XBee发送消息...所有处理都在芯片内完成。

评论


$ \ begingroup $
我还需要一些东西来处理来自五个按钮,一个滑块和一个指点杆的输入,并将它们传递给XBee。 RPi也应该看到这些输入,尽管是串联还是并联并不重要。
$ \ endgroup $
–anaximander
13年2月12日在9:50

$ \ begingroup $
同意。与运行完整的Linux堆栈的Raspberry Pi相比,与定义良好的控制循环的Arduino相比,您将获得更好的实时特性。
$ \ endgroup $
–杰伊·海狸
13年2月18日在15:50

#2 楼

如果我正确地理解了您的体系结构(从操纵杆到无人机),则是这样的:

$ {[\ text {joystick}]-\ text {wires}-\ atop [\ text {RPi }]-\ text {USB HID}-}-[\ text {Nano}]-\ text {XBee}-[\ text {UAV}] $

您正在考虑布局它这:

$ [\ text {joystick}]-\ text {wires}-[\ text {Nano}]-\ text {USB HID}-[\ text {Rpi}]-\ text {USB HID}-[\ text {Nano}]-\ text {XBee}-[\ text {UAV}] $

Nano应该足够强大,足以运行XBee和控件。即使速度不够快,我怀疑您是否可以通过添加两个USB HID链接引入的延迟以及RPi板上的处理来改善它。

评论


$ \ begingroup $
差不多。首先是我最初拥有的东西,但是后来我开始怀疑Nano是否有能力处理所有三种路线(操纵杆-> XBee,操纵杆-> RPi,RPi-> XBee)而不会在其中任何一个引入滞后。我猜最简单的方法是将它们全部连接到工作台上并进行测试。如果事实证明它很慢,那么我可以考虑其他选择。
$ \ endgroup $
–anaximander
13年2月13日在9:13