• 什么是轮式里程计


    里程计的基石 - 码盘

    image.png

    这是一个非常丑的码盘,它可以分为8个刻度,红色区域是吸光区,白色区域为透光区。这个码盘粘在电机上,当电机转动时,带动码盘转动。电机本身又通过减速箱与轮子相接最终大概构图为:

    ba8f3f7fe439cbf3329730b1fe21d970.jpg

    码盘可以得到什么?

    真实线速度

    经过光电管后,每次码盘转动都会产生一次脉冲,mcu可以通过中断记录两次脉冲之间的时间 △t ,已知这个时间,已知两个码盘间的距离,就可以算出来这段时间的真实速度(线速度 精度为 mm/s)。

    里程

    我们扫地机的码盘采用的是磁码盘,码盘转一次走过8个刻度,轮子通过减速箱与码盘产生联系,大概关系为:

    image.png

    比如我们的扫地机左右轮,周长 267mm , 轮子转一圈,经过了335个脉冲(刻度),那么每个脉冲对应的行走距离就是 :

    odom = 267 / 335 = 0.797 (mm / 刻度)
    
    • 1

    那么如果我们左轮走了10000个刻度,就相当于走了 7970 mm

    以上就是如何通过码盘获取每个轮子的里程。

    扫地机速度闭环

    上面讲了我们可以通过码盘获取左右轮真实速度,我们还可以通过PWM + 电机驱动芯片控制轮子的实际速度

    image.png上面是一个精简的PID控制器,所有与轮子相关操作的均在一个线程内:

    image.png

    从linux下发一次线速度角速度,到底层控制电机转动,经过了如下步骤
    image.pngimage.png

    也就是说,Linux下发的线速度角速度,mcu把它解释为左轮期望速度和右轮期望速度,经过软加速后,放到PID控制器里做闭环。

    基于里程计航迹推算(定位建图)

    编码器推算轨迹:(直接对距离做分解累积误差相对较小,最终精度1%以内,如果做修正,同时航向角较准确的情况下精度可以达到0.1%以内(已经实测))
    编码器每一个脉冲对应实际轮子行走的直线距离系数为:
    rate_encoder = 2𝛑r/sum_encoders
    其中r为车轮半径, sum_encoders 为轮子走动一圈的编码器的脉冲总数。
    单位时间∆t内编码的增量为:
    inc_encoder = encoder_now – encoder_last (当前编码器值减去上次编码器值)
    则单位时间机器人移动的距离为:
    ∆d = inc_encoder * rate_encoder

    世界坐标系下x、y方向累计里程分别为:
    Xw = Xw + ∆xw = Xw + ∆d * cos(θ)
    Yw = Yw + ∆yw = Yw + ∆d * sin(θ)

    其中航向角θ的获取分两种情况:

    • 底盘带具有稳定航向角的IMU,此方式可以使得最终解算的位置十分准确(电子罗盘受电机干扰交大不可用)
      θ直接等于IMU的航向角Yaw。(IMU的Yaw上电为0,刚好和车的航向角一致)
    • 依靠底盘两个轮子上精确的编码器推算航向角。
      两轮编码器单位时间内增量分别为 inc_encoder_r、inc_encoder_l
      单位时间内两轮扭动的距离差为 lenth_error = (inc_encoder_r- inc_encoder_l) * rate_encoder;
      由⑤得:由距离差得单位时间内角度差为 anlge_z_error = lenth_error / 2d;
      根据编码器累计的角度θ为 anlge_z += anlge_z_error。
      此方式非常依赖编码器精度,有累计误差,效果不如直接使用IMU的好。
  • 相关阅读:
    jvm中的类加载器
    ZYNQ linux调试LCD7789
    四年 android开发 转 web前端 开发3个月的一点点工作、生活感悟
    Solidity优化 - 减少智能合约gas消耗
    深度学习基础——YOLOv5目标检测
    (附源码)计算机毕业设计SSM基于的小区物业管理系统
    【mmdetection】ROIExtractor中的featmap_strides和finest_scale
    PTA 7-3 插松枝(单调栈)
    如何将u盘两个分区合并?u盘怎么合并一个区
    基于ROS的蛇形机器人基本仿生运动与自主爬台阶控制
  • 原文地址:https://blog.csdn.net/su_fei_ma_su/article/details/126099768