差速轮轮速计建模和优化量求导

  • author:
    by yuhongsong(hongsong.yu2010@gmail.com 18311028576)

    2020-06-05

    转载和基于此文档编辑,请注明原作者和链接

  • 标签 <tag> 里程计建模 ,<tag> 预积分, <tag> 残差

  • 说明

    本文内容部分是基于参考链接进行的摘抄和编辑,且已注明参考,为的是加强自己的阅读效果,留下阅读的笔记,内容做过深度阅读和改动,参照部分版权属于原作者所有。

1. update log

版本 时间 作者 info
V1.0 2020-06-05 余红松 创建

2. 两帧之间建模

内建型的递推传感器
根据传感器参数,获取 x t k x_{t_k} xtk x t k + 1 x_{t_{k+1}} xtk+1时刻的递推关系公式

$ x = \left[ \begin{array}{c}p
\ v
\ q
\ f_l
\ f_r
\ \eta
\end{array} \right]$

已知内参
f f f:编码器系数,表一个编码器计数对应移动距离的系数 可优化参数
d d d:车轮到轴中间距离,可优化参数

η ≜ 1 d \eta \triangleq \frac{1}{d} ηd1 轴距的逆轴距,避免后面雅克比求导中的除法问题

编码器数据上传帧率是一个固定值,每两帧之间,编码器计数增加 δ c = c t k + 1 − c t k \delta c = c_{t_{k+1}} - c_{t_{k}} δc=ctk+1ctk,这个编码器计数数值,两帧增加的量 视移动速度而定,帧间时间间隔是固定的, c c c c n t cnt cnt的缩写

两帧之间根据两轮的编码器读数的不同,会是一个弧形的运动轨迹,现在将弧形的轨迹假定为直线处理

2.1. 挡位因子

挡位方向说明
τ = 1 \tau = 1 τ=1前进挡
τ = − 1 \tau = -1 τ=1后退挡
τ = 0 \tau = 0 τ=0停车挡

$ \displaystyle \varepsilon \triangleq \left { \begin{array} {ll} \varepsilon=1 & | \tau=1
\ \varepsilon=-1 & | \tau=3
\ \varepsilon=0 & | \tau=4
\end{array} \right. $

2.2. 位置 P

两帧之间运动时间假定为 δ t \delta t δt,轴中心点 M M M运动距离为 δ S \delta S δS
时刻 t k t_{k} tk t k + 1 t_{k+1} tk+1的位置变化分析

左侧轮的移动距离: δ S L k = ε ⋅ ( c L k + 1 − c L k ) ⋅ f L = ε ⋅ Δ c L k ⋅ f L \delta S_{L_k} = \varepsilon \cdot \left(c_{L_{k+1}}-c_{L_{k}}\right) \cdot f_{L} = \varepsilon \cdot \Delta c_{L_k} \cdot f_L δSLk=ε(cLk+1cLk)fL=εΔcLkfL

右侧轮的移动距离: δ S R k = ε ⋅ ( c R k + 1 − c R k ) ⋅ f R = ε ⋅ Δ c R k ⋅ f R \delta S_{R_{k}} = \varepsilon \cdot \left(c_{R_{k+1}}-c_{R_{k}}\right) \cdot f_{R} = \varepsilon \cdot \Delta c_{R_k} \cdot f_R δSRk=ε(cRk+1cRk)fR=εΔcRkfR

轴中心的移动距离:
$\delta S_{k} =\varepsilon \cdot v_{k}^{o} \cdot \delta t = \varepsilon \cdot \frac{v_{R_{k}}+v_{L_{k}}}{2} \cdot \delta t $

= ε ⋅ δ S L + δ S R 2 = ε ⋅ ( c L k + 1 − c L k ) ⋅ f L + ( c R k + 1 − c R k ) ⋅ f R 2 = \varepsilon \cdot \frac{\delta S_L + \delta S_R}{2} = \varepsilon \cdot \frac{\left(c_{L_{k+1}}-c_{L_{k}}\right) \cdot f_{L} + \left(c_{R_{k+1}}-c_{R_{k}}\right) \cdot f_{R}}{2} =ε2δSL+δSR=ε2(cLk+1cLk)fL+(cRk+1cRk)fR

$ = \varepsilon \cdot \frac{\delta S_L + \delta S_R}{2} = \varepsilon \cdot \frac{ \Delta c_{L_{k}} \cdot f_{L} + \Delta c_{R_{k}} \cdot f_{R}}{2} $

p w o k = ε ⋅ [ x t k y t k z t k ] p_{wo_{k}} = \varepsilon \cdot \left[ \begin{array} {c}x_{t_k} \\ y_{t_k} \\ z_{t_k} \end{array} \right] pwok=εxtkytkztk

$p_{wo_{k+1}} = p_{wo_{k}} + \varepsilon \cdot v_{o_k}^{w} \cdot \delta t $

$= p_{wo_{k}} + \varepsilon \cdot \mathbf{q}{wo_k} \cdot v{k}^{o} \cdot \delta t $

$= p_{wo_{k}} + \varepsilon \cdot \mathbf{q}{wo_k} \cdot \left[ \begin{array} {c} \delta S{k}
\ 0
\ 0
\end{array} \right] $

$= p_{wo_{k}} + \varepsilon \cdot \mathbf{q}{wo_k} \cdot \left[ \begin{array} {c} \frac{\Delta c{L_{k}} \cdot f_{L} + \Delta c_{R_{k}} \cdot f_{R}}{2}
\ 0
\ 0
\end{array} \right]
$

p w o k p_{wo_{k}} pwo

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuhongsong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值