论文查重我们更专业
客服热线:400-06850161

机器人避障算法

发布时间:2022-01-25 10:10:45 人气:

  随着机器人的发展,机器人已经开始应用到未知环境,对于未知环境的探索带来了新的挑战。移动机器人在路径规划过程中不可避免的遇到各种各样的障碍物。所以,研究具有灵活规划和避障功能的移动机器人及其在未知条件下的路径规划有非常重要的意义。

机器人避障算法(图1)

  自主式机器人在研发成功之后,机器人是不需要人工进行调节,就能够在各种不同环境与突发情况下独自完成每项模拟任务。自主式机器人是集感知模块、处理模块、决策模块、执行模块等于一体的个体,能够进行独立地活动和处理问题,就如同一个有思想的人类一样。全自主移动机器人有两个重要的特点:自主性、适应性。自主性指的是全自主移动机器人能够在一定的环境中,无需依靠任何外部链接与控制,能够达到完全自主性的执行一定的任务。适应性指的是全自主移动机器人可以实时检测和识别周围的环境,根据周围环境的改变,而进行自身数据的调整,以改变自身动作达到对紧急情况进行处理。因此就需要机器人能够进行主动的自学习。


  避障算法指的是当工作环境中存在障碍物时,能够在从起始点到目标点的过程中选择一条最优路径,使机器人能够躲避行进过程中的障碍物,不会与障碍物发生碰撞接触。本文首先介绍了强化学习的发展、应用现状以及基础理论知识,详细地阐述了Q-学习算法的实现方法-BP神经网络法,它的基本思想和实现结构。在此基础上,构建一个能够进行仿真实验的仿真平台,模拟自主式移动机器人在未知环境下进行安全地、自主地从起始点到达目标点。最后,再通过仿真实验,验证了利用Q-学习来实现机器人的行为选择控制是有效的、是可行的。在此平台进行仿真实验时体现了功能扩充便捷、操作简单、适用范围广的优点。


  本文的主要研究工作如下:


  (1)研究了强化学习系统的概念、特点和原理以及几种重要算法。


  (2)采用BP神经网络实现了移动机器人的Q-学习。


  (3)设计了基于Q-学习的机器人行为选择控制仿真平台,并进行了大量的仿真试验。仿真实验表明,利用Q-学习的方法来进行机器人行为选择控制是有效可行的1.2研究内容


  本课题主要研究机器人避障算法,避障算法是指在有障碍物的工作环境中寻找一条从起始点到目标点的最佳途径。


  主要研究内容包括:


  (1)强化学习的发展史、理论和几种重要算法;


  (2)强化学习的实现方法—BP神经网络法;


  (3)构建了仿真平台,通过自动仿真验证了采用Q学习实现机器人的行为选择控制是可行的、有效的。


  第二章强化学习的理论和算法


  2.1强化学习的概念及特点


  2.1.1强化学习的概念


  强化学习是从环境状态到行为的映射学习,如下图所示。


  图2-1机器人强化学习的典型模型


  图2-1所示的是一个机器人强化学习的模型示意图,在与环境的交互过程中,每一个机器人从环境那里接收到输入i,然后i经过传感器S的滤波,同时它将接受到强化信号r,r受环境中的情况和强化函数R影响。R用来表明机器人执行情况的状况,智能体的行为B一般选择最大化信号总和的动作a,机器人动作a会使环境r产生一些变化,将会构成一个闭环,根据学习的类型的情况,智能体有可能提供也有可能不提供r和R的模型。


  强化学习系统与环境有密切的联系,它们相互作用,它们的关系如图2-2,环境与强化学习系统相互作用的关系。每一个时刻,Agent与环境的作用过程如下:


  图2-2强化学习系统与环境的关系


  (1)Agent以感知的状态作为基础,然后根据某种策略,选择一个动作(是状态下所有可能动作的集合),并将作用于环境;


  (2)Agent感知环境的状态,S是可能状态的集合;


  (3)由于在Agent动作的作用下,环境将转到一个新的状态,并且产生一个强化信号;


  (4)强化信号r将返回给Agent。


  2.1.2强化学习的基本特点


  强化学习系统具有以下特点:


  (1)反应性(Reactive)。即Agent能够从经验中直接获取状态动作规则。


  (2)适应性(Adaptive)。即Agent可以改善它的性能通过利用环境中的反馈信息。


  (3)几乎很少信赖外部的教师信号。因为Agent进行学习只根据强化信号,而强化信号可以获得通过内置的强化机制,所以Agent不需要依赖外部教师信号。


  除此之外,一个强化学习系统还有四个主要的组成要素:策略、奖赏函数、值函数以及可选的环境的模型。


  2.2强化学习算法


  强化学习算法是为了寻找一个策略,以致于使每个状态S的值(或)的值都能够同时达到最大化。即:


  想方设法找出一个策略,使每个状态的值都达到最大化。


  (2.1)


  (2.2)


  对于任何其它策略,都有,状态s为状态集S中的任意状态。此时策略为最优策略,而为最优值函数。


  基于值函数和策略之间的相互作用是强化学习算法的机制,通过利用值函数可以改善策略,而值函数的学习也可以通过利用对策略的评价进行,进而改进值函数。强化学习逐步得到最优的策略和最优的值函数就是在这种相互作用的过程中。


  可用于解决强化学习问题的方法都可以称之为强化学习方法[19]。可将采用Markov决策过程建模的强化学习算法分为两类。一类是策略空间直接搜索法,例如遗传程序设计、遗传算法、模拟退火方法以及一些其他改进方法等。另类是值函数估计法,这是强化学习领域研究使用最为广泛的一种方法。值函数估计的方法主要有:动态(Dynamite Program,DP)、Q学习算法(Q-Learning,Q)、瞬时差分算法(Temporal Difference,To)、蒙特卡罗算法(Monte Carlo Method,MC)等。本文将重点介绍常用的基于值函数估计的强化学习算法动态规划法、瞬时差分法、Q-学习法等。


  2.2.1动态规划法


  动态规划法在数学、计算机科学和经济学中经常使用,它是通过把原问题分解为相对简单的子问题的方式来求解复杂问题的方法。动态规划一般适用于有重叠子问题和最优子结构性质的问题。


  动态规划(dynamic programming)算法是用于解决计算优化决策的算法,它必须依赖于环境建模,而且环境必须具有马尔科夫决策过程(Markov decision process)的特点,也就是说环境的每一步变化由上一个环境的状态所决定。


  MDP模型


  很多强化学习问题基于的一个关键假设就是Agent与环境之间的交互可以被看成一个马尔科夫决策过程(MDP),因此强化学习的强化学习的研究主要集中于对Markov的问题处理。MDP模型即Agent所感知到的当前的环境状态与Agent所选择的动作,将共同决定一个固定的(未知的)概率分布,并决定下一个状态以及即时奖赏。这个模型既是非记忆的也满足Markov特性,在Agent决定最优策略的时候,不需要记住以前的动作和动作。


  Markov决策过程模型一般可以用一个四元组(S,A,T,R)来表示:S表示Agent遇到的可能的状态集合,A表示所有可能的动作集合,是环境状态转移函数,是环境对动作产生的奖赏函数。在每一个离散的时刻t,环境处于状态集合S中的状态,Agent选择A中的一个动作,并转移到下一个状态。状态转移函数表示在状态执行动作转换到状态的概率,用()表示。


  强化学习的目标就是寻求一最优控制策略,使得Agent得到的报酬总和最大。


  动态规划算法像所有强化学习算法一样,需要构造值函数来求得最优策略。动态规划算法通过求解贝尔漫最优方程来求得最优策略,即解下列贝尔漫最优方程如下式子(2.1)和(2.2)求得最优值,。


  (2.3)


  或者


  (2.4)


  动态规划算法是为了把贝尔漫方程作为更新规则,以此获得对目标值函数的估计的精确性。


  采用决策迭代法则(这是建立在对环境变化可能性的事先建模的基础上的,即已知从一个状态到下一个状态的可能性。)先求某一决策的每个状态的值函数,再求得最优决策通过采用某种优化法则。


  设决策的值函数如下式(2.5)。


  (2.5)


  则它对应的决策迭代方案方程为(2.6)。


  (2.6)


  公式(2.6)的原理为:先设定每个状态的初始评价值都是任意值,根据其下一个连续的状态的上一次状态评价值更新每个状态,再加上对其行为的评价值,我们只要确定了下一个状态的更新的可能性,也就知道了环境的下一个变化状态,利用此原则遍历环境的可能的状态,依照这个方法更新每个状态的评价值,这种更新有时是有序的,有时是无序的,每个状态的更新是一次的就是有序的,程序一般需要有两个数组,一个存放更新过的各个状态的评价值,一个存放旧的状态评价值序列:无序的更新原则是只需要一个数组,式(2.6)中的右部分状态值不一定是更新过的,有可能是上一次没有更新过的评价值,也有可能是更新几次后的值,无序的迭代更新方法还有另一种叫法为异步动态规划法。迭代更新是收敛的,当时,从收敛于。


  动态规划算法虽然能做出最明智的决定,但它必须对一切了如执掌之后才能做到,所以并非所有问题都能适用,这时可以采用其它最优化算法。


  2.2.2瞬时差分法(TD)


  强化学习中最重要、应用最广泛的方法中就有瞬时差分方法。瞬时差分可以看作是动态规划和蒙特卡洛方法的一个结合。同样瞬时差分方法不需要任何环境的动态模型可以直接从经验中学习,同时它也是一种增量式的学习方法,不需要等到整个事件全都结束,可以一步一步的学习,所以不会存在峰值计算上的问题。


  2.2.3蒙特卡洛方法(MC)


  蒙特卡洛方法是一种属于基于经验的学习方法。由于即使在不知道环境的任何先验知识的情况下,也能够得到最优解,所以基于经验的学习方法非常具有影响力。它解决强化学习问题是通过平均所有的样本的强化函数。因此是蒙特卡洛方法的一个关键问题是有效的得到强化函数,所以蒙特卡洛方法一般只适用于完整事件的学习。


  2.2.4 Sarsa学习算法


  Sarsa学习算法被称为改进的Q学习算法,它采用Q值迭代,它将预测的TD算法扩展到学习中,Sarsa算法是一种在线学习算法而Q学习算法则不是。它采用实际的Q值进行迭代,每个学习步机器人依据当前Q值来确定下一状态时的动作,即Sarsa通过严格的基于执行某个策略所获得的经验来更新值函数。


  Q算法是当选择下一步的时候会寻找最好的一个走(选最大Q值的),而sarsa是当选择下一步的时候运用和上一步一样相等的Q值,但是最后都会更新之前的一步以致于达到学习的效果。


  2.2.5 Q学习算法


  Q-学习算法是一种强化学习法,它是由Watkins在1989年提出的,类似于动态规划算法。在马尔科夫环境中它提供智能系统利用经历的动作序列选择最优动作的一种学习能力,而且不需要建立环境模型。Q-算法是一种递增式动态规划法,它是基于Markov过程的,Q-学习算法是由MPD(Markov decision processes)变化的一种形式。Q-学习中,机器人不需要去估计环境模型,而是直接去估计最优值函数(Q-函数),并用它来推导控制策略。


  如果知道奖赏函数R与状态转移概率P,可以选择使用动态规划(DP)法来解决所存在的优化问题,在强化学习中,用于MDP的R和P并不是预先就知道的。Q-学习就是在所获奖赏转移与概率都不知道的情况下,直接去估计Q值(即最优的动作值函数),并使用它来推导最优控制策略。Q-学习的思想是通过直接优化一个可迭代计算的Q-函数而不是去估计环境模型。Watkins把此Q-函数定义为评价函数,而此评价函数是在状态时执行动作的情况下,并且此后按照最优动作系列执行时的强化信号折扣和,即:


  (2.7)


  上式成立的条件是只有在得到最优策略时,误差为:


  =


  =


  =(2.8)


  式中,控制学习速度为学习率。


  Q-学习算法流程如下:


  任意初始化;


  每一个阶段重复做;


  初始化;


  根据来自于Q-值的决策选取状态下的动作;


  在每一个阶段的每一步执行;


  执行行为,观察评价值和下一个状态;


  根据Q值得到的策略选取状态下的行为;


  Q值进行更新;


  ;


  直到为终止状态。


  式中,是t时刻的强化值;是学习率,它控制着学习的速度,与收敛成正比,但过大可能引起不成熟收敛;为折扣系数。


  用Q-学习算法实现强化学习无需环境模型,在本文中也是采用Q-学习来实现强化学习。本文将对Q-学习的实现方法以及其机器人在机器人行为选择控制的具体实现,做详细的阐述。


  第三章Q-学习算法的实现方法-BP神经网络法


  实现Q-学习的方法主要有两种方式:一种是采用lookup表格方法;另一种是采用神经网络方法[16][17][18]。采用lookup表格方法,就是用表格的思想来表示Q-函数,设是一个lookup表格,S和A是有限集合,s状态下执行动作a的Q-值用表示。表的大小就是的笛卡尔乘积中元素的个数。如果环境的状态集合S,智能系统可能的动作集合A较大时,就需要占用大量的内存空间,并且也不具有泛化能力。这时要访问所有的状态和检测到所有的动作并且在一个合理的时间内,就会变得十分困难。因此,在一个连续的状态空间和一个离散的动作空间的情况下,要实现Q-学习算法一般采用人工神经网络。


  各种神经网络可用来实现Q-学习,每一个网络的输出将对应一个动作的Q值,即。学习算法的确定是应用神经网络实现Q学习的关键。


  (3.1)


  上式成立的条件是只有在得到最优策略的前提下。在学习阶段,上式两边不成立,误差信号为


  (3.2)


  其中表示下一个状态所对应的Q值,通过调整网络的权值使误差尽可能小一些。因此,本论文实现Q-学习用BP神经网络法。


  3.1 BP神经网络的结构和基本思想


  BP神经网络的学习过程是由信息的正向传播过程和误差的反向传播过程两个阶段组成。外部输入的信号经过输入层、隐含层的神经元逐层处理向前传播到输出层输出结果。如果要是在输出层不能得到期望输出,则输入信号将转入逆向传播过程,沿原来联结的通路将返回实际值与网络输出之间的误差,通过使用修改各层神经元的连接权值的方法,将误差减少,接下来再转入正向传播过程,反复迭代,一直到误差小于给定的值为止。BP神经网络的机理比较简单,它的整个学习过程见图3-1,BP神经网络流程。可以清晰明了的看出信息的处理过程。


  图3-1 BP神经网络流程


  从结构上看,它由输入层、输出层和若干隐含层组成,属于前向网络,同层各神经元相互不连接,相邻两层的神经元之间形成相互连接。典型的BP网络是由输入层、隐含层和输出层三层组成,是三层的前馈阶层网络。


  2 BP神经网络算法的基本思想


  BP神经网络采用误差反向传播算法(Back propagation Algorithm),简称BP算法。BP算法其主要思想是把整个学习过程分为四个部分:(1)是网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程;(2)是由“模式顺传播”和“误差逆传播”的反复交替进行的网络“记忆训练”过程;(3)是网络的期望输出与实际输出之间的误差信号由输出层经隐含层向输入层逐层修正连接权的“误差逆传播”过程;(4)是输入模式从输入层经隐含层传向输出层的“模式顺传播”过程”


  3.2 BP神经网络算法具体步骤


  BP神经网络算法的步骤如下:


  (1)首先设置初始权系数为较小的随机非零值,选取区间为。


  (2)给定输入/输出样本对,计算网络的输出:


  假设第p组样本输入、输出分别为


  ,


  节点i在第p组样本输入时候,输出为


  (3.3)


  式(3.3)中,-在第p组样本输入时候,节点i的第j个输入。


  可取非对称型Sigmoid函数


  (3.4)


  可由输入层经隐含层至输出层,求得网络输出层节点的输出。


  (3)计算网络的目标函数J:


  假设为在第p组样本输入时候网络的目标函数,取范数,则


  (3.5)


  式(3.5)中,-在第p组样本输入时候,经过t次权值调整,网络的输出,k是输出层第k个节点。


  网络的总目标函数为


  (3.6)


  作为对网络学习状况的评价。


  (4)判别:若


  (3.7)


  式(3.7)中,-预先确定的,。


  则算法结束;否则,转至步骤5。


  (5)反向传播计算:


  由输出层,依据J,按“梯度下降法”反向计算,逐层调整权值。取步长为常值,可得到神经元j到神经元i的连接权次调整算式:


  (3.8)


  式中,-步长,并有


  (3.9)


  (3.10)


  式(3.10)中,-第i个节点的状态,的灵敏度(第p组样本输入时候)。由式(3.9)、(3.10)可得


  (3.11)


  (1)如果i为输出节点,即。由式(3.2)和(3.3),可得


  (3.12)


  将式(3.19)代入(3.7),则


  (3.13)


  (2)如果i不是输出节点,即,此时式(3.8)为


  (3.14)


  其中


  (3.15)


  式中,m-节点i后边一层的第m个节点;


  -节点m的第j个输入(第p组样本输入时候),当时候,


  (3.16)将式(3.12)和(3.13)代入式(3.1),有


  (3.17)


  可总结为由式(3.11)和(3.14),即可进行式(3.6)的权值调整计算。


  BP神经网络整个算法框架见图3-2,BP算法流程。


  图3-2 BP算法流程


  3.3 Q-学习神经网络实现的结构


  采用Q-学习的Agent只有一个单元,同时起到动作的评价及选择作用,其结构见图3-3,Q-学习的系统结构。Agent要想获取较高的强化值,在每个状态下,Agent必须选择具有较高Q值的动作,尤其是在学习的初始阶段,Q值很难准确地表示正确的强化值由于对于状态动作的经验比较少。由于选择最高Q值的动作将导致Agent总是沿着相同的路径而不可能探索到其它更好的值。因此,Agent必须随机地选择动作。随机地选择动作的方法有许多种,如Boltzmann分布方法


  图3-3 Q-学习的系统结构


  (3.18)


  Q-学习可用各种神经网络来实现,网络的输入为状态矢量,,每一个网络的输出对应一个动作的Q值,即。学习算法的确定是用神经网络实现Q-学习的关键。根据Q-函数的定义:


  (3.19)


  上式成立的条件是只有在得到最优策略的前提下。在学习阶段,上式两边不成立,误差信号为


  (3.20)


  其中表示下一个状态所对应的Q值。通过调整网络的权值使误差尽可能小一些。


  学习算法如下所示:


  (1)初始化:对Q-网络随机赋值;


  (2)得到t时刻的环境状态;


  (3)计算每个动作的;


  (4)根据选择一个动作作为;


  (5)执行动作得到新的状态及强化信号;


  (6)计算;


  (7)调整Q-网络的权值使误差最小;


  (8)Goto(2)。


  注意其它动作对应的网络权值不进行调整除了网络的权值被选中的动作以外,可用多输入、多输出神经网络实现Q-网络,每一个输出最终对应一个动作Q值。


  3.4采用BP神经网络实现Q-学习算法


  BP神经网络实现Q-学习的过程见图3-4,采用BP神经网络来实现Q-学习。网络有三层,输入层有N个单元,隐含层有H个单元,输出层有M个单元。


  、用前向传播发产生Q-值。网络的误差信号,根据公式:


  (3.21)


  图3-4 BP神经网络实现Q-学习


  确定。然后根据梯度下降的思想,得到权值调整规律。下面讨论梯度的计算方法。对输出层与隐含层的权值的梯度为:


  (3.22)


  式中:-输出层的输入值-隐含单元的输出


  有,故:


  (3.23)


  式中:为输出层神经元的激励函数


  同理对隐含层与输入层的权值的梯度为:


  (3.24)


  式中:-隐含层单元的输入,即:,,g()为隐含层神经元的激励函数故


  (3.25)


  第四章仿真平台设计


  4.1仿真程序的设计流程以及实现


  4.1.1仿真需求分析


  本软件的设计目的有以下几点:


  (1)对移动机器人的出发位置和目标点的位置,操作者可根据自身的要求进行设定。


  (2)对环境进行二维建模,可按照操作者的要求对障碍物的个数、大小、形状和位置进行设定。


  (3)根据操作者的设定进行相应的二维图像运动仿真。


  4.1.2仿真说明


  (1)环境建模:环境建模包括仿真区域的长、宽、边界以及障碍物的大小、位置、形状等,目的是为了描述机器人所在的环境,其结果既可以显示在屏幕上,又可供规划用。仿真中要求环境建模模块能有效的描述机器人所在区域及障碍物信息,并且为了使环境建模能容易进行,需要能够提供友好的人机接口。


  (2)坐标系:在本文的仿真中用到了机器人坐标系、大地坐标系、屏幕坐标系。其中机器人坐标系、大地坐标系用于获取环境信息和机器人状态信息,而屏幕坐标系用于仿真显示。


  (3)障碍物表示:机器人工作空间的障碍物形状既有规则也有不规则的。,本文定义了矩形、圆形、扇形、多边行,并设计了基于顶点的表示方法,建立了障碍物的数据结构,以便于充分描述障碍物的形状。在仿真过程中,用鼠标直接在屏幕上来构造障碍物,程序自动记录障碍物信息。


  4.1.3总体设计过程及重要思想


  本软件是移动机器人通过自学习自主地到达目标点的运动仿真软件。它要求对移动机器人的移动和环境信息进行参数化设计和仿真,因此我们将其分为三大模块根据模块化的设计思想,有程序框架模块、仿真模块、计算模块。整个软件的模块图见图6,程序模块图。


  4.1.4每一模块的功能及其实现


  (1)程序框架模块:构成应用程序的人机界面。程序框架模块是主框架,有机的将其他模块组织起来,以实现对用户事件的响应及结构化、参数内部消息的传递。。其具体实现是:1)在VC下选择新建MFC应用文件2)选择对话框应用3)其他步骤取默认值。


  (2)仿真模块:主要是正确的绘出运动轨迹,由计算模块所给的位置参数确定。


  (3)计算模块:是本软件的运算核心。实现移动机器人运动的大量复杂运算,包括逻辑判断、数值转化等,它直接完成输出相应的参数和运动的环境模式判断。能够根据程序框架传递的环境参数计算出移动机器人所采取的行为策略。


  图4-1程序模块图


  4.1.5具体功能及其设计与仿真实现


  本程序主要是实现移动机器人通过自学习自主地达到目标点运动的模拟仿真,主要有下面两个功能,采用程序流程图的形式进行具体的说明各部分的具体实现。


  (1)基于Q-学习的行为选择控制的实现:作为移动机器人运动控制的核心部分,程序流程图见图4-3,基于Q-学习的行为选择控制算法的程序流程图。基于Q-学习的行为选择控制是在主程序窗口类中加以实现的。


  首先初始化,对BP神经网络的权值进行赋值,然后读取声纳传感器的距离信息,获得目标对机器人前进方向的夹角,并进行量化。输入到神经网络,得出三个状态-行为的评价值,然后利用Borelzman机得出网络的输出,选择一种行为,作用于环境,产生强化信号,获得这种行为的评价值r,并对网络的权值进行修正,继续探测环境。如果到达目标,则完成一次学习。减小随机选取动作的概率参数,在重新学习,直到机器人获得稳定的控制策略。进一步变换机器人的起点和终点,进行训练,机器人稍作学习就会获得该环境下稳定的控制策略。此时,我们可以认为机器人已经学习好了。


  图4-2实物模型图


  图4-3基于Q-学习的行为选择控制算法的程序流程图


  程序中的初始化对障碍物的个数、大小、形状和位置,移动机器人的当前位置,目标点的位置,仿真区域长、宽、边界,控制系统的参数等信息进行初始化。


  (2)运动仿真:运动仿真功能是为了方便研究人员直观的了解移动机器人的运动方式。通过自动仿真,在整个运动过程中研究人员能够清楚的看到机器人是如何运动的,其程序流程图见图4-5,运动仿真程序流程图。从而让我们能够脱离控制系统和实物进行运动模拟,并分析运动规律。


  图4-4运动仿真程序流程图


  首先通过对话框得到各种所需参数,再判断控制算法是否能够得出移动机器人目前所在的位置坐标,如果没有得到位置坐标的话则继续判断,得到则引用delay(int h)延时函数。在此,自动仿真功能的实现主要是通过delay(int h)延时函数不断的分时重新绘图,使移动机器人能够以连续的画体出现并在连续的时间内,好像机器人在二维平面中自动运动,从而实现自动仿真。我们可以改变自动仿真的速度通过设置delay(int h)延时函数的延时时间长短,画体变化的时间随着延时时间的变化而变化,因此移动机器人运动得快慢也与延时时间的长短有关。当更新视图结束后,判断控制算法是否到达目标点,如果是则结束程序,否则继续运算轨迹。


  图4-5运动仿真模拟图


  4.2仿真平台界面


  仿真采用对话框,仿真程序启动后,是一个友好的人机界面,它有六个菜单项,分别为“环境设置”、“设置起终点”、“参数设定”、“运行”、“文件”和“帮助”。三个按钮,分别为“启动”、“停止”和“退出”。操作步骤是:首先用鼠标点击“环境设置”菜单,进行环境中障碍物设定,然后点击“始终点设置”菜单,进行机器人的起始点和目标点的设定,之后点击“启动”按钮,进行仿真,点击“停止”按钮,停止仿真,点击“退出按钮”,则退出仿真。


  图4-6仿真界面


  设置过程见图4-7、图4-8,环境设置和始终点设置。点击“环境


  设置”、“始终点设置”能弹出相应的对话框。


  图4-7环境设置


  图4-8始终点设置


  4.3仿真结果及分析


  机器人在这个环境下刚刚开始学习的情况见图4-9。由图可见,在学习初期机器人频繁地一障碍物碰撞,失败的情况较多。这说明机器人随机选择行为,正确的策略还没学习好。


  图4-9机器人开始学习的情况


  在这个环境下机器人学习不久后的运动轨迹见图4-10。在一段时间学习之后,机器人与障碍物碰撞的情况已经很少了,说明机器人通过一段时间的学习已经逐渐掌握了正确的策略,随机选择行为的策略也在逐渐的消失。


  图4-10机器人学习不久后的情况


  图4-9、4-10、4-11为机器人在环境没有改变的情况下(即障碍物分布、始终点都相同)学习控制策略


  机器人在相同环境下经过充分学习后的运动轨迹见图16,机器人学习后期的情况。由图可知,经过充分学习,机器人避碰行为、绕障碍物行走行为、奔向目标行为的输入状态空间到输出状态空间之间已经建立起正确的映射关系,机器人已经完全掌握了行为策略。此时机器人完全按照自身的策略选择行为,随机选择行为几乎不起作用。


  图4-11机器人学习后期的情况


  从仿真试验中可以得知,利用强化学习实现机器人行为学习是有效的。在我们的实验中,机器人进行行为选择,不是依据认为赋予的规则,而是自主地通过学习来得到这些规则。机器人利用强化学习可以在各种不确定的、复杂环境中完成任务。



本科PMLC论文查重
硕博论文检测系统
期刊职称检测系统
学术家论文查重
维普论文检测系统
大分解论文查重
小分解论文查重
在线客服
联系方式

上班时间

周一到周五

公司电话

400-06850161

二维码
线