2006年02月28日

 


我们已经听说过NASA的蜘蛛人,一个硕大的用来进行太空实验(维修)的智能机器人,不过,在见到这家伙之前我们确实无法想象如何去对付它(如果真的发生机器人骚乱的话);虽然我们现在看到的体积只是其最终版本的1/4大小,不过它可以利用自身的八个爪子轻易分解600磅的体重,从而可以避免损害太空船的外壳,并且能在太阳能甲板轻盈慢步;同时,NASA还将继续开发代号为"网"的控制系统,从而可以利用其照顾妇女儿童或者替我们看家。

Cnet站上有段非常可爱的机器人恐龙-Pleo的影片(也许我们应该说是有一只机器恐龙了) 这只毛绒绒的家伙有38个感应器,14个服务器,和一个好的家世背景,不是别人正是
Furby
自己。

15秒生动的影片中主讲人 (Ugobe公司的执行长保罗 克里斯托弗Bob Christopher)
并没有告诉我们Pleo有多么的棒,而且事实上我们可以看到小恐龙自己在忙自己的事,它栩栩如生的动作实在让人感动ne~,坦白说这也让我们对其它的机器人感到不自在呢。像是Wowwee’sRoboreptile(爬虫机器人吗?)。

日立的EMIEW机器人出现了首个模型,这个带轮子的家伙正在接受他主人的专门训练——怎样成为一个合格的酒店服务生,他要在东京湾希尔顿酒店从3月6号工作到12号,不过不幸的是似乎他做的都是些讨厌的活——比如说成天逗小孩子玩。Penton讲教会这个机器人作为一个服务生适当的措辞——“乖,别乱跑”、“对不起先生,俺也不清楚为什么女仆要把你的手表和手机带走”——显然他受到了Michael
J. Fox 1993年电影《小生护驾》的影响。

[原文连接]
 



这是个有趣的家伙,有着可爱的可摇动的耳朵,闪闪的眼睛,后驱2个轮子,可以感觉并绕过障碍物,前面有个小刷子,可以帮你把小垃圾扫进前面的黑色盒子内,背后还有个可以放可乐的小瓶子,可以帮你把饮料送给来访的客人,再加上遥控器,非常不错,价格在400人民币,不过可别让你家的孩子拿来当遥控玩具哦,那就很贵了。

2006年02月25日

智能机器人开发
这个蛇形机器人由北京航空航天大学3位学生开发,这里给出详细的技术资料。


模块化可重构蛇形机器人技术报告

1.蛇形机器人研究背景
仿生学的范围很广,譬如雷达是对蝙蝠超声测距能力的模仿,而机翼使用的防震措施则借鉴了蜓蜻翅膀的结构。仿生机器人运动学是仿生学的一个很重要的发展。人类在智慧上超出动物很多,但在特定环境的适应上就要比动物差很多。虽然人发明了很多的技术弥补了这一不足,但明显可以看到,舰船的灵活性比不上鱼类,飞机的灵活性比不上鸟类甚至昆虫,车辆的地形适应性比不上四条腿的动物。仿生运动的研究可以弥补我们这方面的不足,对社会产生大的经济效益。蛇形机器人的研究可以满足一些行业的需求。蛇形机器人由于其天生的多关节、多自由度,多冗余自由度,可以有多种运动模式,可以满足在复杂环境中搜救、侦查、排除爆炸物等反恐任务;航空航天领域可用其作为行星表面探测器,轨道卫星的柔性手臂;工业上则可应用于多冗余度柔性机械手臂,管道机器人等方面。


区别于传统的“基于运动模型的运动控制策略”和“基于行为的运动控制策略”,以行为主义控制模型为基础,本文试图建立从模仿蛇类生物中枢神经系统及关节反射调节系统,实现一种“分布式底层运动控制——高层中枢决策”的控制模型。并且经由独立开发的蛇形机器人样机验证此一模型,在实验中取得了良好的效果,证明本文提出的控制模型没有原则上的错误以及不可克服的应用困难。


2.国内外研究情况分析
1)目前国内外对蛇形机器人研究综述
近几年来,特别是2000年以来,蛇形仿生机器人正在成为全世界新的研究热点。其理由有二:首先,仿生机器人学正在机器人领域占有越来越重要的位置,而由于其自身的典型性,蛇形机器人是仿生领域的热点研究方向;其次,运动机理特殊的蛇形机器人有广阔的应用情景,例如战场上的扫雷,爆破,空间站的柔性机械手臂,通过能力很强的行星地表探测器等;且其模块化结构和高冗余度非常适应于条件非常恶劣而又要求高可靠性的战场、外层空间等环境。国内也已经有单位开展这方面的研究,例如国防科大与中科院沈阳自动化所。


2)国内外研究概况
a) 美国宇航局(NASA)的SnakeBot



图1 NASA Snakebot I


NASA于1999年开始研究多关节的蛇形机器人,计划在其太空计划中用于行星地表探测以及空间站维护工作。其第一代蛇形机器人如图所示。它采用相邻正交的串联机构,由中央计算机集中控制。该机器人能完成蠕动前进,游动前进,翻越简单障碍物等功能。该蛇形机器人结构简单合理,对目前的蛇形机器人结构产生了很大的影响。


b) 德国Gavin.H S1-S5



图3 蛇形机器人 S5


德国人Gavin.H从约1997年开始从事蛇形机器人的研究工作,到目前为止共设计并制作了S1,S2,S3,S4,S5五代蛇形机器人,图3为S5。其研究已经达到相当高的水平,特点是:各个关节形状尺寸不同,高度模拟生物蛇;为二维结构,无法完成三维空间运动;依靠从动轮而不是摩擦运动,运动速度很高,主要运动方式为游动。

c) 德国GMD国家实验室的AiS


图4 GMD AiS


德国GMD国家实验室也开发出了基于模块式结构和CAN总线的蛇形机器人,其结构为三维关节,每关节有三个电机及六个力矩传感器,六个红外传感器,因此结构相当复杂,直径达20cm左右。其控制方式为上位机总线下位机。目前该机器人具有速度及位置闭环,能翻越简单障碍,具有一定的自主反应能力。


d) 国防科大RoboSnake
这是国内最早报道的蛇形机器人,最初为二维结构,依靠从动轮前进,长约1.5米,重约3Kg。目前发展为三维结构,但是依然保持从动轮。


e) 中科院沈阳自动化所蛇形机器人
同样采用正交串联结构,可以完成蠕动前进、游动前进、滚转等运动。


3) 研究的热点及主流方向
a) 运动机理
德国研究者Bernhard Klaassen和Karl L Paap认为研究基于蛇类生物的多节、多自由度机器人的关键是机器人的自主控制,以及一定结构下机器人体态变化过程中的有效控制问题。日本东京大学的 Luc JAMMES、Yasumasa KYODO 等人也有类似研究的报导。显然,这些研究仅仅是对一种运动原理的模拟,没有考虑环境因素,而且由于运动支承轮的存在,此种机器人系统很难适应障碍物众多、凸凹不平的自然环境。为此,日本Ibraki大学的学者进一步研究了蛇类生物的运动机理,利用串联杆系和行波运动,通过相应的结构及电机驱动,研制成仿蛇机器人系统样机,对其运动原理、结构特性、控制算法、数学模型进行了详细论证,试图开发其在上述环境中的应用。Ibraki大学系统工程系的Shugen MA 进一步研究了生物蛇行进过程中的肌肉特点,比较了已有的仿蛇机器人运动模型,最后从驱动力、运动效率的角度出发,得出了所谓仿蛇机器人的最佳运动波形、并将进一步开展实际机器人系统的机械构成、实现方面的研究和探讨。


由于生物蛇鳞片和关节的数目相当庞大,蛇类生物可以近似看作是一种“没有关节、柔性的”运动体。英国Heriot-Watt大学的G.Robinson和J.B.C.Davies基于生物蛇高度灵活性和机动性,进一步提出了连续机器人的设计思想,并通过不同形式和结构的液压驱动“人工筋”研制出不包含刚性联接和扭转关节的的机器蛇系统,该系统有较好的环境适应性,但也带来了体态控制困难、结构复杂和难以微型化的问题。这些问题只能在液压驱动技术得到发展后逐步解决。综上所述,基本可以认定,现阶段以及近未来,大多数蛇形机器人仍然是基于杆系结构模型。

b)控制理论及控制方式

在仿生机器人领域,目前大部分研究者专注于实现更高的运动效率,得到更加接近生物的运动,这无疑是仿生机器人的研究方向之一,但是很难指望在一种机械而固定的控制方式下能够得到真正具有生物特性的运动,这方面的研究所作的也只能是根据已知环境来尽可能模拟生物运动,尽可能提高运动效率。但是这样似乎很难超越“非确定性环境适应性”这一门槛,


目前已经有一部分研究者正在积极研究自适应运动控制理论,大部分研究者总的原则是试图建立一个普适的运动学模型和一个普适的决策理论,这个运动学模型应该是一个时变的数学模型,包括环境与本身的关系,能够描述时间、环境、自身状况对运动的影响,包含一组针对环境的传感与决策特征值(即决策控制层所需要的)。


