IMU与惯性导航知识(二)
IMU原理
加速度计
加速度计输出为补偿a-g后的值f(相反力/m),称为比力:
f=a−g\mathbf{f}=\mathbf{a}-\mathbf{g}
f=a−g
其中a为实际加速度。
根据a可以被位置矢量r表示 :
\mathbf{a}=\left.\frac{d^{2} \mathbf{r}}{d t^{2}}\right|_{i}=\ddot{\mathbf{r}}$$。
已知引力场向量为:
$$\overline{\mathbf{g}}=\mathbf{g}+\Omega_{i e} \Omega_{i e} \mathbf{r}
最终得到比力和位置矢量的关系:
f=d2rdt2∣i−g−ΩieΩier\mathbf{f}=\left.\frac{d^{2} \mathbf{r}}{d t^{2}}\right|_{i}-\mathbf{g}-\Omega_{i e} \Omega_{i e} \mathbf{r}
f=dt2d2r∣∣i−g−ΩieΩier
陀螺仪
测量body相对惯性系的角速度在body frame下的值:
ωibb=ωieb+ωenb+ ...
LOAM中的数学推导
前言
之前看的A-LOAM代码把优化交给了ceres,而最初自己看论文时也只明白要优化变量和原理,并没有自己推导细节。后来在总结LOAM代码时,突然发现自己完全不知道这部分应该怎么手写,因此有必要自己来一遍数学推导。
非标量求导
上学期上课时我就对包含向量/矩阵的求导一头雾水,搞不清楚怎么求,每次都是上网找别人写的往上套。最近看 numerical optimization 回炉SLAM用到的非线性优化,各种求导又让我无语了。上网研究了一下,算是找到一些不错的资料。
首先要明白,矩阵求导是有不同的使用习惯的,主要有两种:分子布局和分母布局,后者也称混合布局。
对于分子布局,向量y对标量x求导,得到的是列向量,标量y对向量x求导,得到的是行向量;
对于分母布局,向量y对标量x求导,得到的是行向量,标量y对向量x求导,得到的是列向量;
其他详细内容需要参考 wiki 。
根据矩阵求导术(下) - 知乎 中所说,机器学习/优化中的梯度矩阵常用分母布局,而控制论等领域中的Jacobian矩阵采用分子布局,后者的例子有 numerical optimization 的最小二乘部分(其他没看)以 ...
IMU与惯性导航知识(一)
前言
前段我读完的ALOAM代码里没有IMU的部分,而原版LOAM代码中其实是有的,除此之外,后面读完的组里的SLAM代码更是使用了IMU、GNSS多种方法进行定位融合和优化约束。虽然代码算是看明白了,但我觉得自己对各种传感器和惯性导航相关的知识很欠缺。之前在网上搜索IMU的时候发现了一篇很好的文章, 看完以后觉得对IMU有了个初步的了解了,可是真到看代码的时候还是对坐标系、IMU互补滤波等问题有很多疑问。上周去快速补了一部分深蓝的多传感融合的课程,觉得里面有的地方并没有讲的很详细,加上自己数学基础差,最后还是看得比较蒙。为了接下来读原版LOAM,以及以后更好地理解多传感器融合的SLAM代码,我决定好好补下相关的知识。这段计划学习以下内容:
[x] 惯性导航坐标系与坐标变换
[ ] IMU基本知识与数据处理
[x] 对组内代码IMU相关的地方加深理解
[x] LOAM源码阅读
[x] Lego LOAM论文与源码阅读
[ ] SLAM综述文章、梳理概念、概率机器人选读
[ ] 深蓝多传感器融合课程
常见的定位技术
使用相对测量的技术(Dead Reckoning 航位推测)
里程计 ...
钢琴音乐常用工具
前言
随着AI的极速推进,音乐的扒谱门槛已经变得十分低了。这里记录下我所了解和使用的音乐工具,尤其是钢琴相关的谱子,midi,媒体文件工具等以及这些载体之间相互转换的工作流和相关资料。
音频处理软件
我主要就用下面两种。
Adobe Audition CC
极易上手的音频处理软件,界面舒服,适合做简单的音乐处理,如标准化到-0.1dB,剪辑音频,效果批处理等等。
一个缺点是不支持midi文件,似乎在3.0时代还支持过,但后来被砍了。
FFmpeg
强大的命令行工具,后面格式转换也会用到,格式工厂大概就是给它套了个壳。其实还可以用指令做到剪辑,拼接等音视频处理工作。我主要用它做转换格式,图片,视频,音频都可以。其中图片可以转ico,十分方便。使用它需要了解一些音视频的知识,可以参考阮一峰的文章。对于批处理,可以写成powershell脚本方便使用。另外Python现在好像有了ffmpeg的库,不过我没试过。
midi工具
Synthesia(全平台)
可视化钢琴midi的软件,体积小,且需要破解。
可以选择输入输出。
我一般用来播放midi,或者观察别人和自己的谱子midi,比较 ...
Win10终端配置Windows Terminal + PowerShell7
在Windows Terminal中配置好看、好用的PowerShell
折腾历程
接触Linux后逐渐依赖上了命令行操作,平时回到win下也常用终端。之前用了快一年Cmder,它能用一些常用的Linux命令,于是win下觉得最好没有之一,windows terminal出来后看到里面的powershell也是不以为然,还迷之自信给老师安利Cmder,结果自然是衩反推荐wt。因为不会用powershell,又觉得wt界面真比cmder好看,我Google了一下硬是把cmder给塞进wt里面了,这样又用了半年wt+cmder,缺点是启动慢,ctrl+c终止执行经常刷不出来新的提示符,而且使用上下方向键移动历史命令时经常多一个字符,还有一些迷之bug。前段时间折腾下hexo,算是第一次认真搞了下BLOG,初期生成文章以及修改主题、插件而频繁用命令行时,上面方案的缺点被无限放大,实在难以忍受,偶然开了个新的powershell窗口,看到它秒加载(后来证明是啥都没装的原因),决定转向powershell了。
升级PowerShell
Win10自带了Powershell,本来对于入门是无所谓 ...