智能轮式移动机器人嵌入式控制系统设计

引言

智能移动机器人集成了机械、电子、计算机、自动控制、人工智能等多学科的研究成果,在当前机器人研究领域具有突出地位。控制系统是机器人的核心部分,目前应用在机器人底层控制系统的微控制器主要有8/16位单片机和数字信号处理器(DSP)两种类型。但使用8/16位单片机处理数据能力低,且硬件电路庞大,系统稳定性弱,DSP的设计初衷是为了数字信号处理,相比而言,嵌入式微处理器ARM具有几乎相同的内部资源和运算速度,但在控制方面性能优于DSP,而且许多ARM器件支持TCP/IP协议,有利于将来机器人的网络控制。综合考虑以上因素,这里提出了一种基于ARM和复杂可编程逻辑器件(CPLD)的智能轮式移动机器人控制系统,实现移动机器人的底层控制。

2  系统组成及工作原理

该系统设计的轮式移动机器人机械导航结构采用四轮差速转向式的机械机构,前面两个轮是随动轮,起支撑作用,后面两个轮是驱动轮,由两台同步电机驱动,分别控制两个驱动轮的转速,可使机器人按照不同方向和速度移动,运动灵活,可控性好。

移动机器人以PC机作为上位机,利用摄像头对机器人的自身位置和外部环境进行分析,建立环境地图,进行路径规划。上位机发送运动控制指令给移动机器人的底层控制系统,提供左右驱动电机的理论速度值。以ARM和CPLD为核心的机器人控制系统与上位机通过无线收发模块实现通讯,根据上位机的命令控制电机的运行和超声渡传感器组的发送与接收;并根据障碍物信息,做出避障决策。智能移动机器人的控制系统结构框图如图1所示。

智能移动机器人的控制系统结构框图

3  控制系统硬件设计

3.1 主控模块设计

该智能轮式移动机器人控制系统的核心控制器采用Samsung公司的S3C44B0X,它是基于ARM7TDMI核(适用于实时环境)的32位微处理器,具有高速运算能力、A/D转换器、丰富的I/O端口和中断,有利于实现移动机器人的电机控制、传感器信息处理、外部通讯以及复杂的控制算法。系统采用CPLD作为协处理器,提供可编程脉冲产生电路、光电编码器输入电路、超声波传感器输入电路,这里选择ALTERA公司的MAXⅡ系列EPM1270器件。该系统设计充分利用了CPLD的高速逻辑处理能力,主控制器ARM只需设定控制参数,这样就减轻主控制器的负担,提高系统的实时性,同时也减少了外围硬件电路,提高控制系统的稳定性和可重构性。

ARM与CPLD通过并行总线连接,该并行总线包括ARM器件的地址、数据、控制和多路可编程I/O总线。ARM通过访问特定地址和I/O端口来控制CPLD,CPLD则通过可编程I/O端口向ARM发送中断请求。

3.2 电机控制和驱动模块的设计

轮式移动机器人的两个驱动轮速度分别由两台驱动电机控制,实现机器人不同方向和速度的运动。轮式移动机器人的性能要求电机转矩大,脉动小。在高、中、低速下驱动电机均有良好的性能,且控制方式简单,因此驱动电机选用方波驱动的交流永磁同步电机。这种电机根据转子位置反馈信息采用电子换相运行,电机转速与驱动信号的频率成正比,既具备交流电机结构简单,运行可靠,维护方便等优点,又具有直流电机动态特性好,调速性能优良的优点。

系统通过CPLD和外部驱动器件构成控制电路,采用方波驱动和定位控制(通电状态控制)的方式,控制两台永磁同步电机,获得可调的精确速度和位置控制,结构紧凑。两路电机控制原理相同,这里只介绍一路。

CPLD中的电机控制电路由分频电路、调速电路、相序分配电路组成。其中,分频电路由分频器构成;调速电路是利用MAX+PLUSⅡ的LPM宏单元库的算术运算模块lpm_counter构成可预置数的5位减计数器。根据所需的速度,设置预置数,计数器对分频电路输山的clk脉冲信号减计数至零时输出一个借位脉冲,并再次装入预置数进行减计数,将其借位脉冲cout作为调速电路的输出脉冲,cout借位脉冲的频率范围为fclk/1- fclk/31,即引入了步长为1的调速因子(预置数)。可通过改变调速因子对脉冲信号进行1~31倍的连续可调分频,从而调节电机的转速;而相序分配电路是以cout借位脉冲作为输入,利用两个D触发器和门电路输出4路相位相差90°的方波脉冲,作为两相同步电机的控制信号;stop信号控制电机的启停;dir信号控制电机的转向,正转时相电压uCD超前uAB 90°,反转时uAB超前uCD90°,各相信号的频率为cout脉冲频率的1/4。CPLD中输入的调速和相序分配电路原理见图2。仿真结果验证了设计逻辑的正确性,如图3所示。