mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-17 06:53:35 +08:00
ECL: Clean velPos logging, deprecate ekf2_innovations msg
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
#! /usr/bin/env python3
|
||||
"""
|
||||
function collection for handling different versions of log files
|
||||
"""
|
||||
from pyulog import ULog
|
||||
|
||||
from analysis.detectors import PreconditionError
|
||||
|
||||
def get_output_tracking_error_message(ulog: ULog) -> str:
|
||||
"""
|
||||
return the name of the message containing the output_tracking_error
|
||||
:param ulog:
|
||||
:return: str
|
||||
"""
|
||||
for elem in ulog.data_list:
|
||||
if elem.name == "ekf2_innovations":
|
||||
return "ekf2_innovations"
|
||||
if elem.name == "estimator_innovations":
|
||||
return "estimator_status"
|
||||
|
||||
raise PreconditionError("Could not detect the message containing the output tracking error")
|
||||
|
||||
def get_innovation_message(ulog: ULog, topic: str = 'innovation') -> str:
|
||||
"""
|
||||
return the name of the innovation message (old: ekf2_innovations; new: estimator_innovations)
|
||||
:param ulog:
|
||||
:return: str
|
||||
"""
|
||||
if topic == 'innovation':
|
||||
for elem in ulog.data_list:
|
||||
if elem.name == "ekf2_innovations":
|
||||
return "ekf2_innovations"
|
||||
if elem.name == "estimator_innovations":
|
||||
return "estimator_innovations"
|
||||
if topic == 'innovation_variance':
|
||||
for elem in ulog.data_list:
|
||||
if elem.name == "ekf2_innovations":
|
||||
return "ekf2_innovations"
|
||||
if elem.name == "estimator_innovations":
|
||||
return "estimator_innovations"
|
||||
if topic == 'innovation_test_ratio':
|
||||
for elem in ulog.data_list:
|
||||
if elem.name == "ekf2_innovations":
|
||||
return "ekf2_innovations"
|
||||
if elem.name == "estimator_innovations":
|
||||
return "estimator_innovations"
|
||||
|
||||
raise PreconditionError("Could not detect the message")
|
||||
Reference in New Issue
Block a user