6172007 |
2007-06-27 09:40 |
机器人控制器技术的现状与展望
引言 M&Sjo' ( . U 3aY =8B 从世界上第一台遥控机械手的诞生至今已有50年了,在这短短的几年里,伴随着计算机、自动控制 理论的发展和工业生产的需要及相关技术的进步,机器人的发展已经历了3代: MLtfi{;LH GM%%7 ^uE (1)可编程的示 教再现型机器人; &, hhH_W mk~&>\ (2)基于传感器控制具有一定自主能力的机器人; v
T2YX5k&, wo5"f}vd# (3)智能机器人.作为机器人的核心部分,机器人控制器是影响机器人能的关键部分之一.它从一定程度上影响着机器人的发展.目 前,由于人工智能、计算机科学、传感器技术及其它相关学科的长足进步,使得机器人的研究在高水平 上进行,同时也为机器人控制器的能提出更高的要求. x[U/
8#f& L#Uk= 对于不同类型的机器人,如有腿的步行机器人与关节型工业机器人,控制系统的综合方法有较大差 别,控制器的设计方案也不一样.本文仅讨论工业机器人控制器问题. L,*2tJcC< -'QvUHL| 机器人控制器类型 !FX0Nx=oi |&`NB| 机器人控制器是根据指令以及传感信息控制机器人完成一定的动作或作业任务的装置,它是机器人 的心脏,决定了机器人能的优劣. AWsO?|YT IeLG/ fB 从机器人控制算法的处理方式来看,可分为串行、并行两种结构类型. w{f!t8C*s v] &
)+0 2.1 串行处理结构 9G_bM(q'^2 jku_0Q0*? 所谓的串行处理结构是指机器人的控制算法是由串行机来处理.对于这种类型的控制器,从计算机 结构、控制方式来划分,又可分为以下几种: kE;h[No&K Y*/:IYr` (1) 单CPU结构、集中控制方式 G7yCGT)vQ #n2'N^t 用一台功能较强的计算机实现全部控制功能.在早期的机器人中,如Hero-I, Robot-I等,就采用这种结构,但控制过程中需要许多计算(如坐标变换),因此这种控制结构速度较慢. /k qW Pc#8~t}2 (2) 二级CPU结构、主从式控制方式 6S)$wj*w ~B;kFdcVXn 一级CPU为主机,担当系统管理、机器人语言编译和人机接口功能,同时也利用它的运算能力完成 坐标变换、轨迹插补,并定时地把运算结果作为关节运动的增量送到公用内存,供二级CPU读取;二级 CPU完成全部关节位置数字控制.这类系统的两个CPU总线之间基本没有联系,仅通过公用内存交换数 据,是一个松耦合的关系.对采用更多的CPU进一步分散功能是很困难的.日本于70年代生产的Motoman 机器人(5关节,直流电机驱动)的计算机系统就属于这种主从式结构. JV(qTb W +dq&9N/ (3) 多CPU结构、分布式控制方式 4|YCBXWh -CtLL_ I 目前,普遍采用这种上、下位机二级分布式结构,上位机负责整个系统管理以及运动学计算、轨迹 规划等.下位机由多CPU组成,每个CPU控制一个关节运动,这些CPU和主控机联系是通过总线形式的紧 耦合.这种结构的控制器工作速度和控制能明显提高.但这些多CPU系统共有的特征都是针对具体问 题而采用的功能分布式结构,即每个处理器承担固定任务.目前世界上大多数商品化机器人控制器都是 这种结构. :#s6, 8,=N~(pd` 控制器计算机控制系统中的位置控制部分,几乎无例外地采用数字式位置控制. ^2%_AP0= 2a8ZU{wjn 以上几种类型的控制器都是采用串行机来计算机器人控制算法.它们存在一个共同的弱点:计算负 担重、实时差.所以大多采用离线规划和前馈补偿解耦等方法来减轻实时控制中的计算负担.当机器 人在运行中受到干扰时其能将受到影响,更难以保证高速运动中所要求的精度指标. .lAqD- A;7p 由于机器人控制算法的复杂以及机器人控制能的亟待提高,许多学者从建模、算法等多方面进 行了减少计算量的努力,但仍难以在串行结构控制器上满足实时计算的要求.因此,必须从控制器本身 寻求解决办法.方法之一是选用高档次微机或小型机;另一种方法就是采用多处理器作并行计算,提高 控制器的计算能力. fgIzT!fyz <aR9,: 2.2 并行处理结构 =cI -<0QSn S&_Z,mT./ 并行处理技术是提高计算速度的一个重要而有效的手段,能满足机器人控制的实时要求.从文献 来看,关于机器人控制器并行处理技术,人们研究较多的是机器人运动学和动力学的并行算法及其实现. 1982年J.Y.S.Luh[3]首次提出机器人动力学并行处理问题,这是因为关节型机器人的动力学方程是 一组非线强耦合的二阶微分方程,计算十分复杂.提高机器人动力学算法计算速度也为实现复杂的控 制算法如:计算力矩法、非线前馈法、自适应控制法等打下基础.开发并行算法的途径之一就是改造 串行算法,使之并行化,然后将算法映射到并行结构.一般有两种方式,一是考虑给定的并行处理器结 构,根据处理器结构所支持的计算模型,开发算法的并行;二是首先开发算法的并行,然后设计支 持该算法的并行处理器结构,以达到最佳并行效率. GjN/8>/ @{ *z1{ 构造并行处理结构的机器人控制器的计算机系统一般采用以下方式: H^z6.!$m JJ`RF (1)开发机器人控制专用VLSI d2`m0U 9Jd{HI= 设计专用VLSI能充分利用机器人控制算法的并行,依靠芯片内的并行体系结构易于解决机器人控 制算法中大量出现的计算,能大大提高运动学、动力学方程的计算速度.但由于芯片是根据具体的算法 来设计的,当算法改变时,芯片则不能使用,因此采用这种方式构造的控制器不通用,更不利于系统的 维护与开发. &oI;^| !)gTS5Rh: (2)利用有并行处理能力的芯片式计算机(如:Transputer, DSP等)构成并行处理网络 gEcRJ1Q;C r'0IAJ-; Transputer是英国Inmos公司研制并生产的一种并行处理用的芯片式计算机.利用 Transputer芯 片的4对位串通信的link对,易于构造不同的拓扑结构,且Transputer具有极强的计算能力.利用 Transputer并行处理器,人们构造了各种机器人并行处理器,如流水线型、树型等.利用 Transputer网络实现逆运动学计算,而以实时控制为目的,分别实现了前馈补偿及计算力矩 两种基于固定模型的控制方案. .RFijr qPqpRi 随着数字信号芯片速度的不断提高,高速数字信号处理器(DSP)在信息处理的各个方面得到广泛 应用.DSP以极快的数字运算速度见长,并易于构成并行处理网络.介绍了一种基于DSP 的机器人控制器,采用并行/流水线的设计方案,提高控制器能. T9w;4XF %EkV-%o* (3)利用通用的微处理器 l)tK/1 W &x6Z=|Ers 利用通用微处理器构成并行处理结构,支持计算,实现复杂控制策略在线实时计算.如文献 [10,11]中设计的系统. {R<0'JU 2L"$p? 机器人控制器存在的问题 C#{s[l \] ;D.a |(Q 随着现代科学技术的飞速发展和社会的进步,对机器人的能提出更高的要求.智能机器人技术的研究 已成为机器人领域的主要发展方向,如各种精密装配机器人,力/位置混合控制机器人,多肢体协调控 制系统以及先进制造系统中的机器人的研究等.相应的,对机器人控制器的能也提出了更高的要求. h6J0b_3h4 Z Ear~ 但是,机器人自诞生以来,特别是工业机器人所采用的控制器基本上都是开发者基于自己的独立 结构进行开发的,采用专用计算机、专用机器人语言、专用操作系统、专用微处理器.这样的机器人 控制器已不能满足现代工业发展的要求. D=Ia$O0. <%w)EQf4m 从前面提到的两类机器人控制器来看,串行处理结构控制器的结构封闭,功能单一,且计算能力 差,难以保证实时控制的要求,所以目前绝大多数商用机器人都是采用单轴PID控制,难以满足机器 人控制的高速、高精度的要求.虽然分布式结构在一定层次上是开放的,可以根据需要增加更多的 处理器,以满足传感器处理和通讯的需要,但它只是在有限范围内开放.所采用的如文献[12]所说 的“专用计算机(如PUMA机器人采用PDP-11作为上层主控计算机)、专用机器人语言(如VAL)、专用 微处理器并将控制算法固定在EPROM中”结构限制了它的可扩展和灵活,因此说它的结构是封闭的. Y3@\uM`2# gS{hfDpk,h 并行处理结构控制器虽然能从计算速度上有了很大突破,能保证实时控制的需要,但我们必须看 到还存在许多问题.目前的并行处理控制器研究一般集中于机器人运动学、动力学模型的并行处理方 面,基于并行算法和多处理器结构的映射特征来设计,即通过分解给定任务,得到若干子任务,列出 数据相关流图,实现各子任务在对应处理器上的并行处理.由于并行算法中通讯、同步等内在特点, 如程序设计不当则易出现锁死与通讯堵塞等现象. JLgk? &Ui*w% 综合起来,现有机器人控制器存在很多问题,如: WqQAt{W/< V&nTf 100 (1)开放差 z
H$^.1 Mj&`Y
gW5a 局限于“专用计算机、专用机器人语言、专用微处理器”的封闭式结构.封闭的控制器结构使其 具有特定的功能、适应于特定的环境,不便于对系统进行扩展和改进. "< | |