《2023人工智能机器人.docx》由会员分享,可在线阅读,更多相关《2023人工智能机器人.docx(74页珍藏版)》请在三一办公上搜索。
1、人工智能机器人目录1.1 机器人51.2 机器人硬件71.2.1 机器人的硬件层面分类71.2.2 感知世界91.2.3 产生运动121.3 机器人学解决哪些问题131.4 机器人感知151.4.1 定位与地图构建161.4.2 其他感知类型221.4.3 机器人感知中的监督学习与无监督学习231.5 规划与控制251.5.1 构形空间251.5.2 运动规划301.5.3 轨迹跟踪控制42规划与策略471.5.4 最优控制471.5.5 规划不确定的运动501.5.6 机器人学中的强化学习541.5.7 利用模型54利用其他信息561.5.8 人类与机器人571.5.9 人类作为近似理性的智
2、能体581.5.10 预测人类动作591.5.11 人类对机器人的预测611512人类作为黑箱智能体621513学习做人类期望的事情631 .偏好学习:学习代价函数632 .直接从模仿中学习策略651.5.14 其他机器人框架681.5.15 反应式控制器681.5.16 包容架构691.5.17 应用领域72小结76在本文中,智能体被赋予传感器和实体效应器,以便它们在真实世界中四处走动、完成各种任务。1.1机器人机器人是通过操纵真实世界去完成任务的实体智能体。为此,它们配备了像腿、轮子、关节和夹具之类的效应器(effector)。效应器用于对环境施加物理力量。这时,会发生一些事情:机器人的状
3、态可能改变(例如,一辆车旋转车轮,促使它在路面上行进),环境的状态可能改变(例如,机械臂使用夹具推动马克杯滑过吧台),甚至连机器人周围的人类的状态都可能改变(例如,外骨骼运动会改变人腿的状态,或移动式机器人向电梯门前进,引起人类的注意并好心地为机器人让路,甚至帮它按下按钮)。机器人还配备了传感器,这使得它们能够感知其所处的环境。目前的机器人使用各种各样的传感器,包括摄像头、雷达、激光和麦克风,以便测量环境和周围人类的状态,而陀螺仪、压力与扭矩传感器和加速度计则用来测量机器人自身的状态。对机器人来说,最大化地发挥预计的功效意味着选择如何驱动其效应器施加正确的力,也就是能够使状态向积累最多预期奖励
4、的方向变化。最终,机器人会试图在物理世界中完成某些任务。机器人在部分可观测且随机的环境中运作:摄像头看不到拐角背后,齿轮则可能打滑。此外,在相同环境下人的行动也无法预测,因此机器人需要对其进行预测。机器人通常将其所处的环境建模为连续状态空间(机器人的位置具有连续的坐标)和连续动作空间(机器人发送到电动机的电流也是以连续单位测量的)。一些机器人运行于高维空间:汽车需要知道其自身和周围智能体的位置、朝向和速度,机械臂有六七个可以相互独立运动的关节,人形机器人则具有数百个关节。机器人的学习是受约束的,因为真实世界顽固地拒绝比真实时间运行得更快。在模拟环境中,可以使用学习算法(如第22章所述的Q学习)
5、在几小时内从几百万次试验中学习。在真实环境中,运行这些试验可能需要花掉数年,机器人也无法承担可能导致损害的试验风险(因此也无法从中学习)。因此,将从模拟环境中学到的东西转移到真正的机器人上,也就是从模拟到现实的问题,是热门的研究领域。实用的机器人系统需要体现关于机器人的先验知识、物理环境和要执行的任务,以便机器人可以快速学习、安全运行。机器人综合了我们在本书中所看到的许多概念,包括概率状态估计、感知、规划、无监督学习、强化学习和博弈论。对其中一些概念来说,机器人学在此处的作用是提供一个具有挑战性的应用范例。本文还会引入其他新概念,例如,对于一些我们先前只讲过离散情形的技术,本文中会介绍其连续版
6、本。1.2 机器人硬件本书到目前为止采用的一直是智能体架构,即传感器、效应器和处理器,并一直专注于智能体程序。但实际中,成功的机器人对适用于任务的传感器和效应器设计的依赖并不少于智能体程序。1.2.1 机器人的硬件层面分类当你想到机器人时,你可能会想象它有一个脑袋和两条胳膊,用腿或轮子移动。这种拟人机器人(anthropomorphicrobot)在电影终结者和动画杰森一家这样的虚构作品中十分流行。但真正的机器人有各种各样的外形和大小。机械手(manipulator)只是机器手臂。它们不需要附加在机器人的身体上,可能只是被螺栓固定在桌面或地板上,就像在工厂里那样(图26-la)0一些机械手(如
7、用来组装汽车的机械手)的载荷很大。而另一些机械手(如装在轮椅上用于帮助运动障碍者的机械手,见图261b)不能负重太多,但在人类环境中更安全。图264(a)具有定制末端效应器的工业机器人。图片来源:Macor/123RFo(b)安装在轮椅上的KinOVaJACOAssistiveRobot机械臂。KinoVa和JACo是KinoVa股份有限公司的商标移动机器人(mobilerobot)使用轮子、腿或螺旋桨在环境中移动。四旋翼无人机(quadcopterdrone)是一种无人驾般航空器(unmannedaerialvehicle,UAV),自主水下航行器(autonomousunderwaterv
8、ehicle,AUV)则在海底漫游。许爹移动机器人(如酒店的吸尘机器人或者毛巾递送机器人)只待在室内,并用轮子移动。在室外,则有自主无人车(autonomouscar),以及甚至能在火星上探索地形的巡视器(rover)(图26-2)。最后,腿式机器人(Ieggedrobot)用于在轮子无法通行的恶劣地形行动。它的缺点在于,正确地控制腿比转动车轮更具有挑战性。其他类型的机器人包括假体机器人、外骨骼机器人、有翼机器人、蜂群机器人和全屋就是一个机器人的智能环境。(b)图262(a)美国国家航空航天局的好奇号巡视器在火星上自拍。图片来自美国国家航空航天局。(b)Skydio无人机伴随一家人骑行。图片由
9、Skydio提供1.2.2 感知世界传感器是机器人与环境之间的感知接口。摄像头之类的被动传感器(passivesensor)是环境的真实状态观察者:它们捕获环境中的信号。如声呐之类的主动传感器(activeSenSor)则向环境发送能量,它们依赖能量会反射回传感器这样的规律。主动传感器通常能比被动传感器提供更多信息,但代价是增加能耗,并面临同时使用的多个被动传感器互相干扰的风险。我们也可以根据传感器是用于感知环境、感知机器人位置还是感知机器人的内部配置对其分类。测距仪(rangefinder)是用于测量与周围物体距离的传感器。声呐(sonar)传感器是发射有向声波的测距仪,当声波被物体反射,部
10、分声波就会回到传感器。返回信号的强度和时间表明与周围物体的距离。声呐是最受欢迎的自主水下航行器,在早期室内机器人中也十分流行。立体视觉(stereovision)(见25.6节)依靠多个相机从稍有不同的视角对环境进行成像,分析图像中的视差来计算与周围物体的距离。对地面移动机器人来说,声呐和立体视觉现在已很少使用,因为它们的精度不够可靠。KineCt是一种流行的低成本传感器,它结合了相机和结构光投影仪,能够将网格线的形状投射到场景中。摄像头观测网格的弯曲情况,就可以将场景中物体的形状反馈给机器人。根据需要,这种投影可以是红外光,以使其不与其他传感器(如人眼)发生干扰。大多数地面机器人现在配备有主
11、动光学测距仪。像声呐传感器一样,光学距离传感器发射主动信号(光)并测量信号返回传感器的时间。图26-3a展示了一台飞行时间照相机(time-of-flightcamera)o这台照相机能以最高60帧/秒的速度获取图26-3b所示的距离成像。无人汽车常常使用扫描激光雷达(scanninglidar),Iidar是Iightdetectionandranging(光探测与测距)的缩写。这是一种发射激光束并感知反射光束的主动传感器,它能够在100m处给出精度小于1厘米的距离测量。它们使用复杂精密的镜子或旋转机构来对环境扫射光束,并绘制地图。扫描光雷达在长距离下的性能通常好于飞行时间照相机,在明亮的白
12、天也有较好的性能。图263(a)飞行时间照相机。图片由MeSaImaging股份有限公司提供。(b)用该照相机得到的三维距离成像。这种距离成像使机器人检测附近的障碍物和物体成为可能。图片由WiHoWGarage有限责任公司提供雷达(radar)通常是航空器(自主或非自主)最青睐的距离探测传感器。雷达传感器可以探测以千米计的距离,与光学传感器相比,它的优势在于能够穿透云雾。而近端距离探测则有触觉传感器(tactilesensor),如触须传感器、碰撞板传感器和触敏表皮传感器。这些传感器基于物理接触测量距离,仅用于测量距离机器人非常近的物体。第二个重要的类别是位置传感器(Iocationsenso
13、r)。许多位置传感转使用距离测量技术作为确定距离的首要组成部分。在室外,全球定位系统(globalpositioningsystem,GPS)是定位问题最常见的解决方案。GPS测量与发射脉冲信号的卫星的距离。现在,轨道上有31颗正常运行的GPS卫星,并有24颗Glonass卫星。GSNASS是俄罗斯的卫星定位系统。GPS接收器可以通过分析相移来解算其与卫星的距离。通过对多个卫星使用三角定位法,GPS接收器可以确定其在地球上的绝对位置,精度可以到米。差分GPS(differentialGPS)需要用到已知其位置的另一个地面接收器,在理想条件下可以提供毫米级定位。遗憾的是,GPS无法在室内或水下工
14、作。室内定位通常通过在环境中的已知位置增设信标来实现。许多室内环境布满了无线基站,这有助于机器人通过分析无线信号来定位。在水下,主动声呐信标可以提供位置感知,它使用声音告知AUV与信标的相对距离。第三个重要的类别是本体感受传感器(proprioceptivesensor),它将自身运动告知机器人。要测量机器人关节的确切状态,电动机通常配有轴编码器(shaftencoder),它能够精确测量轴的运动角度。在机械臂上,轴编码器有助于追踪关节位置。在移动机器人上,轴编码器报告轮子的旋转以便于计程(Odometry),也就是测量行进距离。遗憾的是,轮子会漂移并打滑,因此计程只在短距离移动时才比较精确。
15、像风力、洋流这样的外力会增加位置的不确定性。惯性传感器(inertialsensor),如陀螺仪等,通过依靠质量对速度变化的抗性来减小这种不确定性。机器人状态的其他重要方面使用力传感器(forcesensor)和扭矩传感器(torquesensor)来测量。当机器人处理确切尺寸未知的易碎物体时,这些传感器是不可或缺的。想象一吨重的机械臂在拧紧灯泡。它很容易就会用力过猛而弄碎灯泡。力传感器使机器人能够感知它用了多大的力来握灯泡,扭矩传感器则使机器人能够感知它用了多大的力来旋转。高级的传感器可以在3个平移方向和3个旋转方向上测量力的大小。它们能够以每秒几百次的频率进行测量,因此,机器人可以快速检测
16、到不希望出现的力并在捏碎灯泡前对其动作进行纠正。不过,为机器人配备高端传感器和足以监控它们的计算能力则又是一个难题。1.2.3 产生运动使效应器运动的机械装置叫作执行器(actuator),其中包括变速箱、齿轮、电缆和链接。最常见的执行器是电动执行器(electricactuator),它使用电力来旋转电动机。它们大多用于需要旋转运动的系统,如机械臂的关节。液压执行器(hydraulicactuator)使用加压的液压液(如油或水),而气动执行器(PneUmatiCactuator)则使用压缩气体来产生机械运动。执行器常用于移动关节,关节则连在机器人固定的主体或其他活动连接物上。手臂和腿就有这
17、样的关节。旋转关节(revolutejoint)的一个连接物相对于另一个连接物旋转。而平移关节(PriSmatiCjoint)的一个连接物沿着另一个连接物滑动。这些都是单轴关节(只有一个运动轴)。其他类型的关节包括球形关节、柱状关节和平面关节,这些都属于多轴关节。机器人使用夹具与环境中的物体交互。最简单的夹具是平行钳夹具(paralleljawgripper),它有两根“手指”和一个执行器,该执行器能够合拢两根手指来抓住物体。由于结构简单,这种效应器让人又爱又恨。三指夹具提供稍高的灵活性,却不失简洁性。所有夹具中最复杂的是仿人(拟人)手。例如,ShadOW灵巧手(ShadowDexterous
18、Hand)总共有20个执行器。这为复杂的操作(包括掌上动作操控,想想拿起手机并在手中对其进行旋转,使其右端向上)提供了更多的自由度,但这种自由度是有代价的学会控制这些复杂的夹具更困难。1.3 机器人学解决哪些问题我们已经知道机器人硬件是什么样子了,现在可以考虑驱动这些硬件以实现我们的目标的智能体程序了。首先,我们需要确定这个智能体的计算框架。我们已经讨论了确定性环境下的搜索、随机但完全可观测环境下的MDP、部分可观测环境下的Pc)MDP以及在智能体并非单独行动情形下的博弈。给定一个计算框架,我们需要实现其要素奖励或效用函数、状态、动作、观测空间等。我们已经讲过,机器人学问题是非确定性的、部分可
19、观测的以及多智能体的。使用第18章的博弈论概念,我们可以看到,有时候智能体之间是合作的,而有时候是竞争的。在只能容纳一个智能体先通过的狭窄走廊中,机器人和人类会因为都想确保不会撞到对方而协作。但在一些情况下,它们也可能有一些竞争,以更快到达目的地。如果机器人太过于礼貌而不停让路,它就可能卡在拥挤的环境中而无法到达目的地。因此,当机器人在已知环境中单独行动时,它们要解决的问题可以形式化为MDP;当它们缺失了某些信息时,问题就会变成PoMDP;当它们在人类附近行动时,问题常常可以用博弈来形式化。在这种形式化下,机器人的奖励是什么?通常,机器人的动作是为人类服务,例如,为医院的患者送餐是为了得到患者
20、的奖励,而非机器人自身的奖励。在大多数机器人学的问题设定下,即使机器人设计者可能试着确定了足够好的代理奖励函数,真正的奖励函数也隐藏在机器人试图帮助的用户之中。机器人要么需要理解用户的需求,要么需要依赖工程师确定对用户需求的估计。对于机器人的动作、状态和观测空间,最常见的形式是,观测就是原始的传感器反馈(例如,来自摄像头的图像,或激光雷达收到的反射的激光),动作就是发送到电动机的原始电流,而状态就是机器人决策所需的知识。这就意味着,在底层感知与电动机控制和机器人要做出的顶层规划之间,存在巨大的鸿沟。要填平这个鸿沟,机器人科学家分离问题的不同层面以对其进行简化。例如,我们知道,当我们恰当地求解P
21、OMDP时,感知与动作会进行交互:感知告知智能体哪些动作有道理,而当智能体采取动作收集到对未来时刻有价值的信息时,也会告知感知。但机器人往往从动作中剥离感知,消耗掉感知的输出并假装自己在未来不会再收集到任何新信息。另外,我们还需要分层规划,因为像“去咖啡馆这样的顶层目标与“旋转主轴1。”这样的电动机指令相去甚远。在机器人学中,我们往往需要3级层次。任务规划(taskplanning)层级为高层级动作确定规划或策略,有时也称为原始动作或子目标,如移动到门口、打开门、走到电梯、按下按钮等。随后的运动规划(motionplanning)层级负责找到使机器人从一个点到另一个点的路径,完成每个子目标。最
22、后,控制(control)层级用于使用机器人的执行器完成规划的运动。由于任务规划层级通常定义在离散的状态和动作之上,因此本文将主要介绍运动规划和控制。分别地,偏好学习(PreferenCelearning)负责估计最终用户的目标,而人类预测(PeOPleprediction)则用于预测机器人环境中其他人类的动作。它们一同确定机器人的行为。当我们将问题分解为不同部分来降低其复杂度时,同时就放弃了各部分互相促进的可能。动作可以有助于改善感知,也能确定哪种感知是有用的。类似地,运动层级做出的决策在考虑到如何追踪这一运动时可能不是最佳选择,或在任务层级做出的决策可能使任务规划在运动层级无法实现。因此,
23、在各个层级分别取得的进展也带来对其进行重新整合的迫切需要:同时进行运动规划和控制,同时进行任务规划和运动规划,重新整合感知、预测和动作,也就是使反馈形成循环。现在的机器人学注重在各个领域取得进展,并在进展之上实现更好的整合。1.4 机器人感知感知是机器人将传感器测得的数据映射到环境的内部表示的过程。这一过程用到第25章讲述的很多计算机视觉技术。但机器人学的感知还必须处理其他类型的传感器,如光雷达和触觉传感器。感知很难,因为传感器有噪声,而环境是部分可观测的、不可预测的,并且往往是动态的。也就是说,机器人面临着14.2节所述的状态估计(或滤波)的所有问题。通常来说,机器人的良好内部表示有3个性质
24、。 它们具有能使机器人进行良好决策的足够信息。 它们是结构化的,进而可以高效更新。 它们自然而直观,也就是说,内部变量对应真实世界中的自然状态变量。在第14章,我们知道卡尔曼滤波器、HMM以及动态贝叶斯网络可以表示转移以及部分可观测环境的传感器模型,我们也阐述了更新信念状态(也就是环境状态变量的后验分布)的精确和近似算法。一些用于这一过程的动态贝叶斯网络模型在第14章进行了展示。对于机器人学问题,我们将机器人自身的过往动作作为模型中的已观测变量。图26-4展示了本文所使用的记法:M是环境(包括机器人在内)在时刻/的状态,&是在时刻f接收到的观测值,而A,是在接收到观测值后采取的动作。图264机
25、器人感知可以看作动作和测量序列的时序推断,如本动态决策网络所示我们想从当前信念状态P(X,%,Qg)和新观测ZH计算新的信念状态P(XHlZg我们在14.2节做过同样的事,但此处有两个区别:我们以动作和观测作为条件,并处理连续变量而非离散变量。这样,我们修改1421节的递归滤波方程式(14-5)来使用积分而非求和:P(Xf+%w%)=P(Zf*IX*)P(Xf+X,q)P(x,IZI八(26-1)该式表明状态变量X在时刻,+1的后验概率是由前一时刻的对应估计递归算出的。这个计算需要先前的动作m和当前的传感器测量Zf+例如,如果我们的目标是开发足球机器人,Xz可能包含足球与机器人的相对位置。后验
26、概率P(Xb,Qg)是所有刻画了我们从已有传感器测量和控制所得到的信息的状态的概率分布。式(26-1)告诉我们如何递归地估计这一位置:通过逐渐地加入传感器测量(如摄像头图像)和机器人运动指令。概率P(Xnx,m)称为转移模型或运动模型(motionmodel),而P(ZNlXN)是传感器模型。1.4.1定位与地图构建定位(localization)是找出东西在哪里的问题,包括找到机器人本身。简单起见,我们考虑在平坦的二维世界中的移动机器人。我们假设机器人已知该环境的精确地图。(图267就展示了这样的一种地图。)这种移动机器人的位姿使用它的两个值为X和y的笛卡儿坐标及其值为8的朝向定义,如图26
27、-5a所示。如学我们将其写作向量中的3个值,则任意特定状态可以由X=,6)T给出。这些东西目前看起来不错。图265(a)移动机器人的简化运动模型。机器人用圆表示,圆内的半径线表示机器人的前进方向。状态勺包括位置(X和脸向角。就状态勺+1通过位置的更新和力向的更新耳财W在处还显象加个在时刻r观测到的地标。(b)距离扫描传感器模型。对于给定的距离扫描(Zi,z,z”ZJ我们展示了两个可能的机器人位姿。左边的位姿生成该距离扫描的可能性远大于右边在运动学近似中,每个动作包含两个“瞬时”速度平移速度Uf和旋转速度电。对于很小的时间间隔Af,这种机器人的一个粗略的确定性运动模型由下式给出:vQtCOSej
28、+=/(Xf2%)=X,+vtMSinaWJ符号文表示确定性状态预测。当然,真实的机器人在某种程度上来说不可预测。这通常使用均值为/(X,匕,例)、协方差为的高斯分布建模。(附录A介绍了数学定义。)P(Xqx,匕M)=(戈H,J这个概率分布是机器人的运动模型。它对运动由对机器人位置的影响建模。接下来,我们需要一个传感器模型。我们要考虑两种传感器模型。第一种模型假设传感器探测的是环境中稳定的、可辨认的特征,这称为地标(Iandmark)。审器人报告每个地标的距离和方位。丁假设机器人的状态为E=(XQ,,“)它感知到一个位置已知为(如M)T的地标。在没有噪声的情况下,距离和方位的预测可以用简单的几
29、何学计算(见图26-5a):X)=J(Z-Z)2+(匕一二)2arctan-t同样,噪声会使测量失真。为简单起见,假设噪声服从协方差为工的高斯分布,则传感器模型为P(ZN)=M(2,E)距离传感器的传感器阵列(SenSOrarray)使用有所不同的传感器模型,每个传感器与机器人有固定的方位角。这些传感器产生一个距离值向量Z,=(z1,zw)o给定位姿孙令U为毛中沿着第/个波束方向算得的与障碍物的最近距离。如前所述,它会被高斯噪声干扰。通常,我们假设不同波束的误差是独立同分布的,因此有P(Zrw)=*”/=1图265b展示了一个例子,它包含四波束距离扫描和两个可能的机器人位姿,其中一个很有可能产
30、生了观测到的扫描结果,而另一个则没有。比较距离扫描模型与地标模型,我们看到距离扫描模型好在不需要在呈现距离扫描结果前识别地标。实际上,在图265b中,机器人面对一面没有特征的墙。但是,如果有可见的、可识别的地标,这些地标就能很快给出定位。14.4节描述了卡尔曼滤波器,它将信念状态用单个多元高斯分布表示,而粒子滤波器则用一系列对应状态的粒子表示信念状态。大多数定位算法使用其中一个来表示机器人的信念P(XjZSamJ使用粒子滤波的定位称为蒙特卡罗定位(MonteCarlolocalization,MCDoMCL算法是图14-17中的粒子滤波算法的实例。我们只需提供合适的运动模型和传感器模型即可。图
31、26-6展示了其中的一个版本,它使用距离扫描传感器模型。算法的操作如图26-7所示,其中机器人试图找出它在办公大楼中的位置。第一张图片中,根据先验概率,粒子均匀分布,代表机器人位置的全局不确定性。第二张图片中,第一组测量值抵达,粒子在高后验信念的区域堆积。第三张图中,充足的测量数据使粒子全部位于一个位置。functionMonte-Carlo-Localizaton(,z,NfP(X,Xfv,fl?),P(zz),map)returns下一时间步的样本集Sinputs:a,机器人速度y以及z,历个距离扫描数据点的向盘P(Xlx匕,运动模型P(Z力,距离传感器噪声模型map,环境的二维地图per
32、sistent:S1N个样本的向量localvariables:Wt”个权重的向量S,M个样本的临时向量ifS为空thenfori=toNdo/初始化阶段M-P(4)的样本forZ=ItONdO/更新循环S仞P(XTMs力的样本师-1for=lt。MdoZ*4RayCast(/,X=Si,map)%)一理P(ZX)Weighted-Sample-With-Replacement(,S,W)returnX图266使用有独立噪声的距离扫描传感器模型的蒙特卡罗定位算法a)(c)图267蒙特卡罗定位,这是一种用于移动机器人定位的粒子滤波算法。(a)起初,全局具有不确定性。(b)在导航到(对称的)走廊后
33、形成近似双峰的不确定性。(C)在进入到特定的房间后形成单峰不确定性卡尔曼滤波是定位的另一种主要方式。一个卡尔曼滤波器表示一个高斯分布的后验概率P(XJZsa“J高斯分布的均值为,,协方差为工O高斯信念的主要问题是它仅在线性运动模型/和线性测量模型力下闭合。对于非线性的井口,更新滤波器的结果通常不符合高斯分布。因此,使用卡尔曼滤波器的定位算法线性化了运动模型和传感器模型。线性化是用线性函数对非线性函数的局部近似。图26-8展示了线性化一个(一维)机器人运动模型的概念。左图描述了非线性运动模型/(七,4)(动作变量m在图中省略,因为它不影响线性化)。右图函数被近似为线性函数.七,4)。该线性函数选
34、择了作,处的切线,即我们在时刻,的平均状态估计。这种线性化叫作一阶泰勒展开(Taylorexpansion)o通过泰勒展开来线性化/和力的卡尔曼滤波器叫住扩展卡尔曼滤波器(extendedKalmanfilter,EKF)。图26-9展示了运行扩展卡尔曼滤波定位算法的机器人的一系列估计。图268线性化运动模型的一维图示:(a)函物以及均值凡和协方差区间(基于Z)在时刻件1 的投影。(b)线性化后的函数表示/在作的切线。均值瞰投影是正确的,而协方差的投影 二T则与工不同机器人卜地标图269使用扩展卡尔曼滤波器的定位。机器人沿直线运动。在行进中,它位置的不确定性增 力口,如误差椭圆所示。当它观测到
35、位置已知的地标时,不确定性减小当机器人运动时.,对其位置估计的不确定性增加,如误差椭圆所示。当它感应到相对已知位置的地标的距离和方位时,其误差减小,而在看不到地标后误差又增大。如果地标很容易识别,则EKF算法效果很好。否则,后验概率分布可能会是多峰的,如图26-7b所示。需要知道地标的信息是图15-3讨论过的数据关联问题的一个例子。在某些情况下,环境地图不可取得。因此机器人必须获取地图。这有点像先有鸡还是先有蛋的问题:机器人必须根据它不太了解的地图导航,同时还要在不知道自己的确切位置时构建地图。这一问题对于很多机器人应用很重要,并且得到了广泛的研究。这一领域叫作同时定位与地图构建(SimUIt
36、aneOUSk)CaliZatiOnandmaPPing,SLAM)。许多不同的概率方法解决了SLAM问题,包括上述的扩展卡尔曼滤波器。使用EFK很直接:只需扩展状态向量,纳入环境中地标的位置即可。幸运的是,EKF更新规模是二次增长的,因此对小型地图来说(如几百个地标),计算是相当可行的。更复杂的地图常使用图松弛方法获得,类似于第13章讨论的贝叶斯网络推断。期望最大化也常用于SLAMo1.4.2其他感知类型并非所有的机器人感知都涉及定位或地图构建。机器人也感知温度、气味、声音等。这些数值中的大部分可以用某种动态贝叶斯网络来估计。这种估计器所需的仅仅是刻画状态变量随时间变化的条件概率分布,以及描
37、述测量数据与状态变量关系的传感器模型。将机器人规划为反应型智能体而无须显式地对状态的概率分布进行推理也是可以的,我们将在2691节对此进行介绍。机器人学的趋势明显朝着有良定义的语义的表示的方向发展。概率技术在许多困难的问题(如定位和地图构建)上的表现超过了其他方法。不过,统计方法有时候过于不便,在实际中更简单的解决方案可能同样有效。要确定采取哪种方法,最好的办法是在真正的机器人上亲自实践。1.43机器人感知中的监督学习与无监督学习机器学习在机器人感知中扮演着重要的角色,当最佳的内部表示未知时尤其如此。一个常见的方法是用无监督机器学习方法将高维传感器流映射到低维空间(见第19章)。这种方法称为低
38、维嵌入(Iowdimensionalembedding)o机器学习使从数据中学习传感器模型和运动模型,并同时发现合适的内部表示成为可能。另一种机器学习方法使机器人能够连续地适应传感器测量数据中的重大变化。拍下你自己从阳光照射的地方走进霓虹灯照明的昏暗的房间的样子。显然,室内的东西更暗。但光源的改变同时改变了颜色:霓虹灯光的绿色分量比阳光的绿色分量更强。但我们出于某些原因,并不能发觉这种变化。如果我们与别人一同进入霓虹灯光照明的房间,我们并不会认为他们的脸突然变绿了。我们的感知快速地适应了新的光照条件,我们的大脑忽略了这种不同。适应性感知技术使机器人能够根据这种变化进行调节。图26-10展示了一
39、个例子,它来自自动驾驶领域。此处,一辆无人地面车辆的分类器适应了“可行驶表面”的概念。它的原理是什么?机器人使用激光为分类器提供机器人面前的一小片区域。如果这片区域被激光测距扫描视为平整的,则它就用作“可行驶表面”概念的训练正样本。类似于第20章讨论的EM算法的混合高斯技术随后被训练用于识别这一小块样本的特定颜色和纹理系数。图26-10中的图像是对整个图像应用这种分类器的结图2610使用适应性视觉取得的一系列“可行驶表面”分类。(a)只有路面被分类为可行驶的(粉色区域)。蓝色的V形线表示车辆的行驶方向。(b)车辆被迫驶离路面,分类器开始将部分草地分类为可行驶的。(C)车辆更新了它的可行驶表面模
40、型,以将草地视作路面。图片由SebastianThrUn提供使机器人自己收集训练数据(和标签)的方法叫作自监督(SeFsupervised)o这个例子中,机器人使用机器学习来让对地形分类很有效的短距传感器变得能够看得更远。这就使机器人能开得更快,只在传感器模型表明此处有需要用短距传感器更仔细地检查的地形时才减速。1.5规划与控制机器人的思考最终会落实到决定如何移动,也就是从抽象的任务层级一直落实到发送到电动机的电流。本节中,为简化问题,我们假设感知(以及预测,如果有必要)已经给定,那么世界变为可观测的。我们还假设世界具有确定性的转移(动态)。我们先将运动从控制中分离。我们将路径定义为机器人(或
41、机器人部件,如手臂)将遵循的几何空间中的一系列点。这涉及第3章的概念,但此处我们的意思是空间中的一系列点,而非一系列离散动作。找出良好路径的任务叫作运动规划。有了路径以后,我们执行一个动作序列来跟踪这条路径称为轨迹跟踪控制(trajectorytrackingcontrol)o一条轨迹是一条路径中每个点具有对应时间的路径。一条路径只会说“从A到3到。之类的东西,而一条轨迹则会说“从A开始,用1秒到达-再用1.5秒到达C-以此类推。1.5.1构形空间假设一个简单的机器人R的形状为直角三角形,如图26-11左下角的淡紫色三角形所示。机器人需要规划路径来躲避一个矩形障碍物0。机器人在其中移动的空间叫
42、作工作空间(WOrkSPace)。这个机器人可以在孙平面朝任意方向移动,但不能旋转。图26-Ila展示了机器人的5个可能位置(用虚线表示),它们都与障碍物尽可能地接近。图26/1一个可以平移的简单机器人,它需要躲避矩形障碍物。(a)工作空间,(b)构形空间机器人的身体可以用点,y)或点,必Z)(对三维空间机器人来说)的点集表示,障碍物也一样。在这种表示之下,躲避障碍物意味着机器人上的点不与障碍物上的任何点重叠。运动规划需要在点集上进行运算,这是很复杂且费时的。我们可以用一种表示方法来简化计算,其中用一个抽象多维空间中的点表示所有构成机器人的点,我们称之为构形空间(configurationsp
43、ace),或C空间(Cspace)。思路是,构成机器人的点集是可以计算的,只要我们知道机器人的基本尺寸数据(对这里的三角形机器人来说,三边的长度就可以了)以及机器人的当前位姿,也就是其位置与朝向。对这里的三角形机器人来说,二维C空间就足够了:如果我们知道机器人上某个点的坐标(这里用它的直角顶点),就可以算出三角形的所有其他点的位置(因为我们知道三角形的大小和形状,且三角形不能旋转)。在图26-11的左下角,淡紫色三角形可以用构形(0,0)表示Q如果我们改变规则,使机器人可以旋转,则我们需要3个维度,y,4,以便于计算每个点的位置。这里的。是机器人在平面上的旋转角度。如果机器人具有拉伸自己的能力
44、,能够根据缩放因子S均匀地变大,则C空间就会有4个维度,即j,4s)现在我们仅使用简单的二维C空间,且机器人不可旋转。接下来的任务是估计C空间中障碍物所在的点的位置。考虑图26-11左图所示的5个虚线三角形,注意每个三角形中直角顶点的位置。然后想象三角形能够滑动的所有位置。显然,直角顶点不能进入障碍物内部,也不可能比图示的5个虚线三角形中的顶点更接近障碍物。因此,你可以发现直角顶点无法到达的区域(也就是C空间障碍物)就是图2611右图所示的五边形,用CObS表示。在日常语言中,我们提及机器人所面对的障碍物时,指的是桌子、椅子或者墙。但数学概念稍微简单一点,前提是我们将这些障碍物想象成恰好具有各
45、个不连通分量的单个“障碍物”。大体上来说,C空间障碍物就是C中所有点4的集合,使得如果将机器人放置于这个构形中,其工作空间几何位置就会与工作空间中的障碍物位置相交。令工作空间中的障碍物为点集O,并令在构形4中的机器人上的点的点集为/(q),则C空间障碍物定义为GbS=夕:且/(q)11o且自由空间(freespace)为C.=CCobS对有活动部件的机器人来说,C空间则更有趣。考虑图26-12a所示的二连杆机械臂。它被用螺栓固定在桌子上,因此基座不会移动,但它的手臂有两个独立运动的关节我们称之为自由度(degreeoffreedom,DOF)o活动关节改变了肘部、夹具和手臂上所有点的y)坐标。
46、手臂的构形空间是二维的,即(4e,%k),其中“是肩关节的角度,久卜则是肘关节的角度。中、图2612(a)有两个自由度的机械臂的工作空间表示。工作空间是一个盒子,其中扁平障碍物悬挂在天花板上。(b)同一个机器人的构形空间。只有空间中的白色区域是没有碰撞的构 形。图中的点对应左图所示的机器人构形知道我们的二连杆机械臂的构形意味着我们可以通过简单的三角几何确定机械臂上每个点的位置。一般来说,正向运动学(forwardkinematics)映射是函数hCw它以一个构形作为输入并输出该构形下机器人上特定点。的位置。机器人的终端效应器JEE的正向运动学映射特别有用。特定构形4下机器人上的所有点的集合使用
47、4(。)U力表示:4q)=U(q)b而反向问题是将机器人上的点需要处于的位置映射到机器人需要处于的构形。这称为逆向运动学(inversekinematics):/&,:x邛qC受限于约束。/,(q)=x有时逆向运动学映射不仅需要输入位置,还需要输入所需的朝向。例如,当我们想让机械手抓住一个物体时,我们可以算出需要其夹具所处的位置和朝向,并使用逆向运动学来确定该机器人的目标构形。随后规划器需要找出在不触碰障碍物的情况下使机器人从当前构形变成目标构形的方法。工作空间中的障碍物常被描述为简单的几何形式特别是在倾向于关注于多边形障碍物的机器人学教科书中。但这些障碍物在构形空间中是什么样子?对二连杆机械臂来说,工作空间中的简单障碍物(如一条垂直的线)在C空间中具有非常复杂的形状,如图26-12b所示。上色不同的区域对应机器人工作空间的不同障碍:围绕整个自由空间的深色区域对应机器人与自身碰撞的构形。容易看出肩关节或肘关节角度的极端取值会导致这种违规情况。机器人两边的两个椭圆形区域对应安装机器人的桌子,另一个圆形区域对应左边的墙。最后,构形空间中最有趣的物体是从天花板上垂下来阻碍机器人运动的障碍物。这个物体在构形空间中的形状很好玩:它高度非线性,有些地方甚至是凹的。做一点点想象,读者就能明白夹具在左上端时的形状。我们鼓励读者暂停一下来研究这幅图。C空间中障碍物的形状一点也不直观!图26-12b
链接地址:https://www.31ppt.com/p-6878484.html