一种AI仿真车的路径生产和轨迹规划的方法与流程

文档序号:18265207发布日期:2019-07-27 09:03阅读:237来源:国知局
一种AI仿真车的路径生产和轨迹规划的方法与流程

本发明涉及自动驾驶仿真领域,具体为一种ai仿真车的路径生产和轨迹规划方法及其系统。



背景技术:

在自动驾驶仿真中需要模拟真实物理加速和碰撞等。来获得接近真实场景的效果。需要有仿真车辆按照期望的路径和速度行驶。目前可以实现类似效果的目前有a星算法,unity的navigation,但是这两种方法都需要关掉物体的某些物理效果,碰撞或者需要加减速的时候会很突兀,达不到想要的仿真效果,并且在有坡度的情况下不能贴合地面,以及车辆是根据轮子转动来移动或转动车身的,而现有的方法都是直接改变位置和方向使目标移动,达不到仿真效果。

因此基于上述技术问题需要设计一种新的ai仿真车的路径生产和轨迹规划方法及其系统。



技术实现要素:

本发明的目的是提供一种ai仿真车的路径生产和轨迹规划方法及其系统。

为了解决上述技术问题,本发明提供了一种ai仿真车的路径生产和轨迹规划的方法包括:

设置仿真车的期望行驶路径和行驶参数,以及

控制仿真车基于行驶参数沿期望行驶路径行驶。

进一步,所述设置仿真车的期望行驶路径和行驶参数方法包括:

设置路点,即

设置若干条期望行驶路径后,在各期望行驶路径中设置若干路点,并且设置每条期望行驶路径的第一个路点为该期望行驶路径的起点;以及

所述行驶参数包括:仿真小车的最大转角和各路点仿真小车对应的期望速度。

进一步,所述设置仿真车的期望行驶路径和行驶参数方法还包括:

设置路点信息数组和起点数组;其中

所述路点信息数组包括:所有路点的位置数据和在所有路点仿真小车对应的期望速度;

所述起点数组包括:各起点的位置数据和各起点对应的仿真小车期望速度。

进一步,所述设置仿真车的期望行驶路径和行驶参数方法还包括:

设置目标点,即

在期望行驶路径的各路点中设置目标点,并向仿真小车设置目标点的位置数据和目标点的仿真小车期望速度,以使仿真小车向目标点行驶。

进一步,所述控制仿真车基于行驶参数沿期望行驶路径行驶的方法包括:

控制仿真小车行驶,即

每间隔预设时间计算当前仿真小车的车头与目标点之间的相对角度,以控制仿真小车的转向角度,以及根据当前仿真小车的车速控制油门的开度,以使仿真小车达到目标点的期望速度,其方法包括:

在根据目标点与仿真小车的相对方向计算目标点与仿真小车车头的相对角度后,计算目标点相对车头一侧的角度;

当目标点与仿真小车车头的相对角度小于最大转角时,判断目标点位于仿真小车前方;

当目标点相对车头一侧的角度小于90度时,判断目标点位于车头一侧,并对仿真小车的转向轮角度进行设置;

当目标点相对车头一侧的角度大于90度时,判断目标点位于车头另一侧,并对仿真小车的转向轮角度进行设置;

所述转向轮角度进行设置为-1到1,其中-1为转向轮向左最大转向角度,0为直行,1为转向轮向右最大转向角度。

进一步,所述控制仿真车基于行驶参数沿期望行驶路径行驶的方法还包括:

检测仿真小车是否达到目标点,即

在仿真小车向目标点行驶过程中,检测仿真小车与目标点的相对距离,当距离小于预设距离时判断仿真小车达到目标点并检测是否有下一个目标点,否则继续控制仿真小车行驶。

进一步,所述控制仿真车基于行驶参数沿期望行驶路径行驶的方法还包括:

检测是否有下一个目标点,即

到达目标点后,去除该目标点之前的目标点后检测剩余的路点,当检测到路点时将该路点设置为目标点,并重新进行设置目标点,否则检测是否有下一条期望行驶路径。

进一步,所述控制仿真车基于行驶参数沿期望行驶路径行驶的方法还包括:

检测是否有下一条期望行驶路径,即

检测当前期望行驶路径中最后一个路点后,遍历起点数组中所有起点,比较最后一个路点与各起点之间的距离数据,当有距离数据小于预设数据时,判断检测到下一条期望行驶路径,并将下一条期望行驶路径的起点设置为目标点后,重新进行设置目标点,否则控制仿真小车停止。

另一方面,本发明还提供一种ai仿真车的路径生产和轨迹规划系统包括:

设置模块,设置仿真车的期望行驶路径和行驶参数,以及

驱动控制模块,控制仿真车基于行驶参数沿期望行驶路径行驶。

