2020.4.13
周末测试的定位算法,算是一个阶段性的理解。发现了一些问题并且改正;
其中包括:
- 在标定过程中,以近y轴为基准的话,那么旋转来测量x轴行进数据时,需要特别注意旋转方向
- 以前测量时,全都是顺时针旋转约90°,所有公式都是以顺时针旋转来推导的,原本以为只要规定了正方向,结果应该都一样
- 但是由于昨天测量时是逆时针,在结算代入数据时发现求出的数据不对,重新推算了一遍发现顺逆时针旋转的算法结算有略微差别
- 本次差别在于:x轴行进时的A、B轮相对行进方向角度的余弦值,顺逆时针是相反地
下图为两种旋转方向的图示:


这里备份了两种相似算法的matlab程序
逆时针算法
顺时针算法
- 旋转方法也进行了测试,之前一直没有一个比较具体的有效的验证
- 首先,采用的验证方法是已知小推车的模型参数,从而得到理论上的几何中心和随动中心的距离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 °)