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