本发明的有益效果是,本发明通过设置仿真车的期望行驶路径和行驶参数,以及控制仿真车基于行驶参数沿期望行驶路径行驶,实现了在拥有真实物理效果的同时控制仿真小车按期望行驶路径和行驶参数进行运动,在仿真小车模拟运动时占用的算力低,可以同时设置多辆拥有真实物理效果的仿真小车行驶,并且对性能的影响非常小。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是本发明所涉及的ai仿真车的路径生产和轨迹规划的方法的流程图;

图2是现有技术中ai仿真车模拟运动时效果图;

图3是本发明所涉及的ai仿真车的路径生产和轨迹规划的方法同时模拟多辆仿真小车运动的效果图;

图4是本发明所涉及的ai仿真车的路径生产和轨迹规划系统的原理框图。

具体实施方式

现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

实施例1

本实施例提供了一种ai仿真车的路径生产和轨迹规划的方法包括:设置仿真车的期望行驶路径和行驶参数,以及控制仿真车基于行驶参数沿期望行驶路径行驶,实现了在拥有真实物理效果的同时控制仿真小车按期望行驶路径和行驶参数进行运动,终端通过本实施例所涉及的ai仿真车的路径生产和轨迹规划的方法模拟仿真小车运动时占用的算力低,并且可以同时设置多辆拥有真实物理效果的仿真小车行驶,对性能的影响非常小。

图1是本发明所涉及的ai仿真车的路径生产和轨迹规划的方法的流程图。

如图1所示,在本实施例中,所述设置仿真车的期望行驶路径和行驶参数方法包括:步骤s1,设置路点,即设置若干条期望行驶路径后,在各期望行驶路径中设置若干路点,并且设置每条期望行驶路径的第一个路点为该期望行驶路径的起点;以及所述行驶参数包括:仿真小车的最大转角和各路点仿真小车对应的期望速度(scale.x)。

在本实施例中,所述设置仿真车的期望行驶路径和行驶参数方法还包括:步骤s2,设置路点信息数组(arrinfo)和起点数组(pathstartpoint);其中所述路点信息数组包括:所有路点的位置数据(以仿真小车前进方向为z轴,向仿真小车车顶方向为y轴,车头为原点,构建空间直角坐标系,所述位置数据为路点的坐标position)和在所有路点仿真小车对应的期望速度;所述起点数组包括:各起点的位置数据和各起点对应的仿真小车期望速度;所述路点信息数组为所有路点的集合,是vector4数据组成的数组,里面储存了路点的位置和速度,前三个数字是路点的坐标(position),第四个数字是路点仿真小车对应的期望速度(scale.x),伪代码如下:

for(inti;i<path.childcount;i++)

arrinfo[i]=newvector4(path.getchild(i).position.x,path.getchild(i).position.y,path.getchild(i).position.z,path.getchild(i).scale.x,);

所述起点数组为所有起点的集合,伪代码如下:

for(inti;i<arrinfo.length,i++){

pathstartpoint[i]=transform.getchild(i).getcomponent<pathinfo>().arrinfo[0];}。

在本实施例中,所述设置仿真车的期望行驶路径和行驶参数方法还包括:步骤s3,设置目标点,即在期望行驶路径的各路点中设置目标点,并向仿真小车设置目标点的位置数据和目标点的仿真小车期望速度,以使仿真小车向目标点行驶。

在本实施例中,所述控制仿真车基于行驶参数沿期望行驶路径行驶的方法包括:步骤s4,控制仿真小车行驶,即每间隔预设时间计算当前仿真小车的车头与目标点之间的相对角度,以控制仿真小车的转向角度,以及根据当前仿真小车的车速控制油门的开度,以使仿真小车达到目标点的期望速度,其方法包括:在根据目标点与仿真小车的相对方向计算目标点与仿真小车车头的相对角度后,计算目标点相对车头一侧的角度;当目标点与仿真小车车头的相对角度小于最大转角时,判断目标点位于仿真小车前方;当目标点相对车头一侧的角度小于90度时,判断目标点位于车头一侧,并对仿真小车的转向轮角度进行设置;当目标点相对车头一侧的角度大于90度时,判断目标点位于车头另一侧,并对仿真小车的转向轮角度进行设置;所述转向轮角度进行设置为-1到1,其中-1为转向轮向左最大转向角度,0为直行,1为转向轮向右最大转向角度;例如,计算目标点相对车头右侧的角度;当目标点相对车头右侧的角度小于90度时,判断目标点位于车头右侧,并对仿真小车的转向轮角度进行设置;当目标点相对车头右侧的角度大于90度时,判断目标点位于车头左侧,并对仿真小车的转向轮角度进行设置;所述转向轮角度计算的伪代码为:

