基于DSP的仿人机器人运动控制器设计
时间:07-25
来源:互联网
点击:
传统的机器人运动控制器大部分是以嵌入式单片机为核心的,但其运算速度和处理能力远不能满足机器人控制系统飞速发展的需要,日益成为阻碍机器人技术进步的瓶颈。随着以电子计算机和数字电子技术为代表的现代高技术的不断发展,尤其是高速度数字信号处理器DSP 的出现,从根本上解决了嵌入式系统运算能力不足的问题,并为机器人运动控制系统的改进提供了新的途径。该文正是从这一点出发, 选用控制能力很强的DSP芯片TMS320LF2407A作为机器人运动控制器的主处理器,设计出一种高性能机器人运动控制器,显著地提高了整个机器人的运动性能。
1 控制系统结构
机器人的各种运动由各个关节轴系完成,机器人控制本质上是对各关节轴系的控制。每个轴系具有一个自由度,可以完成某一方向的转动任务,所有轴系同时协调运动就可以完成相对复杂的动作。国防科技大学机电工程与自动化学院机器人教研室最新研制的仿人步行机器人,其内部各关节结构如图1所示。
图1 机器人内部结构示意图
此机器人共有36 个自由度,分布在下肢、上肢、头部和手指等各关节。所有轴系均由PWM 脉冲信号驱动控制,运动控制系统的任务就是对这些关节轴系进行控制,具体由各底层控制器实现。整个控制系统采用分布式控制,在结构上可分为3 个层次,如图2 所示。
图2 运动控制系统结构框图
1.1 主控计算机模块
主控计算机就是控制系统的“大脑”和司令部,负责整个系统的在线运动规划、动作及运动控制、语音交互控制、视觉导引控制以及人机交互等功能。主控计算机要求体积小,运算速度快,满足机器人实时控制的要求,通常采用高性能小板工业控制计算机。它通过CAN 总线接口卡连接到通信总线上,与各底层控制器相连并交互信息。
1.2 通信模块
机器人控制的信息量大,对通信方面的要求很高,要保证各种信息在控制系统中及时准确的传输,通信工具的选择十分重要,该文选用当前流行的CAN 总线作为通信标准。CAN (Controller Area 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 相连。
1 控制系统结构
机器人的各种运动由各个关节轴系完成,机器人控制本质上是对各关节轴系的控制。每个轴系具有一个自由度,可以完成某一方向的转动任务,所有轴系同时协调运动就可以完成相对复杂的动作。国防科技大学机电工程与自动化学院机器人教研室最新研制的仿人步行机器人,其内部各关节结构如图1所示。
图1 机器人内部结构示意图
此机器人共有36 个自由度,分布在下肢、上肢、头部和手指等各关节。所有轴系均由PWM 脉冲信号驱动控制,运动控制系统的任务就是对这些关节轴系进行控制,具体由各底层控制器实现。整个控制系统采用分布式控制,在结构上可分为3 个层次,如图2 所示。
图2 运动控制系统结构框图
1.1 主控计算机模块
主控计算机就是控制系统的“大脑”和司令部,负责整个系统的在线运动规划、动作及运动控制、语音交互控制、视觉导引控制以及人机交互等功能。主控计算机要求体积小,运算速度快,满足机器人实时控制的要求,通常采用高性能小板工业控制计算机。它通过CAN 总线接口卡连接到通信总线上,与各底层控制器相连并交互信息。
1.2 通信模块
机器人控制的信息量大,对通信方面的要求很高,要保证各种信息在控制系统中及时准确的传输,通信工具的选择十分重要,该文选用当前流行的CAN 总线作为通信标准。CAN (Controller Area 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 相连。
机器人 嵌入式 单片机 电子 DSP 自动化 PWM 总线 收发器 电压 看门狗 ADC 编码器 电路 传感器 CAN总线 CPLD 相关文章:
- 基于MSP430的自主式移动机器人设计与实现(06-12)
- 如何制作一个最简单的机器人(02-23)
- 机器人技术的新进展(02-23)
- CAN总线技术在工业码垛机器人控制系统中的应用研究(06-27)
- 制作机器人常用传感器盘点(02-23)
- 基于LabVIEW构建智能的移动机器人及无人驾驶车(10-27)