自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (4)
  • 收藏
  • 关注

原创 组合导航原理剖析(六):光纤级别惯性测量单元(IMU)的误差测试与标定

在严的书中,给出了一种借助于转台的标定方案。详细内容见书本,大概可以概括为:使用12位置标定法对加速度计进行标定,然后使用速率转台对陀螺仪的标度因数进行标定,最后使用两个角度静置陀螺30min的方式标定陀螺的零偏。国军标中常用10s或者100s平滑方法计算零偏稳定性,下面是静置16个小时下,100s平滑得到的零偏值变化,扣除了包含地球自转、重力矢量等带来的常值偏差,图中曲线的波动范围即为常说的零偏稳定性指标。其中提到的陀螺仪的err,实际上值得是通过正反向标定的方式,可以测得当地的地球自转的分量,表示为。

2024-05-21 22:37:33 1712

原创 使用全站仪与千寻RTK测量空间某点在WGS84坐标系下的坐标值作业方法

坐标系定义:一般采用WGS84坐标系,即为经纬高。但是在千寻RTK打点过程中,通常采用东-北-天坐标系下的坐标,分辨率最高为1mm。

2024-04-28 20:29:07 1463

原创 组合导航原理剖析(五):kalman滤波在惯性导航中的应用相关推导过程

常见的导航方式则采用误差状态估计的方式,去代替直接的状态估计,因此又被成为间接的误差状态估计。设计非线性kalman滤波系统,也就是扩展kalman滤波系统,首先需要对非线性系统进行线性化,其中线性化的点被称为**“operating point**”,通常认为选取真实点作为**“operating point**”是最合适的。在信号处理领域,递归滤波器也被成为IIR滤波器,有着明确的系数和传递函数,而kalman滤波器是一个增益不断迭代变化的递归滤波器。,应用泰勒展开,将状态量进行误差化可以表示为下式。

2024-04-25 12:54:39 1662 1

原创 组合导航原理剖析(四):惯性和GNSS器件选型与误差来源

在选型组合导航所采用传感器时,需明确各器件指标含义。IMU的各类随机噪声以及GNSS各种模式下的含义以及对应的精度范围,都是用户比较关心的问题。

2022-10-10 15:02:44 3340

原创 组合导航原理剖析(三):姿态估计与左乘/右乘扰动误差传播方程

本文推导并实现了常用的消费级姿态估计方案,并且对其中的误差源进行了分析与解释。

2022-09-25 15:14:00 2486

原创 组合导航原理剖析(二):惯性导航方法与应用综述