vector3offset=(aimpos-newvector2(car.position.x,car.position.z);//仿真小车与目标点的相对方向

angle_front=vector2.angle(newvector2(transform.forward.x,transform.forward.z),offset);//计算目标点相对车头的角度

angle_right=vector3.angle(newvector2(transform.right.x,transform.right.z),offset);//计算目标点相对车头右侧的角度

isfront=angle_front<maxangletrue:false;//当目标点与仿真小车车头的相对角度小于最大转角时判断目标点位于仿真小车前方

isright=angle_right<90true:false;//当目标点相对车头右侧的角度小于90度时判断目标点位于车头右侧

steer=angle_front/maxangle;//转向轮角度进行设置

if(!isright)steer=-steer;//目标点在车辆左侧的时候,转向轮角度设置为负

steer=mathf.clamp(steer,-1,1);//把转向轮角度设定为-1到1;

所述根据当前仿真小车的车速控制油门的开度,以使仿真小车达到目标点的期望速度可以但不限于采用pid算法或其他算法进行控制。

在本实施例中,所述控制仿真车基于行驶参数沿期望行驶路径行驶的方法还包括:步骤s5,检测仿真小车是否达到目标点,即在仿真小车向目标点行驶过程中,检测仿真小车与目标点的相对距离,当距离小于预设距离时判断仿真小车达到目标点并检测是否有下一个目标点(即进行步骤s6),否则继续控制仿真小车行驶(即进行步骤s4),其伪代码如下:

floatdistance=offset.sqrmagnitude;//仿真小车与目标点的相对距离

if(distance<checkdis)return步骤6;

elsereturn步骤4。

在本实施例中,所述控制仿真车基于行驶参数沿期望行驶路径行驶的方法还包括:步骤s6,检测是否有下一个目标点,即到达目标点后,去除该目标点之前的目标点后检测剩余的路点(去除的目标点包括:仿真小车车速过快,在检测时已经驶过的目标点和仿真小车已经驶过的目标点),当检测到路点时将该路点设置为目标点,并重新进行设置目标点(即进行步骤s3),否则检测是否有下一条期望行驶路径(即,当前期望行驶路径完成后进行步骤s7);设置当前目标点对应的路点的序号,并设置该路点之后路点的序号并进行检测,当检测到路点时将该路点设置为目标点,其伪代码如下:

targetindex=targetindex_next;//设置当前路点序号;

targetindex_next++;//下个路点序号

setinfo(positionlist[targetindex]);//设置目标点

if(targetnext>=positionlist.length){//期望行驶路径完成时

targetindex_next=0;

return步骤7;

}

return步骤3。

在本实施例中,所述控制仿真车基于行驶参数沿期望行驶路径行驶的方法还包括:步骤s7,检测是否有下一条期望行驶路径,即检测当前期望行驶路径中最后一个路点后,遍历起点数组中所有起点,比较最后一个路点与各起点之间的距离数据,当有距离数据小于预设数据时,判断检测到下一条期望行驶路径,并将下一条期望行驶路径的起点设置为目标点后,重新进行设置目标点(即进行步骤s3),否则控制仿真小车停止,其伪代码如下:

foreach(vector3startpointinpathstartpoint){遍历pathstartpoint

vector2temppos=newvector2(startpoint.x,startpoint.z);

if(vector2.distance(temppos,currentaimpos)<checknextdis){

inti=array.indexof(pathstartpoint,startpoint);

setpositionlist(arrpath.getchild(i).getcomponent<pathinfo>().arrinfo);

return步骤3;

}

return结束;}。

图2是现有技术中ai仿真车模拟运动时效果图;

图3是本发明所涉及的ai仿真车的路径生产和轨迹规划的方法同时模拟多辆仿真小车运动的效果图。

如图2和图3所示,在本实施例中,根据图2的波形和图3的波形对比可以明显看出当终端采用上述的ai仿真车的路径生产和轨迹规划的方法同时模拟多辆仿真小车运动时对终端的cpu的占用率明显降低,以及同时模拟多辆仿真小车运动时,对仿真小车性能的影响非常小。

在本实施例中,上述ai仿真车的路径生产和轨迹规划的方法中所涉及的各个参数的具体含义如下表所示:

实施例2

图4是本发明所涉及的ai仿真车的路径生产和轨迹规划系统的原理框图。

如图4所示,在实施例1的基础上,本实施例2还提供一种ai仿真车的路径生产和轨迹规划系统包括:设置模块,设置仿真车的期望行驶路径和行驶参数,以及驱动控制模块,控制仿真车基于行驶参数沿期望行驶路径行驶。

本实施例2所涉及的设置模块和驱动控制模块的工作原理和工作过程在实施例1中已经进行详细阐述,可以参见实施例1的相关描述,此处不再赘述。

综上所述,本发明通过设置仿真车的期望行驶路径和行驶参数,以及控制仿真车基于行驶参数沿期望行驶路径行驶,实现了控制仿真小车按期望行驶路径和行驶参数进行运动。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1