【机器人学习】移动机器人里程计学习记录

最近在看移动机器人的里程计,因此记录下相关知识以及公式的推导过程~

我们都知道移动机器人在行驶过程当中,需要里程计来获取自身的位姿,而通常里程计的数据获取由编码器的脉冲值换算得到。

换算公式:

r:小车轮子半径

x:编码器的采集值

:STM32编码器功能只有高级定时器TIM1、TIM8以及通用定时器TIM2~TIM5,而且只能用CH1和CH2通道,如果你用了别的通道是不能获取到编码值的!!血和泪的教训!

N:编码器的总脉冲,一圈的脉冲数×减速比

:我的是一圈脉冲数为11个脉冲,减速比为1:30,而STM32在采集的时候采用上下沿都计数,故为4倍频,因此,电机旋转一圈时,定时器可以计数11×30×4=1320个脉冲。

而移动机器人在移动主要由x轴的速度y轴的速度,以及自身轴的旋转角决定。根据移动机器人前进的方向为x轴,由右手定理,则可以确定y轴的指向。

我们可以根据正交分解的方法,将各轴的速度量分解至笛卡尔坐标系上。通过乘以运行时间,则可以得到相应的位移~

公式推算:

\Delta X = ({V_x}\cos \theta - {V_y}\sin \theta ) \times \Delta t

\Delta Y = ({V_x}\sin \theta + {V_y}\cos \theta ) \times \Delta t

\Delta \theta = {V_\theta } \times \Delta t

矩阵形式:

{
    double delta_x = (vx * cos(th) - vy * sin(th)) * dt;
    double delta_y = (vx * sin(th) + vy * cos(th)) * dt;
    x += delta_x;
    y += delta_y;
    th += delta_th;
}
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值