Dronekit SITL程序在MAVLink中过早终止为RTL> Mode RTL

时间:2019-01-07 16:58:56

标签: python-2.7 dronekit-python dronekit mavlink

我在Mavproxy.py中的早期RTL遇到了这个问题,导致python的SITL模拟的性能不一致。

这个python脚本的主要思想只是习惯了vehicle.simple_goto()命令。

这是我现在正在运行的python脚本。从本质上讲,这完全与无人机套件社区给出的示例完全一致。

arm_and_takeoff(10)

print "Going towards first point for 30 seconds ..."
point1 = LocationGlobalRelative(-35.361354, 149.165218, 20)
vehicle.simple_goto(point1, groundspeed=3)

# sleep so we can see the change in map
time.sleep(30)

print "Going towards second point for 30 seconds ..."
point2 = LocationGlobalRelative(-35.363244, 149.168801, 20)
vehicle.simple_goto(point2, groundspeed=10)

# sleep so we can see the change in map
time.sleep(30)

print "Returning to Launch"
vehicle.mode = VehicleMode("RTL")

这是我在运行Mavproxy.py的控制台上获得的输出。

GUIDED> Mode GUIDED
APM: Initialising APM...
Got MAVLink msg: COMMAND_ACK {command : 400, result : 0}
ARMED
Arming checks disabled
Got MAVLink msg: COMMAND_ACK {command : 22, result : 0}
Got MAVLink msg: COMMAND_ACK {command : 178, result : 0}
Got MAVLink msg: MISSION_ACK {target_system : 255, target_component : 0, type : 0, mission_type : 0}
height 10
Got MAVLink msg: MISSION_ACK {target_system : 255, target_component : 0, type : 0, mission_type : 0}
Got MAVLink msg: COMMAND_ACK {command : 178, result : 0}
Flight battery 90 percent
RTL> Mode RTL
Got MAVLink msg: MISSION_ACK {target_system : 255, target_component : 
0, type : 0, mission_type : 0}
Got MAVLink msg: COMMAND_ACK {command : 178, result : 0}
Got MAVLink msg: COMMAND_ACK {command : 11, result : 0}
Flight battery 80 percent
height 0
APM: DISARMING MOTORS
DISARMED
Flight battery 70 percent

我希望在QGroundControl应用程序上看到的是,模拟无人机起飞后,每次向3个不同的坐标方向前进30秒,然后返回原始发射场。

但是,我注意到在Mavlink脚本上,该无人机似乎过早进入了 RTL模式(Mavproxy.py控制台输出中的第13行)。 python脚本仍在正确的时间发送命令并按需运行。早期RTL发生的问题是我的SITL无人机的路径是完全不可预测的,早期RTL有时会在运行时的前15秒到80秒之间出现。

我很想知道为什么会这样,以及如何摆脱这种情况。

预先感谢您的帮助。

0 个答案:

没有答案