1.本发明涉及轨道车控制领域,具体涉及一种交互式轨道车控制方法及系统。
背景技术:2.轨道车是一种搭载游客沿预定轨道线路,在虚实景结合的仿真环境中穿行体验的游乐设备。轨道车包括:底盘、上座舱、六自由度平台和回转支撑,底盘安装在行走轨道上,底盘上用通过六自由度平台和回转支撑安装有上座舱,轨道车具有如下动作:底盘行走、上座舱六个自由度动作和上座舱回转动作,这些动作分别是由六自由度平台和回转支撑处的行走电机、六自由度电机和回转电机驱动实现的,轨道车的结构图,如图1所示。
3.传统的轨道车项目,当游客坐上轨道车开始体验游玩时,沿轨道两边依次布设的影片、机模和特效设备按照时间进度开始依次动作,同时行走电机、旋转电机和六自由度电机也会按照时间进度驱动轨道车做出对应的动作,以配合故事脚本的进行。因为轨道车沿轨道体验一圈的故事脚本(也就是影片的故事脚本)是提前设计好的,因此每个影片点位何时开始播放影片;每个机模和特效设备何时开始动作;轨道车上的行走电机、旋转电机和六自由度电机何时需要动作到什么位置都已经提前记录在动作文件中。
4.轨道车控制系统中的控制器是循环运行的,其循环执行周期根据控制器性能的不同和执行代码的复杂程度不同而不同。上述的动作文件也会根据控制器的执行周期,将整个游玩体验过程中,各影片点位播放触发命令、各机模和特效触发命令、各伺服电机目标位置命令,按照控制器执行周期,一条条的记录在动作文件中。动作文件的文件组织格式如图2所示,其中被框出来的是第n个控制周期对应的一条动作命令。
5.轨道车在运行时,控制器首先会将动作文件中的所有数据读取到控制器中。当开始游玩体验时,控制器每个执行周期都会依次从动作文件中读取一条命令,获得当前执行周期,每个影片点位是否需要开始触发播放影片,每个机模和特效设备是否需要开始触发运行,轨道车上的行走电机、旋转电机和六自由度电机当前需要运行到什么位置,然后控制对应的设备去执行从动作文件中查询到的命令条。
6.交互式轨道车会在整个故事脚本中,取其中几个关键的故事节点作为分隔点,如故事中的角色是否会死亡,是否可以完成某个小任务等,将整个体验游玩过程分为若干段,并对每段根据关键节点的结果,设计对应的故事子脚本,使整个体验游玩的过程情节更加丰富,增加了轨道车项目的趣味性。
7.为了达到上述效果,在交互式轨道车上增加了人机交互接口和子脚本判断环节,如图3所示,互动式轨道车控制系统包括:人机接口、轨道控制器、影片播放控制器、影片放映设备、机模特效控制器、机模与特效设备、行走旋转六自由度伺服驱动器、行走旋转六自由度电机,人机接口连接知道现场总线,人机接口连接至轨道控制器,轨道控制器控制各个分控制器(即是:影片播放控制器、机模特效控制器以及行走旋转六自由度伺服驱动器),影片播放控制器控制影片放映设备运行,机模特效控制器控制机模与特效设备运行,行走旋转六自由度伺服驱动器控制行走旋转六自由度电机运行。如图4所示,游客通过人机接口,
来告知控制系统自己希望的故事关键节点结果。人机接口可以通过现场总线,也可以通过硬线与轨道车控制器连接,将游客的意愿信息传输至轨道车控制器。轨道车控制器中的子脚本判断环节统计游客的意愿信息后,来决定轨道车下一段故事情节该向哪个故事子脚本发展,同时调用下一段对应的动作文件,将动作文件中记录的命令发送至影片播放控制器,机模与特效控制器,行走、旋转、六自由度伺服驱动器,从而控制影片放映设备,机模与特效设备,行走、旋转、六自由度电机动作,完成下一段的体验动作。这里的人机交互接口可以是一个简单的选择按钮,游客直接将自己的意愿通过选择按钮告知系统,也可以是一个互动射击枪,游客通过互动射机枪完成故事中的互动游戏,控制系统通过游戏分数来判断故事的发展方向。互动式轨道车运行步骤如图4所示。
8.因为轨道车在执行动作文件之前都需要先将动作文件读取到控制器中,而一段动作文件包含的内容较多,通常是需要有几秒钟到十几秒钟的读取动作文件时间。游客在完成本段体验后,往往希望马上开始下一段的体验,因此,如何解决互动式轨道车因读取动作文件产生的体验中断,是互动式轨道车控制系统的难点。
技术实现要素:9.本发明要提供一种交互式轨道车控制方法及系统,解决现有技术中交互式轨道车在动作文件加载时产生让人能感受的停顿的问题。
10.为实现上述目的,本发明采用了如下的技术方案:
11.本发明首先公开了一种交互式轨道车控制方法,包括如下步骤:
12.s1、通过人机交互装置获取本段体验过程中游客的意愿或游客当前的游戏分数;
13.s2、轨道车控制器获得本段体验的情节发展方向以及待执行动作文件,获取方式为:通过游客的意愿或游客当前的游戏分数,判断轨道车的情节发展方向,并通过情节发展方向调用对应的动作文件为待执行动作文件;
14.s3、影片播放控制器、机模与特效控制器以及行走旋转六自由度伺服驱动器按照如下步骤读取并执行轨道车控制器中待执行动作文件:
15.s31、设待执行动作文件中有n条动作指令,i的初始值为0;
16.s32、从前到后依次读取待执行动作文件中m条动作指令为当前执行包,m<n,且计算i=i+1;
17.s33、从前到后依次执行当前执行包中m条动作指令;
18.s34、判断是否是n>i*m,若是,则进行步骤s32;若否,则进行步骤s4;
19.s4、等待下一次通过人机交互装置获取体验过程中游客的意愿或游客当前的游戏分数。
20.优选的是,s32中从前到后依次读取待执行动作文件中m条动作指令为当前执行包为读取步骤,步骤s32中计算i=i+1在读取步骤执行完后执行,读取步骤包括如下步骤:
21.s321、判断n-i*m是否大于等于m,若是,则进行步骤s322;若否,则进行步骤s323;
22.s322、读取待执行动作文件中第i*m+1至第i*m+m个动作指令;
23.s323、读取待执行动作文件中第i*m+1至第n个动作指令;
24.s324、结束。
25.优选的是,设j的初始值为0,步骤s33按照以下步骤执行:
26.s331、计算j=j+1;
27.s332、执行当前执行包中第j条动作指令;
28.s333、判断是否已经执行完,包括如下步骤:
29.s3331、判断是否执行了s323,若是,则进行步骤s3332;若否,则进行步骤s3333;
30.s3332、判断j是否等于n-(i-1)*m(由于i已经加1),若是,则进行步骤s334;若否,则进行步骤s331;
31.s3333、步骤j是否等于m,若是,则进行步骤s334;若否,则进行步骤s331;
32.s334、结束。整个步骤实现了将当前执行包内动作指令执行完,保证按照指定的工作毫无遗漏地执行。
33.本发明还公开了一种交互式轨道车控制系统,包括:
34.人机交互装置,其用于获取本次体验过程中游客的意愿或游客当前的游戏分数;
35.轨道车控制器,其内包括:存储模块、情节方向决定模块以及动作调用模块;存储模块内存储有若干个情节,每个情节包括若干个子情节,每个子情节对应一个动作文件,每个动作文件内包括:n条动作指令;情节方向决定模块用于通过游客的意愿或游客当前的游戏分数判断轨道车的情节发展方向;动作调用模块用于通过情节发展方向调用对应的动作文件为待执行动作文件;
36.影片播放控制器,其根据轨道车控制器获得待执行动作文件进行影片播放;
37.机模与特效控制器,其根据轨道车控制器获得待执行动作文件进行机模与特效控制;以及
38.行走旋转六自由度伺服驱动器,其根据轨道车控制器获得待执行动作文件进行控制行走、旋转、六自由度电机动作。
39.相比于现有技术,本发明具有如下有益效果:
40.由于待执行动作文件中含有n条动作指令,动作指令条数过多,文件尺寸较大,无法一次性读取进入,所以本技术采用先读取n条中的m条的方式,实现影片播放控制器、机模与特效控制器以及行走旋转六自由度伺服驱动器从轨道车控制器中每次只读取仅仅m条数据,读取m条的时间t1远远小于读取n条的时间t2,乘坐人基本感受不到t1内的停顿,每个控制周期执行m条工作指令后再执行后面的m条工作指令,如此往复直至“动作文件a+1.b”中n条动作指令全部执行完成,由于乘坐人员基本感受不到停顿,因此能给人以没有停顿的体验效果,避免因人感受到停顿而导致体验效果大大降低。
41.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
42.图1为轨道车结构图;
43.图2为动作文件的文件组织格式;
44.图3为互动式轨道车控制系统框图;
45.图4为现有技术中互动式轨道车运行步骤;
46.图5为本技术中交互式轨道车控制方法步骤。
具体实施方式
47.为了使本发明实现的技术手段、创作特征、达成目的与作用更加清楚及易于了解,下面结合附图和具体实施方式对本发明作进一步阐述:
48.如图5所示,本发明首先公开了一种交互式轨道车控制方法,包括如下步骤:
49.s1、通过人机交互装置获取本段体验过程中游客的意愿或游客当前的游戏分数;
50.s2、轨道车控制器获得本段体验的情节发展方向以及待执行动作文件,获取方式为:通过游客的意愿或游客当前的游戏分数,判断轨道车的情节发展方向(此方向,编辑了各个情节的发展顺序,也包含了哪些情节,由于情节包含很多个子情节,每个子情节对应一个动作文件,因此动作文件的调用顺序由情节发展方向决定),并通过情节发展方向调用对应的动作文件为待执行动作文件;
51.s3、影片播放控制器、机模与特效控制器以及行走旋转六自由度伺服驱动器按照如下步骤读取并执行轨道车控制器中待执行动作文件:
52.s31、设待执行动作文件中有n条动作指令,i的初始值为0;
53.s32、从前到后依次读取待执行动作文件中m条动作指令为当前执行包,m<n,且计算i=i+1;
54.s33、从前到后依次执行当前执行包中m条动作指令;
55.s34、判断是否是n>i*m,若是,则进行步骤s32;若否,则进行步骤s4;
56.s4、等待下一次通过人机交互装置获取体验过程中游客的意愿或游客当前的游戏分数。
57.s32中从前到后依次读取待执行动作文件中m条动作指令为当前执行包为读取步骤,步骤s32中计算i=i+1在读取步骤执行完后执行,读取步骤包括如下步骤:s321、判断n-i*m是否大于等于m,若是,则进行步骤s322;若否,则进行步骤s323;s322、读取待执行动作文件中第i*m+1至第i*m+m个动作指令;s323、读取待执行动作文件中第i*m+1至第n个动作指令;s324、结束。由于n可能不是m的倍数,因此采用步骤s321、s322以及s323相互配合。
58.设j的初始值为0,步骤s33按照以下步骤执行:s331、计算j=j+1。s332、执行当前执行包中第j条动作指令。s333、判断是否已经执行完,包括如下步骤:s3331、判断是否执行了s323,若是,则进行步骤s3332;若否,则进行步骤s3333;s3332、判断j是否等于n-(i-1)*m(由于步骤s32中i已经加1),若是,则进行步骤s334;若否,则进行步骤s331;(这种是最后剩余没得m个动作指令的时候)s3333、步骤j是否等于m,若是,则进行步骤s334;若否,则进行步骤s331。s334、结束。整个步骤实现了将当前执行包内动作指令执行完,保证按照指定的工作毫无遗漏地执行。
59.如图4所示,本发明还公开了一种交互式轨道车控制系统,包括:人机交互装置,其用于获取本次体验过程中游客的意愿或游客当前的游戏分数;轨道车控制器,其内包括:存储模块、情节方向决定模块以及动作调用模块;存储模块内存储有若干个情节,每个情节包括若干个子情节,每个子情节对应一个动作文件,每个动作文件内包括:n条动作指令;情节方向决定模块用于通过游客的意愿或游客当前的游戏分数判断轨道车的情节发展方向;动作调用模块用于通过情节发展方向调用对应的动作文件为待执行动作文件;影片播放控制器,其根据轨道车控制器获得待执行动作文件进行影片播放;机模与特效控制器,其根据轨道车控制器获得待执行动作文件进行机模与特效控制;行走旋转六自由度伺服驱动器,其
根据轨道车控制器获得待执行动作文件进行控制行走、旋转、六自由度电机动作。
60.通过分析可知,互动式轨道车之所以产生几秒到十几秒的体验中断,是因为一次性读取的待动作文件太大。互动式轨道车每段的体验时长大约在300秒左右,而动作文件中每条指令间隔即为控制器的执行周期,只有10ms左右,因此一段待动作文件中大约包含了3万条动作指令。通过实际的测试可知,控制器每个执行周期大约可以读取50条数据(也就是:50条动作指令),读取完整待动作文件需要6秒钟,通过计算3万条处于50条等于600倍,那么读取50条动作指令的时间间隔为秒钟。当每段体验时间更长,对应的动作文件更大时,读取的时间就会更长,从而产生的体验中断时间也会相应的增加。
61.本技术中,m常常等于50,也就是每次读取50条动作指令,读取的时间仅仅需要秒钟,与传统将待动作文件中所有动作指令3万多条的读取时间6秒钟相比,也就是秒钟与6秒钟的对比,人是感受不到秒钟的停顿,只会感受到6秒钟的停顿,因此本技术能够给人以没有停顿的体验效果,避免因人感受到停顿而导致体验效果大大降低。
62.最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。