1.PX4 视觉定位设置及多种定位数据获取方法(T265为例)
2.卡尔曼滤波算法原理(KF,EKF,AKF,UKF)
PX4 视觉定位设置及多种定位数据获取方法(T265为例)
本文详细介绍了将视觉定位数据传递给PX4飞控的方法,并以T为例演示了视觉定位的相关设置及效果。主要有三种方法:通过向指定的mavros话题发送定位数据;将定位数据发布为tf变换,使px4订阅该tf变换;以及修改px4_config.yaml文件,将listen设置为true。T是-1100111的源码四旋翼视觉定位常用的定位方案,然而关于其原理的讲解较少。本文包括详细的视频讲解,总计时长超过分钟。通过本文,读者可以轻松学习如何将T应用在PX4实机上。
目前已知的将视觉定位数据传递给PX4飞控的方法包括:通过向“/mavros/odometry/out”话题发送T数据;通过向“/mavros/vision_pose/pose”话题发送数据;以及修改px4_config.yaml文件,将listen设置为true,以实现tf变换的订阅。其中,出售违法源码修改px4_config.yaml文件的方法会导致通过topic发送定位数据的两种方法失效,而frame_id和child_frame_id之间的tf变换即为定位数据。对于cartographer而言,通过修改frame_id就可以将cartgrapher发布的tf定位数据传输给PX4飞控。
在使用EKF2进行融合定位时,需要设置相关的参数。常用的react forceupdate源码参数包括EKF2_AID_MASK的数值设置,以及EKF2_EV_DELAY参数的设置,后者对高度估计和转向的影响尤为重要(当前为作者的个人猜测)。参数设置完成后,系统需要重启才能生效。
在使用Realsense驱动时,可能遇到的疑难杂症包括:AGX Orin配置时的问题,T插着开机需要插拔,vlc rtmp 源码电脑无法检测T,以及Dxx相机深度点云频率低等。关于Realsense驱动的安装步骤,以Ubuntu.为例,通常有两种方式:源码安装或二进制包安装。在具体的系统环境下,读者应根据实际情况选择合适的pip 源码包安装方式。
卡尔曼滤波算法原理(KF,EKF,AKF,UKF)
本文将深入解析卡尔曼滤波算法(KF, EKF, AKF, UKF)的核心原理,包括运动模型公式推导和卡尔曼增益的计算。直接理解公式可能枯燥,但推导过程有助于深入理解。以下是关键部分的简化概述:
1. **卡尔曼滤波算法**:
- KF主要公式:[公式]、[公式]、[公式]、[公式]和[公式],基于状态转移和观测模型预测和更新状态估计。
- EKF通过CTRV和CTRA运动模型的雅各比矩阵推导,Q矩阵设置的原理也得以阐明。
2. **自适应与扩展**:
- 自适应卡尔曼滤波(AKF)通过历史数据动态调整R和Q矩阵,但AKF并不常用。
- EKF通过线性化处理非线性问题,涉及状态和观测模型的雅各比矩阵计算。
3. **无迹卡尔曼滤波(UKF)**:
- 无迹变换处理非线性问题,采样、变换和加权求和,UKF精度优于EKF,但计算略复杂。
- UKF预测与更新阶段包括无迹变换、卡尔曼增益计算和状态更新的公式。
4. **源代码资源**:
- 提供了相关源代码链接,如UKF_C++和UKF_python,供读者参考。
通过上述概述,你可以直观地理解卡尔曼滤波算法的不同版本如何工作,并能快速把握公式推导的关键步骤。