一种三维虚拟场景快速路径规划的橡皮筋算法的制作方法

文档序号:6608494阅读:258来源:国知局
专利名称:一种三维虚拟场景快速路径规划的橡皮筋算法的制作方法
技术领域
本发明属于虚拟现实技术和计算机动画领域,具体涉及一种三维虚拟场景快速路径规划的橡皮筋算法。
龍魷
三维虛拟场景是虚拟现实、计算机动画等领域的重要组成部分,是在计算机上对现实世界的重建。在 三维虚拟场景中,通过漫游的方式可以使用户从不同的角度观察和研究由三维数据建立的三维形体,以便 获取更多的有用信息[11。
在虚拟场景中漫游的方式主要有两种 一种是交互式漫游,这种漫游方式比较灵活,完全由用户操作 鼠标或者键盘等其他的交互设备,按照自己的意图来控制漫游位置和视点方向,但是当用户处于一个不熟 悉的虚拟环境时,容易迷失方向;另外一种方式是按路径漫游,用户按设定好的路线,在虚拟场景中漫游。
路线的设定,可以是由制作者预先录制并保存好的,这种方法实现简单但不灵活,在场景复杂,用户目的 不能预知的情况下,很难完成任务。
路径规划问题又称避障路径规划,是指在具有障碍物的环境中,按照某个评价标准(如最短路径长度), 规划一条从起点到达目标结点的无障碍路径[2]。目前,三维场景漫游中的自动生成漫游路径主要是参考机 器人学的路径规划算法和地理信息系统中的路径搜索方法。
路径规划问题是机器人学中的一个重要课题。自从20世纪40年代后期,美国研制出世界上第一台"主 从式"机械手至今,机器人的研制和应用在欧美和日本快速发展起来,机器人的路径规划及相关算法的形 容也相应的兴起。为了解决路径规划问题,人们已探索出很多有效的求解方法,这些方法包括几何法、单 元分解法、人工势场法和数学分析法及衍生出来的其它方法。由于机器人研究领域希望能借助于各种传感 器,对部分未知或完全未知的环境进行探索,利用获得的信息进行行进路线及方面的决策,所以其所关注 的路径规划问题往往是以未知或部分未知环境作为前提的[3—71。
路径规划问题也是地理信息系统(GIS)的一个研究热点,研究最短路径问题通常将它们抽象为图论 意义下的网络问题,问题的核心就变成了网络图中的最短路径问题。这种方法比较适合大区域和固定道路 的情况,对于3D虚拟场景中的大块无障碍区域,这种方法反而将问题复杂化了。
和机器人学、GIS的路径规划问题明显不同的是,计算机学科中的虚拟现实、动画、游戏、建筑群漫 游、驾驶训练等面对的路径规划问题求解初始条件要简单得多。由于绘制的需要,场景中所有物体的信息 对系统来说都是已知的,如静止物体的大小、位置以及运动物体的初始位置、运动速度、作用于其上的外 力等。所以,3D场景中的路径规划问题的主要任务是,在己知完全的环境信息条件下,获得一条从起始点 到目标点的最优(次优)的避障路径。参考文献 Jansen-0smann, Petra. Using desktop virtual environments to investigate the role of landmarks [J]. Computers in Human Behavior (S0747-5632) , 2002, 18(4): 427-436. Lato油e J C. Robot Motion Planning[M]. Boston: Kluwer Academic Publishers, 1991: 143-176. Schwartz J T, Shair M Shair. A Survey of Motion Planning and Related Geometric Algorithms [J]. Artificial Intelligence (S0004-3702) , 1998, 37(1): 55_67. Brooks R A, Lazano-Perez T. A Subdivision Algorithm in Configuration Space for Find Path with Rotation [C]〃 Proc. Of the 8th Int. Conf on Artificial Intelligence. Karlsruhe, FRG, 1983: 366-380. Hwang Y K, Ahuja N. A Potential field approach to path planning [J]. IEEE Trans, on Robotics and Automation (S1070-9932) , 1992, 8(1): 23-32.马兆青.基于栅格方法的移动机器人实时导航避障[J].机器人,19恥,18(6): 344-348.袁曾任,高明.在动态环境中移动机器人导航和避碰的一种新方法[J].机器人,2000, 22(2): 81-88.

发明内容
本发明的目的在于提出一种实现在三维虚拟场景中自动漫游的快速路径规划算法,称为橡皮筋算法。 该算法可用于复杂形体和运动物体的实时避障问题,具有稳定性好、求解实际问题效率高的特点。
本发明的技术方案,三维虚拟场景快速路径规划的橡皮筋算法,包括如下步骤
1) 对场景投影图矩阵中的障碍物进行处理,获得其绕障包围路线;
2) 生成基本路径,并将其存放于基本路径链表中;
3) 采用橡皮筋算法进行优化处理,获得从起始点到结束点的最优路径。
在现实世界中行走时,如果不知道确定路线时,运动者会朝着目的地的方向走,如图la中的S-〉T; 如果中途碰到障碍物,就试图绕过障碍物,再重新朝向目的地的方向行走,如图所示S-〉A-〉B->C-〉D-〉T, 其中圆点S表示出发点,圆点T表示目的地。实际上,如果视觉上没有障碍,运动者会选择较近的直切障 碍物边沿的行走路线,如图lb所示S-〉B-〉C-〉T。以上所得形状,就像在出发点和目的地之间拉了根橡皮 筋,由于障碍物的存在,橡皮筋不能横穿过去,所以沿障碍物边沿拉伸,而正是因为橡皮筋具有的弹性, 使得路径趋于最短。根据这种思路,提出了自动漫游路径生成的橡皮筋算法。
本发明的有益效果在于由于自动漫游路径生成的橡皮筋算法是对场景投影图处理的,所以适应性强; 生成避障路径是通过对场景投影图矩阵的搜索实现的,充分利用了障碍物投影图中栅格之间的相邻关系, 并通过直接读取预先处理生成的绕障包围路线来求得局部避障路径,因而极大地提高了算法的效率。 一般而言,因为该算法是通过对场景投影图矩阵的搜索实现的,在障碍物小而多的场景中效率优于其他算法。
W,月
图la基本路径 图lb优化后的路径 图2三维虚拟场景投影图 图3颜色值填充后的场景投影图 图4绕障包围路线示意图 图5基本路径生成示意图 图6复杂障碍物处理示意图 图7橡皮筋算法示意图
具体实施例方式
下面结合说明书附图
给出本发明的具体实施方式

