著录项信息
专利名称 | 一种汽车运动仿真模拟方法 |
申请号 | CN201310670735.0 | 申请日期 | 2013-12-11 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2014-03-12 | 公开/公告号 | CN103632008A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/50 | IPC分类号 | G;0;6;F;1;7;/;5;0查看分类表>
|
申请人 | 四川九洲电器集团有限责任公司 | 申请人地址 | 四川省绵阳市科创园区九华路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 四川九洲投资控股集团有限公司 | 当前权利人 | 四川九洲投资控股集团有限公司 |
发明人 | 吴超蓉;莫世锋;罗浩;吴小伟;刘思远 |
代理机构 | 成都九鼎天元知识产权代理有限公司 | 代理人 | 韩雪 |
摘要
本发明提供了一种汽车运动仿真模拟方法。通过分析汽车的导航力来表现汽车的各种运动特性。在分析汽车的追逐导航力时,根据汽车与被追逐者之间相对位置的不同设置不同的追逐时间阈值,使汽车的追逐行为更接近现实;在分析汽车躲避障碍物的导航力时,采用物理引擎进行碰撞检测,并采用模糊逻辑算法来实现躲避多障碍物的导航力计算,使汽车的避障行为更具真实感。此方法克服了现有汽车模拟方法中运行速度与模拟真实感不能很好兼容的缺点,既保证了算法的简洁性与运算速度,又能保证尽可能接近现实中汽车的运动环境。且本发明方法适用于游戏领域、仿真训练领域、仿真作战系统等各种需要汽车模拟技术的领域中,具有通用性。
1.一种汽车运动仿真模拟方法,具体方法步骤为:步骤一、初始化汽车状态;步骤二、计算包括寻找导航力、避障导航力和追逐导航力在内的汽车的导航力;步骤三、合并导航力;
步骤四、利用求得的导航力和初始化的汽车质量,求出汽车运行所需的加速度,从而更新汽车的运行状态;
所述寻找导航力的计算方法为:用汽车在寻找目标点时的期望运行速度减去汽车的当前速度;
所述追逐导航力的具体计算方法为:步骤1、求出汽车当前位置指向被追逐者当前位置的向量,及此向量与汽车当前朝向的夹角,并计算汽车当前朝向与被追逐者当前朝向之间的夹角;步骤2、判断汽车与被追逐者之间的相对位置;步骤3、根据上一步判断出的汽车与被追逐者之间的相对位置,设置一个汽车追上被追逐者的时间阈值t;步骤4、预测t时间后被追逐者的位置,将此位置作为寻找的目标点,给汽车施加一个寻找导航力,即为追逐导航力;
所述避障导航力的计算方法包括计算避开静态障碍物的计算方法和避开动态障碍物的计算方法;其中,
避开静态障碍物的计算方法为:A、进行相交检测,检测汽车当前位置附近可能与之相撞的障碍物位置;B、运用模糊逻辑产生避障导航力;
避开动态障碍物的计算方法为:给汽车施加一个与追逐导航力相反方向的导航力,使汽车沿着避开追逐者的方向行进。
2.根据权利要求1所述的方法,所述步骤一中还包括设置汽车的最大速度和最大合并导航力。
3.根据权利要求1所述的方法,所述步骤2的具体方法步骤为:利用汽车当前位置指向被追逐者当前位置的向量,与汽车当前朝向的夹角判断被追逐者位于汽车的正前方、正后方还是旁边;利用汽车当前朝向与被追逐者当前朝向之间的夹角判断出被追逐者与汽车的运行方向是同向、反向还是相交。
4.根据权利要求3所述的方法,采用物理引擎中的碰撞检测方法进行相交检测。
5.根据权利要求3所述的方法,运用模糊逻辑产生避障导航力的具体方法为:a、设计障碍物位置与汽车当前位置的距离的模糊语言变量和规则库,及障碍物与汽车当前朝向的角度的模糊语言变量和规则库;b、对规则库进行模糊推理及反模糊化。
6.根据权利要求3所述的方法,所述步骤三中,进行导航力合并的具体方法为:根据优先级别分别给寻找导航力、追逐导航力、避开静态障碍物的导航力和避开动态障碍物的导航力设置权重,计算出的各个导航力及其对应的权重的乘积的和即为合并导航力。
7.根据权利要求6所述的方法,还包括,判断计算出的合并导航力的大小是否大于初始化的汽车最大合并导航力,是则取初始化的汽车最大合并导航力为当前导航力的值。
一种汽车运动仿真模拟方法\n技术领域\n[0001] 本发明涉及一种汽车运动仿真模拟方法,特别是涉及一种适用于虚拟现实技术中汽车运行仿真的汽车运动仿真模拟方法。\n背景技术\n[0002] 现有的汽车模拟技术已日趋成熟,主要是通过对汽车动力学的分析(包括发动机动力学,汽车阻力学,汽车传动系统力学,汽车制动系统力学,汽车悬挂系统力学,汽车操作系统力学等)来实现汽车运行模拟,基本能实现模拟现实汽车动力学特性,提供接近真实的车辆运行环境的目的。\n[0003] 但总的来说,现有的汽车模拟技术存在如下不足:1.为了提供尽可能接近真实的车辆运行环境,需要模拟现实汽车的各种动力学特性(包括发动机动力学,汽车阻力学,汽车传动系统力学,汽车制动系统力学,汽车悬挂系统力学,汽车操作系统力学等),导致算法过于复杂,运行速度变慢;2.提高算法速度则以牺牲车辆模拟的真实感为代价:转弯不够平滑、躲避障碍物不够智能等,虽然运行速度提高了,但是却降低了车辆模拟的真实感。\n发明内容\n[0004] 本发明要解决的技术问题是提供一种运行速度更快、真实感更好的汽车运动仿真模拟方法。\n[0005] 本发明采用的技术方案如下:一种汽车运动仿真模拟方法,具体方法步骤为:步骤一、初始化汽车状态;步骤二、计算包括寻找导航力、避障导航力和追逐导航力在内的汽车的导航力;步骤三、合并导航力;步骤四、利用求得的导航力和初始化的汽车质量,求出汽车运行所需的加速度,从而更新汽车的运行状态。\n[0006] 作为优选,所述步骤一中还包括设置汽车的最大速度和最大合并导航力。\n[0007] 作为优选,所述寻找导航力的计算方法为:用汽车在寻找目标点时的期望运行速度减去汽车的当前速度。\n[0008] 作为优选,所述追逐导航力的具体计算方法为:1、求出汽车当前位置指向被追逐者当前位置的向量,及此向量与汽车当前朝向的夹角,并计算汽车当前朝向与被追逐者当前朝向之间的夹角;2、判断汽车与被追逐者之间的相对位置;3、根据上一步判断出的汽车与被追逐者之间的相对位置,设置一个汽车追上被追逐者的时间阈值t;4、预测t时间后被追逐者的位置,将此位置作为寻找的目标点,给汽车施加一个寻找导航力,即为追逐导航力。\n[0009] 作为优选,所述步骤2的具体方法步骤为:利用汽车当前位置指向被追逐者当前位置的向量,与汽车当前朝向的夹角判断被追逐者位于汽车的正前方、正后方还是旁边;利用汽车当前朝向与被追逐者当前朝向之间的夹角判断出被追逐者与汽车的运行方向是同向、反向还是相交。\n[0010] 作为优选,所述避障导航力的计算方法包括计算避开静态障碍物的计算方法和避开动态障碍物的计算方法;其中,\n[0011] 避开静态障碍物的计算方法为:A、进行相交检测,检测汽车当前位置附近可能与之相撞的障碍物位置;B、运用模糊逻辑产生避障导航力;\n[0012] 避开动态障碍物的计算方法为:给汽车施加一个与追逐导航力相反方向的导航力,使汽车沿着避开追逐者的方向行进。\n[0013] 作为优选,采用物理引擎中的碰撞检测方法进行相交检测。\n[0014] 作为优选,运用模糊逻辑产生避障导航力的具体方法为:a、设计障碍物位置与汽车当前位置的距离的模糊语言变量和规则库,及障碍物与汽车当前朝向的角度的模糊语言变量和规则库;b、对规则库进行模糊推理及反模糊化。\n[0015] 作为优选,所述步骤三中,进行导航力合并的具体方法为:根据优先级别分别给寻找导航力、追逐导航力、避开静态障碍物的导航力和避开动态障碍物的导航力设置权重,计算出的各个导航力及其对应的权重的乘积的和即为合并的导航力。\n[0016] 作为优选,所述方法还包括,判断计算出的合并导航力的大小是否大于初始化的汽车最大合并导航力,是则取初始化的汽车最大合并导航力为当前导航力的值[0017] 与现有技术相比,本发明的有益效果是:通过分析汽车的导航力来表现汽车的各种运动特性。在分析汽车的追逐导航力时,根据汽车与被追逐者之间相对位置的不同设置不同的追逐时间阈值,使汽车的追逐行为更接近现实;在分析汽车躲避障碍物的导航力时,采用物理引擎进行碰撞检测,并采用模糊逻辑算法来实现躲避多障碍物的导航力计算,使汽车的避障行为更具真实感。此方法克服了现有汽车模拟方法中运行速度与模拟真实感不能很好兼容的缺点,既保证了算法的简洁性与运算速度,又能保证尽可能接近现实中汽车的运动环境。且本发明方法适用于游戏领域、仿真训练领域、仿真作战系统等各种需要汽车模拟技术的领域中,具有通用性。\n附图说明\n[0018] 图1为本发明其中一实施例的流程图。\n具体实施方式\n[0019] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。\n[0020] 本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。\n[0021] 如图1所示,一种汽车运动仿真模拟方法,具体方法步骤为:步骤一、初始化汽车状态;步骤二、计算包括寻找导航力、避障导航力和追逐导航力在内的汽车的导航力;步骤三、合并导航力;步骤四、利用求得的导航力和初始化的汽车质量,求出汽车运行所需的加速度,从而更新汽车的运行状态。\n[0022] 需要初始化的状态包括:质量(标量),位置(向量),目标位置(向量),最大加速度(标量),最大速度,最大合并导航力(标量),运行方向(单位向量)等。现实中汽车的运行有最高时速和最高加速度的限制,设置汽车的最大速度与最大合并导航力,符合现实中汽车的运动特性。\n[0023] 在模拟开始后,系统一方面会取得用户输入信息:主要是方向操纵信息,刹车信息,档位切换信息等;另一方面会取得上次模拟的输出结果:主要是汽车速度,加速度等。\n[0024] 在本具体实施例中,汽车当前为重用 表示,目标位置用 表示,当前速度用 表示,汽车的最大速度用vmax表示。\n[0025] 所述寻找导航力的计算方法为:汽车在寻找目标点时,期望运行速度的方向为从当前位置指向目标位置,用汽车在寻找目标点时的期望运行速度减去汽车的当前速度。则汽车的寻找导航力为:\n[0026]\n[0027] 所述追逐导航力的具体计算方法为:1、求出汽车当前位置指向被追逐者当前位置的向量,及此向量与汽车当前朝向的夹角,并计算汽车当前朝向与被追逐者当前朝向之间的夹角;2、判断汽车与被追逐者之间的相对位置;3、根据上一步判断出的汽车与被追逐者之间的相对位置,设置一个汽车追上被追逐者的时间阈值t;4、预测t时间后被追逐者的位置,将此位置作为寻找的目标点,给汽车施加一个寻找导航力,即为追逐导航力。\n[0028] 所述步骤2的具体方法步骤为:利用汽车当前位置指向被追逐者当前位置的向量,与汽车当前朝向的夹角判断被追逐者位于汽车的正前方、正后方还是旁边;利用汽车当前朝向与被追逐者当前朝向之间的夹角判断出被追逐者与汽车的运行方向是同向、反向还是相交。\n[0029] 对所有会导致汽车原始运行方向发生改变的其他实体,统称为障碍物,包括静态障碍物和动态障碍物。\n[0030] 现实中汽车在向目标点行进过程中,会有遇到禁止通行标记或固定设施等情况,这些都视为静态障碍物,此时需要拐弯掉头运行或者绕行。\n[0031] 所述避障导航力的计算方法包括计算避开静态障碍物的计算方法和避开动态障碍物的计算方法;其中,\n[0032] 避开静态障碍物的计算方法为:A、进行相交检测,检测汽车当前位置附近可能与之相撞的障碍物位置;B、运用模糊逻辑产生避障导航力;\n[0033] 在本具体实施例中,采用PhysX物理引擎中的碰撞检测方法,来检测汽车当前位置附近可能与之相撞的静态障碍物位置。当汽车当前位置周围有多个障碍物时,使用模糊逻辑来产生导航力。\n[0034] 避开动态障碍物的计算方法为:给汽车施加一个与追逐导航力相反方向的导航力,使汽车沿着避开追逐者的方向行进。在游戏世界或作战仿真系统中,汽车在向目标点行进过程中,会被其他智能体或敌军车队等追逐,将所有以汽车为追逐目标的其他动态实体都视为动态障碍物。计算避开动态障碍物的导航力的方法与计算追逐导航力的方法类似,只是汽车变成了被追逐者,汽车的期望运行速度方向从动态障碍物的预测位置指向汽车的当前位置。\n[0035] 采用物理引擎中的碰撞检测方法进行相交检测。\n[0036] 躲避静态障碍物的第一步是要查找汽车当前位置附近的障碍物位置,这就需要进行相交检测。目前的碰撞检测技术已经较为成熟,很多的物理引擎都能实现碰撞检测。本发明中直接采用物理引擎中的碰撞检测方法,来检测汽车当前位置附近可能与之相撞的障碍物位置。\n[0037] 当汽车当前位置周围有多个障碍物时,使用模糊逻辑来产生导航力,这样汽车的避障行为更有真实感。\n[0038] 当预测出追逐者t时间后的位置 后,可计算出避开动态障碍物的导航力为:\n[0039]\n[0040] 运用模糊逻辑产生避障导航力的具体方法为:a、设计障碍物位置与汽车当前位置的距离的模糊语言变量和规则库,及障碍物与汽车当前朝向的角度的模糊语言变量和规则库;b、对规则库进行模糊推理及反模糊化。\n[0041] 所述步骤三中,进行导航力合并的具体方法为:根据优先级别分别给寻找导航力、追逐导航力、避开静态障碍物的导航力和避开动态障碍物的导航力设置权重,计算出的各个导航力及其对应的权重的乘积的和即为合并的导航力。\n[0042] 所述方法还包括,判断计算出的合并导航力的大小是否大于初始化的汽车最大合并导航力,是则取初始化的汽车最大合并导航力为当前导航力的值,这保证了汽车不会加速太猛,满足现实中汽车的加速特性。\n[0043] 根据计算出的合并导航力,及初始化的汽车质量,利用牛顿第二定律,求出汽车的加速度。利用求得的加速度更新汽车的速度 如果 大于vmax,则取vmax为当前速度的值,这保证了汽车不会超过最大速度运行,符合现实中汽车的速度特性;并更新汽车位置,达到更新汽车运行状态的目的。
法律信息
- 2021-05-28
专利权的转移
登记生效日: 2021.05.18
专利权人由四川九洲电器集团有限责任公司变更为四川九洲投资控股集团有限公司
地址由621000 四川省绵阳市科创园区九华路6号变更为621000 四川省绵阳市科创园区九华路6号
- 2016-09-07
- 2014-04-09
实质审查的生效
IPC(主分类): G06F 17/50
专利申请号: 201310670735.0
申请日: 2013.12.11
- 2014-03-12
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1976-08-03
| | |
2
| |
2006-02-01
|
2005-02-21
| | |
3
| |
2012-01-04
|
2011-05-20
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |