CN102467751A - 一种三维虚拟场景快速路径规划的橡皮筋算法 - Google Patents

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

Info

Publication number
CN102467751A
CN102467751A CN2010105376412A CN201010537641A CN102467751A CN 102467751 A CN102467751 A CN 102467751A CN 2010105376412 A CN2010105376412 A CN 2010105376412A CN 201010537641 A CN201010537641 A CN 201010537641A CN 102467751 A CN102467751 A CN 102467751A
Authority
CN
China
Prior art keywords
barrier
path
algorithm
scene
route
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010105376412A
Other languages
English (en)
Inventor
严峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI NEPOCH INFORMATION TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI NEPOCH INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI NEPOCH INFORMATION TECHNOLOGY Co Ltd filed Critical SHANGHAI NEPOCH INFORMATION TECHNOLOGY Co Ltd
Priority to CN2010105376412A priority Critical patent/CN102467751A/zh
Publication of CN102467751A publication Critical patent/CN102467751A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明属于虚拟现实技术和计算机动画领域,具体涉及一种三维虚拟场景快速路径规划的橡皮筋算法。本发明首先建立基于栅格的环境信息表示,通过场景中障碍物在场景投影图矩阵中的不同颜色值表示,求得绕障包围路线,在此基础上来求得局部避障路径,生成基本路径后用橡皮筋算法进行优化处理,求得从起始点到结束点的一条最优路径。该算法可用于复杂形体和运动物体的实时避障,具有稳定性好、求解实际问题效率高的特点。

Description

