基于DSP的仿人机器人运动控制器系统设计
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作为主处理器,较传统的单片机性能有了显著提高,运算速度明显增强,控制能力得到大幅度提升,从根本上解决了使用单片机所带来的各种问题,并为机器人控制系统的发展和提升找到了一个新的方向。同时也希望能对研究机器人的同行们有一定启示,在此基础上研制出性能更高的产品,为推动我国机器人事业的前进做出更大的贡献。
- 基于DSP的机器人视觉伺服系统研究(04-17)
- 基于DSP的自动避障小车(04-05)
- 基于DSP的双足机器人运动控制系统设计(06-21)
- 用于日本震后救援的机器人技术(03-03)
- 基于TMS32OLF2407A的教育机器人硬件系统设计 (08-21)
- 基于DSP的覆冰机器人控制系统设计(02-13)