基于ARM9的仿人机器人分布式控制系统
1 引言
仿人型机器人具有类似于人类基本外貌特征和步行运动功能,还具有视觉、听觉等功能,它可以实现类似人类的行走,灵巧轻便,对行走环境有良好的适应性,既能在平地上行走,又能在非结构的复杂地面上行走,如上下台阶,跨越、绕过障碍物等。另外,仿人型机器人是集材料、机械、电子、能源驱动、计算机感知、传感、控制、虚拟现实与人工智能等多门学科于一体的综合性平台,它的研究能够带动诸多相关学科和技术的交叉发展与进步,并为相关学科的研究提供一个平台。因而,近年来,仿人型机器人的研发受到国内外学者的广泛关注。小型机器人是近年发展起来的仿人机器人的一种,主要的研究集中在日本。小型仿人机器人,结构轻巧,集成度高,运动灵活;未来可在工业、民用、军事等许多方面发挥作用,是机器人技术的发展方向之一。小型机器人的控制不仅要求实时,还要求重量轻,体积小以及低功耗等。
传统的仿人机器人控制系统结构采用集中式控制,如日本仿人机器人HRP-2[1],通常由一台或多台计算机通过多块A/D,D/A模块与下层的驱动器和传感器连接通信。由上位机完成轨迹规划和任务调度,协调下层各控制板对各关节进行控制。这样的控制系统模块繁多,模块之间的连接复杂,依赖性强且相互耦合,降低了系统的开放性和可靠性,增加了功耗,难以完成多轴同步协调运动控制。
随着计算机技术和网络技术的发展,各种新型的控制方式应用于机器人控制。分布式控制系统是在计算机监督控制系统、直接数字控制系统和计算机多级控制系统的基础上发展起来的,是生产过程的一种比较完善的控制与管理系统。与计算机多级控制系统相比,分布式控制系统在结构上更加灵活、布局更为合理和成本更低。分布式控制结构成为机器人控制系统发展的方向。文[2]中作者设计了一种基于CAN总线的分布式的仿人机器人的控制系统。
为此,我们研制了新型的小型仿人机器人控制系统。本实验室研制的小型仿人机器人各关节采用舵机控制,根据要求,本设计需要实现小型仿人机器人腿部的运动控制,达到小型化,低功耗。
2 小型仿人娱乐机器人分布式控制系统
2.1总体方案设计
本文研究的小型仿人娱乐机器人运动控制系统由主控制器ARM9,C8051F320单片机与4片CD4017外部计数器构成的控制单元组成,控制结构简单灵活。USB通信方案满足了主从控制和通信速度的需求。关节执行机构采用舵机,控制方法简单实用。总体控制方式简图见图1。
主控制器端,采用ARM9(S3C2410)作为管理控制器负责协调控制,向单片机发送规划好的运动控制数据并扩展语音,视频等。S3C2410主控制器有一个USB host,连接C8051F320单片机。
单片机端,利用C8051F320中的PCA捕捉比较模块产生PWM控制信号。当单片机通过USB总线接收到由ARM管理控制器发来的数据包时,根据设定的对应关系将数据包中16位控制数据转化为PCA比较值,由PCA模块产生相应占空比的PWM控制信号,分别输出给4片CD4017外部计数器。同时PCA模块还定时产生一路复位脉冲,同时发送给4片CD4017,确保CD4017多路PWM输出与单片机接收到多舵机控制数据对应关系正确。
CD4017外部计数器将CP引角输入的PWM转化为多路PWM,分别控制与之相连的各舵机转动,实现各杆件位置的开环控制。
2.2 USB通信的实现
在计算机和单片机的控制数据传输领域内,长期以来广泛的使用RS-232,RS-485等通信方式,这些通信方式讯的实时性较差, 故障率较高, 出现故障时, 不容易排查[3]。不能够满足小型仿人机器人的实时性和大批量数据传输的要求。USB总线通信方式作为新一代计算机外设的接口技术,随着USB技术的日益成熟,及独特的优点(对多种设备的广泛适用性,自动配置,容易扩充,易于连接,热插拔,即插即用、高可靠性,低成本,低功耗等),应用前景非常广泛[4]。
本控制系统中的管理控制器ARM9(S3C2410)集成了一个USB host,采用Linux操作系统;C8051F320器件集成了全速/低速USB功能控制器,用于实现USB接口的外部设备,均支持USB2.0通信协议。单片机端设计了通信固件程序和应用程序,用于接收USB通信内容。
2.3 基于C8051单片机和CD4017外部计数器的关节控制器设计
采用一片单片机与4片CD4017外部计数器的关节控制器设计方案,极大限度的精简了硬件数量,节省了空间,降低了软硬件出错的可能性,也为系统运动功能的扩展提供了足够空间和灵活性(自由度数量设置可在36个以内任意增减)。
基于C8051的设计中有很多方法用于产生PWM波形:软件循环、查询或中断驱动的定时器等。使用可编程计数器阵列PCA产生PWM相对于
- 寻迹小车中分布式控制系统的设计(03-22)
- ARM7和ARM9双核平台的技术分析(02-27)
- 基于WinCE的液位遥测系统软件设计(04-13)
- 基于ARM920T的嵌入式电力参数检测系统设计(02-14)
- 基于ARM9的道路交通数据采集系统设计(03-12)
- 基于ARM9的电梯缓冲器复位时间测试仪的设计(06-05)