一种三维虚拟场景快速路径规划的橡皮筋算法
技术领域
本发明属于虚拟现实技术和计算机动画领域,具体涉及一种三维虚拟场景快速路径划的橡皮筋算法。
背景技术
三维虚拟场景是虚拟现实、计算机动画等领域的重要组成部分,是在计算机上对现实世界的重建。在三维虚拟场景中,通过漫游的方式可以使用户从不同的角度观察和研究由三维数据建立的三维形体,以便获取更多的有用信息【1】。
在虚拟场景中漫游的方式主要有两种:一种是交互式漫游,这种漫游方式比较灵活,完全由用户操作鼠标或者键盘等其他的交互设备,按照自己的意图来控制漫游位置和视点方向,但是当用户处于一个不熟悉的虚拟环境时,容易迷失方向;另外一种方式是按路径漫游,用户按设定好的路线,在虚拟场景中漫游。路线的设定,可以是由制作者预先录制并保存好的,这种方法实现简单但不灵活,在场景复杂,用户目的不能预知的情况下,很难完成任务。
路径规划问题又称避障路径规划,是指在具有障碍物的环境中,按照某个评价标准(如最短路径长度),规划一条从起点到达目标结点的无障碍路径‘训。目前,三维场景漫游中的自动生成漫游路径主要是参考机器人学的路径规划算法和地理信息系统中的路径搜索方法。
路径规划问题是机器人学中的一个重要课题。自从20世纪40年代后期,美国研制出世界上第一台“主从式”机械手至今,机器人的研制和应用在欧美和日本快速发展起来,机器人的路径规划及相关算法的形容也相应的兴起。为了解决路径规划问题,人们已探索出很多有效的求解方法,这些方法包括几何法、单元分解法、人工势场法和数学分析法及衍生出来的其它方法。由于机器人研究领域希望能借助于各种传感器,对部分未知或完全未知的环境进行探索,利用获得的信息进行行进路线及方面的决策,所以其所关注的路径规划问题往往是以未知或部分未知环境作为前提的p41。
路径规划问题也是地理信息系统(GIS)的一个研究热点,研究最短路径问题通常将它们抽象为图论意义下的网络问题,问题的核心就变成了网络图中的最短路径问题。这种方法比较适合大区域和固定道路的情况,对于3D虚拟场景中的大块无障碍区域,这种方法反而将问题复杂化了。和机器人学、GIS的路径规划问题明显不同的是,计算机学科中的虚拟现实、动画、游戏、建筑群漫游、驾驶训练等面对的路径规划问题求解初始条件要简单得多。由于绘制的需要,场景中所有物体的信息对系统来说都是已知的,如静止物体的大小、位置以及运动物体的初始位置、运动速度、作用于其上的外力等。所以,3D场景中的路径规划问题的主要任务是,在已知完全的环境信息条件下,获得一条从起始点到目标点的最优(次优)的避障路径。
【发明内容】
本发明的目的在于提出一种实现在三维虚拟场景中自动漫游的快速路径规划算法,称为橡皮筋算法。该算法可用于复杂形体和运动物体的实时避障问题,具有稳定性好、求解实际问题效率高的特点。
本发明的技术方案,三维虚拟场景快速路径规划的橡皮筋算法,包括如下步骤:
1)对场景投影图矩阵中的障碍物进行处理,获得其绕障包围路线:
2)生成基本路径,并将其存放于基本路径链表中;
3)采用橡皮筋算法进行优化处理,获得从起始点到结束点的最优路径。
在现实世界中行走时,如果不知道确定路线时,运动者会朝着目的地的方向走,如图1a中的S->T:如果中途碰到障碍物,就试图绕过障碍物,再重新朝向目的地的方向行走,如图所示S->A->B->C->D->T,其中圆点S表示出发点,圆点T表示目的地。实际上,如果视觉上没有障碍,运动者会选择较近的直切障碍物边沿的行走路线,如图1b所示S->B->C->T。以上所得形状,就像在出发点和目的地之间拉了根橡皮筋,由于障碍物的存在,橡皮筋不能横穿过去,所以沿障碍物边沿拉伸,而正是因为橡皮筋具有的弹性,使得路径趋于最短。根据这种思路,提出了自动漫游路径生成的橡皮筋算法。
本发明的有益效果在于:由于自动漫游路径生成的橡皮筋算法是对场景投影图处理的,所以适应性强;生成避障路径是通过对场景投影图矩阵的搜索实现的,充分利用了障碍物投影图中栅格之间的相邻关系,并通过直接读取预先处理生成的绕障包围路线来求得局部避障路径,因而极大地提高了算法的效率。一般而言,因为该算法是通过对场景投影图矩阵的搜索实现的,在障碍物小而多的场景中效率优于其他算法。
附图说明
图1a基本路径
图1b优化后的路径
图2三维虚拟场景投影图
图3颜色值填充后的场景投影图
图4绕障包围路线示意图
图5基本路径生成示意图
图6复杂障碍物处理示意图
图7橡皮筋算法示意图
具体实施方式
下面结合说明书附图给出本发明的具体实施方式。
1.基于栅格的环境信息表示
在三维场景建模时,为了保证建模的精确,常常要用到总体建筑规划图。三维虚拟场景投影图就是在此基础上处理而成的。以规则矩形栅格为组织形式,将场景中不能穿越的障碍物投影到2D平面,图2为一个三维场景的投影平面图,范围为1024×800,左上角为坐标原点,沿水平方向向右为x轴递增,沿竖直方向向下为Y轴递增。
对于静态环境,这种离散化只需执行一次。
2.障碍物的表示
为了区分三维场景的不同障碍物,将图中的各障碍物用不同的颜色值填充,如图3所示。该投影图在后续的算法中用一个数组矩阵表示,称为场景投影图矩阵(其中u为矩阵中的行数,v为矩阵中的列数)。
Figure BSA00000339874300031
定义1:障碍结点和非障碍结点。
场景投影图矩阵Map(m,n)中,若Map(u,v)=0,表示该点对应的三维场景中没有障碍物,该点为非障碍结点;否则为障碍结点,Map(u,v)中存储的值对应三维场景中的一个障碍物。
3.绕障包围路线生成
定义2:绕障包围路线和边界点。
绕障包围路线由各障碍物的边界点以循环链表的形式逐点存储而成的绕障包围圈,边界点是指有且至少有一个邻近单元是表示障碍物的结点,如图4中的外围环。绕障包围路线可以通过对场景投影图矩阵进行扫描获得,完成后按颜色值将绕障包围路线以循环链接表的形式存放。这样,如果有一段预定路线穿越障碍物时,可以通过扫描得到的颜色值找到对应的绕障包围路线,再由穿越障碍区域的进出两个点,在循环链接表中求得两条绕过障碍物的初始路径,选择其中的一条,作为绕过该障碍物的初始路径。
4.基本路径生成
基本路径生成算法的主要任务是,在场景投影图矩阵中找到一条基本的绕障路径,如图5所示中的S->A一>B一>C一>D一>T,以便后续优化处理。
基本思想是:在出发点到目的地之间拉一条直线,沿该直线从出发点开始,逐点读取场景投影图矩阵中对应点的值,如果是障碍物点,找到穿越该障碍物的两个边界点,按颜色值从其循环链接表中读取绕过该障碍物的局部路径,加入到路径链表;如果是非障碍物点,则不作处理,读取下一个点继续;如果是目的地点,则算法结束。
算法如下:
步骤1:读取起始点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中的结点是按场景投影图逐像素点生成的,应该进行简化。橡皮筋算法就是实现这个目的的。
基本思想是:在已经生成的基本路径SABCD-’中,ABCD是逐像素点组成的局部路径,将SA沿A一>B拉伸,当碰到另一障碍物点(图7中的F点),SF进入路径链表PL,从F点开始,FE沿E一>B拉伸,如此处理,直到T点,算法结束。
算法如下:
步骤1:读取路径链表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:结束。
至此,实现了自动漫游路径生成的橡皮筋算法。

Claims (2)

