首页 理论教育控制机器人运动方向

控制机器人运动方向

【摘要】:AS机器人有左右两个电动机,是其主要动力来源。因此,在对运动精度要求较高的场合,首先要校正机器人的电动机偏差。其中sleep(0.8)是机器人转90°所需要的时间。该值和转弯速度以及机器人的电动机有关,需要实际调整,此外地面的摩擦力也有影响。利用sleep()函数是控制电动机工作的常用方法。

AS机器人有左右两个电动机,是其主要动力来源。它还有喇叭、液晶屏等辅助输出手段,能够了解它的运行状态。充分利用好电动机,能够让机器人在比赛中占据优势。

1.校正机器人的电动机

直流电动机减速器由于生产装配过程中的因素,不可能做到转速完全一样。两只电动机之间总是存在或多或少的差异,即使在程序中给左右电动机设置一样的功率级别,机器人走出的也不是一条直线且会向一边偏移,这在长距离运动时最明显。因此,在对运动精度要求较高的场合,首先要校正机器人的电动机偏差。

常用的校正方法是在软件中设置偏置量。下面的函数使用一个全局变量drive_bias,只要调用该函数,就会自动利用该偏置量修正左右电动机的功率值,使电动机转动达到预期效果。

Driveb是drive库函数的扩展版本。该函数在C库文件目录下的common.c文件中有定义,调用该函数前要加载该文件。

偏置量的大小是通过试验得到的。在一个平坦开阔的地方,先把drive_bias设为0,电动机功率设为80,把机器人的中轴线对准前方,机器人前进一段较长距离后,量出它偏离初始前进方向的距离。修改drive_bias的值和正负,重复前面的试验,直到偏离值得到纠正或无法再变小为止,这时的drive_bias值就是最终的偏置量。这种软件方法对大多数电动机偏差都有校正作用。此外,如果有条件通过硬件调整,将会有更好的效果。

2.走出规则轨迹

下面的程序是让机器人在地上走出一个规则的轨迹。

机器人逆时针走约1 m的正方形路径。其中sleep(0.8)是机器人转90°所需要的时间。该值和转弯速度以及机器人的电动机有关,需要实际调整,此外地面的摩擦力也有影响。利用sleep()函数是控制电动机工作的常用方法。熟练掌握sleep()函数的应用将使你的程序简洁高效。