PX4开发指南-13.14.EKF日志回放
PX4开发指南-13.14.EKF日志回放
此页面说明如何使用真实的飞行日志上的重放(replay)功能来调整EKF2估计器的参数。
介绍
- 开发人员有可能需要对特别记录的数据进行重放以进行估计分析。 本页面的其余部分将说明必须设置哪些参数才能从此功能中受益,以及如何正确部署它。
sdlog2 logger (.px4log)
准备工作
把参数
SYS_LOGGER
设为 sdlog2 (default) 然后重启飞控 (0 = sdlog2 and 1 = ulog).把参数
EKF2_REC_RPL
设为 1. 这告诉估计器发布special
重放信息给日志来记录如果有的话, 把参数
SDLOG_PRIO_BOOST
设为如下格式 {0, 1, 2, 3}。 0 表示板载日志记录应用有默认值 (低) 的计划优先权。 低的计划优先权会导致日志信息的丢失。如果你大仙你的日志文件有由于跳过信息引起的空格,那么你可以增大这个系数到最大值3,有测试表明得最小值2才能避免丢失数据。
部署
- 一旦你使用上述设置并且有了真正的飞行日志(.px4log),则可以在PX4固件根目录中的使用以下命令来run运行重放:
make posix_sitl_replay replay logfile=<absolute_path_to_log_file>/my_log_file.px4log
一旦命令执行,检查终端的重放日志文件的位置和名称。
文件夹应该在
<path to Firmware>/build/posix_sitl_replay/src/firmware/posix/rootfs/
- 输出重放文件夹称为
replay_replayed.px4log
,可以用来分析估计器的性能。
更改重放的调谐参数
当你第一次运行重放时,将使用实际飞行中的默认EKF2参数值生成
replay_replayed.px4log
文件。之后,你可以改任何的EKF2系数值,这里要更改的文件
replay_params.txt
跟你的输出文件在同一个目录里。例如,设置陀螺仪偏置的噪声值将需要以下行
EKF2_GB_NOISE 0.001
- 一旦某些EKF2参数被更改,可以使用部署中给出的相同命令生成一个新的
replay_replayed.px4log
文件。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号