1. 基于栅格的环境信息表示
在三维场景建模时,为了保证建模的精确,常常要用到总体建筑规划图。三维虚拟场景投影图就是在 此基础上处理而成的。以规则矩形栅格为组织形式,将场景中不能穿越的障碍物投影到2D平面,图2为 一个三维场景的投影平面图,范围为1024X800,左上角为坐标原点,沿水平方向向右为X轴递增,沿竖 直方向向下为Y轴递增。
对于静态环境,这种离散化只需执行一次。
2. 障碍物的表示
为了区分三维场景的不同障碍物,将图中的各障碍物用不同的颜色值填充,如图3所示。该投影图在 后续的算法中用一个数组矩阵表示,称为场景投影图矩阵(其中u为矩阵中的行数,v为矩阵中的列数)。
,、f。鹏导点
,"叫c障歐
定义l:障碍结点和非障碍结点。
场景投影图矩阵Map(m, n)中,若Map(u, v)=0,表示该点对应的三维场景中没有障碍物,该点为非 障碍结点;否则为障碍结点,Map(u, v)中存储的值对应三维场景中的一个障碍物。
3. 绕障包围路线生成
定义2:绕障包围路线和边界点。
绕障包围路线由各障碍物的边界点以循环链表的形式逐点存储而成的绕障包围圈,边界点是指有且至少有一个邻近单元是表示障碍物的结点,如图4中的外围环。
绕障包围路线可以通过对场景投影图矩阵进行扫描获得,完成后按颜色值将绕障包围路线以循环链接 表的形式存放。这样,如果有一段预定路线穿越障碍物时,可以通过扫描得到的颜色值找到对应的绕障包 围路线,再由穿越障碍区域的进出两个点,在循环链接表中求得两条绕过障碍物的初始路径,选择其中的 一条,作为绕过该障碍物的初始路径。
4. 基本路径生成
基本路径生成算法的主要任务是,在场景投影图矩阵中找到一条基本的绕障路径,如图5所示中的 S-〉A-〉B->C->D-〉T,以便后续优化处理。
基本思想是在出发点到目的地之间拉一条直线,沿该直线从出发点开始,逐点读取场景投影图矩阵 中对应点的值,如果是障碍物点,找到穿越该障碍物的两个边界点,按颜色值从其循环链接表中读取绕过 该障碍物的局部路径,加入到路径链表;如果是非障碍物点,则不作处理,读取下一个点继续;如果是目 的地点,则算法结束。
算法如下
步骤l:读取起始点S、结束点T,把起始点S添加到初始为空的路径链表PL末尾。
步骤2:沿直线S-T在场景投影图矩阵中读取下一个结点,如果不是结束点T,转步骤3;否则转步骤5。
步骤3:检査该结点值,如果为0(非障碍点)则转步骤2。
步骤4:如果是障碍点,找到穿越该障碍物的两个边界点(如图中的A、 D),根据其颜色值从其循环链 接表中读取绕过该障碍物的局部路径(如图中的ABCD,实际上组成局部路径的点是场景投影图矩阵中连接 ABCD的各像素点),加入到路径链表PL。
步骤5:把结束点T添加到路径链表PL末尾,算法结束。
需要注意的是,要依据场景投影图中,表示障碍物的投影图内填充的颜色值而不是边界的颜色来求该 障碍物的绕障包围线路。釆用这种处理的原因是,障碍物通过离散化处理,在场景投影图矩阵中表示出来。 在表示复杂形体时,可能会出现如图6所示的情况,当漫游者从S向T行走时,在复杂形体的斜边处(锯 齿状)不会对边界进行检测,而是直接进入到表示障碍物的色块内部。
5.橡皮筋算法
通过上面算法生成的基本路径可以达到避开障碍物的目的,但并不是我们所期望的优化路径,而且部 分路径链表PL中的结点是按场景投影图逐像素点生成的,应该进行简化。橡皮筋算法就是实现这个目的 的。
基本思想是在已经生成的基本路径SABCDT中,ABCD是逐像素点组成的局部路径,将SA沿A-〉B拉伸,当碰到另一障碍物点(图7中的F点),SF进入路径链表PL,从F点开始,FE沿E-〉B拉伸,如此处 理,直到T点,算法结束。
算法如下
步骤l:读取路径链表PL的前两个结点,前结点front、中间点mid,如果mid为结束点end,算法 结束,转步骤6;
步骤2:读取路径链表PL的下一个结点,如果该点为结束点end,算法结束,转步骤6;否则将该结 点赋给back;
步骤3:如果mid位于front和back的连线上,则在路径链表PL中删除mid,把back的值赋给mid, 转步骤2;
步骤4:如果mid没有位于front和back的连线上,且front和back的连线中没有障碍物,则在路 径链表PL中删除mid,把back的值赋给mid,转步骤2;
步骤5:如果mid没有位于front和back的连线上,且front和back的连线中有障碍物,则将该障 碍物对应的边界点加入路径链表PL的front和mid之间,并将该边界点的值赋给front,转步骤2;
步骤6:结束。
至此,实现了自动漫游路径生成的橡皮筋算法。
权利要求
1. 一种三维虚拟场景快速路径规划的橡皮筋算法,包括以下步骤1)对场景投影图矩阵中的障碍物进行处理,获得其绕障包围路线;2)生成基本路径,并将其存放于基本路径链表中;3)采用橡皮筋算法进行优化处理,获得从起始点到结束点的最优路径。
2. 根据权利要求1所述的三维虚拟场景快速路径规划的橡皮筋算法,其特征在于橡皮筋算法的基础是 绕障包围线路;绕障包围线路是在场景投影图矩阵中进行扫描获得;场景投影矩阵中,各障碍物需要 用不同的颜色填充。
全文摘要
本发明属于虚拟现实技术和计算机动画领域,具体涉及一种三维虚拟场景快速路径规划的橡皮筋算法。本发明首先建立基于栅格的环境信息表示,通过场景中障碍物在场景投影图矩阵中的不同颜色值表示,求得绕障包围路线,在此基础上来求得局部避障路径,生成基本路径后用橡皮筋算法进行优化处理,求得从起始点到结束点的一条最优路径。该算法可用于复杂形体和运动物体的实时避障,具有稳定性好、求解实际问题效率高的特点。
文档编号G06T15/70GK101430797SQ200710094209
公开日2009年5月13日 申请日期2007年11月7日 优先权日2007年11月7日
发明者栋 王, 勇 陈, 戈 陈 申请人:上海兰基斯软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1