引言 FL0uY0K
G#M)5'Q]U
从世界上第一台遥控机械手的诞生至今已有50年了,在这短短的几年里,伴随着计算机、自动控制 理论的发展和工业生产的需要及相关技术的进步,机器人的发展已经历了3代: Y+gY"
']]d-~:
(1)可编程的示 教再现型机器人; NkE0S`Xf
,Kit@`P%
(2)基于传感器控制具有一定自主能力的机器人; =bVPHrKNQ
.6B\fr.za
(3)智能机器人.作为机器人的核心部分,机器人控制器是影响机器人能的关键部分之一.它从一定程度上影响着机器人的发展.目 前,由于人工智能、计算机科学、传感器技术及其它相关学科的长足进步,使得机器人的研究在高水平 上进行,同时也为机器人控制器的能提出更高的要求. (~T*yH ~
t^t% >9o
对于不同类型的机器人,如有腿的步行机器人与关节型工业机器人,控制系统的综合方法有较大差 别,控制器的设计方案也不一样.本文仅讨论工业机器人控制器问题. 4E'9;tA3l
s='+[*&&
机器人控制器类型 I`>U#x*
'`];=QY9pg
机器人控制器是根据指令以及传感信息控制机器人完成一定的动作或作业任务的装置,它是机器人 的心脏,决定了机器人能的优劣. I<SgKva;c
y4V:)@P
从机器人控制算法的处理方式来看,可分为串行、并行两种结构类型. l6viP}R
Mf}M/Fh
2.1 串行处理结构 G=dzP}B'WA
2|1fb-AR
所谓的串行处理结构是指机器人的控制算法是由串行机来处理.对于这种类型的控制器,从计算机 结构、控制方式来划分,又可分为以下几种: ~6vz2DuB=
M>Q]{/V7T
(1) 单CPU结构、集中控制方式 uOxHa>h
1GY2aZ@
用一台功能较强的计算机实现全部控制功能.在早期的机器人中,如Hero-I, Robot-I等,就采用这种结构,但控制过程中需要许多计算(如坐标变换),因此这种控制结构速度较慢. {K(mfTqm
`]Bb0h1开发机器人控制专用VLSI c]=2>ov)hR
f|RmAP;X,
设计专用VLSI能充分利用机器人控制算法的并行,依靠芯片内的并行体系结构易于解决机器人控 制算法中大量出现的计算,能大大提高运动学、动力学方程的计算速度.但由于芯片是根据具体的算法 来设计的,当算法改变时,芯片则不能使用,因此采用这种方式构造的控制器不通用,更不利于系统的 维护与开发. }xZi Ct
S0$^|/Sr
(2)利用有并行处理能力的芯片式计算机(如:Transputer, DSP等)构成并行处理网络 UD I{4+z
!,4ag1
Transputer是英国Inmos公司研制并生产的一种并行处理用的芯片式计算机.利用 Transputer芯 片的4对位串通信的link对,易于构造不同的拓扑结构,且Transputer具有极强的计算能力.利用 Transputer并行处理器,人们构造了各种机器人并行处理器,如流水线型、树型等.利用 Transputer网络实现逆运动学计算,而以实时控制为目的,分别实现了前馈补偿及计算力矩 两种基于固定模型的控制方案. sFU< PgV
~lj~]j
随着数字信号芯片速度的不断提高,高速数字信号处理器(DSP)在信息处理的各个方面得到广泛 应用.DSP以极快的数字运算速度见长,并易于构成并行处理网络.介绍了一种基于DSP 的机器人控制器,采用并行/流水线的设计方案,提高控制器能. kmB!NxF>)F
F_-Lu]*
(3)利用通用的微处理器 OLw]BJXYaE
e3~MU6
利用通用微处理器构成并行处理结构,支持计算,实现复杂控制策略在线实时计算.如文献 [10,11]中设计的系统. ^:nc'C gP
j;x()iZ<
机器人控制器存在的问题 *4,Q9K_
Uj@th
随着现代科学技术的飞速发展和社会的进步,对机器人的能提出更高的要求.智能机器人技术的研究 已成为机器人领域的主要发展方向,如各种精密装配机器人,力/位置混合控制机器人,多肢体协调控 制系统以及先进制造系统中的机器人的研究等.相应的,对机器人控制器的能也提出了更高的要求. A|A~$v("R
jnH\}IB
但是,机器人自诞生以来,特别是工业机器人所采用的控制器基本上都是开发者基于自己的独立 结构进行开发的,采用专用计算机、专用机器人语言、专用操作系统、专用微处理器.这样的机器人 控制器已不能满足现代工业发展的要求. N(/) e
%idBR7?`g
从前面提到的两类机器人控制器来看,串行处理结构控制器的结构封闭,功能单一,且计算能力 差,难以保证实时控制的要求,所以目前绝大多数商用机器人都是采用单轴PID控制,难以满足机器 人控制的高速、高精度的要求.虽然分布式结构在一定层次上是开放的,可以根据需要增加更多的 处理器,以满足传感器处理和通讯的需要,但它只是在有限范围内开放.所采用的如文献[12]所说 的“专用计算机(如PUMA机器人采用PDP-11作为上层主控计算机)、专用机器人语言(如VAL)、专用 微处理器并将控制算法固定在EPROM中”结构限制了它的可扩展和灵活,因此说它的结构是封闭的. >A#5` $i
Q=~"xB8
并行处理结构控制器虽然能从计算速度上有了很大突破,能保证实时控制的需要,但我们必须看 到还存在许多问题.目前的并行处理控制器研究一般集中于机器人运动学、动力学模型的并行处理方 面,基于并行算法和多处理器结构的映射特征来设计,即通过分解给定任务,得到若干子任务,列出 数据相关流图,实现各子任务在对应处理器上的并行处理.由于并行算法中通讯、同步等内在特点, 如程序设计不当则易出现锁死与通讯堵塞等现象. dBWny&
Z9{~t
综合起来,现有机器人控制器存在很多问题,如: A=|XlP$6
MqmQ52HR
(1)开放差 Ik G&
ZR.k'
局限于“专用计算机、专用机器人语言、专用微处理器”的封闭式结构.封闭的控制器结构使其 具有特定的功能、适应于特定的环境,不便于对系统进行扩展和改进. 0.GFg${v`
,0l
Od<
(2)软件独立差 =]5tYIU
ldv@C6+J
软件结构及其逻辑结构依赖于处理器硬件,难以在不同的系统间移植. Y$'j9bUJ
.ZXoRT
(3)容错差 >KKWhJ
]8$8QQc<<5
由于并行计算中的数据相关、通讯及同步等内在特点,控制器的容错能变差,其中一个处理 器出故障可能导致整个系统的瘫痪. 5Rqdo\vE
C=D*
(4)扩展差 'Waazk[@O
I16FVdUun4
目前,机器人控制器的研究着重于从关节这一级来改善和提高系统的能.由于结构的封闭,难 以根据需要对系统进行扩展,如增加传感器控制等功能模块. gF6> /
IUMv{2C
(5)缺少网络功能 uU
d"l,V
]xC56se
现在几乎所有的机器人控制器都没有网络功能. z4u.bU
RQ+, 7Ir
总起来看,前面提到的无论串行结构还是并行结构的机器人控制器都不是开放式结构,无论从软件 还是硬件都难以扩充和更改.例如,商品化的Motoman机器人的控制器是不开放的,用户难以根据自己 需要对其修改、扩充功能,通常的做法是对其详细解剖分析,然后对其改造. 4 机器人控制器的展望 随着机器人控制技术的发展,针对结构封闭的机器人控制器的缺陷,开发“具有开放式结构的模块化 、标准化机器人控制器”是当前机器人控制器的一个发展方向.近几年,日本、美国和欧洲一些国家 都在开发具有开放式结构的机器人控制器,如日本安川公司基于PC开发的具有开放式结构、网络功能的机器人控制器.我国863计划智能机器人主题也已对这方面的研究立项. 0B6!$) *-i
o|$D|E
开放式结构机器人控制器是指:控制器设计的各个层次对用户开放,用户可以方便的扩展和改进 其能.其主要思想是: d)%WaM%V
+{UY9_~\3
(1)利用基于非封闭式计算机平台的开发系统,如Sun, SGI, PC’s.有效利用标准计算机平 台的软、硬件资源为控制器扩展创造条件. r"H::A
;QI9 OcE@/
(2)利用标准的操作系统,如Unix,Vxwork和标准的控制语言,如C,C++.采用标准操作系统 和控制语言,从而可以改变各种专用机器人语言并存且互不兼容的局面. 6v%yU3l
)g5?5f;
(3)采用标准总线结构,使得为扩展控制器能而必须的硬件,如各种传感器,I/O板、运动 控制板可以很容易的集成到原系统. *>fr'jj1$
/VR~E'Cy%
(4)利用网络通讯,实现资源共享或远程通讯.目前,几乎所有的控制器都没有网络功能,利 用网络通讯功能可以提高系统变化的柔. 我们可以根据上述思想设计具有开放式结构的机器人控制器.而且设计过程中要尽可能做到模块 化.模块化是系统设计和建立的一种现代方法,按模块化方法设计,系统由多种功能模块组成,各模 块完整而单一.这样建立起来的系统,不仅能好、开发周期短而且成本较低.模块化还使系统开放 ,易于修改、重构和添加配置功能.基于多自主体概念设计的新型控制器就是按模块化方 法设计的,系统由数据库模块、通讯模块、传感器信息模块、人机接口模块、调度模块、规划模块、 伺服控制模块等7个模块构成. 1M ?BSH{
r. 82RoG?G
新型的机器人控制器应有以下特色: MU<(O}
$4bc!
(1) 开放式系统结构 _!xrBdaJ
^WA7X9ed
采用开放式软件、硬件结构,可以根据需要方便的扩充功能,使其适用不同类型机器人或机器人化 自动生产线. @]uqC~a^
R%r
bysP
(2) 合理的模块化设计 ]#0 (
WjD885Xo
对硬件来说,根据系统要求和电气特,按模块化设计,这不仅方便安装和维护,而且提高了系统 的可靠,系统结构也更为紧凑. ;zCUx*{
RpdUR*K9x
(3) 有效的任务划分 `}X3f#eO&
不同的子任务由不同的功能模块实现,以利于修改、添加、配置功能. |)x7qy`
qxZIH
(4) 实时、多任务要求 fit{n]g
?v^NimcZ
机器人控制器必须能在确定的时间内完成对外部中断的处理,并且可以使多个任务同时进行. G
e;67
8/e-?2l
(5) 网络通讯功能 #W\}v(Ke
qqDg2,Yb
利用网络通讯的功能,以便于实现资源共享或多台机器人协同工作. 3,PR6a,b'
ch
i=]*9
(6)形象直观的人机接口