引言
传统的机器人运动控制器大部分是以嵌入式单片机为核心的,但其运算速度和处理能力远不能满足机器人控制系统飞速发展的需要,日益成为阻碍机器人技术进步的瓶颈。随着以电子计算机和数字电子技术为代表的现代高技术的不断发展,尤其是高速度数字信号处理器DSP 的出现,从根本上解决了嵌入式系统运算能力不足的问题,并为机器人运动控制系统的改进提供了新的途径。该文正是从这一点出发, 选用控制能力很强的DSP芯片TMS320LF2407A作为机器人运动控制器的主处理器,设计出一种高性能机器人运动控制器,显著地提高了整个机器人的运动性能。
1 控制系统结构
机器人的各种运动由各个关节轴系完成,机器人控制本质上是对各关节轴系的控制。每个轴系具有一个自由度,可以完成某一方向的转动任务,所有轴系同时协调运动就可以完成相对复杂的动作。国防科技大学机电工程与自动化学院机器人教研室最新研制的仿人步行机器人,其内部各关节结构如图1所示。
图1 机器人内部结构示意图
此机器人共有36 个自由度,分布在下肢、上肢、头部和手指等各关节。所有轴系均由PWM 脉冲信号驱动控制,运动控制系统的任务就是对这些关节轴系进行控制,具体由各底层控制器实现。整个控制系统采用分布式控制,在结构上可分为3 个层次,如图2 所示。
图2 运动控制系统结构框图
1.1 主控计算机模块
主控计算机就是控制系统的“大脑”和司令部,负责整个系统的在线运动规划、动作及运动控制、语音交互控制、视觉导引控制以及人机交互等功能。主控计算机要求体积小,运算速度快,满足机器人实时控制的要求,通常采用高性能小板工业控制计算机。它通过CAN 总线接口卡连接到通信总线上,与各底层控制器相连并交互信息。
1.2 通信模块
机器人控制的信息量大,对通信方面的要求很高,要保证各种信息在控制系统中及时准确的传输,通信工具的选择十分重要,该文选用当前流行的CAN 总线作为通信标准。CAN (ControllerArea Net-work) 总线是应用最为广泛的一种现场总线,也是目前为止惟一有国际标准的现场总线。相对于一般通信总线,它的数据通信具有突出的可靠性、实时性和灵活性,可以满足文中的设计要求。具体连接方式为:主控计算机通过CAN 总线接口卡连接到总线上,各底层控制器通过总线收发器挂接到总线上。只要所有器件都遵守相同的通信协议,就可以稳定可靠的进行信息传输。
1.3 底层控制器模块
控制器处于整个控制系统的最底层,主要用来控制各运动关节轴系的具体执行过程。控制器接收主控计算机的控制命令对各关节执行轴系进行控制,同时把底层信息反馈给主控计算机,实现大回路反馈,便于主控计算机协调规划,统一管理。控制器是整个控制系统的核心,也是该文研究的重点,它的性能直接关系到机器人运动能力。
2 控制器详细设计
基于DSP 的控制器具体结构如图3 所示。整个控制器根据结构和功能可分为3 部分:主处理器与外围器件单元、反馈与执行单元、通信单元,各部分如图3 中虚线所示。
图3 DSP 控制器结构
2.1 主处理器与外围器件单元
DSP主处理器是整个控制器的核心,其运算速度、对信息的处理能力等直接影响控制器的性能。选用TI 公司的TMS320LF2407A 芯片,它是TI 家族C2000系列中的高档产品,集实时处理能力和控制器外设于一身,非常适用于工业控制。其主要特点有:
a.3.3 V电压,功耗极低,且具有3 种低功耗模式。
b.内部采用哈佛结构体系,程序与数据存储器分开,专用的程序总线和数据总线进行访问,取指和执行可同时进行,有效提高了存取速度。
c.流水线指令技术,多条指令可同时进行,平均每条指令大约只需一个指令周期,大大提高了指令执行速度,指令周期可达ns级,在40MHz主频下每条指令只需25ns。
d.专用硬件乘法器,运算速度大大提高,运算能力明显增强。
e.地址和数据总线都是16位,片内有高达32K的Flash程序存储器,2.5K字的数据/ 程序RAM,544字双端口RAM (DARAM) , 2K字的单端口RAM(SARAM) ,外部存储器可扩展64K字的程序存储器空间、64K字的数据存储器空间和64K字的I/O空间。
f.自带看门狗定时器、串行通信接口(SCI) 模块、16 位串行外设接口( SPI) 模块、SCI/ SPI 引导ROM、16 通道的10 位ADC 转换器、5 个外部中断、基于锁相环(PLL) 的时钟发生器、41个可单独编程或复用的通用输入/ 输出(GPIO) 引脚。
g.2 个事件管理器模块,每个事件管理器包括2个16位通用定时器、8个16位脉宽调制(PWM) 通道、可编程的PWM 死区控制、3个外部事件定时捕获单元、片内光电编码器接口电路。
h.内部带有CAN2.0B 控制器模块。
可以看出,TMS320LF2407A 的功能十分强大,其本身就是一个独立的小型控制系统,再加以适当的外围器件,就可以实现更加复杂的控制功能。尤其是它的两个事件管理器的功能非常强大,完全是为电机控制设计的。
TMS320LF2407A 通过位置传感器实时监控各关节轴系的运行情况,并通过总线与主控计算机交互信息。利用其多个PWM 脉冲通道直接产生控制轴系需要的PWM 脉冲信号;其CAN总线控制器模块可以直接与主控计算机进行通信而不需要增加CAN 总线控制器。
TMS320LF2407A 的软件开发也十分容易,可以反复编程。只要在其专用的集成开发环境CCS(Code Composer Studio) 中编译好程序,用一根下载线通过标准的JTAG接口就可以把程序烧录到DSP 的程序存储器中,还可以在线修改和调试。整个过程简单方便,只需一根下载线就可完成,大大简化了软件的开发过程,明显提高了开发效率。同时外部看门狗电路孩可以对控制器电压进行实时监控,当电压出现异常迅速复位主处理器。外部存储器中存放控制算法所需的必要参数,通过SPI 串行外设接口与TMS320LF2407A 相连。
2.2 反馈与执行单元
光电码盘传感器把轴系的位置信息转换成两路宽度相同但相位相差90°的脉冲信号,脉冲的数目与轴系的转角成正比,相位差的符号代表了轴系转动的方向。因此,通过对两路脉冲进行计数就可以得到轴系的实际位置。脉冲信号经过光电隔离器件隔离后送入专用脉冲计数器,计数后的信息送入DSP主处理器。
这里没有使用DSP 进行计数,一是为了节省DSP 的资源,使其可以把更多的时间用于计算和其他控制中去;二是可以提高控制器的灵活性,不用对主处理器进行改动就可以改变控制轴系的数目。脉冲计数器选用流行的CPLD 器件,其强大的功能对提高控制器的性能有很大的帮助,同时还可以作为译码电路的一部分为主处理器提供译码信号。主处理器对接收的轴系位置信息进行计算和分析,结合新的控制命令产生相应的PWM 脉冲控制信号,经过光电隔离和功率放大后送给执行轴系控制轴系的运行。
2.3 通信单元
主处理器通过CAN总线与主控计算机进行通信,接收主控计算机的命令并把底层信息反馈给主控计算机, 实现更高一级的反馈控制。DSP 通过CAN总线接收器连接到总线上,为提高抗干扰能力,中间需要进行光电隔离。整个控制器的结构并不复杂,硬件实现也很简单,但功能十分强大。每个控制器可以同时控制6~12个轴系,可以根据实际情况进行调节。
3 控制流程与分析
整个控制系统的工作过程如图4 所示。
图4 控制系统流程
具体流程为:主控计算机离线规划好数据,系统开始运行并完成初始化工作;主控计算机向底层控制器发送控制命令,同时底层控制器对各执行轴系进行位置采样,并把两者结合在一起进行分析,通过特定的控制算法生成相应的PWM 控制信号,经功率放大后送执行轴系,同时把底层轴系的运行情况上传给主控计算机,主控计算机根据新的情况再产生新的命令发送给各控制器,如此反复。
期间还要不断查询是否有中断产生,如果有中断则转而执行相应的中断服务子程序,主要是用来处理一些异常情况;若有结束命令产生则结束整个运动过程。这事实上是两个闭环反馈过程,底层控制器通过传感器与各关节轴系之间进行小循环反馈,主控计算机通过各控制器与各关节轴系之间进行大回路反馈,这样可以使机器人具有更多的“智能”,更好的进行离线实时控制,这也是机器人朝智能化方向发展的一条重要途径。
4 结论
文中设计的控制器,采用DSP作为主处理器,较传统的单片机性能有了显著提高,运算速度明显增强,控制能力得到大幅度提升,从根本上解决了使用单片机所带来的各种问题,并为机器人控制系统的发展和提升找到了一个新的方向。同时也希望能对研究机器人的同行们有一定启示,在此基础上研制出性能更高的产品,为推动我国机器人事业的前进做出更大的贡献。