作为一种典型的控制模式,基于CPG(中枢模式发生器)原理的机器人系统设计利用一个包含多个互抑制神经元的振荡器作为运动模式发生器,利用连接权重矩阵来描述多个振荡器的相位关系,调节运动模式发生器产生的节律信号,以模仿生物的步态产生原理为基础,利用CPG和几个振荡器得到各种步态。同时利用传感器构成对权重矩阵的影响,反映环境和自身的各种参数变化。这一思路比较新颖,且具有一定的普适性,应该是一种很有前途的探索方向。这种方式的缺点在于,其拓扑结构复杂程度随运动的复杂程度成平方关系增加,且达到更好的适应性需要大量的传感器反馈,如何把这些反馈合理地反映到运动权重矩阵中去仍然是个问题,这仍然需要对各种不可预见因素的大量模拟和实践,以得出合理的反馈处理方式。


考察国内外已知各仿生机器人研究者的控制方案,基本可以分为以下三种:
1)主控计算机中央控制,拓扑结构为星形,采用基于“命令宏”的开环/部分闭环控制。这种方案结构较简单,没有下位机,上位机直接控制电机以及处理传感器反馈,优点是所有关节相互独立,互不影响,但是这种控制律决定了其自适应能力差,容错性差,结构的改变将导致所有动作必须重新设计,中央计算机的瘫痪将造成系统的完全瘫痪。而且要求系统有一个高速、大容量的上位机。典型应用实例有NASA的SnakeBot。
2)利用CPG、行为主义控制模型、人工神经网络等分布式控制方案,典型应用如MIT的Brooks的"Genghis"六足机器人,“Vbug”机器人等。
2)既有主控计算机,也有局部控制器,结合以上两种控制方式的优点,这样对主控计算机的依赖大大减小使其的微型化成为可能,可以在很大程度上弥补上述两种控制方式各自的缺点,在需要自主运动和高度的鲁棒性时主要采用方式2,在执行确定任务时采用方式1和2的结合。


3.本作品的目的
传统的机器人控制策略有两种:基于固定模型的运动控制策略,以及基于行为的运动控制策略。


“基于固定模型的运动控制策略”的思想是以中央控制为主,预先建立具体的行为库,再通过传感器的反馈来改变各种具体的行为以获得某种程度的环境适应能力。从控制模型上来讲,这类策略都试图建立单一的FSM(finite state machine,有穷状态机)以模拟生物高度复杂、且原理上尚未完全探明的运动决策过程,这就决定了这类模型的实际性能。由于状态有限且预设规范有限,这类模型只可能在已知环境中行动,只可能具有相当有限的自适应能力。


“基于行为的运动控制策略”一般不包含主控计算机,系统的运动完全由各个关节分布的局部控制器的相互耦合来完成。低等生物常常是依靠各神经节的相互作用来完成运动,这是一种不经过思考的智能:基于这种“无思考智能”的控制系统具有实时性和自组织的特点,在高度非确定性的场合具有一定优势。


“基于运动模型的运动控制策略”的思想是以中央控制为主,预先建立具体的行为库,再通过传感器的反馈来改变各种具体的行为以获得某种程度的环境适应能力。某些这类策略还具有根据反馈修正原有运动运动模型的能力,比如采用遗传算法的机器人控制策略。这类策略的优点是设计较为简单,从控制模型上来讲,这类策略都试图建立单一的FSM(finite state machine,有穷状态机)以模拟生物高度复杂、且原理上尚未完全探明的运动决策过程,这就决定了这类模型的实际性能。由于状态有限且预设规范有限,这类模型只可能在已知环境中行动,只可能具有相当有限的自适应能力。


“基于行为的运动控制策略”一般不包含主控计算机,系统的运动完全由各个关节分布的局部控制器的相互耦合来完成。这是一种按照行为主义控制理论设计的控制系统。低等生物常常是依靠各神经节的相互作用来完成运动,而非大脑中央控制(事实上很多生物没有大脑或大脑很不发达)也可达到很高的自适应性。这可认为是一种不经过思考的智能:基于这种“无思考智能”的控制系统具有实时性和自组织的特点,在高度非确定性的场合和非结构化环境中具有比较良好的适应性。此种控制方式缺点是其状态机耦合网络设计复杂,且不适于完成一些高度确定的任务,而且可重复性较差。目前未见有行为主义控制策略应用于蛇形机器人的报导。


在深入研究国内外各蛇形机器人的基础上,我们作了不少关于蛇形机器人控制方式的探索。


既然传统的“基于运动模型的运动控制策略”以及“基于行为的运动控制策略”目前无法达到实用化,于是一个变通的研究方向就是:运动层面的仿生和决策层面的人控,以利用某些生物运动的优势(仿生特征),但又具有生物的智能(人工控制)。这应该是一个非常好的取长补短的策略,可以部分采用;但是这样实际上增加了机器人的操纵难度,因而限制了其应用领域。如能较好地综合以上方案则可以达到较好的综合效果。
所以,我们首先把行为主义控制模式应用于蛇形机器人的运动模式发生器,得到了多种全新的运动模式。然后归纳出了结合集中——分布式结构的蛇形机器人运动学模型。基于运动模式发生器产生的多种运动单元,利用蛇形机器人运动学模型完成中枢控制逻辑,实现了一种“分布式底层运动控制——高层中枢决策”的控制模型。以此为指导,我们设计了蛇形机器人SolidSnake并且完成了机器人样机,在国内外首先实现了高效率的自主上楼梯运动。


我们的实验已经证明本文提出的控制模型没有原则上的错误以及不可克服的应用困难。


在应用方面,蛇形机器人由于其自身的多关节、多运动方式,有很好的地形适应性,是执行废墟搜救、排除爆炸物等任务的良好平台,但是目前尚未见到蛇形机器人实用化的报导,SolidSnake已经可以在特定环境(自主与人控相结合,从某楼房楼外进入第二层的堆储杂物房间,找到并排除爆炸物)中完成模拟反恐任务,作了使蛇形机器人达到实用化的探索。


SolidSnake为杆式结构,模块化,可以在一定范围内随意增加或减少关节模块,机器人可以自动识别关节数量,可在二维结构和三维结构之间随时转换;控制方式采用主控计算机??总线??关节控制模块??电机/传感器的结构,应用行为主义控制理论在传统的“带反馈修正的命令宏”式控制方式中,二者相结合,以达到高度的鲁棒性。


4.创新点及主要指标
1) 创新点:
1) 成功地把行为主义控制理论用于产生蛇形机器人的运动单元,并且通过对蛇类生物的观察和分析,得出了适合杆系结构机器人的蛇类生物运动模型,此模型利用上述底层运动单元对整体运动节律进行集中控制。在此运动模型基础上制成了蛇形机器人SolidSnake,并且发现了行为主义模式的运动对于提高系统效率的重要影响。
2) 利用行为主义控制模式产生的动作,首创实现了蛇形机器人上楼梯的能力,并进行了侦察应用方面的尝试。
3) 创新地设计了可随时在二维结构和三维正交结构间转换的机体结构,且高度模块化,可在一定范围内随时增加、减少关节模块。

主要技术指标:

项目 全长 直径 净重 最大速度 续航时间 平均功耗
数据 1.2m 40mm 2.2kg 10-12m/min 1小时 25W

 

5.技术特点及运动算法
1) 基于行为的运动模式发生器
按照行为主义理论,低等生物没有存储、规划、控制全身各部分运动的中心控制系统,是根据身体各部分的不同反应,将一些局部看来漫无目标的动作合成为有意义的生物行为,这种行为简单但有意义。这种“无思考智能”具有实时性和自组织的特点,在高度非确定性的场合和非结构化环境中具有比较良好的适应性。著名的应用了行为控制理论的机器人有MIT的Brooks教授带领一个小组研究的的"Genghis"六足机器人,“阿迪拉-I”机器人,以及美国Los Alamos国家实验室的Vbug系列机器人等。蛇形机器人SolidSnake的运动模式发生器即是根据这一理论设计的。


通过大量实际观察和对视频的分析,我们发现蛇类生物的运动行为有这样两个特点:
1) 蛇类生物的运动有很大一部分具有简单的重复传播性,即运动的本质是一个很简单的动作,但是该动作沿蛇体的传播却可以形成非常复杂而有效的行为;
2) 蛇对外界刺激的反馈常常表现为单一的反应,比如昂起头等。但是这种反应并非一成不变,它常常是一个单一的动作,但是带有时变的参数和由当前状态决定的参数。
这二者结合,构成了蛇大部分的行为。


SolidSnake的运动模式发生器按(1)式(见下文)中特征设计。为了实现运动的传递,我们采用了如下的信号传递机制:


首先,中枢控制器给出动作样本和执行关节,放到系统总线上;对应的关节收到动作指令后立即执行,并且把执行完毕标志反馈给中枢控制器;中枢控制器再命令顺序相邻的关节执行此动作,得到执行完毕标志,依此类推。


动作传递过程中一直没有离开中枢控制器,这是由RS-485的单主机特性决定的,RS-485网络中各从机不能直接互相通信,只能通过主机转发。事实上,在这个机制中,运动一旦发生就不再需要中枢控制器的干预。实际上的逻辑是,某个关节受到激励产生运动,并把此运动传递到相邻的关节,相邻的关节以一定时序完成类似运动(参数可能不同),再传给下一关节,依此类推,从而形成(1)式(见下文)的运动,这就是SolidSnake运动发生器的工作过程。


在实验中我们发现这样的运动虽然可以多样化而协调,但是缺乏自适应能力。原因有二:
一是没有考虑外部的反馈;
二是没有一个时变因素的反映(比如反复尝试某动作失败后更换新的行为);
因此运动模式发生器还应加入外部环境的因素,即传感器的反馈(SolidSnake使用的传感器为微动开关和各关节的角度传感器)。在运动传递的过程中,各关节在执行动作前,先根据本关节处的传感器情况计算运动参数,再执行动作。中枢控制器负责处理全局的传感器,并把根据决策逻辑得出的运动修正指令发给各关节,以完成对特定情况的集中控制。


