acm-headergydF4y2B一个
登录gydF4y2B一个

ACM通信gydF4y2B一个

研究突出了gydF4y2B一个

直升机控制学徒学习gydF4y2B一个


XCell风暴自动直升机gydF4y2B一个

信贷:斯坦福大学gydF4y2B一个

自主直升机飞行被广泛认为是一个极具挑战性的控制问题。由于直升机高度不稳定并表现出复杂的动力学行为,设计在广泛的飞行范围内实现高性能的控制器特别困难。gydF4y2B一个

虽然这些飞机是出了名的难以控制,但仍有专家飞行员能够演示各种各样的机动,包括在直升机性能极限的特技飞行机动。在这篇论文中,我们提出了建模和控制算法,利用这些演示来构建自主直升机的高性能控制系统。更具体地说,我们详细介绍了我们使用斯坦福自主直升机的经验,它现在能够进行极限特技飞行,达到或超过我们自己的专家飞行员的性能。gydF4y2B一个

回到顶部gydF4y2B一个

1.简介gydF4y2B一个

自主直升机飞行是一个具有高维、非对称、噪声、非线性、非最小相位动力学的具有挑战性的控制问题。直升机被普遍认为比固定翼飞机更难控制。(见,例如,全新,gydF4y2B一个18gydF4y2B一个Seddon。gydF4y2B一个31gydF4y2B一个与此同时,直升机提供独特的能力,如原地悬停和低速飞行,这对许多应用都很重要。因此,自主直升机的控制为学习和控制算法提供了一个具有挑战性和重要的测试平台。gydF4y2B一个

有相当多的研究是关于自主(RC)直升机在典型的“垂直飞行状态”下的控制。这使得自主直升机能够可靠地执行许多实际操作,如持续悬停、低速水平飞行和自主降落。gydF4y2B一个9gydF4y2B一个,gydF4y2B一个16gydF4y2B一个,gydF4y2B一个17gydF4y2B一个,gydF4y2B一个24gydF4y2B一个,gydF4y2B一个28gydF4y2B一个,gydF4y2B一个30.gydF4y2B一个

相比之下,自主飞行在其他飞行体制中的成就是有限的。加夫里勒茨等。gydF4y2B一个14gydF4y2B一个完成了第一批自主特技飞行动作:失速转弯、s型劈叉和轴向滚转。Ng et al。gydF4y2B一个23gydF4y2B一个实现持续自主倒立悬停。虽然这些结果显著地扩大了自主直升机的潜在能力,但仍然很难设计出能够执行任意特技飞行机动的控制系统,其性能水平可与人类专家相媲美。gydF4y2B一个

在这篇论文中,我们描述了我们的自主直升机研究路线。我们的工作涵盖了基于“学徒学习”的自主直升机控制的广泛方法,在大量的机动上达到专家水平的性能,包括极限特技飞行和自主自动降落。gydF4y2B一个1gydF4y2B一个,gydF4y2B一个2gydF4y2B一个,gydF4y2B一个12gydF4y2B一个,gydF4y2B一个23gydF4y2B一个(参见脚注gydF4y2B一个一个gydF4y2B一个.)gydF4y2B一个

在学徒学习中,我们假定有一个专家能够完成所需要的操作。然后,我们利用这些演示来学习控制系统的所有必要组件。特别是,演示允许我们学习直升机动力学模型,以及目标轨迹和奖励参数的适当选择输入到强化学习或最优控制算法。gydF4y2B一个

本文的其余部分组织如下:第2节简要概述了机器人文献中的相关工作,在精神上与我们的方法类似。第3节描述了我们的基本建模方法,其中我们从人类控制下收集的数据开发了一个直升机动力学模型,然后使用自主飞行的数据改进该模型。第4节介绍了一个基于学徒的轨迹学习算法,学习我们希望飞行的机动的理想轨迹。该算法还提供了一种机制,以改进我们的模型直升机动力学沿预期的轨迹。第5节介绍了基于差分动态规划(DDP)的控制算法。gydF4y2B一个15gydF4y2B一个第6节描述了我们的直升机平台,并给出了我们的实验结果。gydF4y2B一个

回到顶部gydF4y2B一个

2.相关工作gydF4y2B一个

虽然之前的工作没有跨越我们控制学徒学习的整个设置,但有一些独立的工作与我们方法的不同组成部分相关。gydF4y2B一个

阿特基森Schaal,gydF4y2B一个8gydF4y2B一个例如,使用多个演示学习机器人手臂的模型,然后在模拟器中找到最优控制器,用其中一个演示初始化最优控制算法。gydF4y2B一个

Calinon等人的工作。gydF4y2B一个11gydF4y2B一个从机器人任务的演示中考虑学习轨迹和约束。然而,它们没有考虑系统的动态,也没有为包含先验知识提供一个明确的机制,而先验知识将是我们方法的一个关键组成部分,详见第4节。我们的公式将提出一个有原则的联合优化,它考虑到多个演示,以及(复杂)系统动力学。gydF4y2B一个

其中,An等人。gydF4y2B一个6gydF4y2B一个Abbeel等人。gydF4y2B一个5gydF4y2B一个利用了轨迹特定模型学习的思想来进行控制。然而,与我们的设置相反,他们的算法并没有连贯地整合来自专家多次(次优)演示的数据。尽管如此,我们将在我们的轨迹学习算法中使用类似的思想。gydF4y2B一个

我们的工作也与最近的反强化学习工作有很强的联系,反强化学习从专家演示中提取奖励函数。见,例如,Abbeel,gydF4y2B一个4gydF4y2B一个神经膜,gydF4y2B一个22gydF4y2B一个拉马钱德兰Ng,拉特里夫gydF4y2B一个25gydF4y2B一个,gydF4y2B一个26gydF4y2B一个,gydF4y2B一个27gydF4y2B一个赛义德。gydF4y2B一个32gydF4y2B一个我们将描述一种与Abbeel的逆RL算法大致对应的方法gydF4y2B一个4gydF4y2B一个调整第5.2节中的奖励权重。gydF4y2B一个

回到顶部gydF4y2B一个

3.建模gydF4y2B一个

直升机状态gydF4y2B一个年代gydF4y2B一个包括其位置(gydF4y2B一个x, y, z)gydF4y2B一个,方位(表示为单位四元数gydF4y2B一个问gydF4y2B一个),速度gydF4y2B一个cacm5207_m.gifgydF4y2B一个,角速度(gydF4y2B一个xgydF4y2B一个,gydF4y2B一个ygydF4y2B一个,gydF4y2B一个zgydF4y2B一个).叶片的俯仰角是通过绕其长轴旋转来改变叶片产生的推力。直升机是通过一个四维动作空间来控制的:gydF4y2B一个

  1. ugydF4y2B一个1gydF4y2B一个而且gydF4y2B一个ugydF4y2B一个2gydF4y2B一个:横向(左向)和纵向(前后)循环俯仰控制分别使直升机向左或向右滚动,向前或向后俯仰。gydF4y2B一个
  2. ugydF4y2B一个3.gydF4y2B一个:尾桨俯仰控制改变尾桨推力,控制直升机绕垂直轴旋转。gydF4y2B一个
  3. ugydF4y2B一个4gydF4y2B一个:主转子集体螺距控制改变主转子叶片的螺距角度,通过旋转叶片沿叶片长度的轴运行。由此产生的向上推力(通常)随着螺距角的增加而增加;因此,这种控制影响主转子的推力。gydF4y2B一个

通过使用循环螺距和尾桨控制,飞行员可以旋转直升机到任何方向。这使得飞行员可以通过适当的旋转直升机来引导主旋翼的推力向任何特定的方向(从而向任何特定的方向飞行)。gydF4y2B一个

按照Abbeel的方法,gydF4y2B一个3.gydF4y2B一个我们从飞行数据中学习一个模型,它预测加速度作为当前状态和输入的函数。然后对加速度进行集成以获得状态随时间的变化。为了利用直升机的对称性,我们在“身体坐标系”(附在直升机上的坐标系)中预测线性加速度和角加速度。在这个身体坐标系中gydF4y2B一个xgydF4y2B一个-轴总是指向前方,则gydF4y2B一个ygydF4y2B一个-axis总是指向右边,并且gydF4y2B一个zgydF4y2B一个-轴相对于直升机总是向下的。gydF4y2B一个

特别地,我们使用以下模型:gydF4y2B一个

ueq01.gifgydF4y2B一个

按照惯例,上标gydF4y2B一个bgydF4y2B一个指示我们正在使用身体坐标。我们注意到,我们的模型显式地编码了对重力向量(gydF4y2B一个ggydF4y2B一个bgydF4y2B一个xgydF4y2B一个,gydF4y2B一个ggydF4y2B一个bgydF4y2B一个ygydF4y2B一个,gydF4y2B一个ggydF4y2B一个bgydF4y2B一个zgydF4y2B一个),并且加速度对当前速度、角速率和输入有稀疏的依赖。条款gydF4y2B一个wgydF4y2B一个xgydF4y2B一个,gydF4y2B一个wgydF4y2B一个ygydF4y2B一个,gydF4y2B一个wgydF4y2B一个zgydF4y2B一个,gydF4y2B一个cacm5207_d.gifgydF4y2B一个,gydF4y2B一个cacm5207_e.gifgydF4y2B一个为零平均高斯随机变量,表示由噪声(或未建模效应)引起的加速度扰动gydF4y2B一个

为了了解这些系数,我们记录了专家飞行员驾驶直升机时的数据。我们通常要求我们的飞行员通过我们想要建模的飞行体制来驾驶直升机。例如,为了建立一个悬停模型,飞行员将直升机置于稳定的悬停状态,并以不同的频率来回扫动控制杆,以演示直升机在悬停时对不同输入的响应。一旦我们收集了这些数据,系数(例如,gydF4y2B一个一个gydF4y2B一个xgydF4y2B一个,gydF4y2B一个BgydF4y2B一个xgydF4y2B一个,gydF4y2B一个CgydF4y2B一个1gydF4y2B一个等)采用线性回归进行估计。gydF4y2B一个

当我们想要执行一个新的机动,我们可以从这个机动的飞行制度中收集数据,并建立一个新的模型。对于特技飞行机动,这涉及到我们的飞行员反复演示所需的机动。gydF4y2B一个

事实证明,在实践中,这些模型推广得相当好,可以作为执行特技飞行的“粗糙”起点。在以往的研究中,gydF4y2B一个2gydF4y2B一个我们证明,上述形式的模型足以执行几个机动,包括“漏斗”(快速横向绕圈飞行)和原地翻转和滚转。通过这些机动的演示训练出的“粗糙”模型,我们可以自主地尝试机动。如果直升机没有成功完成机动,模型可以重新估计,合并在失败的试验中获得的数据。这个新模型更准确地捕捉了在自主飞行过程中实际遇到的飞行状态的动态,因此可以用于在后续尝试中实现改进的性能。gydF4y2B一个

观察到我们可以利用飞行员的演示来安全地获得“合理的”直升机动力学模型,这是我们方法的关键。虽然这些模型一开始可能不是完美的,但如果我们只试图模拟飞行包络线的一小部分,我们通常可以得到与真实动力学的很好的近似。然后,这个模型可以选择性地通过合并从自动飞行中获得的新数据来改进。我们的轨迹学习算法(第4节)利用同样的观察结果,在更广泛的机动范围内实现专家级别的性能。gydF4y2B一个

回到顶部gydF4y2B一个

4.轨迹学习gydF4y2B一个

一旦我们装备了(基本的)直升机动力学模型,我们需要指定所需的飞行轨迹。手工指定轨迹虽然繁琐,但可以产生合理的结果。事实上,我们之前的很多工作都是使用手工编码的目标轨迹。gydF4y2B一个2gydF4y2B一个不幸的是,这些轨迹通常不服从系统动力学,也就是说,手指定的轨迹是不可行的,并且不能在现实中实际飞行。这在某种程度上导致了一个更加困难的控制问题,因为控制算法必须在它必然会犯的错误之间确定一个适当的权衡。同样,它也使我们的建模过程复杂化,因为我们先验地不知道控制器将尝试飞行的轨迹,因此不能将我们的数据收集集中在状态空间的那个区域。gydF4y2B一个

这些问题的一个解决方案是利用专家演示。通过使用从真实直升机上的演示中获得的弹道作为目标弹道,我们保证了目标是一个可行的弹道。此外,我们的数据收集已经集中在适当的飞行制度上,只要我们的专家演示每次覆盖的状态空间大致相同的部分。因此,我们期望我们的动力学模型沿着所演示的轨迹将是相当准确的。这种方法已经成功地用于我们的直升机进行自主自动着陆。gydF4y2B一个1gydF4y2B一个

虽然熟练的飞行员可以相对一致地演示自动旋转机动,gydF4y2B一个bgydF4y2B一个当机动不包括稳态制度,或涉及长时间的复杂调整时,可能很难或不可能获得适合用作目标弹道的完美演示。例如,当我们的专业飞行员试图演示原地翻转时,直升机的位置经常会无意中偏离起点。因此,当使用这个演示作为我们想要的轨迹时,直升机将重复飞行员的错误。然而,重复的专家演示往往在不同方面是次优的,这表明大量的演示可以隐式地编码(次优)专家试图演示的理想轨迹。gydF4y2B一个

在科茨,gydF4y2B一个12gydF4y2B一个我们提出了一个算法,从多个次优专家演示中近似提取隐式编码的最优演示。该算法还允许我们建立一个改进的、时变的动态模型,沿着结果轨迹适合于高性能控制。这样一来,该算法不仅能让直升机模仿专家的行为,甚至表现得更好。gydF4y2B一个

要正确地从一组次优轨迹中提取潜在的理想轨迹,需要一种比仅仅在每个时间步中平均观察到的状态更为复杂的方法。一个简单的算术平均的状态将导致一个不服从动力学模型的约束的轨迹。此外,在实践中,每个演示将以不同的速率发生,因此试图合并来自每个轨迹中同一时间步长的状态将无法正常工作。gydF4y2B一个

科茨后,gydF4y2B一个12gydF4y2B一个我们提出了一个生成模型,该模型将专家演示描述为未观察到的、预期目标轨迹的噪声观察,其中每个演示可能沿时间轴扭曲。我们使用期望最大化(EM)算法来推断未观察到的预期目标轨迹和所有演示的时间对齐。时间对齐的演示提供了适当的数据来学习良好的轨迹附近的局部模型,这样的轨迹特定的局部模型往往大大提高控制性能。gydF4y2B一个

*gydF4y2B一个4.1.基本生成模型gydF4y2B一个

从我们的专家飞行员那里gydF4y2B一个米gydF4y2B一个演示长度轨迹gydF4y2B一个NgydF4y2B一个kgydF4y2B一个,因为gydF4y2B一个kgydF4y2B一个= 0 . .gydF4y2B一个米gydF4y2B一个1.每个轨迹都是一系列的状态,gydF4y2B一个年代gydF4y2B一个kgydF4y2B一个jgydF4y2B一个和控制输入,gydF4y2B一个ugydF4y2B一个kgydF4y2B一个jgydF4y2B一个,组合成一个状态向量:gydF4y2B一个

ueq02.gifgydF4y2B一个

我们的目标是估计一个“隐藏的”目标轨迹长度gydF4y2B一个HgydF4y2B一个同样表示为:gydF4y2B一个

ueq03.gifgydF4y2B一个

我们使用以下符号:gydF4y2B一个ygydF4y2B一个= {gydF4y2B一个ygydF4y2B一个kgydF4y2B一个jgydF4y2B一个|gydF4y2B一个jgydF4y2B一个= 0 . .gydF4y2B一个NgydF4y2B一个kgydF4y2B一个1,gydF4y2B一个kgydF4y2B一个= 0 . .gydF4y2B一个米gydF4y2B一个1},gydF4y2B一个zgydF4y2B一个= {gydF4y2B一个zgydF4y2B一个tgydF4y2B一个|gydF4y2B一个tgydF4y2B一个= 0 . .gydF4y2B一个HgydF4y2B一个},其他索引变量也类似。gydF4y2B一个

用初始状态分布给出了理想轨迹的生成模型gydF4y2B一个zgydF4y2B一个0gydF4y2B一个~gydF4y2B一个NgydF4y2B一个(gydF4y2B一个0gydF4y2B一个,gydF4y2B一个0gydF4y2B一个)和动力学的近似模型gydF4y2B一个

eq01.gifgydF4y2B一个

动力学模型不需要特别精确。事实上,在我们的实验中,这个模型是第三节中描述的形式,训练了大量的数据,这些数据甚至不是特定于我们想要飞行的轨迹。gydF4y2B一个cgydF4y2B一个在我们的实验(第6节)中,我们提供了一些具体的例子,显示通用模型如何准确地捕捉到直升机的真实动力学。gydF4y2B一个

我们的生成模型将每个演示表示为隐藏的理想轨迹的一组独立“观察”gydF4y2B一个zgydF4y2B一个.具体来说,我们的模型假设gydF4y2B一个

eq02.gifgydF4y2B一个

在这里gydF4y2B一个kgydF4y2B一个jgydF4y2B一个时间指数是否在观察到的隐藏轨迹中gydF4y2B一个ygydF4y2B一个kgydF4y2B一个jgydF4y2B一个映射。观测方程中的噪声项捕捉了从传感器数据估计观测轨迹的不准确性,以及飞行员演示不完善造成的机动误差。gydF4y2B一个dgydF4y2B一个

时间指数gydF4y2B一个kgydF4y2B一个jgydF4y2B一个都未被观察到,并且我们的模型假设参数的分布如下gydF4y2B一个dgydF4y2B一个kgydF4y2B一个我gydF4y2B一个:gydF4y2B一个

eq03.gifgydF4y2B一个

eq04.gifgydF4y2B一个

为了适应隐藏轨迹和观测轨迹之间的小的、逐渐的时间变化,我们的模型假设观测轨迹是隐藏轨迹的次采样版本。我们发现,隐藏轨迹长度等于演示平均长度的两倍,即,gydF4y2B一个cacm5207_f.gifgydF4y2B一个,给出足够的分辨率。gydF4y2B一个

图1gydF4y2B一个描述与基本生成模型对应的图形模型。注意每一个观察结果gydF4y2B一个ygydF4y2B一个kgydF4y2B一个jgydF4y2B一个这取决于隐藏轨迹当时的状态gydF4y2B一个kgydF4y2B一个jgydF4y2B一个,这意味着gydF4y2B一个kgydF4y2B一个jgydF4y2B一个未被注意的,gydF4y2B一个ygydF4y2B一个kgydF4y2B一个jgydF4y2B一个取决于隐藏轨迹中所有可能与之相关的状态。gydF4y2B一个

*gydF4y2B一个4.2.生成模型的扩展gydF4y2B一个

到目前为止,我们假设专家的演示只是被高斯噪声破坏的理想轨迹的错误拷贝。Listgarten等人使用了相同的基本生成模型(用于gydF4y2B一个fgydF4y2B一个(·)为恒等函数)将语音信号与生物数据进行比对。gydF4y2B一个19gydF4y2B一个,gydF4y2B一个20.gydF4y2B一个在我们对自主直升机飞行的应用中,我们可以扩展上面描述的基本模型,以考虑对建模和控制很重要的其他误差来源。gydF4y2B一个

学习局部模型参数:gydF4y2B一个通过使用时变模型,我们可以大大提高我们的建模精度gydF4y2B一个fgydF4y2B一个tgydF4y2B一个(·)在每个时间特定于预定弹道附近gydF4y2B一个tgydF4y2B一个.gydF4y2B一个

我们表达gydF4y2B一个fgydF4y2B一个tgydF4y2B一个作为我们的“粗糙”模型(见第3节),gydF4y2B一个fgydF4y2B一个,加上偏倚项,gydF4y2B一个egydF4y2B一个*gydF4y2B一个tgydF4y2B一个:gydF4y2B一个

ueq04.gifgydF4y2B一个

为了规范我们的模型,我们假设gydF4y2B一个*gydF4y2B一个tgydF4y2B一个随着时间的推移,变化只是缓慢的。具体地说gydF4y2B一个*gydF4y2B一个t + 1gydF4y2B一个NgydF4y2B一个(gydF4y2B一个*gydF4y2B一个tgydF4y2B一个,gydF4y2B一个()gydF4y2B一个).gydF4y2B一个

我们通过计算观测到的偏差将偏差纳入到我们的观测模型中gydF4y2B一个kgydF4y2B一个jgydF4y2B一个=gydF4y2B一个ygydF4y2B一个kgydF4y2B一个jgydF4y2B一个fgydF4y2B一个(gydF4y2B一个ygydF4y2B一个kgydF4y2B一个jgydF4y2B一个1)对每个观察到的状态跃迁,并将其建模为对高斯噪声破坏的“真实”模型偏差的直接观测。gydF4y2B一个

这一修正的结果是,理想轨迹不仅必须看起来与演示轨迹相似,而且必须遵循一个动力学模型,其中包括在演示中一致观察到的建模误差。gydF4y2B一个

分解演示漂移:gydF4y2B一个即使是飞行专家,在特技飞行中也很难使直升机保持在固定位置的中心。记录的位置轨迹经常会在不经意间漂移。由于这些位置误差高度相关,观测模型中的高斯噪声项不能很好地解释它们。基本动力学模型很容易用“漂移”术语来对这些误差进行建模,使我们可以推断每个演示中包含的漂移,并从最终结果中删除它(参见CoatesgydF4y2B一个12gydF4y2B一个详情)。gydF4y2B一个

结合先验知识:gydF4y2B一个即使很难在状态空间中指定完整的理想轨迹,我们仍然可能对轨迹有先验知识。例如,当一架直升机进行原地翻转时,我们的专家飞行员可以告诉我们,直升机在翻转时应该保持在一个固定的位置。我们在科茨展示了gydF4y2B一个12gydF4y2B一个这些知识可以作为隐藏状态的附加噪声观察并入我们的模型,其中噪声的方差表示我们对专家建议准确性的信心。在翻转的情况下,方差表达了我们的知识,事实上,完全翻转到位是不可能的,直升机的实际位置可能与专家给出的位置略有不同。gydF4y2B一个

*gydF4y2B一个4.3.轨迹学习算法gydF4y2B一个

我们的学习算法会自动找到时间对齐指数,时间-指数跃迁概率gydF4y2B一个dgydF4y2B一个和协方差矩阵gydF4y2B一个(·)gydF4y2B一个通过(近似地)最大化观测轨迹的联合似然gydF4y2B一个ygydF4y2B一个和观察到的关于理想轨迹的先验知识,同时将未观察到的预期轨迹边缘化gydF4y2B一个zgydF4y2B一个.具体来说,我们的算法(近似地)求解gydF4y2B一个

eq05.gifgydF4y2B一个

然后,一旦我们的算法发现,gydF4y2B一个dgydF4y2B一个,gydF4y2B一个(·)gydF4y2B一个,它会找到最可能的隐藏轨迹,即轨迹gydF4y2B一个zgydF4y2B一个这使观测轨迹的联合似然最大化gydF4y2B一个ygydF4y2B一个对于学习到的参数,观察到的关于理想轨迹的先验知识,gydF4y2B一个dgydF4y2B一个,gydF4y2B一个(·)gydF4y2B一个.式5中的联合优化是困难的,因为(可以在gydF4y2B一个图1gydF4y2B一个),缺乏时间对齐指数变量的知识引入了所有变量之间的一组非常大的依赖性。然而,当已知时,由于上下文特定的独立性,式5中的优化问题大大简化了。gydF4y2B一个10gydF4y2B一个例如,知识gydF4y2B一个kgydF4y2B一个1gydF4y2B一个= 3告诉我们gydF4y2B一个ygydF4y2B一个kgydF4y2B一个1gydF4y2B一个只取决于gydF4y2B一个zgydF4y2B一个3.gydF4y2B一个.因此,当所有的都是固定的,我们得到一个简化的模型,如gydF4y2B一个图2gydF4y2B一个.在该模型中,我们可以直接估计多项式参数gydF4y2B一个dgydF4y2B一个在封闭的形式;我们有一个标准的HMM参数学习问题的协方差gydF4y2B一个(·)gydF4y2B一个,可以用EM算法求解gydF4y2B一个13gydF4y2B一个通常被称为鲍姆韦尔奇在hmm的背景下。具体地说,对于我们的设置,EM算法的E-step通过运行(扩展的)卡尔曼平滑器计算顺序隐藏状态变量的成对边缘;然后m步使用这些边值来更新协方差gydF4y2B一个(·)gydF4y2B一个.gydF4y2B一个

为了优化时间索引变量,我们提出了一个交替优化过程。固定gydF4y2B一个(·)gydF4y2B一个而且gydF4y2B一个dgydF4y2B一个,并为固定gydF4y2B一个zgydF4y2B一个,我们可以在每个演示的时间索引分配上使用动态规划来找到最佳的时间索引变量。这种动态规划算法在语音识别文献中称为动态时间翘曲gydF4y2B一个29gydF4y2B一个以及生物序列比对文献中的NeedlemanWunsch算法。gydF4y2B一个21gydF4y2B一个固定gydF4y2B一个zgydF4y2B一个我们使用的是在当前参数设置下,使观察结果的可能性最大化的那个,gydF4y2B一个dgydF4y2B一个,gydF4y2B一个(·)gydF4y2B一个.gydF4y2B一个fgydF4y2B一个

在实践中,而不是在完全优化之间交替进行gydF4y2B一个(·)gydF4y2B一个,gydF4y2B一个dgydF4y2B一个我们只进行了部分优化gydF4y2B一个(·)gydF4y2B一个,只运行了EM算法的一次迭代。gydF4y2B一个

算法的完整细节在Coates中提供。gydF4y2B一个12gydF4y2B一个

回到顶部gydF4y2B一个

5.控制器设计gydF4y2B一个

使用第3节和第4节的方法,我们可以通过飞行员演示获得良好的目标弹道和该弹道的高精度动力学模型。它仍然需要开发一个足够的反馈控制器,将允许直升机在现实中飞行这一轨迹。我们的解决方案基于DDP算法,我们在之前的工作中使用过该算法。gydF4y2B一个1gydF4y2B一个,gydF4y2B一个2gydF4y2B一个

*gydF4y2B一个5.1.强化学习形式主义和DDPgydF4y2B一个

强化学习问题(或最优控制问题)可以用五元组(gydF4y2B一个年代gydF4y2B一个,gydF4y2B一个一个gydF4y2B一个,gydF4y2B一个TgydF4y2B一个,gydF4y2B一个HgydF4y2B一个,gydF4y2B一个年代gydF4y2B一个0gydF4y2B一个,gydF4y2B一个RgydF4y2B一个),这也被称为马尔可夫决策过程(MDP)。在这里gydF4y2B一个年代gydF4y2B一个是状态的集合;gydF4y2B一个一个gydF4y2B一个是动作或输入的集合;gydF4y2B一个TgydF4y2B一个是动力学模型,它是一组概率分布{gydF4y2B一个PgydF4y2B一个tgydF4y2B一个苏gydF4y2B一个} (gydF4y2B一个PgydF4y2B一个tgydF4y2B一个苏gydF4y2B一个(gydF4y2B一个年代gydF4y2B一个|gydF4y2B一个年代,你gydF4y2B一个)为处于状态的概率gydF4y2B一个年代gydF4y2B一个在时间gydF4y2B一个tgydF4y2B一个给定状态和动作时+ 1gydF4y2B一个tgydF4y2B一个是gydF4y2B一个年代gydF4y2B一个而且gydF4y2B一个ugydF4y2B一个);gydF4y2B一个HgydF4y2B一个是感兴趣的视界或时间步数;gydF4y2B一个年代gydF4y2B一个0gydF4y2B一个isin.gifgydF4y2B一个年代gydF4y2B一个为初始状态;gydF4y2B一个RgydF4y2B一个:gydF4y2B一个年代gydF4y2B一个×gydF4y2B一个cacm5207_g.gifgydF4y2B一个是奖励函数。gydF4y2B一个

保险单= (gydF4y2B一个0gydF4y2B一个,gydF4y2B一个1gydF4y2B一个、……gydF4y2B一个HgydF4y2B一个)是一个状态映射的元组gydF4y2B一个年代gydF4y2B一个行为gydF4y2B一个一个gydF4y2B一个,每次一个映射gydF4y2B一个tgydF4y2B一个= 0,…gydF4y2B一个HgydF4y2B一个.当按照政策行事时,期望的奖励金额由:E[gydF4y2B一个HgydF4y2B一个tgydF4y2B一个= 0gydF4y2B一个RgydF4y2B一个(gydF4y2B一个年代gydF4y2B一个tgydF4y2B一个,gydF4y2B一个ugydF4y2B一个tgydF4y2B一个) |]。MDP的最佳策略* (gydF4y2B一个年代gydF4y2B一个,gydF4y2B一个一个gydF4y2B一个,gydF4y2B一个TgydF4y2B一个,gydF4y2B一个HgydF4y2B一个,gydF4y2B一个年代gydF4y2B一个0gydF4y2B一个,gydF4y2B一个RgydF4y2B一个)是使期望奖励金额最大化的策略。特别地,最优策略由gydF4y2B一个

ueq05.gifgydF4y2B一个

线性二次型调节器(LQR)控制问题是一类特殊的线性二次型调节器控制问题,它能有效地计算出最优策略。在LQR中是状态的集合gydF4y2B一个年代gydF4y2B一个=gydF4y2B一个cacm5207_h.gifgydF4y2B一个,操作/输入的集合gydF4y2B一个cacm5207_i.gifgydF4y2B一个,给出了动力学模型gydF4y2B一个

ueq06.gifgydF4y2B一个

在所有gydF4y2B一个tgydF4y2B一个= 0,…gydF4y2B一个HgydF4y2B一个我们有gydF4y2B一个一个gydF4y2B一个tgydF4y2B一个isin.gifgydF4y2B一个cacm5207_j.gifgydF4y2B一个,gydF4y2B一个BgydF4y2B一个tgydF4y2B一个isin.gifgydF4y2B一个cacm5207_k.gifgydF4y2B一个而且gydF4y2B一个wgydF4y2B一个tgydF4y2B一个为平均零随机变量(方差有限)。这是对处于状态的奖赏gydF4y2B一个年代gydF4y2B一个tgydF4y2B一个和采取行动/输入gydF4y2B一个ugydF4y2B一个tgydF4y2B一个是由gydF4y2B一个

ueq07.gifgydF4y2B一个

在这里gydF4y2B一个问gydF4y2B一个tgydF4y2B一个,gydF4y2B一个RgydF4y2B一个tgydF4y2B一个是半正定矩阵,它将奖励函数参数化。众所周知,LQR控制问题的最优策略是一个时变线性反馈控制器,它可以通过动态规划有效地计算。(见,例如,安德森gydF4y2B一个7gydF4y2B一个有关线性二次法的详情。)gydF4y2B一个

线性二次元方法,其标准形式如上所述,使状态为零,很容易扩展到跟踪所需轨迹的任务gydF4y2B一个年代gydF4y2B一个*gydF4y2B一个0gydF4y2B一个、……gydF4y2B一个年代gydF4y2B一个*gydF4y2B一个HgydF4y2B一个在第4节学到的。标准公式(我们使用的)将动态和奖励函数表示为错误状态的函数gydF4y2B一个egydF4y2B一个tgydF4y2B一个=gydF4y2B一个年代gydF4y2B一个tgydF4y2B一个年代gydF4y2B一个*gydF4y2B一个tgydF4y2B一个而不是实际的状态gydF4y2B一个年代gydF4y2B一个tgydF4y2B一个.(见,例如,安德森。gydF4y2B一个7gydF4y2B一个)gydF4y2B一个

DDP通过LQR问题迭代逼近一般连续状态空间MDP近似求解。具体来说,DDP通过迭代以下步骤来解决最优控制问题:gydF4y2B一个

  1. 围绕运行当前策略获得的轨迹,计算:(i)对(非线性)误差状态动力学的线性近似和(ii)对奖励函数的二次近似。gydF4y2B一个
  2. 计算步骤2中LQR问题的最优策略,并将当前策略设置为LQR问题的最优策略。gydF4y2B一个
  3. 模拟一场审判,gydF4y2B一个年代gydF4y2B一个0gydF4y2B一个,并存储产生的轨迹。gydF4y2B一个

在我们的实验中,我们有一个二次奖励函数,因此算法中所做的唯一近似是动态的线性化。为了引导过程(例如,获得初始轨迹),我们在第一次迭代中围绕目标轨迹线性化。gydF4y2B一个

DDP的结果是一个按顺序执行的线性反馈控制器序列。由于这些控制器是在线性动力学的假设下计算的,如果从远离线性化点的状态执行,它们通常会失败。对于涉及大的方向变化的特技飞行机动,通常很难在整个机动过程中保持足够接近线性化点。因此,我们的系统以“地平线后退”的方式使用DDP。具体来说,我们重新运行DDPgydF4y2B一个在线gydF4y2B一个从直升机的当前状态开始,越过延伸到未来2秒的地平线gydF4y2B一个ggydF4y2B一个.从这个过程中得到的反馈控制器总是围绕当前状态线性化,因此,允许控制系统继续飞行,即使它冒险短暂地离开预定的轨迹。gydF4y2B一个

*gydF4y2B一个5.2.学习奖励函数参数gydF4y2B一个

我们的二次奖励是21个特征的函数(它们是状态和控制的函数),由误差状态变量的平方、输入的平方和输入变化的平方组成。为奖励函数选择参数(即选择矩阵的条目)gydF4y2B一个问gydF4y2B一个tgydF4y2B一个,gydF4y2B一个RgydF4y2B一个tgydF4y2B一个使用DDP)是困难和繁琐的手工操作。直观地说,奖励参数告诉DDP如何在各种错误之间“权衡”。不恰当地选择这种权衡可能会导致一些错误变得太大(允许直升机转向到状态空间中建模较差的部分),或其他错误被调节得太激进(导致大的、不安全的控制输出)。gydF4y2B一个

