longer95479@home:~$

What is Motion Planning


什么是运动规划(motion planning) 运动规划:使用可计算的方法为机器人生成一套运动行为,以完成给定的任务。 Motion planning: the use of computational methods to generate a robot’s motion to achieve a specified task....



Transformer is a clustering machines


2012 2015 2018 2019 2020 2022 2023 Alex Res GPT GPT2 GPT3 chatGPT GPT4 BERT Chinchilla Llama2 Claude2 ResNets $x_0$...



Equivalence between Kalman Filter and Factor graph


本文将因子图优化和卡尔曼滤波联系起来:卡尔曼滤波等价于因子图优化在线性系统下只优化最新状态。 我们最根本的目标,是在给定测量值 $z$,找出使得联合概率密度函数 $p(x, z)$ 最大的 $x$。而 $p(x, z)$ 可以进行分解,以便我们写出具体的形式: \[p(x,z) = p(z|x)p(x)\] 假如我们考虑两个状态 $x_1, x_2$,以及一个测量 $z$(对 $x_2$ 的测量),则联合概率密度函数可以写为: \[p(x_2,...



AirSLAM Code Reading


代码实现 首先看一下 airslam 代码的整体思路。 对于视觉惯性里程计,其核心是三个并行的线程: ->(处理msg)->(前端)->(后端)-> 使用 生产者-消费者 的框架实现数据的有向流动。例如 map_builder.AddInput(data) 往里加数据,然后另外开一个线程消耗数据,提取特征,最后再开一个线程进行特征追踪匹配和后端优化。 参数的初始化 对于参数的配置,airslam 在 read_config.h 内定义了许多结构体,其中有三个最顶层的结构体,对应 airslam 的三大模块的参数,分别是: VisualOdometryConfigs MapRefinementConfigs...



Extrinsic Online Calibration on AirSLAM


AirSLAM 在公开数据集上的效果很不错,但在笔者自己录制的数据集(螺旋快速运动)上效果很差,具体如下: AirSLAM 使用 imu 和相机,定位漂移很大 而相同的外参在 vins-fusion 上的效果却还不错。 AirSLAM 仅使用双目,漂移小,较为正常 根据第一条和第三条信息,可以推断出是 imu 和相机之间的协调出了问题,可能的原因是: 时间基准不同:公开数据集的 imu 与 图像帧有硬件同步且参考同一个时间基准,而自己录制的数据集未作同步且不是同一个时间基准,而 vins-fusion 在运行过程中在线校准...



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 特定三条带上...



Total views. cowboys. Hits