怎么才能使转动精确些呢?这章不容错过哦
课程目标
¢学会怎样提高转动的精确度
¢学会替代方式,中心轴转动和快速转动
你的转动有多精确?(PivotTurn)
运行这段代码配合仪表盘显示去看看是否精确的转动了90度
¢注意下我们这把电机的速率设置成了50%而不是之前的20%
¢ADB模型下,以50%速度这个代码实际转动了度,在DBIV模式下,它实际转动了98度(两种模型见buildingArobot章节)
¢有两点原因:
1.读陀螺仪需要很短的时间,但是在这段时间内,机器人已经在移动看延迟小,但是还是产生了几度的误差。
2.机器人停下来也需要一段时间,这也会产生几度的额外误差.
提高转动精度(PivotTurn)
¢我们上一页已经说了ADB模型50%速度会产生度的误差DBIV模型会产生98度的误差
¢我们怎么解决这个问题呢
¢其中一个解决办法是。ADB模型下我们少设置12度,DBIV模型下我们少这是8度
¢这个减少度的数值受转动速度和机器人的物理设计,所以要尝试几次才能得到正确值。
¢右边的代码适用于ADB模型能转动90度.
另一种解决办法(PIVOTTURN)
¢另一种解决办法是用移动模块
¢移动模块的一个优点是他们在结束运动的时候为了提高精度减速了
¢上面的代码车轮旋转了多少呢?
¢具体的距离是两个车轮行驶距离的平均值
¢差速移动结束后,两个车轮的行驶距离之和是输入的两倍。¢答案:左边车轮要转度,右边的不转¢注意:上面的代码会使DBIV模型的机器向右旋转90度
快速旋转又是啥情况呢(SPIN)
¢下面是两种不同的运动模式的两种方法。
¢例如:在DBIV模型下,每个车轮都要向相反的方向转动度
¢最后的结果是,机器人向右转动90度
¢我们推荐用差速运动,他支持中心轴和快速运动和曲线运动(pivotturns,spinturnsandcurvedmovement.)
挑战
¢向右转动90度只用移动模块(pivot)
¢你可以利用仪表板来确定给定转弯到底行驶了多远距离。握住一个轮子用手去旋转另一个直到机器人到底目标,记录电机旋转的度数,你将在程序中使用这个度数
¢对于DBIV模型左边的电机需要转动度,才能使整个机器向右选择90度.
¢回忆一下上一页内容,怎么计算每个轮转了多少度用下面的运动代码
挑战解决
¢从配置你的马达端口开始
¢使用“holdpositon”确保机器人停留在完成转动的位置。
¢重新设置偏航角度,这让我们看到机器人转动了多远从仪表盘
¢用差速方式移动机器人,注意差速移动度期间,右边不动,左边快速移动了度,对于DBIV模型。
¢运行这段代码后,使用仪表盘检查实际转向度数,它应该是接近90度的。
little草莓酱为早餐加个蛋吧(??.??)