登录
首页 » Others » 倾角传感器mma8451 stm32代码

倾角传感器mma8451 stm32代码

于 2019-12-05 发布
0 151
下载积分: 1 下载次数: 1

代码说明:

角度传感器芯片 mma8451的stm32代码,模块化,非常方便使用

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • CSDN博客下载器v2.2
    好消息:CSDN博客下载器v2.0版本增加导出PDF文件功能,方便查看图片与文章。在无网络环境,也可以看自己的一些文章。当然如果您发现CSDN博客的一些文章值得收藏,你也可以使用本软件轻松的下载到您的电脑。该版本新增功能:1.更新了blogspider的LOGO。2.添加了很多菜单的图标。3.增加设置选项窗口,设置背景音乐,PDF页面大小与计划任务。4.增加了检查更新窗口,检查下载器是否发布新版本。该版本解决的BUG:1.解决下载过程中卡住不动的问题。2.优化了代码。
    2021-05-06下载
    积分:1
  • NUFFT算法及说明
    资源结合李银斌师兄的论文第三章,编写得到NUFFT算法,实现从非均匀采样点得到均匀频谱,自己使用正确有效。希望能帮到需要的同学
    2020-12-11下载
    积分:1
  • 单片机原理与应用项目教 课件.源
    【实例简介】
    2021-07-16 00:31:52下载
    积分:1
  • sqlcipher.exe windows客户端
    解密sqlite,无需编译,直接运行就可以解密sqlite,无需编译,直接运行就可以
    2020-12-06下载
    积分:1
  • 大学物理复习基本知识点
    涵盖大学物理基本公式知识点 公式的总结和积累是应对考试的有效方法!
    2020-11-29下载
    积分:1
  • PMSM SVPWM 矢量控制各种模型最全
    PMSM SVPWM 矢量控制各种模型及技术文档,总有一个是你想要的。数量打二十几个!
    2020-12-05下载
    积分:1
  • MATLAB 优化 26个测试函数
    MATLAB 优化问题 26个测试函数,直接使用即可,唉,前段时间费了好久时间写的,后来发现在网上有库,囧,给大家分享下。。。。
    2020-12-03下载
    积分:1
  • VINS论文推倒及代码解析
    VINS 的功能模块可包括五个部分:数据预处理、初始化、后端非线性优化、闭环检测及闭环优化。代码中主要开启了四个线程,分别是:前端图像跟踪、后端非线性优化(其中初始化和 IMU 预积分在这个线程中)、闭环检测、闭环优化。、总体框架Measurement PreprocessingInitializationCamera(30hz)Feature Detectionnd rackerVisual-lnertialInitializedis- onlySfMAlignmentIMU (100hMU Pre-integrationLocal Visual-Inertial: OldestSliting WindowNewestNonli+、 Keyframe?OptimizationBundle Adjustment II Loop detectionwith RelocalizationStates from Loop ClosureFealure retrievel oop Deleted二二1---11------22===Global Pose Graph4-DoF Pose Graph OptimizationKeyframe DatabaseOptimization图1VINS框架ⅵINS的玏能模块可包括五个部分:数据预处理、初始化、后端非线性优化、闭环检测及闭环优化。代码中主要开启了四个线稈,分别是:前端图像跟踪、后端非线性伉化(其中初始化和IMU预积分在这个线程中)、闭环检测、闭环优化各个功能模块的作用上要有:1.I图像和MU预处理●图像:提取图像 Harris角点,利用金字塔光流跟踪相邻帧,通过 RANSAC去除异常点,最后将跟踪到的特征点push到图像队列中,并通知后端进行处理●IU:将IMU数据进行积分,得到当前时刻的位置、速度和旋转(PVQ),同时计算在后端优化中将用到的相邻帧的预积分增量,及预积分误差的 Jacobian矩阵和协方差项。1.2初始化首先,利用SFM进行纯视觉佔计滑窗內所有帧的位姿及3D点逆深度,最后与IMU预积分进行对齐求解初始化参数1.3后端滑窗优化将视觉约束、IMU约束和闭环约束放在·个大的目标函数中进行非线性优化,求解滑窗内所有帧的PVQ、bias等。L M States in the sliding windowIMU:k States from loop clos1Camera:冷 MU measurements>visual measurements★ Catur图2滑窗优化示意图14闭环检测和优化利用D)BoW进行闭环检测,当检测成功后进行重定位,最后对整个相机轨迹进行闭环优化。U预积分VisionIMUVision图3MU预积分示意图21当前时刻pVQ的连续形式将第k唢和第kl帧之间的所有IMU进行积分,可得第kHI帧的位置、速度和旋转(PVQ),作为视觉估计的初始值,这里的旋转采用的四元数。v△t+k+1∈[k,k+1]rW(at-ba ) -owletbk JtE[k, k+1]n(,-bdt∈[k,k+1]其中,a2和O为ⅠMU测量的加速度和角速度,是在Body自身坐标系, world坐标系是IMU所在的惯导系,上式的旋转公式推导可参考附录10.1。22当前时刻PVQ的中值法离散形式公式(1)给出的是连续吋刻的相机当前PVR的达代公式,为了跟代码致,下面给出基于中值法的公式,这与 Estimator:; processIMg(O函数中的Ps]、Rs]和Vs是一致的,IMU积分出来的第j时刻的物理量可以作为第j帧图像的初始值。tr t+a26t(2)ka,St其中q(a1-ba)-g"+q:+1(a+1-ba)(a;+o;+1)2.3两帧之间PVQ增量的连续形式通过观察公式(1)可知,IvU的预积分需要依赖与第k帧的ν和R,当我们在后端进行非线性优化时,需要迭代更新第κ唢的ν和R,这将导致我们需要根据每次迭代后值重新进行积分,这将非常耗吋。因此,我们考虑将优化变量从第k帧到第κ+1帧的IU预积分项中分离开来,通过对公式(1)左右两侧各乘Rb,可化简为:R(+p2k-=2△)+ak+1b其中DtElk, k+1t∈[k,k+1R k(at-bar)ldt)Wendtt∈[kk+1这样我们就得到了连续时刻的MU预积分公式,可以发现,上式得到的MU预积分的值只与不同时刻的a2和o相关。这里我们需要重新讨论下公式(5)预积分公式,以ab,为例,我们发现它是与MU的bias相关的,而bias也是我们需要优化的变量,这将导致的问题是,当每次迭代时,我们得到一个新的bias,又得根据公式(巧5)重新对第k帧和第k+1帧之间的IMU预积分,非常耗时。这里假设预积分的变化量与bias是线性关系,可以写成:ab,+/6n6ba+/16b+8 8ba +p(6)k+1sb24两帧之间PVQ增量的欧拉法离散形式面给出离散时刻的IMU预积分公式,首先按照论文中采用的欧拉法,给出第i个MU时刻与第i1个IMU时刻的变量关系为b+1k+的6t+元R(P)(1+R(P")(a2-bbn)δt25两帧之间PⅤQ增量的中值法离散形式卜面给出代码中采用的基」中值法的IMU预积分公式,这与 Estimator: processIMUO函数中的 Integration Base: push backo上是一致的。注意这里跟公式(2)是不一样的,这里积分出来的是前后两顿之间的IU增量信息,而公式(2)给出的当前帧时刻的物理量信息+1+B k St +=a, &tbb+1Bi + au1其中a,=slqilai-bai)+qiDi t aitl2.6连续形式下PVQ增量的误差、协方差及 JacobianIMU在每个吋刻积分出来的值是有误差的,下面我们对误差进行分析。首先我们直接给出在t时刻误差项的导数为:sa00016a000000-82(066hkR;0006|=00-(a-bh)0-1192k|+|000|mLL000016ba00101n000018b000F+ozk+ Gt其中:F25×15,G215×2,62x1,n12×,上式推导可参考附录102。下面我们讨论它的作用,将其可以简写为:6之k=F62z+Gtnt根据导数定义可知:62b=1m24-6262+8=62+628t=(+F6t)6z+(Gt6t)nt(11)这里我们对公式(1)的IMU误差运动方程再说明,将上式和EKF对比可知,上式恰好给出了如EKF一般对非线性系统线性化的过程,这里的意义是表示下一个时刻的IMU测量误差与上一个时刻的成线性关系,这样我们根据当前时刻的值,可以预测出下一个时刻的均值和协方差,而公式(1)给出的是均值预测,协方差预测公式如下Pb+6=(1+Ft)P(+Fl6t)7+(G,t)Q(G18t)ot(12)上式给出了协方差的选代公式,初始值Pk=0。其中,Q为表示噪声项的对角协方差矩阵000003000另外根据(11)式可获得诀差项的 Jacobian的迭代公式:(I+F26t)(14)其中 Jacobian的初始值为bk=12.7离散形式的PVQ增量误差分析我们首先直接给出PVQ增量误差在离散形式下的矩阵形式,为了与代码一致,我们修改下变量顺序,这和代码中 midPointIntegration(函数是一致的。(但不知为何计算的V中与前四个噪声项相关的差个负号?)1t fo660f106t‖loeBk+1=0f211f20016bδb0[6b102001rnot000kRkotk+1(15006t0n0000δt其中,推导可参考附录10.3:stE(ak-ba)02-4B+1(kk+121k+1b.)6t|6t2(Rr+ rk+18t2Stn=71=Rk+1(a+1-b)6tWr+ wf1=Ik+11+Gb。)δt-Rn+1(ak+121=-2配+1Stl st21(RK+Ruts)4rula1RrotstStR+1(a1R,+114/+11t28离散形式的PVQ增量误差的 Jacobian和协方差将公式(15)简写为:k+1F15×158215×1+V15×13Q则 Jacobian的迭代公式为k+15×15=F/k(16)其中, Jacobian的初始值为/k=l。这里计算出来的k+1只是为了给后面提供对bias的acoblar。协方差的迭代公式为P+15×15=FPFr+vQv(17)其中,初始值P=0。Q为表示噪声项的对角协方差矩阵:00000000aa000Q18×180a00(18)000000三、后端非线性优化31状态向量状态向量共包括滑动窗口内的n+l1个所有相机的状态(包括位置、朝向、速度、加速度计bias和陀螺仪bias)、 Camera到IMU的外参、m+1个3D点的逆深度X=[xr=pw,vb bpc,q3.2目标函数吗+(喻,2)+2(19)其中三个残差项即误差项分别为边缘化的先验信息、IMU测量残差、视觉的重投影残差。三种残差都是用马氏距离表示。根据《十四讲》中高斯牛顿法,若要计算目标函数的最小值,可以理解为,当优化变量有一个增量后,目标函数值最小,以IU残差为例,可写成如下所示:nin lre2bk, X+8Xrk x)+HSⅩDk+1oXk+1k+1其中HB,为B关于 XIK Jacobian,将上式展开并令关于6X的导数为0,可得增量δx的计算公式:H k 8X=k+1TB那么,公式(28)可写成+∑+∑Tk∑1rc上式中,B为MU预积分噪声项的协方差,P为vual观测的噪声协方差。当MU的噪声协方差P越大时,其信息矩阵Pk,将越小,意味着该MU观测越不可信,换句话说,因MU噪声较大,越不可信IMU预积分数据,而更加相信 visual观测。注意,这里的IMU和vsua协方差的绝对值没有意义,因为考虑得是两者的相对性可将上式继续简化为:(Ap+AB +Acox=bp +bB +bc其中,Ap,AB和Ac为 Hessian矩阵,上述方程称之为增量方程。33MU约束1)残差:两帧之间的PVQ和bias的变化量的差△tx+k+1bk qbk+1bR+1 xyz+g"△t)-Bk(20)sbbbb其中各增量关于bias的 Jacobian可从公式(16)的大 Jacobian中的相应位置获得。上面与代码中 Integration base: evaluateD对应,2)优化变量pb, 0W, Svb ,8ba:,bor Opb,, 80W ,Swb,, bakr, Sba3)Jacobian:计算 Jacobian时,残差对应求偏导对象分别为p6e,6vB,6h,ba],6b,6b
    2020-12-07下载
    积分:1
  • 支持向量机
    关于支持向量机里面讲核函数的,介绍了线性核函数、高斯核函数、及多项式核函数等。还介绍了核函数的判定以及Mercer定理1x1121T3212T42.3p(a)L313x2.3.32cT1V2C.223+d更一般地,核数K(x2z)=(xz+)“对应的映射后特征维度为a(求解方法参见http://zhidao.baiducom/question/16706714.html)由于计算的是内积,我们可以想到IR中的余弦相似度,如果ⅹ和z向量夹角越小,那么核函数值越大,反之,越小。因此,核函数值是(x)和(z)的相似度。再看另外一个核函数K(r, z)=expz-z|222这时,如果x和z很相近(x-2‖≈0),那么核函数值为1,如果x和z相差很大(x-2》0),那么核函数值约等于0。由于这个函数类似于高斯分布,因此称为高斯核函数,也叫做径向基函数( Radial basis function简称RBF)。它能够把原始特征映射到无穷维。既然高斯核函数能够比较ⅹ和z的相似度,并映射到0到1,回想 logistic回归, sigmoid函数可以,因此还有sigmoid核函数等等下面有张图说明在低维线性不可分时,映射到高维后就可分了,使用高斯核函数。Linear回回看目即Gaussian来自 Eric Xing的sdes注意,使用核函数后,怎么分类新来的样本呢?线性的时候我们使用SVM学与出W和b,新来样木ⅹ的话,我们使用wTx+ b来判断,如果值大于等于1,那么是正类,小于等于是负类。在两者之间,认为无法确定。如果使用了核函数后,W2x+b就变成了wφ(x)+b,是否先要找到p(x),然后再预测?答案背定不是了,找φ(x很麻烦,回想我们之前说过的wa+6=boy(0)x+bi=1(x(,x)+b只需将替换成(x,x),然后值的判断同上8核函数有效性判定问题:给定一个函数K,我们能否使用K来替代计算φ(x)2中(z),也就说,是否能够找出一个,使得对丁所有的x和z,都有k(x,2)=(x)r中(2)9比如给出了K(x,2)=(x2)2,是否能够认为K是一个有效的核函数下面来解决这个问题,给定m个训练样本全(r(3xm,每一个对应一个特征向量。那么,我们可以将(e) yJ仟意两个和带入K中,计算得到=0。I可以从1到m,j以从1到m,这样可以计算出m*m的核函数矩阵( Kernel Matrix)。为了方便,我们将核函数矩阵和(x,z)都使用K来表示如果假设K是有效地核函数,那么根据核函数定义k1=K(x0x0)=p(x()p(x0)=p(x(0)p(x()=K(x(,x)=K可见,矩阵K应该是个对称阵。让我们得出一个更强的结论,首先使用符号中x(x)来表示映射函数中(x)的第k维属性值。那么对于任意向量z,得2K2=∑∑2K3∑∑(m0y(0)2∑∑∑(z0)(x0)z∑∑∑29(x)k(z0)k i j=S|∑zipk(c(ak0.最后一步和前面计算K(x)=(x2)时类似。从这个公式我们可以看出,如果K是个有效的核函数(即K(xz)和(x)p(2)等价),那么,在训练集上得到的核函数矩阵K应该是半正定的(K≥0这样我们得到一个核函数的必要条件:K是有效的核函数==>核函数矩阵K是对称半正定的可幸的是,这个条件也是充分的,由 Mercer定理来表达。Mercer定理:如果函数K是×四→巫上的映射(也就是从两个n维向量映射到实数域)。那么如果K是一个有效核函数(也称为 Mercer核函数),那么当且仅当对于训练样例(r()x(m,其相应的核函数矩阵是对称半正定的。Mercer定理表明为了证明K是有效的核函数,那么我们不用去寻找φ,而只需要在训练集上求出各,然后判断矩阵K是否是半正定(使用左上角主子式大于等于零等方法)即可。许多其他的教科书在 Mercer定理证明过程中使用了范数和再生希尔伯特空间等概念,但在特征是n维的情况下,这里给出的证明是等价的。核函数不仅仅用在SWM上,但凡在一个模型后算法中出现了,我们都可以常使用区(xz)去替换,这可能能够很好地改善我们的算法。posted on2011-03-1820:22 Jerry Lead阅读(…)评论(…)编辑收藏刷新评论刷新页面返回顶部博客园首页博问新闻闪存程序员招聘知识库Powered by:博客园 Copyright@ Jerry Lead
    2020-12-01下载
    积分:1
  • 基于格雷码的结构光重建代码(MATLAB版本)
    该代码为brown university相关技术人员编写,旨在用于学习研究3D结构光的原理、算法实现和应用。由于原有的网站( http://mesh.brown.edu/byo3d/index.html )近期无法访问,为了便于3D爱好者可以方便学习相关内容,特将该网站部分代码进行上传。切记:不要将该代码直接用于商业目的,否则后果自负!
    2021-05-06下载
    积分:1
  • 696518资源总数
  • 106155会员总数
  • 8今日下载