当使用不可行的目标轨迹时,这个问题更加麻烦。例如,对于之前在Abbeel表演的特技空翻和翻滚,gydF4y2B一个2gydF4y2B一个使用了手工编码的目标轨迹。这个轨迹是不可行的,因为它假设直升机在翻转过程中可以完全固定在空间中。因此,在机动过程中总是存在一个(大的)非零误差。在这种情况下,奖励参数的特定选择就变得至关重要,因为它们规定了控制器应该如何在整个飞行过程中平衡错误。gydF4y2B一个

然而,使用第4节中介绍的方法从演示中学习到的轨迹对于真正的直升机来说通常是非常接近可行的。因此,与我们之前的工作相比,当使用这些学习轨迹时,权衡的选择不那么重要。事实上,在我们最近的实验中,从演示中学到的轨迹似乎有很多参数都能很好地工作。gydF4y2B一个hgydF4y2B一个尽管如此,当需要对这些参数进行调整时,能够学习必要的参数是很有用的,而不是通过单纯的试错来调优它们。gydF4y2B一个

由于我们有所需行为的专家演示(即跟踪轨迹),我们可以通过反向强化学习算法使用学徒学习来缓解调优问题gydF4y2B一个4gydF4y2B一个为我们的二次奖励函数选择合适的参数。在实践中,在早期迭代中(在收敛之前),该算法倾向于生成在真正的直升机上使用的危险参数。相反地,我们根据理念手动调整奖励权重,而不是遵循逆RL算法的严格公式。具体来说:我们选择我们的自主飞行和专家演示之间差异最大的特征(状态误差),然后在每次迭代中增加或减少相应的二次惩罚,使自主性能更接近专家的性能。gydF4y2B一个我gydF4y2B一个在实践中,通过少量的试验,得到了较好的奖励函数。gydF4y2B一个

