解析解析ARM9和和Linux在机器人控制系统的应用在机器人控制系统的应用
引 言 现有智能机器人用直流电机作为驱动轮时一般都是用单片机或者高速的DSP等进行控制,智能机器人
之所以叫智能机器人,这是因为它有相当发达的“大脑”。在脑中起作用的是中央计算机,这种计算机跟操作它的
人有直接的联系。主要的是,这样的计算机可以进行按目的安排的动作。正因为这样,我们才说这种机器人才
是真正的机器人,尽管它们的外表可能有所不同。而且同一机器人往往需用多个CPU来实现各自的功能,但随
着对机器人的智能化要求越来越高,需要一种新的控制器(使用一个处理器)来满足机器人的各种行为要求,
例如视频采集、无线通信。本文介绍的利用ARM实现的智能机器人平台,为智能机器人的开发提供了一个新方
法。Lin
引 引 言言
现有智能机器人用直流电机作为驱动轮时一般都是用单片机或者高速的DSP等进行控制,智能机器人之所以叫智能机器
人,这是因为它有相当发达的“大脑”。在脑中起作用的是中央计算机,这种计算机跟操作它的人有直接的联系。主要的是,这
样的计算机可以进行按目的安排的动作。正因为这样,我们才说这种机器人才是真正的机器人,尽管它们的外表可能有所不
同。而且同一机器人往往需用多个CPU来实现各自的功能,但随着对机器人的智能化要求越来越高,需要一种新的控制器
(使用一个处理器)来满足机器人的各种行为要求,例如视频采集、无线通信。本文介绍的利用ARM实现的智能机器人平
台,为智能机器人的开发提供了一个新方法。Linux的引入使其他智能模块都以设备的形式存在,只有在用户需要的时候才调
用相关设备驱动从而使数据融合更方便,运行多任务也更稳定。
利用ARM和嵌人式Linux作为智能机器人平台具有很大的优势,但在国内还未发现用该平台开发智能机器人的系统。本设
计完成了对该系统驱动的初步编写,并通过实际验证,取得了良好效果。
1 驱动电路及测速方法驱动电路及测速方法
1.1 总体结构及驱动电路总体结构及驱动电路
系统的整体结构框图如图l所示。
本设计采用的LMD18200的真值表如表1所列。通过ARM的I/0口(例如D口的DO~3)来控制电机的工作状态。
1.2 测速方法测速方法
ARM没有捕获外部脉冲的计数器,它的定时器是用来计算内部脉冲的。码盘输出信号接外部中断处理程序(EINTl)并设
置上沿触发变量,在中断中设置一全局变量i,用i++累加。设置定时器timer0,使它O.36 s产生1次内部定时器中断。当一个定时
器周期完成时引发定时器中断,在timer0中断中读出i的值,即得到O.36 s内码盘转动所产生的脉冲数;接着将i清零,为下一
个定时器周期捕获脉冲作准备。
1.3 测量精度分析测量精度分析
智能机器人选用的光码盘精度为256线,即256脉冲/转。电机减速比为1:71,车轮半径R为6 cm,车轮间距为41.1 cm.车轮转
一圈所产生的脉冲数n=71×256=18 176,可以得到每个脉冲之间的距离d=27πR/n=2×3.14×0.06/18 176=0.207×10-4m,即每个
脉冲对应的控制精度达0.02 mm.考虑到负载变化的影响,理论值与实际值会出现误差,因此在控制精度d前乘以一个修正系数
k.表2为机器人直线行走的实验数据。可以看出,k为1.10误差较小,接近真实值,因此该值就是所需的比例系数。
2 速度调节速度调节
一般的PID调节,PID调节是工业控制中应用广泛的一种调节方式,在各种自控书籍及资料中,也经常看到PID这个字
眼,那么什么是PID调节呢,PID是英文单词比例(Proportion),积分(Integral),微分(Differential coefficient)的缩写。
PID调节实际上是由比例、积分、微分三种调节方式组成,它们各自的作用如下:比例调节作用:是按比例反应系统的偏差,
系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,
使系统的稳定性下降,甚至造成系统的不稳定。当偏差E较大时(如启动或大幅度提速时),由于积分的作用会产生很大的超