加入描述时间影响的参数和外界信号的参数,在实验中我们得出SolidSnake运动模式发生器的数学描述。

2) 蛇形机器人的运动模式发生器数学描述 及 中枢控制器简述
如果把蛇体抽象为一杆数为N的杆系,可以把上述包含外部反馈参数、时间参数的运动模式发生器描述如下(设运动从零时刻开始):

K(N,t) = K(N-1,t-Δ(t)) + C1*Σ(C2*t*ω(t-1)) + C3*L(t-1) (1)
当前状态 上一个相位状态 外界信号修正值 前次动作修正值
其中:
1. K(N,t)为t时刻第N节的状态;(这里的状态包括位置、速度、加速度以及相应的电机转速等参量)

2. C1为权值,代表当前状态与以前运动结果的关联度,C1*Σ(C2*t*ω(t-1))综合描述了外界信号对蛇体动作的影响;

3. ω(t-1)为上一时刻蛇体接受到的外界信号的函数,此参数描述了蛇体的外界信号接口,并且补偿由于时间流逝造成的外界影响越来越大,以至于当前控制命令被忽略的问题(这个问题在试验的初期出现过,由于时间流逝造成C1*Σ(C2*t*ω(t-1))项越来越大,以至于主要控制指令项K(N-1,t-Δ(t))可忽略);

4. C2*t为权值与时间衰减系数之积,描述了时间流逝对蛇的记忆产生的影响,两个分立动作之间时间间隔越长,前者对后者的影响也就越小,C2通过试验确定;

5. C3为权值,通过试验确定一组值,再在符合给定条件的时候赋给相应的控制变量;L(t-1)项描述了蛇体上一时刻的状态对当前状态的影响。此参数非常重要,因为某些动作能否完成取决于上一时刻蛇体的状态,比如上一时刻蛇体处于翻倒的状态,则当前时刻“眼镜蛇式侧移”是无法完成的,这样就要求翻倒后L(t-1)能趋于某个极限,这样则K(N,t)->K(N,t-1),即蛇体不会动;不动的状态持续一定时间,当外界信号修正值C1*Σ(C2*t*ω(t-1))达到给定阈值且相应标志值为真时,L(t-1)恢复原值,蛇体自动执行翻身动作,恢复正常相位;

该运动模式发生器的自适应能力表现为:假设Solidsnake遇到未知的障碍无法逾越,它会表现为重复同一个运动模式;由于时间参数和外部信号参数的存在,时间参数和外部信号参数会影响并逐渐改变运动模式发生器所产生的运动。调整这种改变的方向,就可以使这种运动的改变朝适应环境的方向发展。


SolidSnake的关节也会按照协议向中枢控制器报告其局部传感器的结果,中枢控制器通过决策算法调整运动,并调整运动模式发生器的改变方向,以适应未知障碍。


例如,在地形为一个半径较大的球台表面的时候,由于无法预知地面特征,SolidSnake会首先按照平地的模式蠕动前进;但是由于蛇体中部关节的电机无法承受前后两端下坠的扭矩,无法完成运动要求,只能依照地形贴在地面;这样会造成各关节的预定位置与传感器所显示的实际位置存在差距。因为这个差距,反映关节角度信号的外部信号参数会逐渐累积,并在累计到一定程度后使本关节的蠕动运动调整到不再“憋劲”的位置。这样角度差不再出现,上述外部信号参数不再改变,地形适应过程结束。


中枢控制器在物理结构上为RS-485总线的主机,负责协调各个动作,向各关节传递用于控制行为的参数,存储基本动作(即传递的第一个动作),并产生开始运动的信号。在必要的时候,中枢控制器可以通过发送一个控制字,完全取得控制权,以完成特定目标。


蛇形机器人SolidSnake为杆系结构,利用各关节处的直流伺服电机来控制各杆件的相对运动,以构成要求的运动。蛇形机器人要求具有多种不同的运动方式,包括:蠕动前进/后退,爬楼梯,游动前进/后退,翻越障碍,横滚,横向游动。还有其他的辅助运动,包括抬起头部,翻倒后自动翻身,等等。


根据此公式及我们设计的运动要求,我们为SolidSnake的中枢控制器设计了包括蠕动一个关节、扭曲相邻关节、固定一个关节在某个相位、放松一个关节等基本动作(即K(N,t)),
通过(1)的简化模型:

K(N,t)=K(N-1,t-dt) (2)

中枢控制器把一个蠕动关节的动作放在SolidSnake的第一个关节后,运动模式发生器会产生一个完整、平滑、比较自然的蠕动前进的运动,该运动完全不考虑传感器因素及时间因素。如图5所示。


图5 蠕动前进示意图


通过(1)式,我们设计并实现了SolidSnake上楼梯的独特翻滚运动,如图6所示。此运动不仅包含K(N-1,t-dt)项,而且包括C1*Σ(C2*t*ω(t-1)) + C3*L(t-1) 项,其中C1*Σ(C2*t*ω(t-1)) 项包括位置参数和楼梯状况,由触动开关和手动辅助给出(例如楼梯开始和结束信号)。前次动作修正值由主控计算机保存。


利用此运动上楼梯的实验录像显示,这种利用行为主义控制模式产生的运动是合理和高效的。


我们一开始希望SolidSnake运动的自组织通过CPG、人工神经网络来实现。在研究过程中发现,这样会大大增加系统复杂度和试验的不可靠程度,因此我们采用了中枢控制器存储并触发动作,通过RS-485网络来传输各种触发标志和状态字,各关节处负责具体运动解析的MCU来分别存储和计算各权值,以实现“分布-集中”式的方案,试验证明,这样做是可行的。


图6 上楼梯运动示意图

3) 行为主义理论对运动中能量流的影响
SolidSnake使用的直流伺服电机额定电流约为300-350mA,按照蛇体共使用16个电机计算,其完成大部分动作时工作电流应该是约5A。但试验当中发现,除了整体滚动等少数情况外,大部分运动过程中实际电流都没有超过2.5A。考虑到电机为直流电机且共用一组电源线路,这样的现象应该是由于运动中相当一部分电机没有承受载荷,甚至于被其他电机拖动而向电源总线输出了电流。


联系上文给出的蛇类运动学模型,以蠕动前进为例,当第一个半波形成时(K(N,1)),系统消耗的电能转化为抬起部分蛇体的势能;在第二个相位,也就是K(N,2)时,第一个相位所储存的势能迅速转化为动能,然后依靠惯性和第二个波峰处电机提供的扭矩转变为第二个波峰处的势能。这样计算,每个波峰在蛇体上的一次传递过程中,只有第一个相位的波峰形成需要消耗较多的电能,形成下一个波峰时,大部分的势能都从前一个波峰传递到了下一个波峰,只需补充因摩擦、发热等造成的能量损失。这样的过程可以抽象为电能转化为势能,在一个“隧道”里传递,然后被抛出的过程。


可见,行为主义控制理论不仅可以用于控制信号的传递,在传递信号的同时能量也随之传递——与独立控制每个电机相比,这样的过程大大降低了能耗,提高了运动效率。以8节蛇体为例,从头到尾一个传递过程包含四个波峰,理论上只有一个波峰的形成需要消耗电能。易知能耗可以降低75%左右!
随后的实验结果表明:由于摩擦、抖动及其他尚未查明的原因,实际能耗的降低达不到理论值(实测值降低功耗40%——55%),但也能提高能量利用率,改善蛇形机器人运动效率较低的问题。

4) 模块化、可重构结构
SolidSnake在结构上一个最大的特点是其模块化/可重构特性。其关节机构简图如下图所示:


关节机构简图


这样的结构允许随时增加或者减少一定数量的关节。蛇体通过RS-485网络连接,我们设计的通讯协议会采用定时轮询的方式自动更新当前系统中总的关节数量,并据此改变运动算法。


同时,由于该结构是X-Y轴对称的,因此SolidSnake可以随时在X-Y正交串联结构(三维结构)和X/Y单方向串联结构(二维结构)之间转换,以适应不同的环境。三维结构更适用于复杂地形,上楼梯,越障等任务,二维结构可以在平坦地形达到更高的运动效率。按照三维结构装配的SolidSnake 装配图如下图所示。


三维结构装配图

6.结论
通过理论分析和实际场景试验,根据对生物蛇结构的分析及抽象,通过对蛇类生物运动模型的试验以及论证,本文提出了基于行为主义控制理论的一个运动模式发生器,并设计了中枢控制器,建立了“分布式底层运动控制——高层中枢决策”的控制逻辑,提出了蛇类仿生运动的一种高效率实现方法。不借助人工神经网络,这个蛇类生物运动学模型可以实现一定程度的自适应性和极为多样的动作序列(例如上楼梯的复杂运动过程)。将其应用于我们的模块化可重构蛇形机器人中,制造出了试验样机,通过实验验证了该模型的可行性和合理性。


目前蛇形机器人SolidSnake可以自主实现较高效率的蠕动前进(后退)、游动前进(后退)、侧移、抬头、自主避障等动作,可以上任意级普通楼梯,在一定程度上实现了蛇类运动的仿真,与国内外同类研究相对比,首先提出并实现了蛇形机器人上楼梯的方案,更接近于实用化。在结构上,我们独创的模块化可重构关节可在二维运动和三维运动间方便转换,蛇形机器人SolidSnake可随时增加或减少一定数量的关节,其控制系统可自适应关节数量的变化,调整动作。


