引言 7 {n>0@_
MYlPG1X=?
从世界上第一台遥控机械手的诞生至今已有50年了,在这短短的几年里,伴随着计算机、自动控制 理论的发展和工业生产的需要及相关技术的进步,机器人的发展已经历了3代: ?BEO(;'
z'!sc"]W6
(1)可编程的示 教再现型机器人; 'QP~uK
smJ#.I6/L
(2)基于传感器控制具有一定自主能力的机器人; < %t$0'
@hG]Gs[,o
(3)智能机器人.作为机器人的核心部分,机器人控制器是影响机器人能的关键部分之一.它从一定程度上影响着机器人的发展.目 前,由于人工智能、计算机科学、传感器技术及其它相关学科的长足进步,使得机器人的研究在高水平 上进行,同时也为机器人控制器的能提出更高的要求. GGWdMGI/
67{3/(`x
对于不同类型的机器人,如有腿的步行机器人与关节型工业机器人,控制系统的综合方法有较大差 别,控制器的设计方案也不一样.本文仅讨论工业机器人控制器问题. Qp5YS
9i?Q=Vuc~<
机器人控制器类型 6p}dl>T_y
4#fgUlV
机器人控制器是根据指令以及传感信息控制机器人完成一定的动作或作业任务的装置,它是机器人 的心脏,决定了机器人能的优劣. skeXsls
Q+ogV vMq>
从机器人控制算法的处理方式来看,可分为串行、并行两种结构类型. %n!7'XF'[
EQvZ(-_;4
2.1 串行处理结构 {
ML)F ]]
/hC'-6:]^
所谓的串行处理结构是指机器人的控制算法是由串行机来处理.对于这种类型的控制器,从计算机 结构、控制方式来划分,又可分为以下几种: ?kBX:(g
'ZXd|WI
(1) 单CPU结构、集中控制方式 Ltrw)H}
=9;2(<A
用一台功能较强的计算机实现全部控制功能.在早期的机器人中,如Hero-I, Robot-I等,就采用这种结构,但控制过程中需要许多计算(如坐标变换),因此这种控制结构速度较慢. <0M2qt8
.*,W%r?1n6
(2) 二级CPU结构、主从式控制方式 +ak<yV1=
O V+|j
一级CPU为主机,担当系统管理、机器人语言编译和人机接口功能,同时也利用它的运算能力完成 坐标变换、轨迹插补,并定时地把运算结果作为关节运动的增量送到公用内存,供二级CPU读取;二级 CPU完成全部关节位置数字控制.这类系统的两个CPU总线之间基本没有联系,仅通过公用内存交换数 据,是一个松耦合的关系.对采用更多的CPU进一步分散功能是很困难的.日本于70年代生产的Motoman 机器人(5关节,直流电机驱动)的计算机系统就属于这种主从式结构. LV6BSQyQ
SU$%nK )
(3) 多CPU结构、分布式控制方式 [Q:C\f]
6z3`*B
目前,普遍采用这种上、下位机二级分布式结构,上位机负责整个系统管理以及运动学计算、轨迹 规划等.下位机由多CPU组成,每个CPU控制一个关节运动,这些CPU和主控机联系是通过总线形式的紧 耦合.这种结构的控制器工作速度和控制能明显提高.但这些多CPU系统共有的特征都是针对具体问 题而采用的功能分布式结构,即每个处理器承担固定任务.目前世界上大多数商品化机器人控制器都是 这种结构. !hc#il'g].
r J^*8C!
控制器计算机控制系统中的位置控制部分,几乎无例外地采用数字式位置控制. SbX#$; ks~
k "Qr
以上几种类型的控制器都是采用串行机来计算机器人控制算法.它们存在一个共同的弱点:计算负 担重、实时差.所以大多采用离线规划和前馈补偿解耦等方法来减轻实时控制中的计算负担.当机器 人在运行中受到干扰时其能将受到影响,更难以保证高速运动中所要求的精度指标. 0/~20 KD{s
6qYK"^+xu
由于机器人控制算法的复杂以及机器人控制能的亟待提高,许多学者从建模、算法等多方面进 行了减少计算量的努力,但仍难以在串行结构控制器上满足实时计算的要求.因此,必须从控制器本身 寻求解决办法.方法之一是选用高档次微机或小型机;另一种方法就是采用多处理器作并行计算,提高 控制器的计算能力. 3$#=*Zp
&f_ua)cyY
2.2 并行处理结构 J*zm*~8\
e'MLLC[
并行处理技术是提高计算速度的一个重要而有效的手段,能满足机器人控制的实时要求.从文献 来看,关于机器人控制器并行处理技术,人们研究较多的是机器人运动学和动力学的并行算法及其实现. 1982年J.Y.S.Luh[3]首次提出机器人动力学并行处理问题,这是因为关节型机器人的动力学方程是 一组非线强耦合的二阶微分方程,计算十分复杂.提高机器人动力学算法计算速度也为实现复杂的控 制算法如:计算力矩法、非线前馈法、自适应控制法等打下基础.开发并行算法的途径之一就是改造 串行算法,使之并行化,然后将算法映射到并行结构.一般有两种方式,一是考虑给定的并行处理器结 构,根据处理器结构所支持的计算模型,开发算法的并行;二是首先开发算法的并行,然后设计支 持该算法的并行处理器结构,以达到最佳并行效率. 4Mr)~f rc
^a #
构造并行处理结构的机器人控制器的计算机系统一般采用以下方式: BqG7Et
^3
6oqe{
(1)开发机器人控制专用VLSI ;>jLRx<KC
ll#_v^
设计专用VLSI能充分利用机器人控制算法的并行,依靠芯片内的并行体系结构易于解决机器人控 制算法中大量出现的计算,能大大提高运动学、动力学方程的计算速度.但由于芯片是根据具体的算法 来设计的,当算法改变时,芯片则不能使用,因此采用这种方式构造的控制器不通用,更不利于系统的 维护与开发. )>+J`NFa
yE=tuHv(0
(2)利用有并行处理能力的芯片式计算机(如:Transputer, DSP等)构成并行处理网络 {K ,-fbE
o7^u@*"F
Transputer是英国Inmos公司研制并生产的一种并行处理用的芯片式计算机.利用 Transputer芯 片的4对位串通信的link对,易于构造不同的拓扑结构,且Transputer具有极强的计算能力.利用 Transputer并行处理器,人们构造了各种机器人并行处理器,如流水线型、树型等.利用 Transputer网络实现逆运动学计算,而以实时控制为目的,分别实现了前馈补偿及计算力矩 两种基于固定模型的控制方案. zLS=>iLD{
7a5G,C#QQ
随着数字信号芯片速度的不断提高,高速数字信号处理器(DSP)在信息处理的各个方面得到广泛 应用.DSP以极快的数字运算速度见长,并易于构成并行处理网络.介绍了一种基于DSP 的机器人控制器,采用并行/流水线的设计方案,提高控制器能. K=Y{iHn
J=7<dEm&
(3)利用通用的微处理器 NxzRVsNF
vWq/A .
利用通用微处理器构成并行处理结构,支持计算,实现复杂控制策略在线实时计算.如文献 [10,11]中设计的系统. G}NT[
}:9UI
机器人控制器存在的问题 $geDB~ 2>
_a&Mk
随着现代科学技术的飞速发展和社会的进步,对机器人的能提出更高的要求.智能机器人技术的研究 已成为机器人领域的主要发展方向,如各种精密装配机器人,力/位置混合控制机器人,多肢体协调控 制系统以及先进制造系统中的机器人的研究等.相应的,对机器人控制器的能也提出了更高的要求. M?G4k]
=cKrp'
但是,机器人自诞生以来,特别是工业机器人所采用的控制器基本上都是开发者基于自己的独立 结构进行开发的,采用专用计算机、专用机器人语言、专用操作系统、专用微处理器.这样的机器人 控制器已不能满足现代工业发展的要求. em,j>qp
biy[h3b
从前面提到的两类机器人控制器来看,串行处理结构控制器的结构封闭,功能单一,且计算能力 差,难以保证实时控制的要求,所以目前绝大多数商用机器人都是采用单轴PID控制,难以满足机器 人控制的高速、高精度的要求.虽然分布式结构在一定层次上是开放的,可以根据需要增加更多的 处理器,以满足传感器处理和通讯的需要,但它只是在有限范围内开放.所采用的如文献[12]所说 的“专用计算机(如PUMA机器人采用PDP-11作为上层主控计算机)、专用机器人语言(如VAL)、专用 微处理器并将控制算法固定在EPROM中”结构限制了它的可扩展和灵活,因此说它的结构是封闭的. 1Uf8ef1,
o)SA^5
并行处理结构控制器虽然能从计算速度上有了很大突破,能保证实时控制的需要,但我们必须看 到还存在许多问题.目前的并行处理控制器研究一般集中于机器人运动学、动力学模型的并行处理方 面,基于并行算法和多处理器结构的映射特征来设计,即通过分解给定任务,得到若干子任务,列出 数据相关流图,实现各子任务在对应处理器上的并行处理.由于并行算法中通讯、同步等内在特点, 如程序设计不当则易出现锁死与通讯堵塞等现象. ?I}0[+)V
{cMf_qQ
综合起来,现有机器人控制器存在很多问题,如: =! P
^h~oxZJw
(1)开放差 k`;&??
jQRl-[n
局限于“专用计算机、专用机器人语言、专用微处理器”的封闭式结构.封闭的控制器结构使其 具有特定的功能、适应于特定的环境,不便于对系统进行扩展和改进. F?.J1]
YM4njkI7
(2)软件独立差 IKVS7m
w8298Kl
软件结构及其逻辑结构依赖于处理器硬件,难以在不同的系统间移植. u.R
8Ssk>M*
(3)容错差 ^E| {i]j#f
\h UE,^
由于并行计算中的数据相关、通讯及同步等内在特点,控制器的容错能变差,其中一个处理 器出故障可能导致整个系统的瘫痪. $,DX^I%!
6,:`esl
(4)扩展差 ~RIn7/A
ns;nle|m
目前,机器人控制器的研究着重于从关节这一级来改善和提高系统的能.由于结构的封闭,难 以根据需要对系统进行扩展,如增加传感器控制等功能模块. [>xGynU0
;&?l1Vu
(5)缺少网络功能 Yt#e[CYnu
&XH{,fv$
现在几乎所有的机器人控制器都没有网络功能. Yh9fIRR
ZW>?y$C+
总起来看,前面提到的无论串行结构还是并行结构的机器人控制器都不是开放式结构,无论从软件 还是硬件都难以扩充和更改.例如,商品化的Motoman机器人的控制器是不开放的,用户难以根据自己 需要对其修改、扩充功能,通常的做法是对其详细解剖分析,然后对其改造. 4 机器人控制器的展望 随着机器人控制技术的发展,针对结构封闭的机器人控制器的缺陷,开发“具有开放式结构的模块化 、标准化机器人控制器”是当前机器人控制器的一个发展方向.近几年,日本、美国和欧洲一些国家 都在开发具有开放式结构的机器人控制器,如日本安川公司基于PC开发的具有开放式结构、网络功能的机器人控制器.我国863计划智能机器人主题也已对这方面的研究立项. &Dw8GU}1
i=DoK{`L
开放式结构机器人控制器是指:控制器设计的各个层次对用户开放,用户可以方便的扩展和改进 其能.其主要思想是: ?>
SH`\
elw}(l<F
(1)利用基于非封闭式计算机平台的开发系统,如Sun, SGI, PC’s.有效利用标准计算机平 台的软、硬件资源为控制器扩展创造条件. `z]MQdE_w
(%^Bp\.02!
(2)利用标准的操作系统,如Unix,Vxwork和标准的控制语言,如C,C++.采用标准操作系统 和控制语言,从而可以改变各种专用机器人语言并存且互不兼容的局面. 2%oo.?!R
53jtwklA
(3)采用标准总线结构,使得为扩展控制器能而必须的硬件,如各种传感器,I/O板、运动 控制板可以很容易的集成到原系统. ~n$e
RiNKUk{-
(4)利用网络通讯,实现资源共享或远程通讯.目前,几乎所有的控制器都没有网络功能,利 用网络通讯功能可以提高系统变化的柔. 我们可以根据上述思想设计具有开放式结构的机器人控制器.而且设计过程中要尽可能做到模块 化.模块化是系统设计和建立的一种现代方法,按模块化方法设计,系统由多种功能模块组成,各模 块完整而单一.这样建立起来的系统,不仅能好、开发周期短而且成本较低.模块化还使系统开放 ,易于修改、重构和添加配置功能.基于多自主体概念设计的新型控制器就是按模块化方 法设计的,系统由数据库模块、通讯模块、传感器信息模块、人机接口模块、调度模块、规划模块、 伺服控制模块等7个模块构成. PN@[k:5(
-f!oq7U
新型的机器人控制器应有以下特色: +5C*i@v
2Y'=~*tV
(1) 开放式系统结构 Ne 9R
u'B6
qGgqAF#B
采用开放式软件、硬件结构,可以根据需要方便的扩充功能,使其适用不同类型机器人或机器人化 自动生产线. JJe?Zu\
"Ca?liy
(2) 合理的模块化设计 M.QXwIT
$YCy,Ew
对硬件来说,根据系统要求和电气特,按模块化设计,这不仅方便安装和维护,而且提高了系统 的可靠,系统结构也更为紧凑. c7$U0JO
zZ\2fKrpg
(3) 有效的任务划分 \%ZF<sVW
不同的子任务由不同的功能模块实现,以利于修改、添加、配置功能. KN"V(<!)~
|[]"{Eo"}
(4) 实时、多任务要求 Axtf,x+lH
3"OD"
机器人控制器必须能在确定的时间内完成对外部中断的处理,并且可以使多个任务同时进行. V$7SVq
Z*Qra4GBl]
(5) 网络通讯功能 wt@q+9:
wZV/]jmlEt
利用网络通讯的功能,以便于实现资源共享或多台机器人协同工作. ixFuqPij
RO1xcCp
(6)形象直观的人机接口