1.一种三维虚拟场景快速路径规划的橡皮筋算法,包括以下步骤:
1)对场景投影图矩阵中的障碍物进行处理,获得其绕障包围路线;
2)生成基本路径,并将其存放于基本路径链表中;
3)采用橡皮筋算法进行优化处理,获得从起始点到结束点的最优路径。
2.根据权利要求1所述的三维虚拟场景快速路径规划的橡皮筋算法,其特征在于:橡皮算法的基础是绕障包围线路:绕障包围线路是在场景投影图矩阵中进行扫描获得;场景投影矩阵中,各障碍物需要用不同的颜色填充。
CN2010105376412A 2010-11-10 2010-11-10 一种三维虚拟场景快速路径规划的橡皮筋算法 Pending CN102467751A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105376412A CN102467751A (zh) 2010-11-10 2010-11-10 一种三维虚拟场景快速路径规划的橡皮筋算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105376412A CN102467751A (zh) 2010-11-10 2010-11-10 一种三维虚拟场景快速路径规划的橡皮筋算法

Publications (1)

Publication Number Publication Date
CN102467751A true CN102467751A (zh) 2012-05-23

Family

ID=46071357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105376412A Pending CN102467751A (zh) 2010-11-10 2010-11-10 一种三维虚拟场景快速路径规划的橡皮筋算法

Country Status (1)

Country Link
CN (1) CN102467751A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105641929A (zh) * 2015-12-28 2016-06-08 北京像素软件科技股份有限公司 一种寻路方法
CN106873788A (zh) * 2017-04-14 2017-06-20 歌尔科技有限公司 一种虚拟现实头戴设备
CN109196433A (zh) * 2016-04-01 2019-01-11 轨迹机器人公司 使用规划的机器人行进路径的导航
CN111260759A (zh) * 2020-01-10 2020-06-09 北京金山安全软件有限公司 一种路径确定方法及装置
WO2024159865A1 (zh) * 2023-01-31 2024-08-08 腾讯科技(深圳)有限公司 移动路径的确定方法和装置、介质、设备和程序产品

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105641929A (zh) * 2015-12-28 2016-06-08 北京像素软件科技股份有限公司 一种寻路方法
CN105641929B (zh) * 2015-12-28 2019-07-05 北京像素软件科技股份有限公司 一种寻路方法
CN109196433A (zh) * 2016-04-01 2019-01-11 轨迹机器人公司 使用规划的机器人行进路径的导航
CN106873788A (zh) * 2017-04-14 2017-06-20 歌尔科技有限公司 一种虚拟现实头戴设备
CN111260759A (zh) * 2020-01-10 2020-06-09 北京金山安全软件有限公司 一种路径确定方法及装置
CN111260759B (zh) * 2020-01-10 2023-02-24 北京金山安全软件有限公司 一种路径确定方法及装置
WO2024159865A1 (zh) * 2023-01-31 2024-08-08 腾讯科技(深圳)有限公司 移动路径的确定方法和装置、介质、设备和程序产品

Similar Documents

Publication Publication Date Title
Cartillier et al. Semantic mapnet: Building allocentric semantic maps and representations from egocentric views
CN107168305B (zh) 路口场景下基于Bezier和VFH的无人车轨迹规划方法
Xia et al. Relmogen: Integrating motion generation in reinforcement learning for mobile manipulation
CN109341707A (zh) 未知环境下移动机器人三维地图构建方法
CN102467751A (zh) 一种三维虚拟场景快速路径规划的橡皮筋算法
Nguyen et al. Dronevr: A web virtual reality simulator for drone operator
CN109374005B (zh) 一种基于船舶vr模型的船舶内部路径规划方法
Yokoyama et al. Success weighted by completion time: A dynamics-aware evaluation criteria for embodied navigation
Bersan et al. Semantic map augmentation for robot navigation: A learning approach based on visual and depth data
Wahid et al. Learning object-conditioned exploration using distributed soft actor critic
CN101430797A (zh) 一种三维虚拟场景快速路径规划的橡皮筋算法
Khoche et al. Semantic 3d grid maps for autonomous driving
Zhao et al. Complete coverage path planning scheme for autonomous navigation ROS-based robots
Wang et al. AGRNav: Efficient and Energy-Saving Autonomous Navigation for Air-Ground Robots in Occlusion-Prone Environments
Adachi et al. Accuracy improvement of semantic segmentation trained with data generated from a 3d model by histogram matching using suitable references
Kleiner et al. Guaranteed search with large teams of unmanned aerial vehicles
Wooden et al. Oriented visibility graphs: Low-complexity planning in real-time environments
Karim et al. Procedural locomotion of multilegged characters in dynamic environments
CN101281657A (zh) 一种基于视频数据的人群行为合成方法
US11906977B2 (en) Path planning method
Korthals et al. Semantical occupancy grid mapping framework
JP2012103144A (ja) 3次元環境復元装置、3次元環境復元方法、及びロボット
CN114459483A (zh) 基于机器人导航用地标导航地图构建与应用方法、系统
Nerlekar et al. Implementation of A* algorithm for optimal path planning for mobile robots
Kaniarasu et al. Goal-directed occupancy prediction for lane-following actors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120523