我们使用这种方法成功地选择了奖励参数来执行Abbeel中的翻转和翻滚,gydF4y2B一个2gydF4y2B一个并继续使用这种方法作为选择奖励参数的指导。gydF4y2B一个

回到顶部gydF4y2B一个

6.实验结果gydF4y2B一个

*gydF4y2B一个6.1.实验装置gydF4y2B一个

在我们的实验中,我们使用了两种不同的自主直升机。这里的实验是用XCell Tempest直升机(gydF4y2B一个图3gydF4y2B一个),但我们也曾使用Synergy N9进行过自主飞行。这两种直升机都能够进行专业的、竞赛级别的机动。我们在直升机上安装了Microstrain 3DM-GX1定位传感器。地面摄像系统测量直升机的位置。卡尔曼滤波器利用这些测量数据来跟踪直升机的位置、速度、方向和角速度。gydF4y2B一个

我们从我们的专家那里收集了多种飞行轨迹的多次演示:连续原地翻和翻滚,连续尾翼向下“旋转”,和一个飞行表演,包括以下快速顺序的机动:s分形,快速翻滚,失速转向,盘旋,旋转和旋转失速转向,“飓风”(快速向后漏斗),刀口,翻和翻滚,旋转和倒立悬停。gydF4y2B一个

我们使用以前收集的大量悬停、水平飞行和混合特技飞行数据来使用第3节的方法建立一个粗略的动力学模型。然后将该模型和试验演示提供给第4节的轨迹学习算法。我们的轨迹学习算法包括偏差项,gydF4y2B一个*gydF4y2B一个tgydF4y2B一个,因此,我们将得到一个与时间相关的加速度,该加速度被添加到原始基础模型中。我们还在飞行员演示中加入了建模位置漂移的术语,并结合了我们先前的知识,即翻转和翻滚应该大致保持在原地,以及像绕圈这样的机动应该在飞机上飞行(也就是说,从顶部看它们应该是平坦的)。gydF4y2B一个12gydF4y2B一个

