System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于交通工程,具体为一种面向交通仿真的交叉路口通行分配及轨迹计算方法。
技术介绍
1、20世纪80年代以来,国家大力发展基础交通设施建设,我国大中城市的道路建设取得了很大的进步,现在车联网、智能交通系统(its,intelligent transport system)也在快速的发展,形成了较为完善的道路交通系统。但随着车辆数量的增长,城市污染也越来越严重、交通压力也越来越大,交通道路的利用率也呈现出不同的差异,对于交通拥堵路段,市政规划就会重新设计和规划,为了对汽车尾气对环境污染进行评估和验证市政道路设计的合理性和有效性,需要根据城市道路数据设计一套三维的交通仿真系统,来测试仿真效果和效率,同时对于城市交通展示、还原事故现场等具有很重要的意义。目前的交通仿真技术,从仿真规模方面来说,还存在仿真规模小、仿真不够灵活、利用价值较局限。从三维仿真方面来说,大多使用3dmax、cad等图形工具对道路进行建模,而通过程序来对三维路网路口建模的方法都比较复杂,并且需要以计算机图形学知识为基础。
2、现有技术一,adam goode-nough和scott brown提出了将cityenine和sumo进行融合的方法来构建场景,结合了sumo的仿真优势和city-engine城市模型的建模优势。
3、现有技术一的缺陷,其交叉路口通行分配需要手动设置,不够灵活,遇到道路修改,需要重新设置。
4、现有技术二,王贤隆等人提出了一种自动构建三维城市路网的方法,实现了平面道路结构和交叉结构的自动识别和三维
5、现有技术二的缺陷,其交叉路口通行分配需要手动设置,不够灵活,遇到道路修改,通行分配需要重新设置。
技术实现思路
1、本专利技术的目的在于提供一种面向交通仿真的交叉路口通行分配及轨迹计算方法,以解决
技术介绍
中提出的交叉路口通行分配需要手动设置,不够灵活,遇到道路修改,需要重新设置的问题。
2、为解决上述技术问题,本专利技术所采用的技术方案是:
3、一种面向交通仿真的交叉路口通行分配及轨迹计算方法,包括以下步骤:
4、步骤s1,获取交叉路口信息;具体为:通过交叉路口所连接的路段信息列表roadinfos获取交叉路口信息,路段信息列表中包括路段id、路段连接路口处的控制点索引markerindex;每条路段的车道分为进口道enterlanes、出口道exitlanes;车道信息lanedata包括车道名称、位置以及方向向量;
5、步骤s2,获取每条路段的进口道和出口道信息;包括以下步骤:
6、步骤s201,从路段信息列表获取路段轮廓点的矩形点集polygon,大小为n;
7、步骤s202,定义两个字典dictionary<string,list<lanedata>>,命名为road_enterlanes和road_exitlanes,用于存放路段对应的进口道和出口道,字典的键为路段id,值为车道信息;
8、步骤s203,定义一个大小为2的数组pos保存所需的路段轮廓点,用于后面计算车道位置;
9、步骤s204,循环遍历交叉路口所连接的路段信息列表roadinfos,判断markerindex是否为0;
10、步骤s205,若markerindex等于0,则路段左车道为出口道,右车道为进口道,取polygon[0]、polygon[1]两点存于pos中;遍历左车道获取出口道信息存于list<lanedata>,车道名称为roadid_left_i;将获取的出口道信息list<lanedata>存放在字典road_exitlanes中,键为当前路段id;遍历右车道获取进口道信息,车道名称为roadid_right_i;存放在字典road_enterlanes中;
11、步骤s206,若markerindex不等于0,则路段左车道为进口道,右车道为出口道,取polygon[n-1]、polygon[n-2]两点存于pos中;遍历左车道获取进口道信息存于list<lanedata>,车道名称为roadid_left_i;将获取的进口道信息list<lanedata>存放在字典road_enterlanes中,键为当前路段id;遍历右车道获取出口道信息,车道名称为roadid_right_i;存放在字典road_exitlanes中;
12、步骤s3,计算各路段进口道分配到其他路的情况;
13、步骤s4,计算各路段出口道从其他路进来的情况;
14、步骤s5,车道通行分配和计算车辆路口行驶轨迹。
15、根据上述技术方案,路段信息以路口为中心顺时针存储。
16、根据上述技术方案,车道名称包括路段id(roadid)、左右方向(direction)和车道号(lanenum),即roadid_direction_lanenum。
17、根据上述技术方案,步骤s205中,遍历左车道具体为:
18、位置:
19、position=pos[0]+(width+leftlanewidth[i]/2)*(pos[1]-pos[0]).normalized
20、其中,width为前面车道宽度之和,leftlanewidth[i]为当前车道宽度,normalized为取单位向量;
21、方向向量:
22、vector=cross(pos[0]-position,n).normalized
23、其中,cross为叉乘函数,n为路段垂直向上的法线。
24、根据上述技术方案,步骤s205中,遍历右车道具体为:
25、位置:
26、position=pos[1]+(width+rightlanewidth[i]/2)*(pos[0]-pos[1]).normalized
27、其中,width为前面车道宽度之和,rightlanewidth[i]为当前车道宽度,normalized为取单位向量;
28、方向向量:
29、vector=cross(pos[1]-position,n).normalized
30、其中,cross为叉乘函数,n为路段垂直向上的法线。
31、根据上述技术方案,步骤s3中,具体计算方法包括以下步骤:
32、步骤s301,首先定义字典dictionary<string,list<lanedata>>fromto_enterlanes,键为从一条路段(from)到另一条路段(to)的id组成的字符串from_to,值为from路段的进口道;
33、步骤s302,循环遍历交叉路口所连接的路段信息roadinfos,本文档来自技高网...
【技术保护点】
1.一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:路段信息以路口为中心顺时针存储。
3.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:车道名称包括路段Id(RoadId)、左右方向(Direction)和车道号(LaneNum),即RoadId_Direction_LaneNum。
4.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:步骤S205中,遍历左车道具体为:
5.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:步骤S205中,遍历右车道具体为:
6.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:步骤S3中,具体计算方法包括以下步骤:
7.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:根据系数CLR计算出各车道分
8.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:步骤S4中,计算方法具体为:
9.根据权利要求8所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:根据系数CLR计算出各车道分配到其他路段,具体计算方法如下:
10.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:步骤S5中,具体计算方法为:
...【技术特征摘要】
1.一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:路段信息以路口为中心顺时针存储。
3.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:车道名称包括路段id(roadid)、左右方向(direction)和车道号(lanenum),即roadid_direction_lanenum。
4.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:步骤s205中,遍历左车道具体为:
5.根据权利要求1所述的一种面向交通仿真的交叉路口通行分配及轨迹计算方法,其特征在于:步骤s205中,遍历右车道具...
【专利技术属性】
技术研发人员:欧阳文劲,孙吉刚,刘双侨,张灏,
申请(专利权)人:四川易方智慧科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。