1 介绍
在移动机器人里面,有一类最重要的类别是是两轮直立机器人:这种类型的机器人不仅是在一些实际应用领域很重要,同时也是科学家发展新的机器人理论和控制思想的主要研究平台。在过去,大多数两轮直立机器人是刚性的,但随着机器人技术的最新发展,灵活自动化技术,灵活的机器人可以模仿人类的功能而成为新的研究的重点。人工智能与机器人在北京工业大学研究所已经开发出采用弹簧模仿人的腰椎两轮柔性机器人;由于其非线性特性,这种机器人的建模与控制成为一个具有挑战性和极具吸引力的任务。
对两轮直立式刚性机器人的平衡控制问题进行了广泛的研究,导致了最优控制方法的发展。然而,这个结果是不适用于灵活的机器人,因为其数学模型更为复杂。我们都知道,一个有效的控制方法,复杂的机器人系统的学习控制。其中的学习方法到两轮柔性机器人是Hopfield神经网络的应用。然而,这种方法具有低的学习速度,并且不能应用于实际的机器人系统。一个名为仿生自主学习控制不同的方法可能是比一般的学习方法更好。这种方法的主要特点是它模仿原始的动物的学习方式。
仿生自主学习策略是理想的动力系统中实时跟踪的问题,因为它需要较少的先验系统信息。一种这样的方法,学习自动机(LA)已被广泛用于在人工智能和机器学习的领域。然而,LA方法的学习算法具有一个缺陷,这使得它不适合于这个特定的问题:它不能考虑到试剂的取向,所以它通常不能确定最佳的行动。本文提出了一种新的仿生自主学习模式,克服了洛杉矶的这个缺陷,适用于复杂的两轮灵活机器人的平衡控制。
仿生自主学习方法是从斯金纳开发的操作条件(OC)机制的。斯金纳OC,它已经在人类和动物行为的研究非常重要的工具,现在已经被应用到它可用于重现此问题的机器人。例如,从1990年代中期,在卡内基 - 梅隆大学机器人研究所采用了斯金纳OC计算模型和理论;使用这种方法时,`阿米巴将成为可训练,就像动物一样。
近年来,我们已经做了基于斯金纳OC.A仿生学习模型是基于模糊逻辑和概率自动机,这是成功的应用于倒立摆系统。然而,OC学习算法是线性的,操作性动作集是固定的。因此,学习模式很难适用于两个轮子的柔性机器人系统。并且,非线性OC学习的目的是在和当应用于两轮机器人系统取得良好的学习效果。但是,被设定为规则的结论集操作性动作是固定的,并且因此学习精度差,盈利策略无法应用于两轮柔性机器人系统。
本文构建了一个操作性条件反射概率自动机(OCPA)仿生自主学习基础上,斯金纳OC和概率自动机,可用于控制两轮柔性机器人的平衡系统。该OCPA系统有两个阶段:第一阶段,一个操作性操作是从一组操作性的动作的随机选择;然后这个动作被用作用于控制系统中的输入控制信号;在第二阶段中,已应用该动作之后,OCPA学习系统收集有关系统的取向信息,并使用该信息进行优化,直到它最终达到控制。如果有具有小概率值,因此有必要实施学习方法,从而使操作性动作集可以自动在大小通过去除一点用处都没有动作事件减少操作事件系统的性能会受到影响。该学习方法的这种性质提高的速度和学习过程使得一个更好的自我学习和自组织系统的精度。仿真和实验结果表示其中表明OCPA学习系统可以应用于在两轮柔性机器人解决平衡控制的问题。
2 OCPA学习系统的设计
2.1 OCPA学习系统
斯金纳OC理论可以概括为:动物的神经组织将通过动物的学习过程发生变化,变化的结果是戒律和行为之间的关系的形成。有连续周期从戒到操作和返回以再次戒,如图1所示。
概率自动机是适用于具有一个内部的随机因子自动机自动机理论的一个分支。概率自动机的随机状态转换属性形成从该学习系统可以构造一个理想的基础上,对LA模型就是这样一个例子。本文采用LA之后的想法,从它构建了基于斯金纳的操作性条件反射理论和概率的自动仿生OCPA自主学习系统的起点。该OCPA学习系统的结构如图2所示。
OCPA学习系统可以概括为一个七元组离散计算模型:
各元素定义如下。
- A为该操作系统的可选操作行为集合, },ak为OCPA系统的第k个操作行为,r为可选操作行为的个数。
- S为系统的内部离散状态集合:S= ,si表示第i个离散状态,n为离散化状态的个数。s1= inf x, sn= sup x, x是系统的连续状态。状态集以距离omega;分为若干个线性间隔,所以离散状态集合可以表示为
- ?为系统的条件状态到操作行为的随机映射集合:其中Ri(Pi)对应的第k个可能的随机“条件一操作”映射:这意味着操作ak 的实现是基于条件si下的概率向量P。pikisin; Pi实施操作行为ak的概率值并满足:
- f为OCPA学习系统的状态转移函数,表明t 1时刻的状态s(t 1)由t时刻的状态s(t)和t时刻的概率操作a(t)确定,与其t时刻之前的状态和操作无关.
- phi;为学习系统取向机制,phi;iisin;phi;表示对状态siisin;S的取向值,表征的是对状态的取向程度,用来更新概率矢量P,满足0lt;phi;ilt;1.
- L为OCPA学习系统的操作条件反射学习机制。
- H为0CPA学习系统的操作行为熵,H={H1,H2,⋯,Hn},操作行为熵就是“信息熵”,用来度量系统无组织程度,其值的减小是系统自组织的特征.Hi(t)表示OCPA学习系统处于状态si条件下的操作行为熵:
2.2 用于减少操作性动作集的方法
在上述的OCPA学习系统操作性动作数是固定的,并且,对于每一个状态下的相同的固定操作性操作集在学习过程中使用。如果有具有小概率-既学习过程的精度和该系统的适应性将受到影响的动作事件的系统的性能将受到影响。动作集的大小阻止地雷的收敛速度,从而实现学习的方法,其中操作性动作集的尺寸可以自动降低是必要的。以这种方式降低了动作设定自动消除不必要操作性的动作,从而提高了学习速度和学习精度制作一个更好的自我学习和自组织系统。这是用来减少操作性动作集的方法,使用两个指标,误差带和行动概率的表示的阈值如图3所示。
该OCPA学习系统首先选择从操作性的动作中设置的将被用作输入控制信号到系统的操作;然后这个动作被应用到系统,并获得所得到的方位信息。最后,该行动概率是基于方位信息进行更新。随着学习过程的进行,动作集合A降低到最佳集合Ai的行动。学习过程继续进行,直到最合适的控制动作被找到。下面给出这个这个过程的细节:
步骤1 OCPA学习系统的内部参数有:
?:最初的操作行为集合中行为的个数。
?i:收缩操作行为中行为的个数。
ε: 错误的下界e(t)。
delta;:动作概率的阀值。
alpha;(phi;),beta;(phi;): 获取率函数。
初始操作行为集合
收缩操作行为集合
步骤2行动概率的初始。
初始化学习步骤t=0,可操作行为集合的收缩数目到z=0和采样时间到ta=0.01s.因为初始方位信息还不知道,这个初始行为概率被设置为意味着系统包括没有被计划的在时间t=0的时候。
步骤3第一个学习阶段:实现一个操作性的行动。
假设在时间t的时候系统状态时si(t),那么这个操作行为是被基于条件-操作映射被随机抽取的,此处
步骤4 基于操作行为的结果计算取向值。
取向值和分别对应于状态si(t)和s(t),这些取向值可以通过观察状态si(t 1)来计算出来。si(t 1)是可操作行为的实行结果。那么定位增量就成功被获得。
步骤5 更新可操作行为的概率。
OC学习机制可以根据定位元素被更新。
步骤6 决定可操作行为集合的大小是否能够被缩减。
如果且那么跳转到步骤 7.否则返回步骤 3 并令t=t 1.
步骤 7 第二学习阶段:缩减可操作行为集合的大小。
初始行为集合A被缩减至Ai= ,在删除行为之后,更新z=z 1,z2=z。Ai中行为的数量是,纠正概率向量是此处 根据如下方法更新 :
1) 在集合A中的集合Ai的概率总和是
2) 在集合Ai和A中的连接概率是
3) 行为从集合Ai中基于随机向量被随机选择,其中是根据OC学习机制来更新的。ai在集合A中的概率可以这样计算:
如果那么继续在步骤1到步骤3中的程序直到下列条件被满足: 此处m是集合A的被删除的行为的数量。否则,转到步骤8.
步骤 8 该学习系统被持续监测。在学习系统学习了最佳可操作行为集合之后,e(t)的值被持续监控。当它溢出的时候,学习程序返回步骤3并继续执行。
3 学习算法设计
3.1 取向值phi;的设计
取向值体现了状态定位成都,满足下列两个条件:
- 定义错误输出为此处x*是期望的输出。如果,在行为ak(t)被实行之后,这个错误改变将满足条件:1.那么这个取向值对应sj(t 1)会递增。否则,取向值会递减。根据这些性能,这个取向被定义为:。此处是这个短暂变现在可操作行为ak(t)下的表现,此时Jmax(t)= 并且
3.2 OC学习机制的设计
假设在可操作行为ak(t) isin;A,状态从si(t)改变至sj(t 1).根据斯金纳的OC理论,这个在状态si(t)的行为ak(t)发生的可能性pik(t),在两个状态之间的取向值得距离是积极的情况下会趋向于递增。
否则这个可能性会下降。所以,这个OC算法可以定义为:
如果
那么这个量通过以下式子给出:此时 。
如果
那么这个量通过以下式子给出:
此时
在方程(6)和方程(7),eta;1和eta;2是满足eta;1gt;0和eta;2gt;0;alpha;(phi;)和beta;(phi;)是满足和的学习速率函数。为了通过一个取向值函数来改善学习速度,phi;(t)被加入到学习速率函数alpha;(phi;)和beta;(phi;).当值beta;(phi;)足够大时对应的状态取向值phi;(t 1)也会相应的变大,着表明行为是好的并且行为的概率会较快地递增。反过来,如果phi;(t)比较小,那么概率会以一个较低的速率被更新。学习的规则可以被简单地概括如下:
如果:实行一个可操作行为ak的结果是: 和
那么:这个行为概率pik(t 1)就会趋于递增;反之这个行为概率会趋于递减。
3.3 学习算法的收敛性证明
定理 1 假设是一个操作条件反射概率自动机,那么操作性的行为熵汇集成最小值,在时间t满足下列条件的时候:
证明 根据斯金纳OC理论,OCPA学习系统是一个自学习和自组织的学习系统。自组织的过程是一个接受信息和接受负熵的过程。换句话说,自组织的目的是排除系统中的不确定因素。所以,为了表明OCPA学习系统是自组织的,证明行为熵会汇集成最小值的过程是必要的。
当每一个可操作行为的概率值相等的时候,行为熵的值会达到一个最大值。行为的概率值会随着学习发生改变。所以方程(1)变为:
它表明和,所以我们得到:
备注 定理1只适用与当OCPA学习系统有一个固定的操作性动作集的时候。然而,当操作性操作集收缩,定理1的结论显然不会改变。
4 自平衡机器人控制的应用
4.1 双轮直立灵活机器人系统
为了验证OCPA学习系统的性能,我们将其运用到二轮车flex-的平衡控制
在北京工业大学研制的机器人IBLE。机器人的数学表示如图4所示。
在图4中,表示灵活接入的点O是一个跳变;它是弹性值; mb1是物体1(在弹簧上方的部分)的质量; mb2是物体2(弹簧下方的部分)的质量; theta;b1是物体1的间距; theta;b2是物体2的间距; Hb1是物体1的高度; Hb2是在平衡和不平衡的状态下的机器人的主体2的高度。如图5所示。
4.2 平衡控制学习系统
平衡控制器需要保证机器人在任何时间保持直立:为了做到这样,他使用来自两个设备的信息,这两个设备是倾斜计和陀螺仪。倾斜计检测到桨距角在theta;b1和theta;b2之间变化,而陀螺仪检测到的角速度在和之间。图6表明一个机器人平衡控制的结构示意图。状态的离散集合代表桨距角和角速度是由下面的式子给出的S1= 。并且这被用来作为启动系统倾斜的触发。OCPA学习系统的可操作行为集合是控制机器人转矩的集合。该控制系统通过决定扭矩的内容来使机器人保持平衡。
图6中,阶段1和阶段2分别表示第一个学习阶段和第二个学习阶段。控制的过程描述如下:
阶段1: 各个可操作行为集合A中在阶段1被改变的行为的概率值:带有最高概率值的可操作行为被用作机器人的输入信号。阶段1的目的是发现一个概率值低于delta;的可操作行为。
阶段2:在阶段2中可操作行为A被减少至Ai—这个操作集合会继续收缩知道条件结束。被获得。阶段2的目的是自动学习最佳行
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[152890],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。