*gydF4y2B一个6.2.轨迹的学习结果gydF4y2B一个

图4 (a)gydF4y2B一个显示水平和垂直位置的直升机在两个循环飞行期间,由我们的飞行员执行航展。彩色的线表示专家飞行员的演示。黑色虚线表示由我们的算法推导出的理想路径。在推导出的理想路径中,循环更加圆润,更加一致。我们没有考虑到这方面的任何事先知识。gydF4y2B一个图4 (b)gydF4y2B一个显示了相同演示和推断轨迹的自上而下视图。这一观点表明,由于所包含的先验知识,该算法在服从系统动力学的情况下,成功地推断出一条位于垂直平面上的轨迹。gydF4y2B一个

图4 (c)gydF4y2B一个显示了其中一个偏差项,即我们的粗糙模型对的预测误差gydF4y2B一个zgydF4y2B一个直升机的-轴加速度为每个演示(绘制为时间的函数)。gydF4y2B一个图4 (d)gydF4y2B一个显示对齐后的结果(以颜色显示)以及推断的加速度误差(黑色虚线)。我们看到偏差测量暗指航展前40秒的误差大约在1G到2G范围内(这段时间涉及高g机动,“粗糙”模型无法准确预测)。然而,只有对齐偏差才能精确地显示这些误差在轨迹上的大小和位置。对齐使我们能够基于更精确的模型建立理想的轨迹,该模型是根据演示中观察到的动态而定制的。gydF4y2B一个

