第5章〓机器人控制及轨迹规划 机器人控制系统是机器人的大脑,是决定机器人功能和性能的主要因素。工业机器人控制技术的主要任务就是控制工业机器人在工作空间中的运动位置、姿态和轨迹、操作顺序及动作的时间等,具有编程简单、软件菜单操作、友好的人机交互界面、在线操作提示和使用方便等特点。工业机器人的控制系统可分为两大部分: 一部分是对其自身运动的控制; 另一部分是工业机器人与周边设备的协调控制。 在机器人完成指定任务时,需要规划机器人在空间中的期望运动轨迹或路径。路径和轨迹是两个相似但含义不同的概念,机器人运动的路径描述机器人的位姿随空间的变化,而机器人运动的轨迹描述机器人的位姿随时间的变化。所谓轨迹,是指机器人每个自由度的位置、速度和加速度的时间历程。本章将介绍移动机器人路径规划和机械臂的轨迹规划问题,同时将机器人传感器做一介绍。 5.1机器人的基本控制特点和功能 5.1.1机器人控制关键技术 1. 开放性模块化的控制系统体系结构 采用分布式CPU计算机结构,分为机器人控制器(RC)、运动控制器(MC)、光电隔离I/O控制板、传感器处理板和编程示教盒等。机器人控制器(RC)和编程示教盒通过串口/CAN总线进行通信。机器人控制器(RC)的主计算机完成机器人的运动规划、插补和位置伺服以及主控逻辑、数字I/O、传感器处理等功能,而编程示教盒完成信息的显示和按键的输入。 2. 模块化层次化的控制器软件系统 软件系统建立在基于开源的实时多任务操作系统Linux上,采用分层和模块化结构设计,以实现软件系统的开放性。整个控制器软件系统分为3个层次: 硬件驱动层、核心层和应用层。3个层次分别面对不同的功能需求,对应不同层次的开发,系统中各个层次内部由若干功能相对对立的模块组成,这些功能模块相互协作,共同实现该层次所提供的功能。 3. 机器人的故障诊断与安全维护技术 通过各种信息,对机器人故障进行诊断,并进行相应维护,是保证机器人安全性的关键。 4. 网络化机器人控制器技术 目前机器人的应用工程由单台机器人工作站向机器人生产线发展,机器人控制器的联网技术变得越来越重要。控制器上具有串口、现场总线及以太网的联网功能,可用于机器人控制器之间和机器人控制器同上位机的通信,便于对机器人生产线进行监控、诊断和管理。 5.1.2机器人基本控制特点 从控制观点看,机器人系统代表冗余的、多变量和本质上非线性的控制系统,同时又是复杂的耦合动态系统,每个控制任务本身就是一个动力学任务。 1. 控制器分类 机器人控制器具有多种结构形式,包括非伺服控制、伺服控制、位置和速度反馈控制、力(力矩)控制、基于传感器的控制、非线性控制、分解加速度控制、滑模控制、最优控制、自适应控制、递阶控制以及各种智能控制等。 2. 主控变量及控制层次 图51表示一台机器人的各关节控制变量。图52所示为机器人的控制层次。 第一级为人工智能级; 第二级为控制模式级; 第三级为伺服系统级。 图51一台机器人的各关节控制变量 图52机器人的控制层次 3. 机器人控制系统的特点 机器人的结构多为空间开链机构,其各个关节的运动是独立的,为了实现末端点的运动轨迹,需要多关节的运动协调。因此,其控制系统与普通的控制系统相比要复杂得多。 (1) 机器人的控制与机构运动学及动力学密切相关。机器人手足的状态可以在各种坐标下进行描述,应当根据需要选择不同的参考坐标系,并做适当的坐标变换。经常要求正向运动学和反向运动学的解,除此之外还要考虑惯性力、外力(包括重力)、哥氏力及向心力的影响。 (2) 一个简单的机器人至少要有3~5个自由度,比较复杂的机器人有十几个甚至几十个自由度。每个自由度一般包含一个伺服机构,它们必须协调起来,组成一个多变量控制系统。 (3) 把多个独立的伺服系统有机地协调起来,使其按照人的意志行动,甚至赋予机器人一定的“智能”,这个任务只能由计算机来完成。因此,机器人控制系统必须是一个计算机控制系统。同时,计算机软件担负着艰巨的任务。 (4) 描述机器人状态和运动的数学模型是一个非线性模型,随着状态的不同和外力的变化,其参数也在变化,各变量之间还存在耦合。因此,仅仅利用位置闭环是不够的,还要利用速度甚至加速度闭环。系统中经常使用重力补偿、前馈、解耦或自适应控制等方法。 (5) 机器人的动作往往可以通过不同的方式和路径来完成,因此存在一个“最优”的问题。较高级的机器人可以用人工智能的方法,用计算机建立起庞大的信息库,借助信息库进行控制、决策、管理和操作,根据传感器和模式识别的方法获得对象及环境的工况,按照给定的指标要求,自动选择最佳的控制规律。 总而言之,机器人控制系统是一个与运动学和动力学原理密切相关的、有耦合的、非线性的多变量控制系统。由于它的特殊性,经典控制理论和现代控制理论都不能照搬使用。 因此到目前为止,机器人控制理论还不完整、不系统。相信随着机器人技术的发展,机器人控制理论必将日趋成熟。 5.1.3机器人控制系统的功能 机器人控制器作为工业机器人较为核心的零部件之一,对机器人的性能起着决定性的影响,在一定程度上影响着机器人的发展。其一般由三部分组成: 输入、控制元件和控制算法。在一个简易的机器人系统中,其对应的元件分别是: (1) 输入: 传感器,包含声呐、红外、摄像头、陀螺仪、加速度计、罗盘等。 (2) 控制元件: 一般是电动机。 (3) 控制算法: 控制板,从小到单片机,大到微机来实现。 1. 机器人控制系统的定义 机器人控制系统的功能是接收来自传感器的检测信号,根据操作任务的要求,驱动机械臂中的各个电动机。就像人的活动需要依赖自身的关节一样,机器人的运动控制离不开传感器。机器人需要用传感器来检测各种状态,机器人的内部传感器信号用于反映机械臂关节的实际运动状态,机器人的外部传感器信号用于检测工作环境的变化,所以机器人的神经与大脑组合起来才能成为一个完整的机器人控制系统。 2. 机器人运动控制系统四大构成 执行机构: 伺服电动机或步进电动机; 驱动机构: 伺服或者步进驱动器; 控制机构: 运动控制器,进行路径和电动机联动的算法运算控制; 控制方式: 有固定执行动作方式的,就编好固定参数的程序给运动控制器; 如果有视觉系统或者其他传感器的,根据传感器信号,就编好不固定参数的程序给运动控制器。 3. 工业机器人控制系统介绍 1) 工业机器人控制系统硬件结构 控制器是机器人系统的核心,国外有关公司对我国实行严密技术封锁,国内技术发展受到限制。近年来随着微电子技术的发展,微处理器的性能越来越高,但价格则越来越便宜,目前市场上已经出现了单价为1~2美元的32位微处理器。 高性价比的微处理器为机器人控制器带来了新的发展机遇,使开发低成本、高性能的机器人控制器成为可能。为了保证系统具有足够的计算与存储能力,目前机器人控制器多采用计算能力较强的ARM系列、DSP系列、POWER PC系列、Intel系列等芯片。 2) 工业机器人控制系统体系结构 在控制器体系结构方面,其研究重点是功能划分和功能之间信息交换的规范。在开放式控制器体系结构研究方面,有两种基本结构,一种是基于硬件层次划分的结构,该类型结构比较简单,在日本,体系结构以硬件为基础来划分,如三菱重工株式会社将其生产的PA210可携带式通用智能臂式机器人的结构划分为五层结构; 另一种是基于功能划分的结构,它将软、硬件一同考虑,其是机器人控制器体系结构研究和发展的方向。 4. 机器人控制系统的基本功能 (1) 记忆功能: 存储作业顺序、运动路径、运动方式、运动速度和与生产工艺有关的信息。 (2) 示教功能: 离线编程,在线示教,间接示教。在线示教包括示教盒和导引示教两种。 (3) 与外围设备联系功能: 输入和输出接口、通信接口、网络接口、同步接口。 (4) 坐标设置功能: 有关节、绝对、工具、用户自定义4种坐标系。 (5) 人机接口: 示教盒、操作面板、显示屏。 (6) 传感器接口: 位置检测、视觉、触觉、力觉等。 (7) 位置伺服功能: 机器人多轴联动、运动控制、速度和加速度控制、动态补偿等。 (8) 故障诊断安全保护功能: 运行时系统状态监视、故障状态下的安全保护和故障自诊断。 1) 示教再现功能 示教再现功能是指控制系统可以通过示教盒或手把手进行示教,将动作顺序、运动速度、位置等信息用一定的方法预先教给工业机器人,由工业机器人的记忆装置将所教的操作过程自动地记录在存储器中,当需要再现操作时,重放存储器中存储的内容即可。如需更改操作内容时,只需重新示教一遍。 2) 运动控制功能 机器人的运动控制是指机器人的末端操作器从一点移动到另一点的过程中,对其位置、速度和加速度的控制。由于工业机器人末端操作器的位置和姿态是由各关节的运动引起的,因此,对其运动控制实际上是通过控制关节运动实现的。 工业机器人关节运动控制一般可分为两步进行: 第一步是关节运动伺服指令的生成,即指将末端操作器在工作空间的位置和姿态的运动转化为由关节变量表示的时间序列或表示为关节变量随时间变化的函数,这一步一般可离线完成; 第二步是关节运动的伺服控制,即跟踪执行第一步所生成的关节变量伺服指令,这一步是在线完成的。 3) 示教再现控制 示教方式中经常会遇到一些数据的编辑问题,其编辑机能有如图53所示的几种方法。 在图53中,要连接A与B两点时,可以这样做: 如图53(a)所示为直接连接; 如图53(b)所示为先在A与B之间指定一点x,然后用圆弧连接; 如图53(c)所示为用指定半径的圆弧连接; 如图53(d)所示为用平行移动的方式连接。 图53示教数据的编辑机能 在CP(连续轨迹控制方式)控制的示教中,由于CP控制的示教是多轴同时动作,因此与点位控制不同,它几乎必须在点与点之间的连线上移动,故有如图54所示的两种方法。图54(a)是在指定的点之间用直线连接进行示教; 图54(b)是按指定的时间对每一个间隔点的位置进行示教。 图54CP控制示教举例 (1) 记忆的方式。 工业机器人的记忆方式随着示教方式的不同而不同。又由于记忆内容的不同,故其所用的记忆装置也不完全相同。通常,工业机器人操作过程的复杂程序取决于记忆装置的容量。容量越大,其记忆的点数就越多,操作的动作就越多,工作任务就越复杂。现在,计算机技术的发展使得半导体记忆装置出现,尤其是集成化程度高、容量大、高度可靠的随机存取存储器(RAM)和可编程只读存储器(EPROM)等半导体的出现,使工业机器人的记忆容量大大增加,特别适合于复杂程度高的操作过程的记忆,并且其记忆容量可达无限。 (2) 示教编程方式。 示教盒示教编程方式是人工利用示教盒上所具有的各种功能的按钮来驱动工业机器人的各关节轴,按作业所需要的顺序单轴运动或多关节协调运动,从而完成位置和功能的示教编程。 示教盒通常是一个带有微处理器的、可随意移动的小键盘,内部ROM中固化有键盘扫描和分析程序,其功能键一般具有回零、示教方式、自动方式和参数方式等。 示教编程控制由于其编程方便、装置简单等优点,在工业机器人的初期得到较多的应用。同时,又由于其编程精度不高、程序修改困难、示教人员要熟练运用等缺点的限制,促使人们又开发了许多新的控制方式和装置,以使工业机器人能更好更快地完成作业任务。 5.2机器人的控制方式 目前市场上使用最多的机器人当数工业机器人,也是最成熟完善的一种机器人。而工业机器人能得到广泛应用,得益于它拥有多种控制方式,按作业任务的不同,可主要分为点位控制方式、连续轨迹控制方式、力(力矩)控制方式和智能控制方式4种。 1. 点位控制方式 这种控制方式只对工业机器人末端执行器在作业空间中某些规定的离散点上的位姿进行控制。在控制时,只要求工业机器人能够快速、准确地在相邻各点之间运动,对达到目标点的运动轨迹则不作任何规定。定位精度和运动所需的时间是这种控制方式的两个主要技术指标。这种控制方式具有实现容易、定位精度要求不高的特点,因此,常被应用在上下料、搬运、点焊和在电路板上安插元件等只要求目标点处保持末端执行器位姿准确的作业中。这种方式比较简单,但是要达到 2~3μm的定位精度是相当困难的。 2. 连续轨迹控制方式 这种控制方式是对工业机器人末端执行器在作业空间中的位姿进行连续的控制,要求其严格按照预定的轨迹和速度在一定的精度范围内运动,而且速度可控,轨迹光滑,运动平稳,以完成作业任务。工业机器人各关节连续、同步地进行相应的运动,其末端执行器即可形成连续的轨迹。这种控制方式的主要技术指标是工业机器人末端执行器位姿的轨迹跟踪精度及平稳性,通常弧焊、喷漆、去毛边和检测作业机器人都采用这种控制方式。 3. 力(力矩)控制方式 在进行装配、抓放物体等工作时,除了要求准确定位,还要求所使用的力或力矩必须合适,这时必须要使用力(力矩)伺服方式。这种控制方式的原理与位置伺服控制原理基本相同,只不过输入量和反馈量不是位置信号,而是力(力矩)信号,所以该系统中必须有力(力矩)传感器。有时也利用接近、滑动等传感功能进行自适应式控制。 4. 智能控制方式 机器人的智能控制是通过传感器获得周围环境的知识,并根据自身内部的知识库做出相应的决策。采用智能控制技术,使机器人具有较强的环境适应性及自学习能力。智能控制技术的发展有赖于近年来人工神经网络、基因算法、遗传算法、专家系统等人工智能的迅速发展。也由于这种控制方式模式,工业机器人才真正有点“人工智能”的落地味道,不过也是最难控制得好的,除了算法外,其也严重依赖于元件的精度。 从控制本质来看,目前工业机器人大多数情况下还是处于比较底层的空间定位控制阶段,没有太多智能含量,可以说只是一个相对灵活的机械臂,离“人”还有很长一段距离的。 1. 点位运动(Point to Point,PTP) PTP 运动只关心机器人末端执行器运动的起点和目标点位姿,不关心这两点之间的运动轨迹,如图55(a)所示。 图55点位控制与连续轨迹控制 2. 连续路径运动(Continuous Path,CP) CP运动不仅关心机器人末端执行器达到目标点的精度,而且必须保证机器人能沿所期望的轨迹在一定精度范围内重复运动,如图55(b)所示。 图56工业机器人PTP运动和CP运动 机器人CP 运动的实现是以点到点运动为基础,通过在相邻两点之间采用满足精度要求的直线或圆弧轨迹插补运算即可实现轨迹的连续化,如图56所示。机器人再现时主控制器(上位机)从存储器中逐点取出各示教点空间位姿坐标值,通过对其进行直线或圆弧或插补运算,生成相应路径规划,然后把各插补点的位姿坐标值通过运动学逆解运算转换成关节角度值,分送机器人各关节或关节控制器(下位机)。 5.3机器人轨迹规划 轨迹规划是用来生成关节空间或直角空间的轨迹,以保证机器人实现预定的作业。机器人的运动轨迹最简单的形式是点到点的自由移动,这种情况只要求满足两边界点约束条件,再无其他约束。运动轨迹的另一种形式是依赖于连续轨迹的运动,这类运动不仅受到路径约束,而且还受到运动学和动力学的约束。轨迹规划器的框图如图57所示。轨迹规划器接收路径设定和约束条件的输入变量,输出起点和终点之间按时间排列的中间形态(位姿、速度、加速度)序列,它们可用关节坐标或直角坐标表示。 图57轨迹规划器的框图 5.3.1轨迹规划基本原理 确定机器人的手部或关节在起点和终点之间所走过的路径、在各路径点的速度、加速度,这项工作称为轨迹规划。 机器人的轨迹指操作臂在运动过程中的位移、速度和加速度。路径是机器人位姿的一定序列,而不考虑机器人位姿参数随时间变化的因素。如图58所示,如果有关机器人从A点运动到B点,再到C点,那么中间位姿序列就构成了一条路径。而轨迹则与何时到达路径中的每部分有关,强调的是时间。因此,如图59所示,不论机器人何时到达B点和C点,其路径是一样的; 而轨迹则依赖于速度和加速度,如果机器人抵达B点和C点的时间不同,则相应的轨迹也不同。我们的研究不仅要涉及机器人的运动路径,还要关注其速度和加速度。 图58机器人在路径上的依次运动 图59机器人沿直线依次运动 为了使机器人完成规定的任务,让机器人末端执行器从起始位姿达到终点位姿,需要规定运动路径、中间点的速度及加速度。 1. 轨迹规划分类 通常,轨迹规划分为关节空间轨迹规划和直角坐标空间轨迹规划两种。关节空间轨迹规划是对各关节的运动进行规划; 直角坐标空间轨迹规划是对末端手的位姿轨迹进行规划。 2. 轨迹规划与运动学的关系 直角坐标空间的轨迹规划要依靠逆运动学不断将直角坐标转换为关节角度,此关节角度即是该关节控制系统的期望值。轨迹规划过程中不断应用逆运动学,把手部的直角坐标转化为关节坐标。 轨迹规划是指根据作业任务要求确定轨迹参数并实时计算和生成运动轨迹。轨迹规划的一般问题有以下3个: (1) 对机器人的任务进行描述,即运动轨迹的描述。 (2) 根据已经确定的轨迹参数,在计算机上模拟所要求的轨迹。 (3) 对轨迹进行实际计算,即在运行时间内按一定的速率计算出位置、速度和加速度,从而生成运动轨迹。 在规划中,不仅要规定机器人的起始点和终止点,而且要给出中间点(路径点)的位姿及路径点之间的时间分配,即给出两个路径点之间的运动时间。 轨迹规划既可在关节空间中进行,即将所有的关节变量表示为时间的函数,用其一阶、二阶导数描述机器人的预期动作,也可在直角坐标空间中进行,即将手部位姿参数表示为空间的函数,而相应的关节位置、速度和加速度由手部信息导出。 5.3.2关节空间的轨迹规划 关节空间法首先在直角坐标空间(工具空间)中确定将期望的路径点,用逆运动学计算将路径点转换成关节向量角度值,然后对每个关节拟合一个光滑函数,从初始点依次通过所有路径点到达目标点,并使每一路径的各个关节运动时间均相同。关节轨迹同时要满足一组约束条件,如位姿、速度、加速度与连续性等。在满足约束条件下,可选取不同类型的关节插值函数。这种方法确定的轨迹在直角坐标空间(工具空间)中可以保证经过路径点,但是在路径点之间的轨迹形状则可能很复杂。这种规划轨迹方法计算比较简单,各个关节函数之间相互独立,且不会发生机构的奇异性问题。在关节空间常用的规划方法有三次多项式函数插值法、高阶多项式插值法以及抛物线连接的线性函数插值法等。 5.3.3直角坐标空间的轨迹规划 所有用于关节空间的轨迹规划方法都可以用于直角坐标空间轨迹规划。直角坐标轨迹规划必须不断进行逆运动学运算,以便及时得到关节角。这个过程可以归纳为以下计算循环: (1) 时间增加一个增量。 (2) 利用所选择的轨迹函数计算出手的位姿。 (3) 利用逆运动学方程计算相应的关节变量。 (4) 将关节变量信息送给控制器。 (5) 返回到循环的开始。 直角坐标空间轨迹规划,不考虑加速段、减速段的情况,以及等加速、等减速情况,如图510和图511所示。 图510二自由度机器人的直角坐标空间运动 图511具有加速和减速段的轨迹规划 以二连杆机器人为例介绍直角坐标轨迹规划的过程,由A到B点,走一条直线。已知A、B点的直角坐标,要求确定中间点的坐标,求出直线方程。按某种方法求出中间点2、3、4、5的直角坐标,如按等长法插补。用逆运动方程计算各直角坐标点对应的关节角,如图512和图513所示。 图512路径上不同运动段的平滑过渡 图513保证机器人运动通过中间点规定点的替代方案 5.4机械臂路径规划 5.4.1三次多项式插值 1. 三次多项式插值 在操作臂运动的过程中,由于相应于起始点的关节角度θ0是已知的,而终止点的关节角θf可以通过运动学反解得到,因此, 图514单个关节的不同轨迹曲线 运动轨迹的描述可用起始点关节角与终止点关节角度的一个平滑插值函数θ(t)来表示。θ(t)在t0=0时刻的值是起始关节角度θ0,终端时刻tf的值是终止关节角度θf。显然,有许多平滑函数可作为关节插值函数,如图514所示。 为实现单个关节的平稳运动,轨迹函数θ(t)至少需要满足4个约束条件,即两端点位置约束和两端点速度约束。 端点位置约束是指起始位姿和终止位姿分别所对应的关节角度。θ(t)在时刻t0=0时的值是起始关节角度θ0,在终端时刻tf时的值是终止关节角度θf,即 θ(0)=θ0θ(tf)=θf(5.1) 为满足关节运动速度的连续性要求,还有两个约束条件,即在起始点和终止点的关节速度要求。在当前情况下,可简单地设定为0,即 θ·(0)=0θ·(tf)=0(5.2) 上面给出的4个约束条件可以唯一地确定一个三次多项式: θ(t)=a0+a1t+a2t2+a3t3(5.3) 运动过程中的关节速度和加速度则为 θ·(t)=a1+2a2t+3a3t2 θ¨(t)=2a2+6a3t(5.4) 为求得三次多项式的系数a0、a1、a2和a3,代以给定的约束条件,有方程组 θ0=a0θf=a0+a1tf+a2t2f+a3t3f0=a10=a1+2a2tf+3a3t2f(5.5) 求解该方程组,可得 a0=θ0a1=0a2=3t2f(θf-θ0)a3=-2t3f(θf-θ0)(5.6) 对于起始速度及终止速度为0的关节运动,满足连续平稳运动要求的三次多项式插值函数为 θ(t)=θ0+3t2f(θf-θ0)t2-2t3f(θf-θ0)t3(5.7) 由式(5.7)可得关节角速度和角加速度的表达式为 θ·(t)=6t2f(θf-θ0)t-6t3f(θf-θ0)t2 θ¨(t)=6t2f(θf-θ0)-12t3f(θf-θ0)(5.8) 三次多项式插值的关节运动轨迹曲线如图515所示。由图可知,其速度曲线为抛物线,相应的加速度曲线为直线。 需要注意,这组解只适用于关节起始、终止速度为0的运动情况。对于其他情况,后面另行讨论。 图515三次多项式插值的关节运动轨迹 例51具有一个旋转关节的单连杆机器人,处于静止状态时,θ=15°。期望在3s内平滑地运动到终止位置,这时的关节角θ=75°。求解出满足该运动的一个三次多项式的系数,并且使操作臂在终止位置为静止状态。 将题设条件代入式(5.6),可以得到 a0=15.0a1=0.0a2=20.0a3=-4.44 根据式(5.7)和式(5.8),可以求得 θ(t)=15.0+20.0t2-4.44t3 θ·(t)=40.0t-13.33t2 θ¨(t)=40.0-26.66t 可以看出,三次函数的速度曲线为抛物线,加速度曲线是直线,如图515所示。 例52要求一个六轴机器人的第一关节在5s内从初始角30°运动到终止角75°,且起始点和终止点速度均为0。用三次多项式规划该关节的运动,并计算在第1s、第2s、第3s和第4s时关节的角度。 解: 将约束条件代入下式 a0=θ0 a1=0a2=3t2f(θf-θ0) a3=2t3f(θf-θ0) 可得 a0=30 a1=0 a2=5.4 a3=-0.72 由此得关节角位置、角速度和角加速度方程分别为 θ(t)=30+5.4t2-0.72t3 θ·(t)=10.8t-2.16t2 θ¨(t)=10.8+4.32t θ(1)=34.68° θ(2)=45.84° θ(3)=59.16° θ(4)=70.32° 该关节的角位置、角速度和角加速度随时间变化的曲线如图516所示。可以看出,本例中所需要的初始角加速度为 10.8°/s2,运动末端的角加速度为-10.8°/s2。 图516机器人关节的角位置、角速度、角加速度曲线 2. 过路径点的三次多项式插值 若所规划的机器人作业路径在多个点上有位姿要求,如图517所示,机器人作业除在A、B 两点有位姿要求外,在路径点C、D也有位姿要求。对于这种情况,假如末端操作器在路径点停留,即各路径点上的速度为0,则轨迹规划可连续直接使用前面介绍的三次多项式插值方法; 但若末端操作器只是经过路径点而并不停留,就需要将前述方法推广开来。 图517机器人作业路径点 对于机器人作业路径上的所有路径点,可以用求解逆运动学的方法先得到多组对应的关节空间路径点,进行轨迹规划时,把每个关节上相邻的两个路径点分别看作起始点和终止点,再确定相应的三次多项式插值函数,最后把路径点平滑连接起来。一般情况下,这些起始点和终止点的关节运动角速度不再为0。 设路径点上的关节速度已知,在某段路径上,起始点关节角速度和角加速度分别为 θ0和θ·0,终止点关节角速度和角加速度分别为 θf 和θ·f,这时,确定三次多项式系数的方法与前所述完全一致,只是角速度约束条件变为 θ·(0)=θ·0θ·(tf)=θ·f(5.9) 利用约束条件确定三次多项式系数,有方程组 θ0=a0 θf=a0+a1tf+a2t2f+a3t3f θ·=a1 θ·f=a1+2a2tf+3a3t2f(5.10) 求解方程组中的ai可得 a0=θ0 a1=θ·0 a2=3t2f(θf-θ0)-2tfθ·0-1tfθ·f a3=2t3f(θf-θ0)-1t2f(θ·0+θ·f)(5.11) 使用式(5.11)可求出符合任何起始和终止位置以及任何起始和终止速度的三次多项式,当路径点上的关节角速度为0,即θ·0=θ·f=0时,式(5.11)与式(5.6)完全相同,这就说明由式(5.11)确定的三次多项式描述了起始点和终止点具有任意给定位置和速度约束条件的运动轨迹。 3. 五次多项式插值 除了指定运动段的起始点和终止点的位置和速度外,也可以指定该运动段的起始点和终止点加速度。这样,约束条件的数量就增加到6个,相应地可采用下面的五次多项式来规划轨迹运动,即 θ(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5 其约束条件为 θ0=a0 θf=a0+a1tf+a2t2f+a3t3f+a4t4f+a5t5f(5.12) θ·0=a1 θ·f=a1+2a2tf+3a3t2f+4a4t3f+5a5t4f(5.13) θ¨0=2a2 θ¨f=2a2+6a3tf+12a4t2f+20a5t3f(5.14) 这些约束条件确定了一个具有6个方程和6个未知数的线性方程组,其解为 a0=θ0 a1=θ·0 a2=θ¨2 a3=20θf-20θ0-(8θ·f+12θ·0)tf-(3θ¨0-θ¨f)t2f2t3f a4=30θ0-30θf+(14θ·f+16θ·0)tf+(3θ¨0-2θ¨f)t2f4t2f a5=12θf-12θ0+(6θ·f+6θ·0)tf+(θ¨0-θ¨f)t2f2t5f 对于具有一个途径多个给定数据点的轨迹来说,可用多种算法来求解描述该轨迹的平滑函数(多项式或其他函数)。 例53要求一个六轴机器人的第一关节在5s内从初始角30°运动到终止角75°,且起始点角加速度为5°/s2,终止点角加速度为-5°/s2,求机器人关节的角位置、角速度和角加速度。 解: 由例52和给出的角加速度值得到 θ0=30°,θ·0=0°/x2,θ¨0=5°/x2 θt=75°,θ·t=0°/x2,θ¨t=-5°/x2 将起始和终止约束条件代入式(5.12)、式(5.14),得 a0=30,a1=0,a2=2.5 a3=1.6,a4=-0.58,a5=0.0464 求得如下运动方程,即 θ(t)=30+2.5t2+1.6t3-0.58t4+0.0464t5 θ·(t)=5t+4.8t2-2.32t3+0.232t4 θ¨(t)=5+9.6t2-6.96t2+0.928t3 图518所示为机器人关节的角位置、角速度和角加速度曲线,其最大角加速度为 8.7°/s2。 图518机器人关节的角位置、角速度和角加速度曲线 5.4.2用抛物线过渡的线性插值 在关节空间轨迹规划中,对于给定起始点和终止点的情况,其线性函数插值选择较为简单,如图519所示。然而,单纯线性插值会导致起始点和终止点的关节运动速度不连续,且加速度无穷大,在两端点会造成刚性冲击,如图520所示。 图519抛物线过渡的线性段规划方法 图520两点间的线性插值轨迹 为此应对线性函数插值方案进行修正,在线性插值两端点的邻域内设置一段抛物线形缓冲区段。由于抛物线函数对于时间的二阶导数为常数,即相应区段内的加速度恒定,这样保证起始点和终止点的速度平滑过渡,从而使整个轨迹上的位置和速度连续。线性函数与两段抛物线函数平滑地衔接在一起形成的轨迹称为带有抛物线过渡域的线性轨迹,如图521所示。 为了构造这段运动轨迹,假设两端的抛物线轨迹具有相同的持续时间ta,具有大小相同而符号相反的恒加速度θ¨。对于这种路径规划存在有多个解,其轨迹不唯一,如图522所示。但是,每条路径都对称于时间中点th和位置中点θh。 图521带有抛物线过渡域的线性轨迹 图522轨迹的多解性与对称性 要保证路径轨迹的连续、光滑,即要求抛物线轨迹的终点速度必须等于线性段的速度,故有下列关系: θ¨ta=θh-θath-ta(5.15) 式中,θa为对应于抛物线持续时间ta的关节角度。θa的值可以按式(5.16)求出 θa=θ0+12θ¨t2a(5.16) 设关节从起始点到终止点的总运动时间为tf,则tf= 2th,并注意到 θh=12(θ0+θf)(5.17) 则由式(5.11)~式(5.13)得 θ¨t2a-θ¨tfta+(θf-θ0)=0(5.18) 一般情况下,θ0、θf、tf是已知条件,这样,根据式(5.11)可以选择相应的θ¨和ta,得到相应的轨迹。通常的做法是先选定加速度θ¨的值,然后按式(5.18)求出相应的ta: ta=tf2-θ¨2t2f-4θ¨(θf-θ0)2θ¨(5.19) 由式(5.19)可知,为保证ta有解,加速度值θ¨必须选得足够大,即 θ¨≥4(θf-θ0)t2f(5.20) 当式(5.20)中的等号成立时,轨迹线性段的长度缩减为零,整个轨迹由两个过渡域组成,这两个过渡域在衔接处的斜率(关节速度)相等; 加速度θ¨的取值越大,过渡域的长度会变得越短,若加速度趋于无穷大,轨迹又复归到简单的线性插值情况。 例54在例53中,假设六轴机器人的第一关节以角加速度θ¨ =10°/s2在5s内从初始角θ0=30°运动到目的角 θf=70°。求解所需的过渡时间并绘制关节角位置、角速度和角加速度曲线。 解: 由题设条件可得 ta=52-102×52-4×10×(70-30)2×10s=1s 由θ=θ0到θa,由θ=θa到θb,由θ=θb到θf,角位置、角速度和角加速度速方程分别为 θ=30+5t2 θ·=10t θ¨=10,θ=θa+10t θ·=10 θ¨=0,θ=70-5(5-t)2 θ·=10(5-t) θ¨=-10 根据以上方程,绘制出图523所示的该关节的角位置、角速度和角加速度速度曲线。 图523机器人关节的角位置、角速度和角加速度曲线 由例54可以看出,用抛物线过渡的线性函数插值进行轨迹规划的物理概念非常清楚,即在机器人每一关节中,电动机采用等加速、等速和等减速的运动规律。 5.4.3轨迹的实时生成 轨迹规划任务中所学习的是根据给定的路径点规划出运动轨迹的所有参数,是在给定路径点的情况下如何规划出运动轨迹的问题。在实时运行时,路径生成器不断产生用θ、θ·、θ¨构造的轨迹,并且将此信息输送至操作臂的控制系统。路径计算的速度应能满足路径更新速率的要求。但是还有一个如何描述路径点并以合适的方式输入给机器人的问题。最常用的方法便是利用机器人语言。用户将要求实现的动作编成相应的应用程序,其中有相应的语句用来描述轨迹规划,并通过相应的控制作用来实现期望的运动。 1. 关节空间轨迹的生成 前面介绍了几种关节空间轨迹规划的方法,按照这些方法所得的计算结果都是有关各个路径段数据。控制系统的轨迹生成器利用这些数据以轨迹更新的速率计算出 θ、θ·和θ¨的数据。对于三次多项式,轨迹生成器只需要随t的变化,计算出 θ、θ·和θ¨的数据。当到达路径段的终止点时,调用新路径继续生成轨迹。重新把t置0,继续生成轨迹。对于带抛物线拟合的直线样条曲线,每次更新轨迹时,应首先检测时间t的值,以判断当前是处在路径段的直线区段还是抛物线拟合区段,在直线区段,对每个关节的轨迹计算如下: θ=θ0+ωt-12ta θ·=ωtat θ¨=ωta(5.21) 式中,ω为根据驱动器的性能而选择的定值; ta可计算。在起始点拟合区段,对各关节的轨迹计算如下: θ=θ0+12ωta θ·=ωtat θ¨=ωta(5.22) 终止点处的抛物线段与起始点处的抛物线段是对称的,只是其加速度为负,因此可按照下式计算: θ=θf-ω2ta(tf-t)2 θ·=ωta(tf-t) θ¨=-ωta(5.23) 式中,tf为该段抛物线终止点时间。轨迹生成器按照式(5.21)~式(5.23)随t的变化实时生成轨迹。当进入新的运动段以后,必须基于给定的关节速度求出新的 ta,根据边界条件计算抛物线段的系数继续计算,直到计算出所有路径段的数据集合。 2. 直角坐标空间轨迹的生成 前面已经介绍了直角坐标空间轨迹规划的方法。在直角坐标空间的轨迹必须变换为等效的关节空间变量,为此,可以通过运动学逆解得到相应的关节位置: 用逆雅可比矩阵计算关节速度,用逆雅可比矩阵及其导数计算角加速度。在实际中往往采用简便的方法,即根据逆运动学以轨迹更新速率首先把x转换成关节角向量θ,然后再由数值微分根据下式计算θ· 和θ¨ : θ·(t)=θ(t)-θ(t-Δt)Δt θ¨(t)=θ·(t)-θ·(t-Δt)Δt(5.24) 最后,把轨迹规划器生成的θ、θ·和θ¨ 送往机器人的控制系统。至此,轨迹规划的任务才算完成。 关节空间轨迹规划仅能保证机器人末端操作器从起始点通过路径点运动至目标点,但不能对末端操作器在直角坐标空间两点之间的实际运动轨迹进行控制,所以仅适用于 PTP 作业的轨迹规划。为了满足 PTP 控制的要求,机器人语言都有关节空间轨迹规划指令 MOVEJ。该规划指令效率最高,对轨迹无特殊要求的作业,应尽量使用该指令控制机器人的运动。 直角坐标空间轨迹规划主要用于 CP 控制,机器人的位置和姿态都是时间的函数,对轨迹的空间形状可以提出一定的设计要求,如要求轨迹是直线、圆弧或者其他期望的轨迹曲线。在机器人语言中,MOVEL和 MOVEC分别是实现直线和圆弧轨迹的规划指令。 5.5机器人传感器 移动机器人是机器人的重要研究领域,人们很早就开始移动机器人的研究。世界上第一台真正意义上的移动机器人是斯坦福研究院(SRI)的人工智能中心于1966—1972年研制的,名叫Shakey,它装备了电视摄像机、三角测距仪、碰撞传感器、驱动电动机以及编码器,并通过无线通信系统由两台计算机控制,可以进行简单的自主导航。Shakey的研制过程中还诞生了两种经典的导航算法: A*算法(the A*search algorithm)和可视图法(the visibility graph method)。虽然Shakey只能解决简单的感知、运动规划和控制问题,但它却是当时将AI应用于机器人的最为成功的研究平台,它证实了许多通常属于人工智能(AI)领域的严肃的科学结论。从20世纪70年代末开始,随着计算机的应用和传感技术的发展,以及新的机器人导航算法的不断推出,移动机器人研究开始进入快车道。 移动机器人智能的一个重要标志就是自主导航,而实现机器人自主导航有个基本要求,即避障。避障是指移动机器人根据采集 障碍物的状态信息,在行走过程中,通过传感器感知到妨碍其通行的静态和动态物体时,按照一定的方法进行有效地避障,最后达到目标点。 实现避障与导航的必要条件是环境感知,在未知或者是部分未知的环境下避障需要通过传感器获取周围环境信息,包括障碍物的尺寸、形状和位置等信息,因此传感器技术在移动机器人避障中起着十分重要的作用。避障使用的传感器主要有 激光传感器、视觉传感器、红外传感器、超声传感器等。 1. 激光传感器 激光测距传感器利用激光来测量被测物体的距离或者被测物体的位移等参数。比较常用的测距方法是由脉冲激光器发出持续时间极短的脉冲激光,经过待测距离后射到被测目标,回波返回,由光电探测器接收。根据主波信号和回波信号之间的间隔,即激光脉冲从激光器到被测目标之间的往返时间,就可以算出待测目标的距离。由于光速很快,使得在测小距离时光束往返时间极短,因此这种方法不适合测量精度要求很高的(亚毫米级别)距离,一般若要求精度非常高,常用三角法、相位法等方法测量。 2. 视觉传感器 视觉传感器的优点是探测范围广、获取信息丰富,实际应用中常使用多个视觉传感器,或者与其他传感器配合使用,通过一定的算法可以得到物体的形状、距离、速度等诸多信息。利用一个摄像机的序列图像来计算目标的距离和速度,还可采用SSD算法,根据一个镜头的运动图像来计算机器人与目标的相对位移。但在图像处理中,边缘锐化、特征提取等图像处理方法计算量大,实时性差,对处理机要求高; 且视觉测距法检测不能检测到玻璃等透明障碍物的存在; 另外,受视场光线强弱、烟雾的影响很大。 3. 红外传感器 大多数红外传感器测距都是基于三角测量原理。红外发射器按照一定的角度发射红外光束,当遇到物体以后,光束会反射回来。反射回来的红外光线被CCD检测器检测到以后,会获得一个偏移值L,利用三角关系,在知道了发射角度α、偏移距L、中心距X,以及滤镜的焦距f以后,传感器到物体的距离D就可以通过几何关系计算出来了。红外传感器的优点是不受可见光影响,白天黑夜均可测量,角度灵敏度高、结构简单、价格较便宜,可以快速感知物体的存在; 但测量时受环境影响很大,物体的颜色、方向、周围的光线都能导致测量误差,测量不够精确。 4. 超声波传感器 超声波传感器检测距离原理是测出发出超声波至再检测到发出的超声波的时间差,同时根据声速计算出物体的距离。由于超声波在空气中的速度与温湿度有关,在比较精确的测量中,需把温湿度的变化和其他因素考虑进去。超声波传感器一般作用距离较短,普通的有效探测距离都在5~10m,但是会有一个最小探测盲区,一般为几十毫米。由于超声传感器的成本低,实现方法简单,技术成熟,因此是移动机器人中常用的传感器。 5.5.1机器人内部传感器 在工业机器人内部传感器中,位置传感器和速度传感器是当今机器人反馈控制中不可缺少的元件。现已有多种传感器大量生产,但倾斜角传感器、方位角传感器及振动传感器等用作机器人内部传感器的时间不长,其性能尚需进一步改进。 工业机器人内部传感器功能分类: (1) 规定位置、规定角度的检测。 (2) 位置、角度测量。 (3) 速度、角速度测量。 (4) 加速度测量。 1. 位移位置传感器 检测预先规定的位置或角度,可以用开/关两个状态值,用于检测机器人的起始原点、越限位置或确定位置。微型开关: 规定的位移或力作用到微型开关的可动部分(称为执行器)时,开关的电气触点断开或接通。限位开关通常装在盒里,以防外力的作用和水、油、尘埃的侵蚀。光电开关: 光电开关是由LED光源和光敏二极管或光敏晶体管等光敏元件组成,相隔一定距离而构成的透光式开关。当光由基准位置的遮光片通过光源和光敏元件的缝隙时,光射不到光敏元件上,从而起到开关的作用。 2. 位置、角度测量 测量机器人关节线位移和角位移的传感器是机器人位置反馈控制中必不可少的元件,包括电位器、旋转变压器和编码器。 (1) 电位器可作为直线位移和角位移检测元件,其结构形式和电路原理图如图524所示。 图524电位器式传感器形式和电路原理图 为了保证电位器的线性输出,应保证等效负载电阻远远大于电位器总电阻。 电位器式传感器结构简单,性能稳定,使用方便,但分辨率不高,且当电刷和电阻之间接触面磨损或有尘埃附着时会产生噪声。 (2) 旋转变压器由铁芯、两个定子线圈和两个转子线圈组成,是测量旋转角度的传感器。定子和转子由硅钢片和坡莫合金叠层制成,如图525所示。 图525旋转变压器原理图 在各定子线圈加上交流电压,转子线圈中由于交链磁通的变化产生感应电压。感应电压和励磁电压之间相关联的耦合系数随转子的转角而改变。因此,根据测得的输出电压,就可以知道转子转角的大小。 3. 速度传感器 速度、角速度测量是驱动器反馈控制必不可少的环节。有时也利用测位移传感器测量速度及检测单位采样时间位移量,但这种方法有其局限性: 低速时存在测量不稳定的危险; 高速时,只能获得较低的测量精度。最通用的速度、角速度传感器是测速发电机或称为转速表的传感器、比率发电机。测量角速度的测速发电机,可按其构造分为直流测速发电机、交流测速发电机和感应式交流测速发电机。 4. 加速度传感器 加速度测量随着机器人的高速化、高精度化,机器人的振动问题日益凸显。为了解决振动问题,如图526所示,有时在机器人的运动手臂等位置安装加速度传感器,测量振动加速度,并把它反馈到驱动器上,这些加速度传感器包括应变片加速度传感器、伺服加速度传感器、压电感应加速度传感器和其他类型传感器。 图526两种振动式加速度传感器 5.5.2机器人外部传感器 外部传感器越来越多地应用在现有的工业机器人中。对于新一代机器人,特别是各种移动机器人,则要求具有自校正能力和反映环境不测变化的能力。已有越来越多的机器人具有各种外部感觉能力。本节讨论几种最主要的外部传感器: 触觉传感器、应力传感器、接近觉传感器和听觉传感器等。 1. 触觉传感器 触觉传感器的触觉是接触、冲击、压迫等机械刺激感觉的综合,利用触觉可进一步感知物体的形状、软硬等物理性质。一般把检测感知和外部直接接触而产生的接触觉、压力、触觉及接近觉的传感器称为机器人触觉传感器。 1) 接触觉 接触觉是通过与对象物体彼此接触而产生的,所以最好使用手指表面高密度分布触觉传感器阵列,它柔软易变形,可增大接触面积,并且有一定的强度,便于抓握。接触觉传感器可检测机器人是否接触目标或环境,用于寻找物体或感知碰撞,如图527所示。接触觉传感器主要有机械式、弹性式和光纤式等。机械式传感器利用触点的接触断开获取信息,通常采用微动开关来识别物体的二维轮廓,由于结构关系无法高密度列阵。 图527接触觉传感器 2) 弹性式传感器 这类传感器都由弹性元件、导电触点和绝缘体构成。如采用导电性石墨化碳纤维、氨基甲酸乙酯泡沫、印制电路板和金属触点构成的传感器,碳纤维被压后与金属触点接触,开关导通。也可由弹性海绵、导电橡胶和金属触点构成,导电橡胶受压后,海绵变形,导电橡胶和金属触点接触,开关导通。也可由金属和铍青铜构成,被绝缘体覆盖的青铜箔片被压后与金属接触点闭合。 3) 光纤式传感器 这种传感器包括由一束光纤构成的光缆和一个可变形的反射表面。光通过光纤束投射到可变形的反射材料上,反射光按相反方向通过光纤束返回。如果反射表面是平的,则通过每条光纤所返回的光的强度是相同的。如果反射表面因与物体接触受力而变形,则反射的光强度不同。用高速光扫描技术进行处理,即可得到反射表面的受力情况。 2. 接近觉传感器 接近觉是一种粗略的距离感觉,接近觉传感器的主要作用是在接触对象之前获得必要的信息,用于探测在一定距离范围内是否有物体接近、物体的接近距离和对象的表面形状及倾斜等状态,一般用“1”和“0”两种态表示,如图528所示。 图528接近觉传感器 接近觉传感器一般使用非接触式测量元件,如霍尔效应传感器、电磁式接近开关和光学接近传感器。以光学接近觉传感器为例,其结构如图529所示,由发光二极管和光敏晶体管组成。发光二极管发出的光经过反射被光敏晶体管接收,接收到的光强和传感器与目标的距离有关,输出信号是距离的函数。红外信号被调制成某一特定频率,可大大提高信噪比。 图529光学接近觉传感器 3. 力觉传感器 力觉传感器中,力觉是指对机器人的指、肢和关节等运动中所受力的感知,主要包括腕力觉、关节力觉和支座力觉等,根据被测对象的负载,可以把力传感器分为测力传感器(单轴力传感器)、力矩表(单轴力矩传感器)、手指传感器(检测机器人手指作用力的超小型单轴力传感器)和六轴力觉传感器。力觉传感器根据力的检测方式不同,可以分为: ①检测应变或应力的应变片式,应变片力觉传感器被机器人广泛采用; ②利用压电效应的压电元件式; ③用位移计测量负载产生的位移的差动变压器、电容位移计式。在选用力传感器时,首先要注意额定值; 其次,通常在机器人的力控制中,力的精度意义不大,重要的是分辨率。在机器人上实际安装使用力觉传感器时,一定要事先检查操作区域,清除障碍物,这对实验者的人身安全、对保证机器人及外围设备不受损害有重要意义。常见的机器人力觉传感器如图530所示。 图530常见的机器人力觉传感器 4. 距离传感器 距离传感器可用于机器人导航和回避障碍物,也可用于对机器人空间内的物体进行定位及确定其一般形状特征。目前最常用的测距法有两种。 1) 超声波测距法 超声波是频率20kHz以上的机械振动波,利用发射脉冲和接收脉冲的时间间隔推算出距离。超声波测距法的缺点是波束较宽,其分辨力受到严重的限制,因此,主要用于导航和回避障碍物。 2) 激光测距法 激光测距法也可以利用回波法,或者利用激光测距仪,其工作原理如下: 氦氖激光器固定在基线上,在基线的一端由反射镜将激光点射向被测物体,反射镜固定在电动机轴上,电动机连续旋转,使激光点稳定地对被测目标扫描。由电荷耦合器件(CCD)摄像机接收反射光,采用图像处理的方法检测出激光点图像,并根据位置坐标及摄像机光学特点计算出激光反射角。利用三角测距原理即可算出反射点的位置。 除以上介绍的机器人外部传感器外,还可根据机器人特殊用途安装听觉传感器、味觉传感器及电磁波传感器,这些机器人主要用于科学研究、海洋资源探测或食品分析、救火等特殊用途。这些传感器多数属于开发阶段,有待于更进一步完善,以丰富机器人专用功能。 5.5.3机器人视觉装置 1. 视觉系统基础 视觉传感器是智能机器人重要的传感器之一。机器人视觉通过视觉传感器获取环境的二维图像,并通过视觉处理器进行分析和解释,转换为符号,让机器人能够辨识物体,并确定其位置,又称为计算机视觉。在捕获图像之后,视觉传感器将其与内存中存储的基准图像进行比较,以做出分析。 电荷耦合图像传感器(CCD)是采用光电转换原理,将被测物体的光像转换为电子图像信号输出的一种大规模集成电路光电元件。CCD由许多感光单元组成,感光单元形成若干像素点。光学系统将被测物体成像在CCD的受光面上,当CCD表面受到光线照射时,这些像素点将投射到它的光强转换成电荷信号,将反映光像的电荷信号读取并顺序输出,完成从光图像到电信号的转换过程。 2. 激光雷达系统 工作在红外和可见光波段的雷达称为激光雷达,由激光发射系统、光学接收系统、转台和信息处理系统等组成,如图531所示。发射系统是各种形式的激光器。接收系统采用望远镜和各种形式的光电探测器。 激光雷达采用脉冲和连续波两种工作方式,按照探测的原理不同,探测方法可以分为Mie散射、瑞利散射、拉曼散射、布里渊散射、荧光、多普勒等。激光器将电脉冲变成光脉冲(激光束)作为探测信号向目标发射出去,打在物体上并反射回来,光接收机接收从目标反射回来的光脉冲信号(目标回波),与发射信号进行比较,还原成电脉冲,送到显示器。接收器准确地测量光脉冲从发射到被反射回的传播时间。因为光脉冲以光速传播,所以接收器总会在下一个脉冲发出之前收到前一个被反射回的脉冲。鉴于光速是已知的,传播时间即可被转换为对距离的测量。然后经过适当处理后,就可获得目标的有关信息,如目标距离、方位、高度、速度、姿态甚至形状等参数,从而对目标进行探测、跟踪和识别。 根据扫描机构的不同,激光测距雷达有2D和3D两种。激光测距方法主要分为两类: 一类是脉冲测距方法; 另一类是连续波测距法。连续波测距一般针对合作目标采用性能良好的反射器,激光器连续输出固定频率的光束,通过调频法或相位法进行测距。脉冲测距也称为飞行时间(time of flight,TOF)测距,应用于反射条件变化很大的非合作目标。图531所示是德国SICK公司生产的LMS291激光雷达测距仪的飞行时间法测距原理示意和实物图。激光器发射的激光脉冲经过分光器后分为两路,一路进入接收器; 另一路则由反射镜面发射到被测障碍物体表面,反射光也经由反射镜返回接收器。发射光与反射光的频率完全相同,通过测量发射脉冲与反射脉冲之间的时间间隔并与光速的乘积来测定被测障碍物体的距离。LMS291的反射镜转动速度为4500r/min,即每秒旋转75次。由于反射镜的转动,激光雷达得以在一个角度范围内获得线扫描的测距数据。 图531激光雷达LMS291的实物图和原理示意图 激光雷达由于使用的是激光束,工作频率高,因此具有很多优点。 (1) 分辨率高。激光雷达可以获得极高的角度、距离和速度分辨率。通常角度分辨率不低于0.1mard,也就是说可以分辨3km距离上相距0.3m的两个目标,并可同时跟踪多个目标; 距离分辨率可达0.1m; 速度分辨率可达10m/s以内。 (2) 隐蔽性好。激光直线传播,方向性好,光束很窄,只有在其传播路径上才能接收到,因此很难被截获,且激光雷达的发射系统(发射望远镜)口径很小,可接收区域窄,有意发射的激光干扰信号进入接收机的概率极低。 (3) 低空探测性能好。激光雷达只有被照射到目标才会产生反射,完全不存在地物回波的影响,因此可以“零高度”工作,低空探测性能很强。 (4) 体积小、质量轻。与普通微波雷达相比,激光雷达轻便、灵巧,架设、拆收简便,结构相对简单,维修方便,操纵容易,价格也较低。当然,激光雷达工作时受天气和大气影响较大。在大雨、浓烟、浓雾等恶劣天气里,衰减急剧加大,传播距离大受影响。大气环流还会使激光光束发生畸变、抖动,直接影响激光雷达的测量精度。此外,由于激光雷达的波束极窄,在空间搜索目标非常困难,只能在较小的范围内搜索、捕获目标。 激光雷达的作用是能精确测量目标位置、运动状态和形状,以及准确探测、识别、分辨和跟踪目标,具有探测距离远和测量精度高等优点,已被普遍应用于移动机器人定位导航,还被广泛应用于资源勘探、城市规划、农业开发、水利工程、土地利用、环境监测、交通监控、防震减灾等方面,在军事上也已开发出火控激光雷达、侦测激光雷达、导弹制导激光雷达、靶场测量激光雷达、导航激光雷达等精确获取三维地理信息的途径,为国民经济、国防建设、社会发展和科学研究提供了极为重要的数据信息资源,取得了显著的经济效益,显示出优良的应用前景。 5.6机器人避障技术的分类 目前移动机器人的避障根据对环境信息的掌握程度可以分为障碍物信息已知、障碍物信息部分未知或完全未知3种。传统的导航避障方法如可视图法、栅格法、自由空间法等算法对障碍物信息已知时的避障问题处理尚可,但当障碍信息未知或者障碍是可移动的时候,传统的导航方法一般不能很好地解决避障问题或者根本不能避障。而实际生活中,绝大多数的情况下,机器人所处的环境都是动态的、可变的、未知的,为了解决上述问题,人们引入了计算机和人工智能等领域的一些算法。同时得益于处理器计算能力的提高及传感器技术的发展,在移动机器人的平台上进行一些复杂算法的运算也变得轻松,由此产生了一系列智能避障方法,比较热门的有遗传算法、神经网络算法、模糊算法等。 5.6.1基于遗传算法的机器人避障算法 遗传算法(genetic algorithm)是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。进化算法是借鉴了进化生物学中的遗传、突变、自然选择以及杂交等现象而发展起来的。遗传算法采用从自然进化中抽象出来的几个算子对参数编码的字符串进行遗传操作,包括复制或选择算子(reproduction or select)、交叉算子(crossover)、变异算子(mutation)。 遗传算法的主要优点: 采用群体方式对目标函数空间进行多线索的并行搜索,不会陷入局部极小点; 只需要可行解目标函数的值,而不需要其他信息,对目标函数的连续性、可微性没有要求,使用方便; 解的选择和产生用概率方式,因此具有较强的适应能力和鲁棒性。 5.6.2基于神经网络算法的机器人避障方法 神经网络(neural network)是一种模仿生物神经网络的结构和功能的数学模型或计算模型。神经网络由大量的人工神经元连接进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。人工神经网络通常通过一个基于数学统计学类型的学习方法优化,是一种非线性统计性数据建模工具,可以对输入和输出间复杂的关系进行建模。 传统的神经网络路径规划方法往往是建立一个关于机器人从初始位置到目标位置行走路径的神经网络模型,模型输入是传感器信息和机器人前一位置或者前一位置的运动方向,通过对模型训练输出机器人下一位置或者下一位置的运动方向。可以建立基于动态神经网络的机器人避障算法,动态神经网络可以根据机器人环境状态的复杂程度自动地调整其结构,实时地实现机器人的状态与其避障动作之间的映射关系,能有效地减轻机器人的运算压力。还有研究通过使用神经网络避障的同时与混合智能系统(HIS)相连接,可以使移动机器人的认知决策避障能力和人相近。 5.6.3基于模糊控制的机器人避障算法 模糊控制(fuzzy control)是一类应用模糊集合理论的控制方法,它没有像经典控制理论那样把实际情况加以简化从而建立起数学模型,而是通过人的经验和决策进行相应的模糊逻辑推理,并且用具有模糊性的语言来描述整个时变的控制过程。对于移动机器人避障用经典控制理论建立起的数学模型将会非常粗糙,而模糊控制则把经典控制中被简化的部分也综合起来加以考虑。 对于移动机器人避障的模糊控制而言,其关键问题就是要建立合适的模糊控制器,模糊控制器主要完成障碍物距离值的模糊化、避障模糊关系的运算、模糊决策以及避障决策结果的非模糊化处理(精确化)等重要过程,以此来智能地控制移动机器人的避障行为。利用模糊控制理论还可将专家知识或操作人员经验形成的语言规则直接转化为自动控制策略。通常使用模糊规则查询表,用语言知识模型来设计和修正控制算法。 除此之外,还有启发式搜索算法、基于行为的路径规划算法、基于再激励学习的路径规划算法等避障算法,也都在移动机器人的避障研究中取得了很好的成果。 随着计算机技术、传感器技术、人工智能的发展,移动机器的避障及自主导航技术已经取得了丰硕的研究成果,应用领域也在不断地扩大,应用复杂程度也越来越高。移动机器人的自主寻路要求已经从之前简单的功能实现提升到可靠性、通用性、高效率上来,因此对其相关技术提出了更高的要求。然而,至今没有任何一种方法能够在任意环境使机器人进行有效的避障,如何克服相关算法的局限性是今后工作的研究方向之一。可以看出,不管是传统算法还是新兴的智能算法都有其适用与不适用的环境,通过传统算法与智能算法之间的相互融合,克服单个算法的缺陷,增强整体的适用性,现在已经有很多这方面的研究,以后仍将是研究热点之一。