7.未来的工作
本文提出的“分布式底层运动控制——高层中枢决策”的控制逻辑还不够完善,目前的实验基本集中在已知地表上的运动,实际控制逻辑也只对平坦地表和无拐点地表做了优化,在类似瓦砾地形、高度非结构化地形的适应性还比较差,进一步的研究主要集中于完善控制逻辑,提高对各种未知地形的适应能力,即提高通过能力和通过效率;


在实验的基础上,希望得到一个具有高度鲁棒性、普适的控制模型及其控制系统,为对蛇形机器人运动学的进一步研究打下基础。


为了验证我们的控制逻辑,需要做进一步的实验,在复杂地形上完成大量实验,积累实验数据和经验。例如在水中的游动实验、过管道实验等。


以上的工作完成后,我们将重点研究蛇形机器人的运动效率,在一个已经比较完善的平台上通过大量分析和实验来研究影响蛇形机器人运动效率的因素,得出具有理论支持的若干结论,依托这些成果,最终使蛇形机器人样机达到接近甚至超过同等大小蛇的运动速度,同时继承原有的高度适应能力和可靠性,早日实现蛇形机器人的实际应用。


8.参考文献
1. Serpentine Robots for Planetary Science.Serpentine Robotics at NASA AME Research Center
2. A robot that walks;Emergent Behaviors from a carefully evolved network. Rodney A. Brooks,MIT AI Memo 1091,Feb 1989
3. A behavior-based arm contoller.Jonathan H Connell, MIT AI Memo 1025,June 1988
4. How Snakes Walk,http://chabin.laurent.free.fr/snake.htm
5. Ibraki University.Analysis of Snake-Movement And Development of Snake-Like Robot.GMD’s Collection of Snake-Like Robots
6. Shigeo Hirose,The Biomechanisms of Snakes.http://mozu.mes.titech.ac.jp/research/snake
7. JPL lab,Light-weight and highly dexterious serpentine robot developed at JPL.
8. 钦俊德.动物的运动.北京:清华大学出版社,广州:暨南大学出版社,2000(5),第一版
9. 崔显世,颜国正,陈寅.一个微小型仿蛇机器人样机的研究.机器人,[J]1999,21(2) ,156-160
10. 刘华,颜国正,丁国清.仿蛇变体机器人运动机理研究.机器人,[J]2002,24(2),154-158
11. GMD, Robot-Snake with Flexible Real-Time Control. http://ais.gmd.de/BAR/index.htm
12. Snake-like Flexible Micro-robot,PROJET COPERNICUS CP94-1306
http://hp.agip.sciences.univ-metz.fr/~mihalach/welcome.html

附录:场景介绍
下面描述蛇形机器人在某个设定的环境中进行排除爆炸物任务的情景
某组织宣称,某建筑物二层藏有爆炸物,如不满足其条件则引爆爆炸物。限定时间为12小时。且如果有人企图拆除爆炸物则立即引爆。