*gydF4y2B一个6.3.飞行结果gydF4y2B一个

在用我们的算法构建了理想的轨迹和模型后,我们尝试在实际的直升机上飞行轨迹。如第5节所述,我们使用了向后视界DDP控制器。gydF4y2B一个15gydF4y2B一个我们的轨迹学习算法为我们提供了所需的状态和控制轨迹,以及针对轨迹量身定制的精确的时变动力学模型。我们的DDP实现提供了这些奖励,以及之前使用第5.2节描述的方法选择的二次奖励权重。二次奖励函数惩罚偏离目标轨迹的情况,gydF4y2B一个年代gydF4y2B一个*gydF4y2B一个tgydF4y2B一个,以及偏离预期控制的情况,gydF4y2B一个ugydF4y2B一个*gydF4y2B一个tgydF4y2B一个,期望控制速度,gydF4y2B一个ugydF4y2B一个*gydF4y2B一个tgydF4y2B一个+1gydF4y2B一个ugydF4y2B一个*gydF4y2B一个tgydF4y2B一个.gydF4y2B一个

我们首先将这一过程的结果与特技飞行直升机飞行的前水平进行比较,即Abbeel的原地翻滚和翻转。gydF4y2B一个2gydF4y2B一个该工作使用了一个单一的粗糙模型,使用第3节的方法开发,以及手动指定的目标轨迹,并使用第5.2节的方法调整奖励权重。gydF4y2B一个

