标定记录 2nd

2020.4.27


陀螺仪问题解决


先做线(杜邦线),用2s锂电池单独给陀螺仪供电后问题解决

  • 每次转一圈的数据比较稳定,每转1080°陀螺仪若干数据之间的差不超过20

再次标定


  • 由于陀螺仪数据稳定,需要再次标定,标定后角度经验证比较准确:

    • 每转三圈读取的角度值在1080°±3°之间浮动
  • 角度标准不同后,还需要整体重新标定,结果图示如下:

    • 验证正y轴

      • y方向行进约 1300 mm,x方向偏移量约为 0.7 mm

    • 验证假x轴

      • x方向行进约 1400 mm,y方向偏移量约为 10 mm

    • 验证正y轴转为假x轴后沿正y轴走

      • 这里最终x方向偏移量约 4 mm

  • 根据上图走假x轴的x、y位移数据 acrtan(10.04 / 1373)= 0.4189653°

​ 又推车转角为 89.5257507°

89.5257507° + 0.4189653° = 89.944716° ≈ 90°

​ 在这里再次验证了之前的结论

重复性误差


  • 在这里我推车测试了8条不同的路径(左下角到右上角),并且把每条路径最终的x、y坐标都列了出来,横线代表8个值的平均值,由于条件有限无法知道精确的实际值,所以把平均值当作实际值。

  • 结果发现,在推车直线距离大概 1.5 m的情况下,小车在x、y方向都可能存在5mm内的偏移

旋转误差


  • 这里每次旋转 3 - 4 圈后回到起始点,来观察小车的定位误差情况

  • 顺逆时针都测试了,发现顺时针坐标整体偏移了 5 mm,然而逆时针坐标整体偏移了约 20 mm

为何会有偏移?


  1. 由上图可以发现转三圈的角度值都是1080°左右,说明陀螺仪提供的角度数据没有问题

  2. 旋转算法matlab程序实现是否有问题?

    • 我把程序中 alpha 和 L 的值都设为 0,再次转3圈看结果:

      结论是与旋转算法无关测试结果照样有十几到二十多毫米的偏移

(这里发现路径图中由于是随动中心,会绕中心转圈,是对的,之前是车的中心,所以路径图比较奇怪)

  1. 直行算法matlab程序实现是否有问题?**(由于在家标定时旋转角度方向变了,我改了一部分matlab代码,所以怀疑是不是这个有问题)

    • 我把之前 Adams 的仿真理想数据带入现在的matlab程序,并且在程序里再次分别验证走正y轴,假x轴:正y轴的x方向偏移 0 mm;正x轴的y方向偏移 1.2 mm 比较理想,证明程序无误
  2. 综上,那就意味之标定的系数(8个)还是不准,那就再小心的标定一次

再再次标定


  • 这次标定不一样,电脑不用放在车上了,标定也用蓝牙传数据(这周第一次整体标定电脑还是放在车上的);并且,走一个方向多次重复取平均值。

  • 这一次标定效果如下:

    • 验证正y轴

      • y方向行进约 1400 mm,x方向偏移量约为 0.25 mm

    • 验证假x轴:(这次两边测得正好是90°,没办法每次都测的不一样,这个车有一边有问题)

      • x方向行进约 1400 mm,y方向偏移量约为 1.293 mm

    • 验证正y轴转为假x轴后沿正y轴走

      • 这里最终x方向偏移量约 4 mm,和这周第一次标定的效果

再次看看旋转的误差大小

  • 旋转三圈回到起始点,依然会有 10 - 20 mm的坐标偏移

结论


  考虑到标定时的车身的振动,旋转时车身的振动,自身操作使随动轮前后小幅度摇摆造成回程差等等的条件受到限制。

  这一套系统的精度目前看来就是上述的研究结果。

标定记录

2020.4.13


  周末测试的定位算法,算是一个阶段性的理解。发现了一些问题并且改正;
其中包括:

  1. 在标定过程中,以近y轴为基准的话,那么旋转来测量x轴行进数据时,需要特别注意旋转方向
    • 以前测量时,全都是顺时针旋转约90°,所有公式都是以顺时针旋转来推导的,原本以为只要规定了正方向,结果应该都一样
    • 但是由于昨天测量时是逆时针,在结算代入数据时发现求出的数据不对,重新推算了一遍发现顺逆时针旋转的算法结算有略微差别
    • 本次差别在于:x轴行进时的A、B轮相对行进方向角度的余弦值,顺逆时针是相反地

下图为两种旋转方向的图示:

逆时针旋转处理
顺时针旋转处理

这里备份了两种相似算法的matlab程序
逆时针算法
顺时针算法


  1. 旋转方法也进行了测试,之前一直没有一个比较具体的有效的验证
    • 首先,采用的验证方法是已知小推车的模型参数,从而得到理论上的几何中心和随动中心的距离L、以及对应夹角
    • 条件是在测完直行标定,并计算出8个变量带入程序并且程序中的L、alpha改成0
    • 其次,操作小推车旋转约180°(顺逆时针皆可)旋转前后都会有一条铝管作为基准边,得到计算出的x、y坐标的变化
    • 带入matlab旋转算法结算程序,求得L与alpha(注意matlab中的alpha为顺时针为正方向计算,程序中需要取负号
    • 将理论和计算出的长度、角度变量比较,发现长度误差1.2mm,角度误差1.2°,考虑到加工精度误差、以及人为操作误差,结果可以接受
旋转算法结果

这里备份了旋转算法的matlab程序    旋转算法

—理论数据—

横间距:37.5 mm

长间距:-29.84 mm

矢量绝对值:47.9236 mm

夹角:-2.24293 rad ( -128.5104 °)

—计算数据—

矢量绝对值:46.698439058181290 mm

夹角:-2.222503658302204 rad ( -127.33 °)

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×