参考陈起金,武汉大学,2014,P42)根据惯导误差微分方程和传感器误差模型,并将惯性传感器的主要误差参数(IMU的零偏误差及比例因子误差等)增广到系统状态中。(类似于地球自转等误差项或2阶项,在计算中可以进行忽略。以某自动驾驶中采用的组合导航模块为例,以横向位置推算误差RMS为例即1sigma,百元级MEMSIMU+轮速计+NHC可以做到60s在0.35米,换算成与行驶距离的百分比大概是0.066%,即车辆行驶1000米,只靠IMU、轮速计、NHC的位置推算误差的1sigma为0.66米。........

2022-07-19 00:13:34 6964

原创 组合导航原理剖析(一):从扩展kalman滤波到ESKF算法

设计非线性kalman滤波系统,首先需要对非线性系统进行线性化,其中线性化的点被称为**“operatingpoint**”,通常认为选取真实点作为**“operatingpoint**”是最合适的。但是卡尔曼滤波所采用的增益是随时间变化逐渐趋近于稳定的,当滤波器收敛之后,理论上系统可以得到状态值的最优后验估计。但是在组合导航的状态量运行学预测更新的计算中,已知状态导数与状态之间的转移矩阵,比如。首先,对于一般的非线性系统,将状态量进行误差化可以表示为下式,就可以使用扩展。处线性化,可以表示为。...

2022-07-17 13:16:52 1580

原创 矩阵计算库eigen在QNX上的移植

对于EIgen数学计算库,官网介绍只需要包含头文件即可,无需编译成动态库,极大提高了多平台的可移植性。windows针对QNX系统有交叉编译工具链qcc,可以直接对c++文件进行编译。因此只需要将test.c文件放在eigen文件夹下直接进行编译即可。报错cannotfind-l-lm,需要在IDE中加上编译条件”-lm“,如下所示。运行简单的Eigen示例,虚拟机中计算矩阵求逆所需时间为3ms,工控机上应该快很多。在图中的”socket“改成”m“,即可实现在IDE编译。在IDE下编译仍存在报错。...

2022-07-14 20:06:28 766

原创 基于二次规划的模型预测控制MPC方法(算法推导与MATLAB建模)

公式推导参考链接,以下工作来自于b站Dr_can博士一般情况下,状态空间,或者叫做动力学模型离散表达为:x(k+1)=Ax(k)+Bu(k)x(k+1)=A x(k)+B u(k)x(k+1)=Ax(k)+Bu(k)MPC是目前自动驾驶领域比较流行的控制框架,主要分为动力学预测,优化求解,滚动控制三个部分。其中,优化求解方法有多种,譬如说凸优化、二次规划等等。凸优化要求状态约束满足凸集的形式,也有相关凸化的方法,但是求解过程往往十分复杂,非常耗时。二次规划方法在求解方面有天然优势,因此受到了MPC控制

2021-11-21 20:45:45 6599 1

原创 轨道检测领域国内外现状

1. 线程间同步Semaphore(信号量)MutexMutex:单线程处理单个数据,进行保护。Semaphore:等待信号灯的方法是sem_wait,参数是定义的sem_t变量。注意这个方法包括了上面示例的几个动作,一个是上桥要看信号灯是不是亮了两盏,是的话就等待,不是的话就按一下桥头的按钮,然后上桥。按灭信号灯的方法是sem_post,参数也是定义的sem_t变量。在桥上的意思就是可以对数据进行处理了。这个可以实现多个线程对同一组数进行处理。另外,sem_wait可以一直保持等待,semp

2021-07-17 14:44:49 1323

原创 窗函数法设计滤波器并且matlab/C语言实现

本文介绍滤波器的设计方法与滤波器的实现过程。基于窗函数的方法是最为简单的设计方法,并且实际性能也还可以,并且有着计算量小的优点,在工程中应用广泛。本文介绍两种:多个矩形窗/三角窗及联/并联的方法设计滤波器。本文中统一采样率为4Hz,另外采用截止波长lambda代替滤波器设计参数截止频率f,两者的关系为lambda = 1/f。矩形窗的系统函数可以写成:W(z)=12M+1zM−z−M−11−z−1W(z)=\frac{1}{2 M+1} \frac{z^{M}-z^{-M-1}}{1-z^{-1}

2021-03-22 17:20:16 1458

原创 OFDM波形概述

OFDM波形探讨对于通信系统来说,最主要的是解决两个问题:第一是性能的评估标准,也就是信噪比。第二是实现的具体细节,包括编码、调制、均衡等等。所以首先对信噪比加噪的方法进行探讨,因为加噪的过程直接影响到最后的结果对不对。并且需要明确采样、噪声功率等概念。matlab有两个加噪函数:wgn和awgn。当发射信号的能量为1时,两种加噪都是一致的。N = 1024;Tx = ones(1,N);snr = 10;Rx = Tx + wgn(1,length(Tx),- snr ,'complex');

2021-01-24 22:15:19 2264

原创 为什么在SLAM中使用链式求导?为什么对微小扰动进行求导?

为什么在SLAM中使用链式求导?为什么对微小扰动进行求导?链式求导是一个很常用、很简单的模型,但是为什么用这个模型呢?在SLAM十四讲中并没有对这个问题进行阐述。这与非线性优化的方法有关,首先对于一个最小二乘问题:min⁡x12∥f(x)∥22\min _{x} \frac{1}{2}\|f(\boldsymbol{x})\|_{2}^{2}xmin​21​∥f(x)∥22​高斯牛顿法是处理这个问题最简单的方法,它的做法是将f(x)进行泰勒展开:f(x+Δx)≈f(x)+J(x)Δxf(\b

2021-01-24 19:38:54 537

原创 QNX系列:二、消息传递:一个例子

QNX中的消息传递示例QNX不同进程间的消息传递机制主要有以下几种:消息传递(基于服务器和客户端模型)信号量共享内存消息队列POSIX通过message queues定义一组非阻塞的消息传递机制。消息队列为命名对象,针对这些对象可以进行读取和写入,作为离散消息的优先级队列,消息队列具有比管道更多的结构,为应用程序提供了更多的通信控制。QNX Neutrino内核不包含message queues,它的实现在内核之外。共享内存提供了最高带宽的IPC机制,一旦创建了共享内存对象,访问对象

2020-12-11 14:08:09 1012

原创 QNX系列:五、资源管理器(3)简单的例子

资源管理器主要是解决多任务不阻塞的问题,系统提供封装好的函数给用户使用。在系统中服务器可以在不阻塞的条件下进行信号的接收并且进行数据处理工作。这两个历程表示了大部分程序中的逻辑,比较重要的点总结如下:利用资源管理器可以方便的找到对应的文件,只需要open一个文件就行之后的传递数据就可以直接write,这一层的函数主要是进行与服务器的“资源管理器”的文件进行交互操作的对于信号的传递,可以方便的使用“回调函数”的方法进行,直接传递信号给客户端的fd文件标识符,对应那边只需要Reply一下,服务器就不

2020-12-11 14:06:15 653

原创 QNX系列:五、资源管理器(2)学习框架

文章目录**The Bones of a Resource Manager**1. Under the covers1.1 Under the client's covers1.2 Under the resource manager's covers2. Layers in a resource manager2.1 iofunc layer2.2 resmgr layer2.3 dispatch layer2.4 thread pool layer3. Simple examples of device

2020-12-11 11:16:27 1298 1

原创 SLAM相关的开源项目整理

M1 SLAM综述文章目录M1 SLAM综述1.1 技术方案1.2 相关资料1 数据集数据集测试1.3 相关问题1.4 相关备注1.5 资源收集1.6 算法评估2 开源项目整理2.1 已知一致性的EKF1. aruco [slam](https://zhuanlan.zhihu.com/p/45207081?utm_source=qq&utm_medium=social&utm_oi=726911971793838080)2. IMU+[相机](https://zhuanlan.zhihu

2020-12-11 08:50:52 2901

原创 QNX系列:五、资源管理器(1)官方文档的翻译

文章目录@[toc]资源管理器什么是资源管理器?资源管理器示例串行端口文件系统资源管理器的特征client的观点查找服务器寻找流程经理处理目录联合文件系统client总结资源管理器的观点注册路径名处理消息连接消息I / O消息三组,真的资源管理器库图书馆确实做到了我们刚才所说的图书馆的幕后花絮基础层POSIX层编写资源管理器数据结构`resmgr_attr_t` 控制结构该*other_func*消息处理程序数据结构大小调整参数该*标志*参数`resmgr_connect_funcs_t` 连接表`resm

2020-12-11 08:47:51 3501

原创 QNX系列:四、中断

QNX Neutrino实时操作系统 > QNX Neutrino入门:实时程序员指南[![上一个]](prev.gif) [![内容]](contents.gif) [![索引]](keyword_index.gif) [![下一个]](next.gif)中断本章内容包括:中微子和中断编写中断处理程序摘要Neutrino和中断#include <sys/neutrino.h>int interruptID;const struct sigevent *

2020-12-11 08:47:02 2791 1

原创 QNX系列:三、时钟与定时器

文章目录@[toc]时钟,计时器和踢脚时钟和计时器定期运行时钟中断源基本时序分辨率获得更高的精度定时抖动计时器类型通知方案如何填写 `struct sigevent`脉冲通知信号通知线程通知通知的一般技巧脉冲通知信号通知 Signal notification使用计时器创建一个计时器Signal, pulse, or thread?什么样的计时器?What kind of timer?具有周期性脉冲的服务器服务器维护的超时声明书*主要()**setupPulseAndTimer()**gotAPulse()

2020-12-11 08:44:13 5823 3

原创 控制器与滤波器之间的关系(探讨信号处理与自动控制原理的联系)

控制器与滤波器之间的关系(探讨信号处理与自动控制原理的联系)最常用的控制器依然是PID。示例:在无人机中,利用串联PID控制完成姿态和高度控制是比较经典的方法,参考博客。如果想增加飞行器的稳定性(增加阻尼)并提高它的控制品质,我们可以进一步的控制它的角速度,于是角度/角速度-串级PID控制算法应运而生。在这里,相信大多数朋友已经初步了解了角度单环PID的原理,但是依旧无法理解串级PID究竟有什么不同。其实很简单:它就是两个PID控制算法,只不过把他们串起来了(更精确的说是套起来)。那这么做有什么

2020-12-02 22:15:15 4088

转载 讨论数字滤波器系统稳定性

讨论数字滤波器系统稳定性在数字信号处理中,系统的稳定性是一个很重要的问题,比如说在滤波器的设计中,都要求系统必须稳定,否则是无法使用的。那么,如何判断系统是否稳定呢?从定义上说,如果输入有界,则输出必定有界的系统是稳定的。从数学上可以推导出,因果系统冲击响应 Z 变换的收敛域包含单位圆的系统是稳定的。从零点极点的角度,则是系统函数的所有极点都在单位圆内的系统是稳定的。如何来理解呢?我们先以一个简单的单极点系统为例来理解系统的稳定性。比如有一个单极点系统H(z)=11−2z−1H(z)=\frac{

2020-11-29 22:37:19 3550

原创 冲激响应、阶跃响应、滤波器系统在时域和频域不同角度的讨论

脉冲响应与阶跃响应主要讨论系统在时域上的响应和在频域上的响应两个角度的理解。滤波器可以看成一个系统,但是从未分析过滤波器在时间域上的响应。chapter 1参考;负反馈可以解决这一问题?这里将阶跃响应作为输入,得到输出。为什么?为什么是阶跃响应呢?因为求取微分方程组就是需要阶跃响应。同时阶跃响应代表了系统的性质。微分方程的解的含义:因为系统的输入x是有初值的,这个初值象征着阶跃信号?那么也可以认为是脉冲响应啊。正确解释:微分方程的解就是脉冲响应加上齐次解。两个时间域上卷积的

2020-11-28 17:54:43 11428

原创 IMU各类噪声参数的理解/Allan方差分析方法

文章目录IMU惯组噪声参数定义陀螺仪的噪声模型Allan方差标定设计卡尔曼滤波器系统我只是知识的搬运工,在理解之后加以整合,最大程度降低谬误。IMU惯组噪声参数定义零偏(Bias):可以理解为是输出减掉输入,一般指均值”:零偏的定义是传感器输出与标准输入之间的差值,零偏=实测陀螺数据-真值(≠均值),一般MEMS陀螺(高精度不可)使用短期静态下零输入时的输出均值近似表达静态下的零偏值,动态下零偏需要在转台上使用标准速率输入进行标定拟合。零偏稳定性(Bias stability,In-Run Bi

2020-11-04 21:23:38 9173 4

原创 随机信号的功率谱、密度函数的定义(待更新)

文章目录1) 随机过程那么到底什么是功率谱密度函数?2)功率谱密度1. 定义2. matlab画图1) 随机过程直观上理解,因为近似的高斯白噪声在每一时刻的方差都相同,所以其对于时间积分的方差会随时间线性增长。如果把方差理解为信号的不确定性,这实际上是不确定性在随着时间线性积累:每过一点时间,积分增量都不确定,因此随着时间增长,积分信号越来越不确定。可以设想,如果 IMU 的角速度测量噪声是高斯白噪声,那么它积分得到的角度会越来越不准确,这是 IMU 角度漂移的原因。上面应该是“Yt的积分的功率谱

2020-10-20 08:59:42 7919

原创 动态系统建模分析(持续更新)

动态系统建模分析文章目录动态系统建模分析1. 傅立叶变换的推导2. 拉普拉斯变换传递函数与拉普拉斯变换3 脉冲响应与阶跃响应分析阶跃响应的必要行在哪里?下面是一个阶跃响应的示例:4. 冲激响应和卷积[^1]1. 傅立叶变换的推导证明主要是基于三角函数的正交性、欧拉公式来完成。利用正交性推导傅里叶级数,如下:下面推导出傅立叶级数在复数下的表达形式:(这里的证明主要利用欧拉公式)利用在复数下的傅立叶级数性质,推导出周期函数的傅立叶变化,之后再将周期近似到正无穷,得到一般函数的傅立叶变换。最终得到傅

2020-10-19 09:24:07 1341 2

原创 视觉SLAM中对于李代数、李群、图像处理和对极几何、优化等问题的讨论

文章目录0. 参考资料1. 李群与李代数坐标系定义李群与李代数之间的关系那么如何对李代数的部分进行求导呢?为什么对于微小变量的求导等于直接对变量进行求导?求极限和求导的统一性?2. 图像处理基础知识3. 2D-2D 对极几何4. 2D-3D(PnP)与图优化5. aruco图片处理主要整理视觉slam相关内容。0. 参考资料「slam14讲」1. 李群与李代数李代数与李群的关系参考「SLAM14讲」。尽管刚体的姿态有很多种不同的表示方法,它们的积分方法也不相同,但这其中有一些共通的地方,在这

2020-10-19 09:13:08 858

原创 滤波器设计与信号处理、数字模拟滤波器的转换(完整整理版)

滤波器设计与信号处理、数字模拟滤波器的转换文章目录滤波器设计与信号处理、数字模拟滤波器的转换1 信号处理1.1 双线性变换设计递归滤波器1.2 相关数学内容1.3 使用matlab设计滤波器1)设计过程2)给滤波器进行加窗2 模拟电路滤波器到数字滤波器2.1 双线性变换原理部分[^3]2.2 选取示例1)双线性滤波器转换[^3]2)matlab的双线性变化函数表示3)freqz函数与freqs函数2.3 反向差分法2.4 讨论滤波器的设计1) fdatool设计2) 系统频率响应的画图参考文献本文主要讨

2020-10-17 11:47:33 3766

原创 滤波器的画图、模拟信号与数字信号之间的关系、矩形窗滤波器的设计

滤波器的画图、时间域空间域之间的关系主要分成两种方式进行考虑:考虑位移移变不考虑位移移变这样处理的目的就是让数字移变滤波器的参数仅随着列车运行速度的变化而变化。一、不考虑位移时域频率Ω\OmegaΩ与频率fff之间的关系是:Ω=2πf\Omega = 2\pi fΩ=2πf。1. 模拟系统在模拟信号中,常常用传递函数来表示系统,那么传递函数中的s=jΩ=j2πfs = j\Omega = j2\pi fs=jΩ=j2πf,matlab验证如下:B = [1,2];A = [3,4];

2020-10-16 11:52:02 2260

原创 如何使用kindle看代码?linux下的简单方法

作为一个kindle的超级深度用户,在看到github上的这个项目时非常开心。项目链接:https://github.com/agentzh/code2ebook#prerequisites只需要提前安装了perl、cablir、ctags、vim即可,

2020-08-14 08:58:46 2074 2

原创 数字滤波器设计(IIR与FIR)(持续更新)

文章目录1. 信号处理方面整理1 滤波器2 线性相位,全通滤波器,群延迟3 截止频率与时间的关系2 [奥本海默信号处理课程](https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/lecture-notes/);实数信号频谱的对称性,复数信号的采样滤波器的部分信号处理工具如何利用fdatool设计滤波器?如何理解窗函数与设计窗函数?3 如何设计滤波器FIR与IIR定义性能延时设计1. 信号处理方面整理1 滤波器.

2020-08-03 11:51:55 9451 1

原创 控制中比较有意思的开源项目

开源项目整理水下无人车来源:github;说明:基于matlab与simulink的仿真,代码结构合理。paper:链接/Underwater Robotics.pdf这是一个非常厉害的开源。​ Interpolation: linear (tsdata.interpolation)该论文构成了硕士学位论文,是挪威科技大学工程控制论硕士学位的一部分。它是在2014年春季编写的,是与卓越自主海洋操作和系统中心(AMOS)合作完成的,是其水下自主研究的一部分。问题是对于这样的

2020-08-01 22:12:19 1248 4

原创 QNX系列:一、进程和线程

文章目录进程和线程流程和线程基础一个房子的过程占用者为线程单螺纹多线程返回流程和线程互斥优先事项信号量计数为1的信号量计数大于1的信号量信号量作为互斥量内核的作用单CPU多CPU(SMP)内核作为仲裁者优先次序调度算法(Scheduling algorithms)FIFORR Round Robin规则内核状态正在运行准备封锁状态内核状态,完整列表线程和进程Why processes?Starting a process从命令行启动进程从程序内部启动过程通过*system()*调用启动进程使用*exec()

2020-07-27 11:49:27 6218

原创 QNX系列:二、进程间消息传递

这里对QNX中IPC内容进行整理,内容翻译自QNX编译器的官方说明文档。这一部分是QNX的核心。第三章 讯息传递本章内容包括:消息基础消息传递和客户端/服务器网络分布式消息传递对你意味着什么多线程使用消息传递脉搏通过网络传递消息优先继承消息基础在本章中,我们将探讨Neutrino的最鲜明特征,即 消息传递。消息传递是操作系统微内核体系结构的核心,为操作系统提供了模块化功能。小内核和消息传递Neutrino的主要优点之一是可扩展。“可伸缩”是指它可以针对具有严格内存限制的微

2020-07-26 10:09:59 3480

转载 ros安装

Environment setupIt’s convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrcsource ~/.bashrcIf you have more than one ROS

2020-07-03 22:54:55 321

转载 C++语法整理(From GitHub)

???? Github   |   ???? Docsify 简体中文   |   English ???? 关于???? 本仓库是面向 C/C++ 技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。???? 侧边目录支持方式:???? Docsify 文档、Github + TOC 导航(TOC预览.png)???? 保存为 PDF 方式:使用 Chrome 浏览器打开 ???? Docsify

2020-07-02 14:52:46 1982

原创 如何理解信号处理/自控原理中的bode图,并分析系统?

bode图实际上描述的就是系统的频率响应,首先对画系统频率响应的方法进行讨论。滤波器频率响应下面代码给出了怎么去画滤波器的频率响应(幅频和相频曲线),以及滤波的方法。clear, close all%% initialize parameters% 载波频率samplerate = 1000; % in Hz 采样率N = 512; % number of points, must be even, better be power of 2%% define

2020-06-25 23:42:01 8424 1

原创 基于误差状态卡尔曼滤波惯性导航理论(初步,持续更新)

文章目录惯性导航中的一些问题四元数的表示方法是什么?科式加速度的表示什么时候能够用到科式加速度呢?在IMU中如何确定协方差矩阵?有没有一个简单的理解?或者通用的解释?如何确定协方差矩阵的更新?如何将角度积分差分化表示?但是最后一步是怎么推导的?为什么要用误差状态量去表示呢?是如何将误差状态与控制量相结合的?四元数的运算是什么样的?最后一点:四元数与李代数之间的关系?ESKF总结陈述首先是运动学方程其次是测量方程:参考目录1234567惯性导航中的一些问题四元数的表示方法是什么?可以这样表示:q˙e

2020-06-22 11:18:14 8136 11

原创 航天器/控制器飞行能够实现自主控制么?

航天器/控制器飞行能够实现自主控制吗?(未完,待续)Personal opinion虽然从控制专业毕业,但是现代控制原理是否可以用到真是的控制系统中去,完成真正的智能控制,是我一直困惑的问题。与北交理学院做控制的老师聊他所做的方向,他对我说自己一直在寻找控制对象,自己已经在数学上走的很远了,现在正在试图做一些改变。在知乎上,这个问题收到了广泛的讨论,一些学生大言不惭的说到:控制理论已死,没有现实的应用对象,已经成为了数学家们自娱自乐的行为。这一点值得质疑,因为研究数学问题并不需要真正的对应现实中的模型

2020-06-18 13:09:54 6114

原创 SLAM视觉相关基础知识的整理(围绕slam14讲)

文章目录0. 参考资料1. 李群与李代数2. 图像处理基础知识3. 2D-2D 对极几何4. 2D-3D(PnP)与图优化5. aruco图片处理0. 参考资料1. 李群与李代数李代数与李群的关系参考「SLAM14讲」。尽管刚体的姿态有很多种不同的表示方法,它们的积分方法也不相同,但这其中有一些共通的地方,在这里作一些简要但不严格的介绍。刚体旋转群 SO(3) 是一个李群,所谓李群是指同时具有光滑流形和群的结构的空间,同时群内的运算也是光滑的。李群的定义需要花很长篇幅解释清楚,也不重要,在这篇文章中

2020-06-17 08:16:01 717

双目相机视觉系统设计 (相机标定、立体视觉)

输入左右相机采集的一系列图像(包括目标和标定板),实现相机内外参数标定。并利用立体视觉原理计算目标相对左右相机的**空间三维坐标以及空间距离**。 圆点靶标相对于棋盘格靶标来说,具有一定的局限性,同时又有其独特的优势。 优点:在针对一些诸如投影仪和相机的标定过程中,需要知道特征点中心的投影仪投射的光的信息(如相移法)。但是我们的棋盘格由于是特征点是角点,所以不容易获得特征点中心的光信息。这是圆点靶标相对于棋盘格的一个优势。如华中科技大学的一篇关于相机和投影仪的标定文章《Accurate calibration method for a structured light system》,目前圆点标定板在三维扫描仪中应用更加广泛。 缺点:缺点也十分明显,圆点靶标摆放的位姿在与相机光轴不垂直的情况下,特征点的中心拍摄图像的特征点的中心(或者说是重心)这个时候不论用Steger方法提取光点中心,还是用OpenCV原生的blob方法获取斑点中心,效果理论上来说应该都不是可靠的,或者说精度较高的。在实际的拍摄过程中,我们不可能保证圆点靶标的位姿与相机光轴垂直。

2020-05-29

GPS_kalmanFilter_reference.zip

Extended Kalman Filter Implementation for Constant Turn Rate and Acceleration (CTRA) Vehicle Model in Python 设计扩展卡尔曼滤波,算法部分采用python代码,写在ipynotebook中。 实现部分使用C++语言,经过测试,其结果与python中一致。 作为范例供大家下载,本人用心整理,内容本身不难,借鉴开源项目。

2020-03-24

非线性模型预测控制的matlab参考代码

本人在硕士期间做的一些有关于非线性模型预测控制的代码,现在已经不再做相关的行业,拿出来与大家分享。 很具有参考价值,相关方向的不容错过,可惜只是matlab仿真,但是并没有去做实现。不过应付应付论文是足够了。

2019-11-30

自主导航理论与应用

航天器自主导航与控制,是学习航天器自主导航与控制的最基础的研究生入门教材,对日后的学习导航类的方向有着很大的作用,因此是一本不得不提的好书

2018-04-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除