图5(一个)gydF4y2B一个显示了gydF4y2B一个YZgydF4y2B一个位置gydF4y2B一个jgydF4y2B一个以及由Abbeel中的控制器执行的就地轧辊的集合(推力)控制输入gydF4y2B一个2gydF4y2B一个和我们的控制器使用后视界DDP和我们的轨迹学习算法的输出。我们的新控制器实现了(i)更好的位置性能和(ii)更低的总体总体控制值(这大致代表了飞行机动所使用的能量)。gydF4y2B一个

同样的,gydF4y2B一个图5 (b)gydF4y2B一个显示了gydF4y2B一个XZgydF4y2B一个为两个控制器的就地翻转定位和集合控制输入。就像滚动,我们看到我们的控制器明显优于之前的方法,无论是在位置精度和控制能量消耗。gydF4y2B一个

除了空翻和翻滚,我们还进行了自主的“tic toes”,被广泛认为是一种更具挑战性的特技飞行动作。在(尾翼向下)一键式机动中,直升机快速地前后俯仰到位,尾翼指向地面(类似倒立的钟摆)。俯仰角、水平运动、垂直运动和推力之间的复杂关系使得手工创建可行的三轴轨迹极为困难。我们尝试使用这种手工编码的轨迹,遵循之前在Abbeel的方法,gydF4y2B一个2gydF4y2B一个失败的反复。相比之下,轨迹学习算法很容易产生一个良好的可行轨迹,并在第一次尝试中成功飞行。gydF4y2B一个图5 (c)gydF4y2B一个显示专家轨迹(彩色)和自主飞行的tic-toc(黑色点)。我们的控制器的表现明显优于专家的演示。gydF4y2B一个

