跳到主要内容

无人机集群的第一次尝试

· 阅读需 2 分钟
MuelNova
Pwner who wants to write codes.

Microsoft 官方对于 Multi Vehicles 的文档

settings.json中配置以下字段

  "Vehicles": {
"UAV1": {
"VehicleType": "SimpleFlight",
"X": 0,
"Y": 0,
"Z": 0,
"Yaw": 0
},
"UAV2": {
"VehicleType": "SimpleFlight",
"X": 2,
"Y": 0,
"Z": 0,
"Yaw": 0
},
"UAV3": {
"VehicleType": "SimpleFlight",
"X": -2,
"Y": 0,
"Z": 0,
"Yaw": 0
}
}

Python中获取无人机列表

drones = client.listVehicles()

由于无人机集群需要协同运行,所以我们不能参考上文一样对所有动作都加入.join()方法,否则会使得无人机一架一架进行动作。而所有的无人机都不加入.join()方法又会导致接下来的动作无法正常运行。

这里我想到的解决方法如下:

检测如果是最后一架无人机,则加入到Future类中,使接下来的动作都要等待他完成后才进行。

for i in drones:
print(drones)
if i == drones[-1]:
client.takeoffAsync(vehicle_name=i).join()
else:
client.takeoffAsync(vehicle_name=i)

于是能动了

那就激情尼尔机械纪元去啦,打大折直接进行一手劲爆购买

Loading Comments...