此时人工拆除爆炸物十分危险,按我们要求研制的蛇形机器人则可以完成此任务。首先,某建筑物为中心半径100米内为危险区域,人员不能靠近。释放三条蛇形机器人,通过ARM嵌入式手持设备,无线遥控的方式控制,蛇形机器人头部装有微型摄像机,可以实时将前方情况传回,显示在手持终端上,并可以。按每秒0.4米的游动速度,长0.8——1米,直径0.04米的蛇形机器人通过旁边的草坪和花坛隐蔽游入该建筑(唯一被发现的可能是其运动噪声,但是可以通过制造现场噪声——如高音喇叭不断喊话,警笛不断鸣响——来掩盖)。到此共耗时10分钟。
蛇形机器人不能通过大门进入该建筑,因为恐怖分子可能会混入人群监视。进入方法有两种:一是大部分建筑物都有侧门,有些还有供猫等宠物出入的小口,蛇形机器人可以利用这些地方进入某建筑物大厅;二是通过人员将其放入窗户。蛇形机器人到达室内后立即紧贴墙壁行进,在遥控人员指挥下到达该建筑一层楼梯口处。到此共耗时10分钟。
` 遥控人员根据摄像内容判断楼梯级数,高度等参数,并向蛇形机器人发出上楼梯指令。此时自主运动方式启动,通过输入的楼梯参数开始爬楼梯。这个过程比较困难,设想耗时20分钟,且只有两条蛇到达第二层,到此共耗时40分钟。
到达第二层后立即进入各个房间搜索。两个情景假设:

一) 假设爆炸物藏在一个堆满杂物的废弃房间角落;
二) 假设爆炸物藏在一个房间文件柜中;
按照0.2-0.3m/s的运动速度(记入各种损耗),蛇形机器人SolidSnake仔细地检查完一个房间大约需要30分钟。该建筑二层大约有20个房间,假设检查到最后一个房间才发现爆炸物,加上移动时间,两条蛇形机器人共耗时6小时以内。
对第一种情况,蛇形机器人进入此房间后可能遇到堆放的大量桌子、椅子、文件柜等家具,以及扫帚、书籍等杂物。蛇形机器人通过桌子底下的约8cm高的空间游进房间,控制人员又发现前面是躺在地上的笤帚书籍等,不可能游过去;这时转入越障状态,蛇形机器人抬起头部搭在障碍物上,并不断蠕动,从而越过障碍物,到达房间角落,监控人员发现爆炸物,蛇形机器人在人控状态下打开头部的强酸喷射口(假设),销毁爆炸物,任务结束。
对第二种情况,蛇形机器人进入此房间后遇到较整齐的家具。按部就班依次搜索,依靠头部安装的炸药探测器(类似机场检验塑胶炸药的手持式仪器)对每件家具进行探索,则可发现爆炸物,任务结束。
到目前(2003年六月)为止,蛇形机器人SolidSnake已经基本完成第一个情景架设的功能演示,即可在较短时间内通过灌木丛和侧门,进入建筑物,在人辅助操控的情况下通过楼梯到达二层,进入某房间并对制定物品进行定位。预计后续试验将在年内完成。

为了让大家了解整个机器人行业的情况,从今天开始,我们将陆续推出各类型的机器人专辑,希望大家继续关注,更希望大家能提供相关的资料。

这是机器人全搜索专辑中的第一集,由于吸尘机器人是目前最成功的非工业机器人,所以在这一集中,首先登场的就是吸尘机器人,

  1. iROBOT的Roomba


    尽管大家并不看好它的技术,不过这个来自iROBOT的Roomba成为历史上销量最大的机器人——在2004秋季成功销售了100万台。

    在新一代产品产品中,将加入自动充电、自动躲避楼梯等功能。

    这个版本(Roomba SE)配备了一个效率很高的基站,充电时间远远少于其他机器人。

  2. 伊莱克斯(Electrolux)的 Trilobite


    来自传统的家电大公司,伊莱克斯(Electrolux)的 Trilobite ,目前已经是2.0版本。

    超声波传感器避障,自动充电,自动地图生成,设计也不错。


    Trilobite正在基站中充电

  3. Karcher RC3000 RoboCleaner

    这是来自德国的产品,样子很Cool。导航系统不错,也有自动充电功能。还有一个不错的设计——机器人周边有一圈橡胶,防止机器人碰撞过猛。


    机器人底部结构及吸尘原理

    机器人基站

  4. Friendly Robotics的Friendly Vac

    比其他的机器人要高,并且没有自动充电,刚刚访问他们的主页,好像没有这个机器人的介绍,只有剪草机器人(Robomow)了。

  5. 日立的Robovac

    这里有更多的资料。

  6. LG 的V-R4000

    请看“LG推出吸尘机器人——V-R4000

  7. Zucchetti的Orazio

    这是一个多功能机器人,他具备了清洗地板的功能,而洗尘只是他的第二个本领。

  8. Samsung VC-RP30W

    具备了3维地图功能,自动充电,内置摄像头,离子过滤器。

    通过互联网络来监控

  9. Floorbotics Ivac

  10. One robo-vac from Hanool (Korea)

  11. Another Hanool robo-vac (Ottoro)

  12. Microbot Largo robo-cleaner

  13. Yujin iClebo robo-vac (Korea)

  14. iRobot的Scooba Robotic Floor Washer

    最后一个登场的并不是吸尘机器人,他是地板清洁机器人,来自iRobot。

与大部分机器人专家不一样,BEAM的创作者认为,真实的世界应该是模拟的,而不是数字的。BEAM机器人非常简单,正如很多人说的“做一个BEAM比理解它的原理还要简单”

BEAM是Biology Electronics Aesthetics Mechanics 的缩写

Photo Gallery – Walkers


The Incredible Walking Machine
Creator: Jeff Steele
Description: This robot is a solar bicore walker that does not use a "solar engine". The circuit and motors are powered directly from the 30 or so milliamps (in full sun) provided by a 37mm x 66mm solar panel. On July 8, 2001 he took his first real world walks showing the ability to walk over rough terrain including through gravel, sand, dirt and some grass. WOW! With his feelers now installed and his new wide traction rear legs, I am very pleased with his overall performance.


Shrimpy
Creator: Brian
Description: Having completed quite a few robots ranging from simple photovores, to four-motor walkers, I decided I needed a more ambitious project. Few people had built five-motor walkers, and Chiu had published his priliminary five-motor work, so I decided to experiment with one myself.


Walker
Creator: Brian
Description: After building a few photovores I decided to do something a little different. I already had a breadboarded Microcore circuit flashing in my window sill so I figured that I could build a whole walker. I started by designing and building a freeformed Microcore. This was quite simple and only took about 45 min. I then added two stacked ‘245s to drive my servos. This didn’t work and so I left the project for a while. I then received my BG Micro catalog and and finally found out what everyone meant with the "lens motors". For a pair at $8 I decided to get two packages. When they arrived I decided to build the mechanics of my 2 motor walker. I replaced the servos with these new motors because they were so much smaller and more efficient. I connected the motors together with a paper clip and solder. Next, I made legs out of a coat hanger and made connectors (to mount the legs to the motors) based on Chiu’s out of screws and some brass rectangular material I had.
Original picture (before modification) from BEAM Online. I then rebuilt the ‘245s thinking they were the problem with the circuitry to discover that it was the Microcore that was no longer working. I then decided to try Bicore. I made a master-slave pair and had it working within 20 min.s of starting. I wired the Bicores so that I didn’t need a driver, thus avoiding a problem I always run into.


Shock Walker
Creator: Mark W. Tilden


The Bug 1.3
Creator: Ian Bernstein
Description: The cool thing about The Bug is that is bounces more than it actually walks. I had to spread the legs out really far because he was bouncing over on his but. I’m going to add a tactile sensor later on. I only get this cool bouncing behavior for about ten minutes before the batteries start to run down, requiring frequent battery chargings.


UniBug 2.0
Creator: Mark W. Tilden


Zeus
Creator: Kyle Simmons
Description: Zeus was Kyle’s first walker, built early in 2000. It is the Almost Complete Walker with H-brigdes as found at Beam-Online. The body was the back of a motion detector. Servos from Solarbotics.


FSTW
Creator: César Blum Silveira (Webmaster)
Description: FSTW is the abbreviation for First Walker. It was my first working walker. It is controlled by master-slave bicores and uses 2 Hobbico hobby servos. I used LMPD1s from Solarbotics to hold the legs.

这遍文章虽然在网上发表多时,但是我们仍然推荐。文章比较详细介绍机器人相关的软硬件技术,对你了解机器人的全貌很有帮助。


Darrick Addison 是一个在数据库、网络、用户界面和嵌入式系统方面具有丰富经验的开发人员,他介绍了机器人技术领域和与机器人系统有关的问题。他谈到了机械设计、传感系统、电子控制和软件。他还讨论了微控制器系统,包括串行接口连接和存储映象接口连接,并谈到了某些可供选择的开放源代码软件。

“机器人”一词起源于捷克语,意为强迫劳动力或奴隶。这个词是由剧作家 Karel Capek 引入的,他虚构创作的机器人很象 Frankenstein 博士的怪物 - 由化学和生物学方法而不是机械方法创造的生物。但现在流行文化中的机械机器人和这些虚构的生物创作物没多大区别。基本上,一个机器人包括:

  • 机械设备,如可以与周围环境进行交互的车轮平台、手臂或其它构造。
  • 设备上或周围的传感器,可以感知周围环境并向设备提供有用的反馈。
  • 根据设备当前的情况处理传感输入,并按照情况指示系统执行相应动作的系统。
定义的机器人
“可重复编程的多功能操纵器,设计成通过不同的编程动作为执行多种任务移动原料、部件、工具或专门的设备。”
- 美国机器人协会,1979 年

在制造业领域,机器人的开发集中在执行制造过程的工程机器人手臂上。在航天工业中,机器人技术集中在高度专业的一种行星漫步者上。不同于一台高度自动化的制造业设备,行星漫步者在月亮黑暗的那一面工作 - 没有无线电通讯 - 可能碰到意外的情况。至少,一个行星漫步者必须具备某种传感输入源、某种解释该输入的方法和修改它的行动以响应改变着的世界的方法。此外,对感知和适应一个部分未知的环境的需求需要智能(换句话说就是人工智能)。

从军事科技和空间探索到健康产业和商业,使用机器人的优势已经被认识到了这种程度 - 它们正在成为我们集体经验和日常生活的一部分。

它们能把我们从危险和枯燥中解脱出来:

  • 安全:机器人技术已经被开发用于处理核能和放射性化学制品的很多不同用途,包括核武器、电厂、环境清洁和某些药品的处理。
  • 不愉快的事:机器人执行很多乏味、不愉快但必需的任务,如焊接和看门工作。
  • 重复和精度:装配线工作已经成为机器人技术工业的一个中流砥柱。机器人被广泛地用于制造业,而且,在强调最小维护需求的空间探索中,使用机器人更具有吸引力。

机械平台 - 硬件基础
一个机器人包括两个主要部分:机器人的身体和某种形式的人工智能(artificial intelligence,AI)系统。很多不同的身体部分都可以叫做机器人。关节手臂被用于焊接和上漆;起重机和传送带系统在工厂中运送零件;巨型机器人机器搬运矿井深处的泥土。一般说来,机器人最有趣的一个方面是它们的行为,这需要一种形式的智能。机器人最简单的行为是移动。典型地,轮子被作为让机器人从一点移动到下一点的基本机械装置。还需要某种力(如电力)让轮子在命令时转动。

电动机
很多种电动机向机器人提供能源,让它们用不同的编程动作搬运材料、零件、工具或专用设备。电动机的效率等级表明多少消耗的电量转化成机械能。让我们看看现代机器人技术中目前被使用的一些机械设备。

直流电机: 永久磁铁,直流(Permanent-magnet,direct-current,PMDC)电机只需要两根导线,使用固定磁铁、电磁铁(定子和转子)和开关。这些组成一个换向器来通过旋转的磁场产生运动。

交流电机 交流电机在输入导线循环能源,连续地运动磁场。直流电机和交流电机在收到一个信号时会全速运转。

步进电机 步进电机就像没有电刷的直流或交流电机。它通过按顺序(步进地)向电动机中不同的磁铁提供能源使其运转。步进电机设计的目的是更好的控制,它不会只在命令时旋转,还能够以任意的“步/每秒”(最高到它的最大速度)的速度旋转。

伺服电动机 伺服电动机是闭合线圈设备。在收到信号时,它可以自我调整直到与该信号匹配。伺服电动机用于无线电控制的飞机和汽车。它是有传动装置和反馈控制系统的简单的直流电动机。

驱动机制
齿轮和链条: 齿轮和链条是机械平台,它提供了一种向另一个地方传送转动动作的强大而精确的途径(可能在传送的时候改变了动作)。两个齿轮之间速度的改变取决于每个齿轮上齿的数目。当加电的齿轮旋转一周时,它根据齿轮上的齿数来拉动链条。

滑轮和皮带: 滑轮和皮带是机器人所使用的两种另外的机械平台,工作的方式与齿轮和链条一样。滑轮是轮缘有凹槽的轮子,皮带是可以放进这个凹槽的橡皮圈。

变速箱: 变速箱运转的原理与齿轮和链条一样,不过没有链条。变速箱需要更精密的公差配合,因为不是使用一条又大又松的链条来传送力量,也不用调整错位,齿轮之间直接和对方啮合。变速箱的示例可以在汽车的传动装置、落地大座钟的定时机制和打印机的送纸装置中找到。

电源
电源一般通过两种电池提供。一次电池使用过一次就被丢弃;二次电池以一种(通常是)可逆的化学反应工作,可以多次充电。一次电池有较高的容量和较低的自放电率。二次(可充电)电池比一次电池电量小,但可以重复充电,按化学反应和环境的不同可以多达一千次。一般可充电电池第一次使用可以为电器或机器人提供 4 小时连续工作的能源。

理论上机器人可以使用几百种不同类型和形式的电池。电池按化学反应和规格分类,按电压和电量分级。电池的电压由电池的化学反应决定,容量由化学反应和规格两者共同决定。请参阅表 1 了解电池规格。

表1:电源

Table 1. Power supplies
规格 NEDA IEC 描述
AAA 24A LR03 普通规格中最小的
AA 15A LR6 最普遍使用的小电池,一般用 2 节或 4 节
C 14A LR14 手电筒小电池,可用于大玩具
D 13A LR20 最大的普通电池
9v 1604A 6L-R61 方形,上有可用夹子夹住的的连接器

机器人平台靠两组独立的电池运行,它们共享一根地线。这样,电动机可以用一组电池,而电子设备可以用另一组电池。电子设备和电动机还可以在不同的电压下工作。

电子控制
机器人中有两个主要的硬件平台。非调节电压、电力和反电动势峰的机械平台以及干净电源和 5 伏信号的电子平台。这两个平台需要顺序桥接,目的是让数字逻辑控制机械系统。经典的组件是桥式继电器。一个控制信号在继电器的线圈产生磁场,物理地闭合开关。例如 MOSFET,它是高效率的硅开关,有很多种规格,象晶体管一样可以作为固态继电器控制机械系统。

另一方面,更大的机器人可能需要 PMDC 电动机,这样 MOSFET 的“接通”电阻 Rd(on)会导致芯片热量的极大散发,从而显著地降低芯片的发热温度。MOSFET 中结点的温度、MOSFET 封装和散热片的传导系数是 PMDC 电动机的其它重要的特征。

晶体管广义地分为两种:双极结晶体管(bipolar junction transistors,BJT)和场效应晶体管(field-effect transistors,FET)。在 BJT 器件中,基极小的电流调节发射极和接收极之间大得多的电流。在 FET 器件中,栅极电场的存在会调节源极和漏极之间的电流。

传感器
机器人根据瞬间测量作出反应,这需要不同种类的传感器。

多数系统中对时间的感知是通过电路和编程中内建的。要想在实际中让这个具有生产性,机器人必须有感知硬件和软件,还要能快速地更新。不管传感器硬件或软件如何,感知和传感器可以被当作与外部事件交互(换句话说就是外部世界)。传感器测量世界的某个属性。变换器(transducer)一词经常与传感器一词交替使用。交换器是传感器的机制或元素,它将测量到的能源转换成另一种形式的能源。传感器接收能源并传送一个信号到显示器或计算机。传感器使用变换器将输入的信号(声音、光线、压力、温度等)改变成机器人可以使用的模拟或数字形式。

逻辑传感器: 传感器的一个强大的抽象是逻辑传感器,它是提供一个对象的传感单元或模块。它包括物理传感器的信号处理和提取感知所需的软件处理。

本体感受传感器: 本体感受是航位推测法,机器人可以测量来自本身的信号。

接近传感器: 接近传感器测量环境中传感器和对象之间相对的距离。

红外线(IR)传感器: 另一种活动的接近传感器是红外线传感器。它发出接近红外线的能量并测量有没有相当多的红外线返回。

碰撞和触角传感器: 另一类常见的机器人感知是触觉的,或基于触摸的,用碰撞和触角来完成。触角和触须由牢固的电线构成。碰撞传感器通常是机器人上一个突出的环,包括两层。

微控制器系统
微控制器(Microcontrollers,MCU)是机器人内部使用的智能电子设备。它提供的功能类似于个人电脑内部的微处理器(中央处理单元或 CPU)所执行的功能。MCU 速度较慢,使用的内存比 CPU 少,设计目的是现实世界的控制问题。CPU 和 MCU 之间的一个主要区别是运行所需的外部组件的数目。MCU 经常可以不需要外部部件就能运行,一般只需要一个外部晶体或振荡器。

微控制器有四个基本方面:速度、容量、存储器和其它。速度以时钟周期指定,通常以每秒百万个周期(兆赫兹(Megahertz,MHz)计量。周期的使用根据不同的MCU 而不同,这影响到处理器的可用速度。容量指定 MCU 可以一步处理的信息的字节数 - 它自然的信息簇。MCU 有 4 位、8 位、16 位和 32 位的,8 位的 MCU 是最常见的容量。MCU 在大多数 ROM 中的计数单位是千字节(KB),在 RAM 中是字节。很多 MCU 使用 Harvard 体系,程序保存在内存的一段中(通常是内部的或外部的SRAM)。然后这就能够让处理器更有效地访问独立的内存。

微控制器的第四个方面就作为“其它”来讲了,它包括诸如专用的输入设备的特性,该设备经常(但不总是)有一个小的 LED 或 LCD 显示作为输出。微控制器还从设备获取输入并通过向设备中不同组件发送信号对其控制。程序计数器也通过微控制器掌握要执行哪条命令。

R/C 伺服电动机: 用于无线电控制模型(汽车、飞机等)的伺服电动机在很多种较小的机器人中很有用,因为它紧凑而且相当便宜。伺服电动机本身有内建的电动机、变速箱、位置反馈机制和控制电路。标准的无线电控制伺服电动机在航模、车模、船模中使用,可用来制作手臂、腿和其它来回移动而不是转圈的机械附属肢体。

仿人类系统(Animatronic systems)
仿人类系统是模仿人类并且看起来也象人类的机器人系统。android 就是人形机器人 - 换句话说,是看起来象人类的机器人。

气体力学: 气体力学是在大量商业机器人中使用的流体动力的名称。气体力学还用于多种仿生系统,这些系统属于流体动力的范畴。流体动力的一个更广为人知的分支是水力学。请访问气体力学Web 站点(请参阅本文后面部分的参考资料)以了解补充信息。

开放源代码机器人控制软件
开放机器人控制软件(Open RObot COntrol Software,OROCOS)是为了开始开放源代码机器人控制软件项目所作的努力。我们开展了广泛的讨论,涉及的问题有可以重用其它项目的哪些经验代码和工具,应该在项目中集成哪些开放标准,还有什么样的组织结构最适合这个项目。该项目的目的是按以下要求开发机器人控制软件,如下所示:

  • 在开放源代码和/或自由软件的许可下
  • 尽量模块化
  • 质量最好(从技术和软件工程两种角度)
  • 独立于(但兼容)商业机器人生产厂商
  • 用于各类机器人设备和计算机平台
  • 为所有编程语言本地化
  • 以运动学、动力学、计划、传感、控制和硬件接口等方面的可配置的软件组件为特点。

项目的目的不只是要复制现存的商业机器人控制器或机器人模拟/编程软件包。OROCOS 项目希望开发可共享的库、独立组件(有时候被称为软件代理程序)和一个可以消除和控制所有分布式机器人系统的可配置的运行时环境。这类项目在以下几种情况有用处:

  • 重用代码
  • 作为一个独立的子系统使用
  • 复制其组织结构
  • 从管理一个开放源代码项目的经验中学习
  • 设计和开发可扩展和可重用的软件

开放源代码矩阵库
下面是满足上面提到的要求的开放源代码矩阵库。我们推荐Octave,因为它是 GPL 许可的,而且实现了所有需要的功能。

GNU Octave: GNU Octave是一种高级语言,主要用于数字运算。它提供了一种方便的命令行界面,可以数字化地解决线性和非线性问题,也可以使用一种与 Matlab基本上兼容的语言执行其它数字实验。通过 Octave 自己的语言编写的用户定义函数或使用 C++、C、Fortran 或其它语言编写的动态载入的模块,它很容易扩展和定制。

GNU Octave 是免费分发的软件。您可以重新分发它,或是修改它,但要符合自由软件基金(Free Software Foundation)颁布的GNU 通用公共许可(General Public License,GPL)条款。关于 GNU Octave 更详细的信息可以在访问 Octave Web 站点时找到(请参阅参考资料)。

GSL(GNU 科学库) GSL 是为数字运算开发一个现代的广泛 ANSI C 语言库正在进行的努力。GNU 科学库(GNU ScientificLibrary,GSL)收集了数字运算的例程。这些例程由 GSL 小组用 ANSI C 语言从头编写,旨在为 C 语言程序员提供一种现代应用程序编程接口(Applications Programming Interface,API),同时允许包装器为很高级的语言编写。

GSL 是自由软件。它遵照 GNU 通用公共许可分发。请访问 Red Hat Web 站点(请参阅参考资料)以了解更多关于 GSL 的信息。

实时内核
实时 Linux(Real-Time Linux,RTLinux) RTLinux(TM)是一个可靠的实时操作系统,处理对时间关键的任务,并将Linux 作为最低优先权执行线程运行。在 RTLinux 中,内核与标准 Linux 共享一个或更多的处理器。这使系统能够运行执行数据采集的、系统控制和机器人技术的精确计时的应用程序,同时作为标准的Linux 工作站提供服务。在 ftp.rtlinux.com(请参阅参考资料)Web 站点上可以获得版本 3.0(最终版本)。

RTLinux.org 是开放源代码用户和开发人员社区的非商业 RTLinux 站点。其姐妹站点 RTLinux.com(请参阅参考资料)讨论商业支持和开发。

eCos(嵌入式可配置操作系统): eCos 是一个深度嵌入应用程序的开放源代码实时操作系统。它符合 Linux不能达到的嵌入空间需求。在考虑应用程序和服务需求之前,Linux 目前内核最小约 500 千字节,占用 1.5 MB 内存。eCos 开放源代码项目可以在它的 Web 站点上找到(请参阅参考资料)。

RTEMS(GPL 许可): RTEMS 是 C、C++ 和 Ada95 的开放源代码实时操作系统和环境。它遵从 GNU 通用公共许可的条款分发。

请访问 RTEMS 站点(请参阅参考资料)以下载和获取更多关于 RTEMS 的详细信息。

实用程序和工具
ROBOOP(一个机器人技术面向对象 C++ 软件包): 本软件包是一个关于机器人模拟的面向对象 C++ 软件包。技术参考和下载在参考资料中提供。

CORBA: 用于嵌入分布式软件代理的实时通信和对象请求中介程序软件包。每个独立的软件部分通过 IDL(Interface Definition Language,接口定义语言)的方式向 ORB 注册它本身及其功能。请访问其 Web 站点(请参阅参考资料)以获得COBRA 技术信息、下载和文档。

TANGO/TACO: 这个软件对控制多设备和多工具的机器人系统也许有用。TANGO 是一个基于COBRA 的面向对象控制系统。设备服务程序可以用 C++ 或 Java 编写。TACO 是面向对象的,因为它将所有(物理的和逻辑的)控制系统中的控制点作为分布式环境中的对象来对待。所有行动都以类来实现。新的类可以以一种分级的方式从现存的类构建,这样可以确保高度的软件重用。类可以用C++、用 C(使用一种称为 C 中的对象的方法)、用 Python 或用 LabView(使用 G 编程语言)编写。

TACO 设计成可移植的,并能够在许多平台(例如 Linux、Solaris、HP-UX、Windows/NT、Windows/95 和 OS9)上运行。要下载源代码和其它技术文档,请访问其 Web 站点(请参阅参考资料)。

控制器
任务控制体系: 任务控制体系(Task Control Architecture,TCA)为移动机器人简化了任务级控制系统的建立。“任务级别”指的是完成给定的一套目标(任务)的感知、计划和实时控制的集成和协调。TCA提供了一个通用的控制框架,旨在控制多种机器人。TCA 提供了一种高级的独立于机器的方法,可以在分布式机器之间发送消息(包括在 Lisp和 C 进程之间)。TCA 提供了控制功能,如任务分解、监控和资源管理,这些对很多移动机器人应用程序来说是很常见的。参考资料一节提供了任务控制体系的技术参考和下载信息。

EMC(增强的机器控制器): EMC 软件建立在 NIST 实时控制系统(Real time Control System,RCS)方法的基础之上,使用 NIST RCS 库编程。RCS 库使向多种 UNIX 和微软的平台移植变得容易,它向操作系统资源提供了一种中性的应用程序编程接口(application programming interface,API),如共享的内存、信号量和计时器。EMC 软件用 C 和 C++ 编写,而且已经被移植到 PC Linux、Windows NT 和 Sun 的 Solaris 操作系统上。

Darwin2K: Darwin2K是一个免费的机器人模拟和自动化设计开放源代码工具包。它的特性是众多的模拟功能和一个改良的运算法则,该法则能够自动地综合和优化机器人设计,使其符合任务特定的性能目标。

语言
RoboML(机器人标记语言): RoboML用于与机器人技术相关的数据的标准化表达。其设计的意图是既支持机器人为主的进程之间和接口进程之间的通信语言,也支持人 -机器人接口代理之间的通信语言,并提供了一种人 - 机器人接口代理使用的归档数据的格式。

ROSSUM: 一种移动机器人的编程和模拟环境。Rossum 项目试图帮助收集、开发和分发机器人应用程序软件。Rossum 项目希望将类似的协作扩展到机器人软件的开发。

XRCL(可扩展机器人控制语言,Extensible Robot Control Language): XRCL(发音为 zircle)是个相对简单、现代的编程语言和环境,设计成让机器人技术研究人员可以通过共享代码来共享他们的想法。它是一个开放源代码项目,受GNU Copyleft 的保护。

自动化系统内部控制的开放系统体系(Open System Architecture for Controls within Automation Systems,OSACA): OSACA 是一个合作的欧洲项目,旨在增进机器工具和控制系统生产厂商在世界市场中的竞争性。项目的主要目标是规定独立于生产厂商的开放控制系统的系统体系。

总结
机器人技术领域已经创造了很多种具有基本的物理和导航功能的机器人。同时,社会发展的趋势也开始成为将机器人结合到从娱乐到卫生保健的日常生活中。而且,机器人可以将很多人从危险的情况中解脱出来,本质上就是让机器人作为人类的替代品来使用。AI机器人技术研究人员所研究的很多应用程序已经开始实现这种可能了。另外,机器人还可以用于更普通的工作,如看门工作。然而机器人最初是开发用于肮脏、枯燥和危险的应用程序,现在它们已经被看作是人类的助手了。不管是什么应用程序,随着未来科技发展到一个新的境界,机器人将会需要更多而不是更少的智慧,从而会对我们的社会形成巨大的影响。

参考资料

  • Edwin Wise(Howard W. Sams,2000)的应用机器人技术提供了一个对机器人技术领域的面向项目的介绍。它指导新手迎接建造一个工作的机器人的挑战,并向高级建造者提供新的想法和技术。
  • CORBA 是一个实时通讯和嵌入式软件代理的对象请求中间人软件包。
  • Darwin2K 是一个免费的机器人模拟和自动化设计开放源代码工具包。
  • eCos 是嵌入式可配置操作系统,一个深度嵌入应用程序的开放源代码实时操作系统。
  • EMC(增强的机器控制器)软件建立在NIST 实时控制系统(Real time Control System,RCS)方法的基础之上,使用 NIST RCS 库编程。
  • GNU Octave 是一种高级语言,主要用于数字运算。
  • GSL(GNU 科学库)是开发一种现代、广泛的 ANSI C 语言库以用于数字运算所作的不间断的努力。
  • Robin R. Murphy(Massachusetts Institute of Technology-MIT,2000)的介绍人工智能机器人技术旨在包含所有为人工智能机器人编程的主题,机器人的应用包括传感、导航、路径计划和对非确定事物的导航。
  • Orocos(开放机器人控制介绍)是开始开放源代码机器人控制软件项目的一个努力。该项目的第一阶段(到 2001 年 9 月为止)开发了一个战略性的景象,作出了高级设计决策并制定了库规范的原型。从那时起,Orocos 将受到欧盟的一个授权的部分支持。
  • OSACA 是自动化系统内部控制的开放系统体系。
  • 气体力学是在很多商业机器人中使用的流体动力的名称。
  • roboML(机器人标记语言,RoboticMarkup Language)用于与机器人技术有关的数据的标准化表达。
  • ROBOOP 是一个机器人技术面向对象的 C++ 软件包。
  • Rossum 项目试图帮助收集、开发和分发机器人应用程序软件。
  • RTEMS 是 C、C++ 和 Ada95 的开放源代码实时操作系统和环境。
  • RTLinux 是一个硬实时操作系统,处理对时间关键的任务,并将Linux 作为最低优先权执行线程运行。还可以获得商业支持和开发
  • TACO所有(物理的和逻辑的)控制系统中的控制点作为分布式环境中的对象对待。
  • TCA(任务控制体系)为移动机器人简化了任务级控制系统的建立。
  • XRCL(发音为 zircle)是可扩展的机器人控制语言。

关于作者
Darrick Addison 是 ASC Technologies Inc. 的高级软件工程师/顾问。他从 1993 年就开始设计和开发自定义软件应用程序了。他致力设计和开发的软件各种各样,有数据库应用程序、网络应用程序(TCP/IP 客户机/服务器)、GUI 应用程序,还有不同商业和政府环境的嵌入式系统。现在他持有计算机科学学士学位,并正在 Johns Hopkins University 完成他的计算机科学/通信硕士学位。您可以通过
dtadd95@bellatlantic.net联系 Darrick。他会欢迎您的意见和问题。

工业机器人由操作机(机械本体)、控制器、伺服驱动系统和检测传感装置构成,是一种仿人操作、自动控制、可重复编程、能在三维空间完成各种作业的机电一体化自动化生产设备。


一、技术概述

工业机器人由操作机(机械本体)、控制器、伺服驱动系统和检测传感装置构成,是一种仿人操作、自动控制、可重复编程、能在三维空间完成各种作业的机电一体化自动化生产设备。特别适合于多品种、变批量的柔性生产。它对稳定、提高产品质量,提高生产效率,改善劳动条件和产品的快速更新换代起着十分重要的作用。
机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术,是当代研究十分活跃,应用日益广泛的领域。机器人应用情况,是一个国家工业自动化水平的重要标志。
机器人并不是在简单意义上代替人工的劳动,而是综合了人的特长和机器特长的一种拟人的电子机械装置,既有人对环境状态的快速反应和分析判断能力,又有机器可长时间持续工作、精确度高、抗恶劣环境的能力,从某种意义上说它也是机器的进化过程产物,它是工业以及非产业界的重要生产和服务性设备,也是先进制造技术领域不可缺少的自动化设备。

二、现状及国内外发展趋势

国外机器人领域发展近几年有如下几个趋势:
1.工业机器人性能不断提高(高速度、高精度、高可靠性、便于操作和维修),而单机价格不断下降,平均单机价格从91年的10.3万美元降至97年的6.5万美元。
2.机械结构向模块化、可重构化发展。例如关节模块中的伺服电机、减速机、检测系统三位一体化;由关节模块、连杆模块用重组方式构造机器人整机;国外已有模块化装配机器人产品问市。
3.工业机器人控制系统向基于PC机的开放型控制器方向发展,便于标准化、网络化;器件集成度提高,控制柜日见小巧,且采用模块化结构;大大提高了系统的可靠性、易操作性和可维修性。
4.机器人中的传感器作用日益重要,除采用传统的位置、速度、加速度等传感器外,装配、焊接机器人还应用了视觉、力觉等传感器,而遥控机器人则采用视觉、声觉、力觉、触觉等多传感器的融合技术来进行环境建模及决策控制;多传感器融合配置技术在产品化系统中已有成熟应用。
5.虚拟现实技术在机器人中的作用已从仿真、预演发展到用于过程控制,如使遥控机器人操作者产生置身于远端作业环境中的感觉来操纵机器人。
6.当代遥控机器人系统的发展特点不是追求全自治系统,而是致力于操作者与机器人的人机交互控制,即遥控加局部自主系统构成完整的监控遥控操作系统,使智能机器人走出实验室进入实用化阶段。美国发射到火星上的“索杰纳”机器人就是这种系统成功应用的最著名实例。
7.机器人化机械开始兴起。从94年美国开发出“虚拟轴机床”以来,这种新型装置已成为国际研究的热点之一,纷纷探索开拓其实际应用的领域。
我国的工业机器人从80年代“七五”科技攻关开始起步,在国家的支持下,通过“七五”、“八五”科技攻关,目前已基本掌握了机器人操作机的设计制造技术、控制系统硬件和软件设计技术、运动学和轨迹规划技术,生产了部分机器人关键元器件,开发出喷漆、弧焊、点焊、装配、搬运等机器人;其中有130多台套喷漆机器人在二十余家企业的近30条自动喷漆生产线(站)上获得规模应用,弧焊机器人已应用在汽车制造厂的焊装线上。但总的来看,我国的工业机器人技术及其工程应用的水平和国外比还有一定的距离,如:可靠性低于国外产品;机器人应用工程起步较晚,应用领域窄,生产线系统技术与国外比有差距;在应用规模上,我国已安装的国产工业机器人约200台,约占全球已安装台数的万分之四。以上原因主要是没有形成机器人产业,当前我国的机器人生产都是应用户的要求,“一客户,一次重新设计”,品种规格多、批量小、零部件通用化程度低、供货周期长、成本也不低,而且质量、可靠性不稳定。因此迫切需要解决产业化前期的关键技术,对产品进行全面规划,搞好系列化、通用化、模化设计,积极推进产业化进程。
我国的智能机器人和特种机器人在“863”计划的支持下,也取得了不少成果。其中最为突出的是水下机器人,6000米水下无缆机器人的成果居世界领先水平,还开发出直接遥控机器人、双臂协调控制机器人、爬壁机器人、管道机器人等机种;在机器人视觉、力觉、触觉、声觉等基础技术的开发应用上开展了不少工作,有了一定的发展基础。但是在多传感器信息融合控制技术、遥控加局部自主系统遥控机器人、智能装配机器人、机器人化机械等的开发应用方面则刚刚起步,与国外先进水平差距较大,需要在原有成绩的基础上,有重点地系统攻关,才能形成系统配套可供实用的技术和产品,以期在“十五”后期立于世界先进行列之中。

三、“十五”目标及主要研究内容

1.目标
根据国内外机器人发展的经验、现状及近几年的动态,结合当前国内经济发展的具体情况,“十五”期间机器人技术应重点开展智能机器人、机器人化机械及其相关技术的开发及应用;开展以机器人为基础的重组装配系统及其相关技术的开发研究及加强多传感器融合及决策、控制一体化技术及应用的研究。重点解决我国已研制应用多年的示教再现型工业机器人的产业化前期关键技术,大力推进其产业化进程,力争在“十五”末期实现喷涂、焊接、装配等机器人的产业化。
2.主要研究内容
(1)示教再现型工业机器人产业化技术研究
①关节式、侧喷式、顶喷式、龙门式喷涂机器人产品标准化、通用化、模块化、系列化设计。
②柔性仿形喷涂机器人开发:柔性仿形复合机构开发,仿形伺服轴轨迹规划研究,控制系统开发,整机安全防爆、防护技术开发,高速喷杯喷涂工艺研究。
③焊接机器人(把弧焊与点焊机器人作为负载不同的一个系列机器人,可兼作弧焊、点焊、搬运、装配、切割作业)产品的标准化、通用化、模块化、系列化设计。
④弧焊机器人用激光视觉焊缝跟踪装置的开发:激光发射器的选用,CCD成象系统,视觉图象处理技术,视觉跟踪与机器人协调控制。
⑤焊接机器人的离线示教编程及工作站系统动态仿真。
⑥电子行业用装配机器人产品标准化、通用化、模块化、系列化设计。
⑦批量生产机器人所需的专用制造、装配、测试设备和工具的研究开发。
(2)智能机器人开发研究
①遥控加局部自主系统构成和控制策略研究
包括建模-遥控机器人模型,人行为模型,人控制动态建模,图形仿真建模,虚拟工具和虚拟传感器建模;以人为主体的人机共享规划与控制;局部自治控制;多传感融合技术;双向力反应控制;知识库的建立,学习与推理方法;人机交互的高级控制技术;虚拟现实(VR)控制与真实世界控制的相互关系;监控系统的结构。
②智能移动机器人的导航和定位技术研究
包括导航和定位系统的系统结构;在结构环境或非结构环境中导航和定位方法研究;感知系统的传感器和信息处理系统的构成;根据传感器数据建立环境模型的方法;模糊逻辑的推理方法用于移动机器人导航的研究。
③面向遥控机器人的虚拟现实系统
包括人机交互图形生成及其程序设计;遥控机器人(载体和机械手)几何动态图形建模;遥控操作环境图形建模;遥控机器人操作与数据的获取;虚拟传感器及基于虚拟传感器的双向力反应、反馈控制;面向任务的虚拟工具;基于虚拟现实的遥控操作的理论与方法;基于VR模型操作和真实世界操作的可切换、相容性和可交换性;VR监控系统。
④人机交互环境建模系统
包括CAD建模中的人机交互技术;求知模型工件的反示过程中的交互技术;机器人与环境的布局及功能验证中的交互技术;传感器数据处理中的交互技术;机器人标定、运动学建模、动力学建模中的交互技术。
⑤基于计算机屏幕的多机器人遥控技术
包括三维立体视觉建模;模型的计算机显示;遥控机器人模型的控制;人机接口;网络通讯。
(3)机器人化机械研究开发
①并联机构机床(VMT)与机器人化加工中心(RMC)开发研究
包括VMT与RMC智能化结构实现技术;VMT与RMC关键传动实现技术;VMT与RMC加工、装配、摆放、涂胶、检测作业技术;VMT与RMC监控检测技术开发;VMT与MRC智能化开式CMC控制系统开发;系统软件和应用软件开发;智能化机构、材料机电一体化技术;作业状态变量智能化传感技术;机电一体化的多功能及灵巧作业终端;通用智能化开式CNC控制硬软件系统;并联机构运动学及动力学理论;RMC智能控制理论;VMT与RMC典型应用工程开发。
②机器人化无人值守和具有自适应能力的多机遥控操作的大型散料输送设备
包括散料输送系统监控和遥控操作的传感器融合和配置技术;采用智能传感器的现场总线技术;机器人运动规划在等量堆取料、自主操作中的应用;基于广域网的远程实时通讯;具有监测和管理功能的故障诊断系统。
(4)以机器人为基础的重组装配系统
①开放式模块化装配机器人
包括通用要素的提取;专用件标准化;装配机器人模块CAD设计;通用主流计算机构造的控制器;人机界面方式;网络功能。
②面向机器人装配的设计技术
包括数字化装配与CAD集成技术;产品机器人化装配规划生成技术;产品可装配性模糊评价。
③机器人柔性装配系统设计技术
其中单元技术:供料系统智能化设计、末端执行器快速执行、物流传输及其控制与通讯;集成技术:柔性装配线仿真软件、管理系统。
④可重构机器人柔性装配系统设计技术
开展基于任务和环境的动态重构机器人柔性装配系统理论研究;系统基于自治体(Agent)的分布式控制技术及系统各单元体间的协作规划。
⑤装配力觉、视觉技术
包括高精度、高集成化六维腕力传感技术;视觉识别与定位技术。
⑥智能装配策略及其控制
包括装配状态实时检测和监控;装配顺序和路径智能规划及控制技术。
(5)多传感器信息融合与配置技术
①机器人的传感器配置和融合技术在水泥生产过程控制和污水处理自动控制系统中的应用
包括面向工艺过程的多传感器融合和配置技术;采用智能传感器的现场总线技术;面向工艺要求的新型传感器研制。
②机电一体化智能传感器
包括具有感知、自主运动、自清污(自调整、自适应)的机电一体化传感器研究;面向工艺要求的运动机构设计、实现检测和清污的自主运动;调节控制系统;机器人机构和控制技术在传感器设计中的应用。

这里使用图片以及简单的文字介绍的移动机器人运动学(Mobile Robot Locomotion),并比较了多种结构的优缺点。

机器人运动学

运动学——移动的机理

通常的方法——轮子,履带或腿
考虑的因素——地形、机械复杂性和控制的复杂性

轮子:差速驱动

特点:

两个驱动轮
一个或两个万向轮,用于平衡

优点:

机构简单
能在一个地方转弯
只要两个马达

缺点:

粗糙的地面遇到的困难:
–使用两个万向轮时潜在牵引损失
–使用一个万向轮时容易倾翻
速度和方向有关

轮子——同步驱动

特点:

所有的轮子都是驱动轮
所有的轮子都可以操纵

优点:

通过旋转轮子来转向
四个或更多的轮子可以更好适应粗糙路面

缺点:

机械结构复杂
每一个轮子都可以操纵,并提供动力。
控制复杂:
–很多马达需要控制
–哪里是前面?

轮子驱动——三轮车

特点:

只有一个马达作为动力(在前轮或通过后面的差分轮)
一个马达在前面作为方向盘

优点:

容易控制
–驾驶和速度不在一起控制
–只需要两个马达

缺点:

不能在原地转动
在不平的路面上容易倾翻
机械结构有点复杂
–需要后面有差速器来避免打滑
–在前轮安装驱动论和做方向盘的马达

轮子——汽车结构

特点:

一个马达作为动力,通过后面的差速器驱动
一个马达转动前面的两个轮子来改变方向

优点:

在不平的路面上性能较好
容易控制
–驾驶和速度不在一起控制
–只需要两个马达

缺点:

不能在原地转动
机械结构有点复杂
–需要后面有差速器来避免打滑
–需要等量操纵两个前轮

履带

特点:

单独驱动两个履带

优点:

可以在原地转动
在不平的路面上性能非常好
-稳定
-很难到达高的地方
-牵引很好
一个或两个马达

缺点:

只能慢慢转动
速度和方向不能单独控制
摩擦力很大、能量损耗大
机械结构复杂
-能以保持履带拉紧

行走

特点:


多只脚协调动作

优点:

在粗糙路面性能较好
-好的关节
-稳定
-好的牵引力

缺点:

不能原地转动
速度慢
控制复杂
-移动困难,操纵性差
机械复杂
每一只脚需要提起和前/后移动
每一只脚可能需要多个马达

这里使用图片以及简单的文字介绍的机器人运动学,在下一次,我们将配合简单的公式,进一步介绍这方面的内容,请继续关注,也很希望你能提供相关资料。