动态环境中的规划.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态环境中的规划.ppt

动态环境中的规划 路径规划 概要 规划经常是一个重复过程,且要求快速。 动态环境 不精确的初始模型 真体位置有误差 基于A*的规划器类型: ARA* 随时A*搜索 输出? 亚优解 能在有时间约束下使用 D*与D*精简版 递增A*搜索 通过复用前次搜索结果来计算最佳解 常常能显著加速重复规划 随时D*(AD*) 随时递增A*搜索 输出? 亚优解 能在有时间约束下使用 常常能显著加速重复规划 所有都基于ComputePathWithReuse函数 动态环境中的自动真体 规划(Planning) 规划 利用一个问题的结构来构造一个到达目的行动计划 是以研究理性行动为己任的AI的核心部分 路径规划:对求解问题的路径及其代价进行规划 基于搜索的规划 基于搜索的规划 基于高维搜索的规划 基于高维搜索的规划 实际规划 由于下面原因,需多次再规划 环境变化 导航时,有人在附近 自动驾驶时,有其它车辆在路上 环境模型不精确 位置估计有误差 需快速再规划 实际规划 由于下面原因,需多次再规划 环境变化 导航时,有人在附近 自动驾驶时,有其它车辆在路上 环境模型不精确 位置估计有误差 需快速再规划! 实际规划 实际规划 随时规划算法,例如, A*的随时复用版,即ARA* 快速找到第一个可能的亚优解,然后用其余时间来改进它。 允许满足时间约束。 再规划算法,例如, A*递增版,也即D*与D*精简版 复用以前规划来加速再规划 很适合于动态和/或部分已知的环境。 随时再规划算法,例如,随时递增A*,即随时D* 结合上述两者的优点。 搜索最小代价路径 计算相关态的g值 g(s):一条从sstart到s最小代价路径的代价估值。 最佳值满足: g(s)=mins”?pred(s)(g(s”)+c(s”,s)) 搜索最小代价路径 最小代价路经是由回溯(backtracking)获得的一条的贪婪路径 从sgoal开始,并且从任一状态s移向其前任状态s’,使得:s’=argmins”?pred(s)(g(s”)+c(s”,s)) A*搜索 计算相关态的最佳g值 在某一时刻: A*搜索 计算相关态的最佳g值 主函数: g(sstart)=0;所有其它g值是无穷;OPEN={sstart}; ComputePath(); 给出结果; ComputePath函数: while (sgoal没有被扩展) 从OPEN中移去f(s)( = g(s)+h(s))最小的s; 扩展s; A*搜索 计算相关态的最佳g值 ComputePath函数: while (sgoal没有被扩展过) 从OPEN中移去f(s)( = g(s)+h(s))最小的s; 把s插入CLOSED; 对s的每个不在CLOSED中的后续态s’ if g(s’)g(s)+c(s,s’) g(s’)=g(s)+c(s,s’); 把s’ 插入OPEN; A*搜索:例子 计算相关态的最佳g值 ComputePath函数: while (sgoal没有被扩展) 从OPEN中移去f(s)( = g(s)+h(s))最小的s; 把s插入CLOSED; 对s的每个不在CLOSED中的后续态s’ if g(s’)g(s)+c(s,s’) g(s’)=g(s)+c(s,s’); 把s’ 插入OPEN; A*搜索:例子 计算相关态的最佳g值 ComputePath函数: while (sgoal没有被扩展) 从OPEN中移去f(s)( = g(s)+h(s))最小的s; 把s插入CLOSED; 对s的每个不在CLOSED中的后续态s’ if g(s’)g(s)+c(s,s’) g(s’)=g(s)+c(s,s’); 把s’ 插入OPEN; A*搜索:例子 计算相关态的最佳g值 ComputePath函数: while (sgoal没有被扩展) 从OPEN中移去f(s)( = g(s)+h(s))最小的s; 把s插入CLOSED; 对s的每个不在CLOSED中的后续态s’ if g(s’)g(s)+c(s,s’) g(s’)=g(s)+c(s,s’); 把s’ 插入OPEN; A*搜索:例子 计算相关态的最佳g值 ComputePath函数: while (sgoal没有被扩展) 从OPEN中移去f(s)( = g(s)+h(s))最小的s; 把s插入CLOSED; 对s的每个不在CLOSED中的后续态s’ if g(s’)g(s)+c(s,s’) g(s’)=g(s)+c(s,s’); 把s’ 插入OPEN; A*搜索:例子 计算相关态的最佳g值 ComputePath函数: while (sgoal没有被扩展) 从O

文档评论(0)

000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档