AirSLAM 在公开数据集上的效果很不错,但在笔者自己录制的数据集(螺旋快速运动)上效果很差,具体如下: AirSLAM 使用 imu 和相机,定位漂移很大 而相同的外参在 vins-fusion 上的效果却还不错。 AirSLAM 仅使用双目,漂移小,较为正常 根据第一条和第三条信息,可以推断出是 imu 和相机之间的协调出了问题,可能的原因是: 时间基准不同:公开数据集的 imu 与 图像帧有硬件同步且参考同一个时间基准,而自己录制的数据集未作同步且不是同一个时间基准,而 vins-fusion 在运行过程中在线校准...
Extrinsic Online Calibration on AirSLAM
Realization of Online Temporal Calibration on AirSLAM
AirSLAM 在公开数据集上的效果很不错,但在笔者自己录制的数据集上效果很差,具体如下: AirSLAM 使用 imu 和相机,定位漂移很大 而相同的外参在 vins-fusion 上的效果却还不错。 AirSLAM 仅使用双目,漂移小,较为正常 根据第一条和第三条信息,可以推断出是 imu 和相机之间的协调出了问题,可能的原因是: 时间基准不同:公开数据集的 imu 与 图像帧有硬件同步且参考同一个时间基准,而自己录制的数据集未作同步且不是同一个时间基准,而 vins-fusion 在运行过程中在线校准...
PL-CVIO: Point-Line Cooperative Visual-Inertial Odometry
PL-CVIO: Point-Line Cooperative Visual-Inertial Odometry 使用了点和线的多机协同里程计
state estimate back end
整体思路 状态估计的本质是最大后验估计,联合概率密度函数一步步转化到标量函数的和,最后线性化迭代求解。 \[\begin{align} P(X|Z) &\propto P(X|Z)P(Z) \\ &= P(Z|X)P(X) \\ &= P(X) \prod P(z_{i}|x_{\{j\}}) \end{align}\] 利用负对数将乘积转化为加法,我们称之为 损失函数,每一个 $h$ 称之为残差函数,而残差函数的输入是流形,但输出一般已经在欧式空间上了,因此可以使用最原始的加减符号: \[\begin{align}...
IMU Preintegration
从因子图的角度来看,IMU 预积分解决的问题是:约束的表达式与状态变量的值有关,也就是当状态变量更新后, 约束的表达式变化了,此时需要重新计算约束表达式里的一些参数,而不是能够重复利用固定的约束表达式。 而预计分则可以让原本会变的约束表达式变成固定的表达式,与状态变量无关。 预积分整体的推导思路 从两个最基本的方程组出发,一个是动力学方程组,另一个是最原始的测量方程组,之后利用匀速旋转和加速度的假设,进行普通的积分,然后将状态的增量都变换到相邻两帧中的第一帧机体坐标系下,再经过一系列的移项构造,使得方程右侧的参数可从上到下依次计算得出,且与状态无关,从而保证了状态在优化后发生值的变动,不会导致预计分方程右侧需要重新计算。 首先从最基本的动力学方程出发 \[\dot{R} = R [\omega] \\ \dot{v} = a \\ \dot{p} = v\] 其中,$R$...
Search Plan in Project XI35
八架无人机,分为三组,需要在一个矩形拒止区域内搜索 0.5m*0.5m 大小的数字标识,数字对应于自身的组别。 策略 尽量少转弯,以节约电量、降低里程计崩溃概率。因此是沿着长边飞行。 有如下三种策略: 无论自己看到,还是别的队伍看到自己所属的地标,立刻飞过去降落 从知道自身地标位置的队伍视角看最贪心,里程计漂移最少 只有自己看到才立刻飞过去,别队看到则记录,待本列搜索区域搜索完成后才前往自身地标 都搜索完本列才去 第二种属于折中,具体考虑这种策略。假设三个数字标识均匀分布。 全覆盖,用时短,目前部署的贪心不保证全覆盖 三种响应 未到边界就降落 到边界已知目标位置 到边界未知位置 三个数字标识的相对位置可简化为九宫格,一共有999=729种可能的布局 都是情况1最好,如下表示: 111:333=27 特定三条带上...
Large Resolution will Amplify False Alarm of Occupy Map
当无人机的可活动区域变大后,若保持分辨率不变,则 ego planner 里预先开辟的地图将会占据很大的内存,因此需要增大分辨率,来抵消一部分地图扩大带来的内存消耗。然而,这会给规划端带来一些挑战。 ego planner 的栅格地图的占据信息来自于 realsense 的深度图像,而深度值是存在有效范围的,如 D435 的理想范围是 0.3 m 到 3 m。即使是在理想深度测量范围内,也是有噪声的存在,而这个噪声则会体现在栅格地图中突然出现的障碍上。而 ego planner 是用于避障的,虚警的障碍会让规划的轨迹扭曲,增大无人机飞行控制的难度、里程计崩溃的概率。 通过增大深度滤波器的最小合法深度值,解决了因深度噪声、较大栅格体积共同造成的大虚警障碍,导致的轨迹规划过于扭曲甚至陷入障碍物的问题,目前可在室内使用...
Script used in XI35
利用自动化脚本,执行重复、确定的操作。 统一配置参数 算法以代码为实体部署后,会存在许多可调节的参数,当参数未被合理地给定,即使逻辑正确,算法的效果也可能并不如意。因此能够快速简便地调整参数便十分重要。 Fast-drone-xi35 里的模块较多,每个模块有不同的参数配置方法,可分成这几类: 在 launch 文件里给出参数具体值,使用 roslaunch 命令读取参数配置。 在 yaml 文件里给出参数具体值,使用 cv::FileStorage fsSettings(config_file, cv::FileStorage::READ); 函数读取参数配置文件,给变量赋值。如 VINS-Fusion-gpu。 在 yaml...
[Paper Reading] Kimera-Multi: Robust, Distributed, Dense Metric-Semantic SLAM for Multi-Robot Systems
I think this paper has three features: Metric-Semantic mesh map Distributed loop closure detection Robust distributed trajectory estimation Distributed loop...
Drone Vibration
四旋翼无人机的飞行控制的反馈主要来自于 IMU,也就是加速度计和角速度计,其中角速度测量值对震动不敏感,而加速度测量值对震动十分敏感,若减震不佳,如机架有其他部件未上紧,或是桨叶严重受损,都会对带来高频的振动噪声,对飞行控制还有里程计的估计有“毁灭性的污染”。此时使用数字滤波,只会带来很大的相位延迟,仍然会导致控制的不稳定。因此只有从源头上解决震动,辅以软件数字滤波,才能得到较好的控制效果。 引用自 px4 的教程: A few of simple steps that may reduce vibrations are: Make sure everything is firmly...
Total views. cowboys. Hits