我们还应用我们的算法成功地飞行了一个完整的特技飞行表演,如第6.1节所述。gydF4y2B一个

具体的轨迹模型通常捕捉动力学足够好地飞行所有上述的机动可靠。由于我们的计算机控制器飞行轨迹非常一致,然而,这允许我们从真实直升机上目标轨迹的相同附近重复获取数据。因此,我们可以将这些飞行数据合并到我们的模型中,从而进一步提高飞行精度。例如,在第一次自主航展期间,我们的控制器实现了3.29米的RMS位置误差,这一过程将性能提高到1.75米的RMS位置误差。gydF4y2B一个

我们所有航班的视频可在以下网址下载:gydF4y2B一个http://heli.stanford.edugydF4y2B一个

回到顶部gydF4y2B一个

7.结论gydF4y2B一个

我们提出了学习算法,利用专家演示成功地驾驶自主直升机在专家人类飞行员的水平。特别是,我们展示了如何(i)从演示数据构建一个粗略的全局模型,(ii)近似地推断专家的理想期望轨迹,(iii)学习适合高性能控制的精确的、轨迹特定的局部模型,以及(iv)使用我们的轨迹学习算法的输出构建控制系统。我们的实验证明,这种设计管道使我们的控制器能够飞行极限特技飞行机动。我们的结果表明,我们的系统不仅大大优于之前的技术水平,甚至在各种困难的机动上都优于我们自己的专家飞行员。gydF4y2B一个

回到顶部gydF4y2B一个

致谢gydF4y2B一个

我们感谢加雷特·奥库驾驶和建造我们的直升机。亚当·科茨得到了斯坦福大学研究生奖学金的支持。这项工作也得到了DARPA学习运动项目的部分支持,合同编号为FA8650-05-C-7261。gydF4y2B一个

回到顶部gydF4y2B一个

参考文献gydF4y2B一个

1.Abbeel, P., Coates, A., Hunter, T., Ng, A.Y.遥控直升机的自动自动驾驶。gydF4y2B一个ISER11gydF4y2B一个(2008)。gydF4y2B一个

2.Abbeel, Coates, A, Quigley, M, Ng, A.Y.强化学习在特技飞行直升机飞行中的应用。gydF4y2B一个少量的19gydF4y2B一个(2007) 18。gydF4y2B一个

3.Abbeel, P, Ganapathi, V, Ng, A.学习车辆动力学,应用于建模直升机。gydF4y2B一个少量的18gydF4y2B一个(2006) 18。gydF4y2B一个

4.阿比埃,P, Ng, A.Y.。通过反向强化学习的学徒学习。在gydF4y2B一个ICML学报》gydF4y2B一个(2004)。gydF4y2B一个

5.在强化学习中使用不准确的模型。在gydF4y2B一个ICML学报》gydF4y2B一个(2006), acm, ny, 18。gydF4y2B一个

6.安,c.h.,阿特克森,c.g.,霍勒巴赫,J.M.gydF4y2B一个基于模型的机械手控制gydF4y2B一个.麻省理工学院出版社,1988年。gydF4y2B一个

7.安德森,B.,摩尔,J.最佳gydF4y2B一个控制:线性二次方法gydF4y2B一个.普伦蒂斯·霍尔出版社,1989年。gydF4y2B一个

8.Atkeson, C, Schaal, S.机器人从演示中学习。在gydF4y2B一个ICML学报》gydF4y2B一个(1997)。gydF4y2B一个

9.Bagnell, J, Schneider, J.使用强化学习策略搜索方法的自主直升机控制。在gydF4y2B一个IEEE机器人与自动化国际会议gydF4y2B一个(2001)。gydF4y2B一个

10.Boutilier, C, Friedman, N., Goldszmidt, M., Koller, D.贝叶斯网络中的情境特异性独立性。在gydF4y2B一个程序的可用gydF4y2B一个(1996)。gydF4y2B一个

11.加里农,古特,F.比拉德,a .仿人机器人的学习、表示和概括任务。在gydF4y2B一个IEEE系统,人与控制论汇刊,B部分gydF4y2B一个, 2007年第37卷gydF4y2B一个

12.科茨,阿贝尔,P.,吴恩达,A.Y.从多次演示中学习控制。在gydF4y2B一个ICML学报》gydF4y2B一个(2008), 144151。gydF4y2B一个

13.登普斯特,a.p.,莱尔德,新m,鲁宾,D.B.通过EM算法从不完全数据中获得最大可能性。gydF4y2B一个j·罗伊。Stat Soc。gydF4y2B一个.(1977)。gydF4y2B一个

14.Gavrilets, V., Martinos, I., Mettler, B., Feron, E.微型直升机自动飞行控制逻辑。在gydF4y2B一个AIAA制导、导航和控制会议gydF4y2B一个(2002)。gydF4y2B一个

15.雅各布森,d.h.,梅恩,D.Q.gydF4y2B一个微分动态规划。gydF4y2B一个爱思唯尔,1970年。gydF4y2B一个

16.La Civita M。gydF4y2B一个机器人直升机全包络飞行的集成建模与鲁棒控制。gydF4y2B一个博士论文,卡内基梅隆大学,2003年。gydF4y2B一个

17.La Civita, M., Papageorgiou, G., Messner, W.C., Kanade, T.高带宽的设计和飞行测试gydF4y2B一个HgydF4y2B一个一种机器人直升机的环整形控制器。gydF4y2B一个j . Guid。控制。力学。gydF4y2B一个, 29, 2(3月4月)2006), 485494。gydF4y2B一个

18.全新,J。gydF4y2B一个直升机空气动力学原理“,gydF4y2B一个.剑桥大学出版社,2000。gydF4y2B一个

19.Listgarten, J。gydF4y2B一个兄弟时间序列数据分析:对齐与差异检测。gydF4y2B一个多伦多大学博士论文,2006年。gydF4y2B一个

20.李斯加滕,尼尔,S.T,罗维斯,埃米利,连续时间序列的多重对齐。在gydF4y2B一个少量的17gydF4y2B一个(2005)。gydF4y2B一个

