mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-03 06:28:27 -04:00
autotest: test Yaw D autotune
This commit is contained in:
parent
0f6d62c196
commit
7dc6dee5a0
@ -2325,6 +2325,45 @@ class AutoTestCopter(AutoTest):
|
|||||||
raise NotAchievedException("AUTOTUNE failed (%u seconds)" %
|
raise NotAchievedException("AUTOTUNE failed (%u seconds)" %
|
||||||
(self.get_sim_time() - tstart))
|
(self.get_sim_time() - tstart))
|
||||||
|
|
||||||
|
def AutoTuneYawD(self):
|
||||||
|
"""Test autotune mode"""
|
||||||
|
|
||||||
|
rlld = self.get_parameter("ATC_RAT_RLL_D")
|
||||||
|
rlli = self.get_parameter("ATC_RAT_RLL_I")
|
||||||
|
rllp = self.get_parameter("ATC_RAT_RLL_P")
|
||||||
|
self.set_parameter("ATC_RAT_RLL_SMAX", 1)
|
||||||
|
self.set_parameter("AUTOTUNE_AXES", 15)
|
||||||
|
self.takeoff(10)
|
||||||
|
|
||||||
|
# hold position in loiter
|
||||||
|
self.change_mode('AUTOTUNE')
|
||||||
|
|
||||||
|
tstart = self.get_sim_time()
|
||||||
|
sim_time_expected = 5000
|
||||||
|
deadline = tstart + sim_time_expected
|
||||||
|
while self.get_sim_time_cached() < deadline:
|
||||||
|
now = self.get_sim_time_cached()
|
||||||
|
m = self.mav.recv_match(type='STATUSTEXT',
|
||||||
|
blocking=True,
|
||||||
|
timeout=1)
|
||||||
|
if m is None:
|
||||||
|
continue
|
||||||
|
self.progress("STATUSTEXT (%u<%u): %s" % (now, deadline, m.text))
|
||||||
|
if "AutoTune: Success" in m.text:
|
||||||
|
self.progress("AUTOTUNE OK (%u seconds)" % (now - tstart))
|
||||||
|
# near enough for now:
|
||||||
|
self.change_mode('LAND')
|
||||||
|
self.wait_landed_and_disarmed()
|
||||||
|
# check the original gains have been re-instated
|
||||||
|
if (rlld != self.get_parameter("ATC_RAT_RLL_D") or
|
||||||
|
rlli != self.get_parameter("ATC_RAT_RLL_I") or
|
||||||
|
rllp != self.get_parameter("ATC_RAT_RLL_P")):
|
||||||
|
raise NotAchievedException("AUTOTUNE gains still present")
|
||||||
|
return
|
||||||
|
|
||||||
|
raise NotAchievedException("AUTOTUNE failed (%u seconds)" %
|
||||||
|
(self.get_sim_time() - tstart))
|
||||||
|
|
||||||
def AutoTuneSwitch(self):
|
def AutoTuneSwitch(self):
|
||||||
"""Test autotune on a switch with gains being saved"""
|
"""Test autotune on a switch with gains being saved"""
|
||||||
|
|
||||||
@ -9553,6 +9592,7 @@ class AutoTestCopter(AutoTest):
|
|||||||
self.AuxSwitchOptions,
|
self.AuxSwitchOptions,
|
||||||
self.AuxFunctionsInMission,
|
self.AuxFunctionsInMission,
|
||||||
self.AutoTune,
|
self.AutoTune,
|
||||||
|
self.AutoTuneYawD,
|
||||||
self.NoRCOnBootPreArmFailure,
|
self.NoRCOnBootPreArmFailure,
|
||||||
])
|
])
|
||||||
return ret
|
return ret
|
||||||
|
Loading…
Reference in New Issue
Block a user