1 引言
从世界上第一台遥控机械手的诞生至今已有50年了,在这短短的几年里,伴随着计算机、自动控制理论的发展和工业生产的需要及相关技术的进步,机器人的发展已经历了3代[1]:(1)可编程的示教再现型机器人;(2)基于传感器控制具有一定自主能力的机器人;(3)智能机器人。作为机器人的核心部分,机器人控制器是影响机器人性能的关键部分之一。它从一定程度上影响着机器人的发展。目前,由于人工智能、计算机科学、传感器技术及其它相关学科的长足进步,使得机器人的研究在高水平上进行,同时也为机器人控制器的性能提出更高的要求。
对于不同类型的机器人,如有腿的步行机器人与关节型工业机器人,控制系统的综合方法有较大差别,控制器的设计方案也不一样。本文仅讨论工业机器人控制器问题。
2 机器人控制器类型
机器人控制器是根据指令以及传感信息控制机器人完成一定的动作或作业任务的装置,它是机器人的心脏,决定了机器人性能的优劣。
从机器人控制算法的处理方式来看,可分为串行、并行两种结构类型。
2.1 串行处理结构
所谓的串行处理结构是指机器人的控制算法是由串行机来处理。对于这种类型的控制器,从计算机结构、控制方式来划分,又可分为以下几种[2]。
(1) 单CPU结构、集中控制方式
用一台功能较强的计算机实现全部控制功能。在早期的机器人中,如Hero-I, Robot-I等,就采用这种结构,但控制过程中需要许多计算(如坐标变换),因此这种控制结构速度较慢。
(2) 二级CPU结构、主从式控制方式
一级CPU为主机,担当系统管理、机器人语言编译和人机接口功能,同时也利用它的运算能力完成坐标变换、轨迹插补,并定时地把运算结果作为关节运动的增量送到公用内存,供二级CPU读取;二级CPU完成全部关节位置数字控制。
这类系统的两个CPU总线之间基本没有联系,仅通过公用内存交换数据,是一个松耦合的关系。对采用更多的CPU进一步分散功能是很困难的。日本于70年代生产的Motoman机器人(5关节,直流电机驱动)的计算机系统就属于这种主从式结构。
(3) 多CPU结构、分布式控制方式
目前,普遍采用这种上、下位机二级分布式结构,上位机负责整个系统管理以及运动学计算、轨迹规划等。下位机由多CPU组成,每个CPU控制一个关节运动,这些CPU和主控机联系是通过总线形式的紧耦合。这种结构的控制器工作速度和控制性能明显提高。但这些多CPU系统共有的特征都是针对具体问题而采用的功能分布式结构,即每个处理器承担固定任务。目前世界上大多数商品化机器人控制器都是这种结构。
控制器计算机控制系统中的位置控制部分,几乎无例外地采用数字式位置控制。
以上几种类型的控制器都是采用串行机来计算机器人控制算法。它们存在一个共同的弱点:计算负担重、实时性差。所以大多采用离线规划和前馈补偿解耦等方法来减轻实时控制中的计算负担。当机器人在运行中受到干扰时其性能将受到影响,更难以保证高速运动中所要求的精度指标。
由于机器人控制算法的复杂性以及机器人控制性能的亟待提高,许多学者从建模、算法等多方面进行了减少计算量的努力,但仍难以在串行结构控制器上满足实时计算的要求。因此,必须从控制器本身寻求解决办法。方法之一是选用高档次微机或小型机;另一种方法就是采用多处理器作并行计算,提高控制器的计算能力。
2.2 并行处理结构
并行处理技术是提高计算速度的一个重要而有效的手段,能满足机器人控制的实时性要求。从文献来看,关于机器人控制器并行处理技术,人们研究较多的是机器人运动学和动力学的并行算法及其实现。1982年J.Y.S.Luh[3]首次提出机器人动力学并行处理问题,这是因为关节型机器人的动力学方程是一组非线性强耦合的二阶微分方程,计算十分复杂。提高机器人动力学算法计算速度也为实现复杂的控制算法如:计算力矩法、非线性前馈法、自适应控制法等打下基础。开发并行算法的途径之一就是改造串行算法,使之并行化,然后将算法映射到并行结构。一般有两种方式,一是考虑给定的并行处理器结构,根据处理器结构所支持的计算模型,开发算法的并行性;二是首先开发算法的并行性,然后设计支持该算法的并行处理器结构,以达到最佳并行效率。
构造并行处理结构的机器人控制器的计算机系统一般采用以下方式:
(1)开发机器人控制专用VLSI[4,5]
设计专用VLSI能充分利用机器人控制算法的并行性,依靠芯片内的并行体系结构易于解决机器人控制算法中大量出现的计算,能大大提高运动学、动力学方程的计算速度。但由于芯片是根据具体的算法来设计的,当算法改变时,芯片则不能使用,因此采用这种方式构造的控制器不通用,更不利于系统的维护与开发。
(2)利用有并行处理能力的芯片式计算机(如:Transputer, DSP等)构成并行处理网络
Transputer是英国Inmos公司研制并生产的一种并行处理用的芯片式计算机。利用 Transputer芯片的4对位串通信的link对,易于构造不同的拓扑结构,且Transputer具有极强的计算能力。利用Transputer并行处理器,人们构造了各种机器人并行处理器,如流水线型、树型等。文献[6]利用Transputer网络实现逆运动学计算,而文献[7]以实时控制为目的,分别实现了前馈补偿及计算力矩两种基于固定模型的控制方案。
随着数字信号芯片速度的不断提高,高速数字信号处理器(DSP)在信息处理的各个方面得到广泛应用。DSP以极快的数字运算速度见长,并易于构成并行处理网络[8]。文献[9]介绍了一种基于DSP的机器人控制器,采用并行/流水线的设计方案,提高控制器性能。
(3)利用通用的微处理器
利用通用微处理器构成并行处理结构,支持计算,实现复杂控制策略在线实时计算。如文献[10,11]中设计的系统。
3 机器人控制器存在的问题
随着现代科学技术的飞速发展和社会的进步,对机器人的性能提出更高的要求。
智能机器人技术的研究已成为机器人领域的主要发展方向,如各种精密装配机器人,力/位置混合控制机器人,多肢体协调控制系统以及先进制造系统中的机器人的研究等。相应的,对机器人控制器的性能也提出了更高的要求。
但是,机器人自诞生以来,特别是工业机器人所采用的控制器基本上都是开发者基于自己的独立结构进行开发的,采用专用计算机、专用机器人语言、专用操作系统、专用微处理器。这样的机器人控制器已不能满足现代工业发展的要求。
从前面提到的两类机器人控制器来看,串行处理结构控制器的结构封闭,功能单一,且计算能力差,难以保证实时控制的要求,所以目前绝大多数商用机器人都是采用单轴PID控制,难以满足机器人控制的高速、高精度的要求。虽然分布式结构在一定层次上是开放的,可以根据需要增加更多的处理器,以满足传感器处理和通讯的需要,但它只是在有限范围内开放。所采用的如文献[12]所说的“专用计算机(如PUMA机器人采用PDP-11作为上层主控计算机)、专用机器人语言(如VAL)、专用微处理器并将控制算法固定在EPROM中”结构限制了它的可扩展性和灵活性,因此说它的结构是封闭的。
并行处理结构控制器虽然能从计算速度上有了很大突破,能保证实时控制的需要,但我们必须看到还存在许多问题。目前的并行处理控制器研究一般集中于机器人运动学、动力学模型的并行处理方面,基于并行算法和多处理器结构的映射特征来设计,即通过分解给定任务,得到若干子任务,列出数据相关流图,实现各子任务在对应处理器上的并行处理。由于并行算法中通讯、同步等内在特点,如程序设计不当则易出现锁死与通讯堵塞等现象。
综合起来,现有机器人控制器存在很多问题,如:
(1)开放性差
局限于“专用计算机、专用机器人语言、专用微处理器”的封闭式结构。封闭的控制器结构使其具有特定的功能、适应于特定的环境,不便于对系统进行扩展和改进。
(2)软件独立性差
软件结构及其逻辑结构依赖于处理器硬件,难以在不同的系统间移植。
(3)容错性差
由于并行计算中的数据相关性、通讯及同步等内在特点,控制器的容错性能变差,其中一个处理器出故障可能导致整个系统的瘫痪。
(4)扩展性差
目前,机器人控制器的研究着重于从关节这一级来改善和提高系统的性能。由于结构的封闭性,难以根据需要对系统进行扩展,如增加传感器控制等功能模块。
(5)缺少网络功能
现在几乎所有的机器人控制器都没有网络功能。
总起来看,前面提到的无论串行结构还是并行结构的机器人控制器都不是开放式结构,无论从软件还是硬件都难以扩充和更改。
例如,商品化的Motoman机器人的控制器是不开放的,用户难以根据自己需要对其修改、扩充功能,通常的做法是对其详细解剖分析,然后对其改造。
4 机器人控制器的展望
随着机器人控制技术的发展,针对结构封闭的机器人控制器的缺陷,开发“具有开放式结构的模块化、标准化机器人控制器”是当前机器人控制器的一个发展方向。近几年,日本、美国和欧洲一些国家都在开发具有开放式结构的机器人控制器,如日本安川公司基于PC开发的具有开放式结构、网络功能的机器人控制器[13]。我国863计划智能机器人主题也已对这方面的研究立项[14]。
开放式结构机器人控制器是指:控制器设计的各个层次对用户开放,用户可以方便的扩展和改进其性能。其主要思想[15]是:
(1)利用基于非封闭式计算机平台的开发系统,如Sun, SGI, PC's.有效利用标准计算机平台的软、硬件资源为控制器扩展创造条件。
(2)利用标准的操作系统,如Unix,Vxwork和标准的控制语言,如C,C++.采用标准操作系统和控制语言,从而可以改变各种专用机器人语言并存且互不兼容的局面。
(3)采用标准总线结构,使得为扩展控制器性能而必须的硬件,如各种传感器,I/O板、运动控制板可以很容易的集成到原系统。
(4)利用网络通讯,实现资源共享或远程通讯。目前,几乎所有的控制器都没有网络功能,利用网络通讯功能可以提高系统变化的柔性。
我们可以根据上述思想设计具有开放式结构的机器人控制器。而且设计过程中要尽可能做到模块化。模块化是系统设计和建立的一种现代方法,按模块化方法设计,系统由多种功能模块组成,各模块完整而单一。这样建立起来的系统,不仅性能好、开发周期短而且成本较低。模块化还使系统开放,易于修改、重构和添加配置功能。文献[16]基于多自主体概念设计的新型控制器就是按模块化方法设计的,系统由数据库模块、通讯模块、传感器信息模块、人机接口模块、调度模块、规划模块、伺服控制模块等7个模块构成。
新型的机器人控制器应有以下特色:
(1) 开放式系统结构
采用开放式软件、硬件结构,可以根据需要方便的扩充功能,使其适用不同类型机器人或机器人化自动生产线。
(2) 合理的模块化设计
对硬件来说,根据系统要求和电气特性,按模块化设计,这不仅方便安装和维护,而且提高了系统的可靠性,系统结构也更为紧凑。
(3) 有效的任务划分
不同的子任务由不同的功能模块实现,以利于修改、添加、配置功能。
(4) 实时性、多任务要求
机器人控制器必须能在确定的时间内完成对外部中断的处理,并且可以使多个任务同时进行。
(5) 网络通讯功能
利用网络通讯的功能,以便于实现资源共享或多台机器人协同工作。
(6)形象直观的人机接口
另外,机器人控制器中,运动控制板是必不可少的。由于机器人性能的不同,对运动控制板的要求也不同。美国Delta Tau公司推出的PMAC(Programmable Multi-axies Controller)在国内外引起重视。PMAC是一种功能强大的运动控制器,它全面地开发了DSP技术的强大功能,为用户提供了很强的功能和很大的灵活性。借助于Motorola 公司的DSP56001数字信号处理器,PMAC可以同时操纵1~8轴,比起其他运动控制板来说,有很多可取之处。
由于适用于机器人控制的软、硬件种类繁多和现代技术的飞速发展,开发一个结构完全开放的标准化机器人控制器存在一定困难,但应用现有技术,如工业PC良好的开放性、安全性和联网性,标准的实时多任务操作系统,标准的总线结构,标准接口等,打破现有机器人控制器结构封闭的局面,开发结构开放性、功能模块化的标准化机器人控制器是完全可行的。
5 结束语
随着机器人技术的发展,机器人应用领域的不断扩大,对机器人的性能提出了更高的要求,因此,如何有效地将其他领域(如图像处理、声音识别、最优控制、人工智能等)的研究成果应用到机器人控制系统的实时操作中,是一项富有挑战性的研究工作。而具有开放式结构的模块化、标准化机器人控制器的研究无疑对提高机器人性能和自主能力、推动机器人技术的发展具有重大意义。
|