21.一种适用于寻找两种蛋白质氨基酸序列相似性的一般方法。gydF4y2B一个j·摩尔,杂志。gydF4y2B一个, 1970年。gydF4y2B一个

22.Neu, G., Szepesvari, C.使用逆强化学习和梯度方法的学徒学习。在gydF4y2B一个程序的可用gydF4y2B一个(2007)。gydF4y2B一个

23.Ng a.y., Coates, A., Diel, M., Ganapathi, V., Schulte, J., Tse, B., Berger, E., Liang, E.基于强化学习的自主倒立直升机飞行。在gydF4y2B一个伊瑟尔gydF4y2B一个(2004)。gydF4y2B一个

24.Ng, A.Y, Kim, H.J, Jordan, M., Sastry, S.基于强化学习的自主直升机飞行。在gydF4y2B一个少量的16gydF4y2B一个(2004)。gydF4y2B一个

25.吴,A.Y, Russell, S.逆强化学习的算法。在gydF4y2B一个ICML学报》gydF4y2B一个(2000)。gydF4y2B一个

26.Ramachandran, D, Amir, E.贝叶斯逆强化学习。在gydF4y2B一个IJCAI学报》gydF4y2B一个(2007)。gydF4y2B一个

27.拉特利夫,巴格内尔,J.,津科维奇,M.最大保证金计划。在gydF4y2B一个ICML学报》gydF4y2B一个(2006)。gydF4y2B一个

28.罗伯茨,j.m.,科克,p.i.,布斯基,G.小型自主直升机的低成本飞行控制系统。在gydF4y2B一个IEEE机器人与自动化国际会议gydF4y2B一个(2003)。gydF4y2B一个

29.Sakoe, H., Chiba, S.语音单词识别的动态规划算法优化。gydF4y2B一个IEEE声学,语音和信号处理汇刊gydF4y2B一个(1978)。gydF4y2B一个

30.Saripalli, S, Montgomery, J. Sukhatme, G.无人机的视觉引导着陆,2003。gydF4y2B一个

31.Seddon, J。gydF4y2B一个基本的直升机空气动力学gydF4y2B一个.AIAA教育系列,美国航空航天研究所,1990年。gydF4y2B一个

32.赛伊德,美国,沙皮尔,罗德。博弈论的学徒学习方法。在gydF4y2B一个少量的20gydF4y2B一个(2008)。gydF4y2B一个

回到顶部gydF4y2B一个

作者gydF4y2B一个

亚当·科茨gydF4y2B一个(gydF4y2B一个acoates@cs.stanford.edugydF4y2B一个),斯坦福大学计算机科学系,斯坦福,加州。gydF4y2B一个

Pieter AbbeelgydF4y2B一个(gydF4y2B一个pabbeel@eecs.berkeley.edugydF4y2B一个),加州大学伯克利分校计算机科学部。gydF4y2B一个

Andrew Ng y .gydF4y2B一个(gydF4y2B一个ang@cs.stanford.edugydF4y2B一个),斯坦福大学计算机科学系,斯坦福,加州。gydF4y2B一个

回到顶部gydF4y2B一个

脚注gydF4y2B一个

a.自动旋转是一种紧急机动,它允许训练有素的飞行员在没有发动机动力的情况下降落直升机。gydF4y2B一个

b.自动旋转机动包括一个稳定的“滑翔”,然后是一个短(几秒钟)的滑翔。“闪光”着陆。虽然这个动作不容易学会,但这些组成部分往往不会从一个演示到下一个演示有太大的变化。gydF4y2B一个

c.状态转换模型还预测控制作为前一个状态和控制的函数。在我们的实验中,我们预测gydF4y2B一个ugydF4y2B一个*gydF4y2B一个tgydF4y2B一个+ 1,gydF4y2B一个ugydF4y2B一个*gydF4y2B一个tgydF4y2B一个加高斯噪声。gydF4y2B一个

d.尽管我们的观察,gydF4y2B一个ygydF4y2B一个随着时间的推移,由于控制观测轨迹的动力学而相互关联,我们的模型假设观测gydF4y2B一个ygydF4y2B一个kgydF4y2B一个jgydF4y2B一个都是独立的gydF4y2B一个jgydF4y2B一个= 0 . .gydF4y2B一个NgydF4y2B一个kgydF4y2B一个1,gydF4y2B一个kgydF4y2B一个= 0 . .gydF4y2B一个米gydF4y2B一个1.gydF4y2B一个

e.我们的生成模型可以包含更丰富的本地模型。我们讨论了在科茨中仅仅使用偏差的选择。gydF4y2B一个12gydF4y2B一个我们还展示了如何使用我们的轨迹学习算法的输出来估计更丰富的模型。gydF4y2B一个

f。修复gydF4y2B一个zgydF4y2B一个表示动态时间扭曲步骤仅近似优化原始目标。不幸的是,没有修复gydF4y2B一个zgydF4y2B一个时,获得高效动态规划算法所需的独立性不成立。在实践中,我们发现我们的近似非常有效。gydF4y2B一个

2 s视界是由可用计算能力所施加的限制。我们的后退地平线DDP控制器以20hz的频率执行。gydF4y2B一个

h.通常情况下,只要简单地选择参数,将各种奖励特征调整到近似相同的大小就足够了。gydF4y2B一个

i.例如,如果我们的控制器始终使用比专家更大的控制,但获得更低的位置误差,我们将增加控制惩罚和减少位置惩罚。gydF4y2B一个

j.这是投影到与旋转轴正交的平面上的位置坐标。gydF4y2B一个

这篇论文的前一个版本,题为“从多个演示中学习控制”发表在gydF4y2B一个第26届国际机器学习会议论文集gydF4y2B一个, (icml 2008), 144151。gydF4y2B一个

DOI: http://doi.acm.org/10.1145/1538788.1538812gydF4y2B一个

回到顶部gydF4y2B一个

数据gydF4y2B一个

F1gydF4y2B一个图1。图形模型表示我们的轨迹假设。(阴影节点被观察到。)gydF4y2B一个

F2gydF4y2B一个图2。图形模型的例子,当已知。(阴影节点被观察到。)gydF4y2B一个

F3gydF4y2B一个图3。我们的XCell风暴自动直升机。gydF4y2B一个

F4gydF4y2B一个图4。颜色:示威。黑色虚线:我们算法推断的轨迹。(详情见正文)gydF4y2B一个

F5gydF4y2B一个图5。飞行结果。(a, b)纯黑:轨迹学习算法的结果。红色虚线:Abbeel手工编码轨迹的结果。gydF4y2B一个

回到顶部gydF4y2B一个


©2009 acm 0001-0782/09/0700 $10.00gydF4y2B一个

允许为个人或课堂使用本作品的全部或部分制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。gydF4y2B一个

数字图书馆是由计算机协会出版的。版权所有©2009 ACM, Inc.gydF4y2B一个


没有发现记录gydF4y2B一个

登录gydF4y2B一个为完全访问gydF4y2B一个
»忘记密码?gydF4y2B一个 »创建ACM Web帐号gydF4y2B一个
文章内容:gydF4y2B一个
Baidu
map