我应该使用TCP或UDP连接将控制命令发送到PC /基站的无人驾驶飞行器吗?
车辆很小(大约是人类指甲的大小),需要从基站继续控制以稳定它。
以下是我的想法:TCP应该是可靠的传输但速度慢而UDP不能像TCP那样提供数据包传输的保证,但比TCP快。
由于我真的非常关心尽快从基站将数据包传送到无人机,我认为使用UDP是可行的方法。
我离开了吗?我是否过度简化了这个问题?
答案 0 :(得分:2)
在我的意见中我不会说。
我强烈建议你有一个内部控制回路稳定无人机,只使用数据连接发送更多面向行为的命令,如Fly west,Fly east等。
我假设您正在使用某种无线发射器进行连接。
如果您使用UDP,则无法确定控制数据包是否到达UAV,这可能导致其变得不稳定并崩溃。
如果您使用TCP,则无法保证控制数据包以规则的时间间隔到达UAV,这可能会导致其变得不稳定并导致崩溃。
如果你真的想要从基站控制一切,我会推荐TCP,因为你可以确保你的控制数据包到达无人机。如果您使用的是标准无线传输,则应该有足够的带宽来重新传输丢失的数据包。
如果您希望发送大量数据,例如。对UAV稳定性没有任何直接影响的视频或声音我肯定会选择UDP,因为如果丢失了一两帧你就不在乎。
我希望这是有道理的。
西格尔德
答案 1 :(得分:0)
我认为你需要一个内环循环来稳定飞行。如果你有足够的计算能力来通过插座进行通信,你可以控制你的无人机上的稳定和俯仰偏航。 对于外部循环,您必须决定要实现的通信类型。 如果你想要一个连续的通信(这是更安全但计算更重的话),UDP可能是你的选择(如果你每隔5ms发送一个帧,你可能不太关心数据包丢失)。