基于路段网格化建模的群车多视野仿真系统及其构建方法

未命名 08-02 阅读:107 评论:0


1.本发明涉及基于路段网格化建模的群车多视野仿真系统及其构建方法,属于智能交通领域。


背景技术:

2.在现代自动驾驶技术中,通过边缘服务器和车辆的交互,实现路段全局视野的构建是至关重要的。当前涌现的大量车辆视野协同感知研究大多仅关注单车和周围车辆局部视野的融合,缺少车辆所处路段全局视野的构建研究。随着边缘计算和边缘服务器部署的普及,边缘服务器覆盖路段内的车辆可以将各自的局部视野上传至算力较强的边缘服务器进行路段全局视野融合,以帮助车辆基于所处路段的全局视野更好地进行路线规划和行驶决策。然而现阶段,直接获取实际路段所有行驶车辆的感知视野信息尚不现实,缺乏大量有效数据以用于开展基于群车多视野的路段全局视野融合研究。为此,需要构建一个群车多视野仿真系统,能够基于对真实路况的分析提供精准可控的各类行车场景下的车辆视野仿真数据,从而辅助进行全局视野的融合研究,为自动驾驶提供更加可靠的决策。针对这一问题,本专利提出了基于路段网格化建模的群车多视野仿真系统及其构建方法。
3.在本专利中,我们使用了网格化建模的技术。具体来说,我们将边缘服务器覆盖范围内的整个道路划分为若干等大小的网格,为每个车载摄像机计算出其可见网格。这样做,可以更加全面地构建全局视野,同时也可以提高仿真结果的准确性和可靠性。在本专利中,我们还将车辆限定在不同车道行驶,并考虑了道路类型等不同情况,进一步提高了仿真测试的精度。此外,在仿真测试过程中也考虑了车辆的换道、u-型转弯等行为模式,更全面地模拟真实交通情况。因此,基于网格化建模的车载摄像机视野仿真系统及其构建方法,具有基础数据准确、测试效率高、测试结果精确等诸多优点,极大地提高了车载摄像机性能评估的准确度和精度,为交通管理和自动驾驶汽车等领域提供了更好的技术支持。。


技术实现要素:

4.本发明实现的是:如何通过网格化建模来构建出仿真系统,模拟出动态的车辆安全行驶过程,仿真出每辆车的每个摄像机可见视野的计算。方法包括车流初始化建模、车辆行驶建模、车辆换道建模,车辆u-型转弯建模,理想车载摄像机视野建模,车载摄像机被遮挡视野建模,瞬时车载摄像机视野建模,七个核心步骤。最终构建出基于网格化建模的车载摄像机视野仿真系统。具体如下:
5.1.车流初始化建模
6.在我的交通流模型中,我设计了一个函数来初始化模拟场景。该函数的设计之所以重要,因为在模拟的开始阶段需要有足够的车辆在路上,详见附图2,以便让模拟更加真实可靠。具体来说,我首先计算出要生成的车辆数目,这一数目是基于车道长度、流量和车辆长度等因素进行计算的。随后,我随机生成每辆车的车道、车速、车辆编号等信息,并将生成的车辆加入到所属的车道中。在车辆起始位置的计算中,我考虑了车辆之间的安全距离,
以避免车辆之间的碰撞或者紧密排列,从而提高了交通流的安全性。这一设计的效果是显著的。同时也有效地避免了模拟的过程中出现“卡车大堵车、轿车空车道”的情况,提高了模拟的准确性。在该函数中,在生成每辆车的车道之后,使用随机函数生成一个最小速度到最大速度之间的随机值,这个值就是每辆车的随机速度。这样,生成的车辆速度就具有随机性,模拟的行驶就更加真实。另外,在生成车辆编号时,使用了随机值生成一个a-z范围内的随机字母,接着生成三个随机数字,将它们拼接起来成为每辆车的编号(如

a1234

)。这样,每辆车都有一个独一无二的编号,方便对车辆进行追踪和识别。综合来看,这一设计增强了模拟的真实性和可靠性,车辆速度和编号的随机性使得模拟结果更具随机性,更贴近真实交通状况,同时也方便了对车辆的管理和识别。总的来说,这种设计的好处是多方面的。首先,它能够为模拟交通流提供一个更加真实、准确、有随机性的场景。其次,通过考虑车辆之间的安全距离,它还能够提高交通流的安全性,减少事故的发生概率。最后,这种设计可以避免过度正式化,提高模拟的灵活性和可定制性。
7.2.车辆行驶建模
8.2.1车辆的移动和更新操作。对于每一辆车,程序首先获取其当前所在车道、位置和速度等信息,然后根据车道长度、车辆流量和当前交通状况等条件,计算出车辆每个时间单位内应该移动的距离和速度。具体来说,程序会从该车位置+下一个单位时间行驶的距离开始向车道末端方向(即该方向的仿真道路末尾方向)逐个位置进行检查,判断这个位置上是否有其它车辆。当发现前方有车辆占据或与当前车辆在当前车道左右两侧的相邻车道上同时存在车辆,则车辆将会减速(设置新速度为前方第一个车辆的位置减去当前位置),否则车辆将以车当前速度移动。在获得新速度之后,程序会对比新速度和原速度,并根据需要调整车辆的速度。如果新速度比原速度快,车辆将加速;如果新速度比原速度慢,车辆将减速;如果新速度和原速度相等,车辆速度不作改变。最后,程序会更新车辆的状态,包括它在驶向新位置后的速度和位置,并将新位置更新到车道上的占用状况数组中,以跟踪车道上的车辆分布情况。
[0009][0010]
2.2根据碰撞检测结果进行处理。首先,程序会判断当前车辆的速度是否为0,如果是,则认为不需要进行碰撞检测。如果需要进行碰撞检测,则遍历所有车辆,对于除了自身以外的车辆,检测是否与当前车辆在同一车道、方向一致,且速度不为0。如果满足条件,则执行碰撞检测。在碰撞检测中,程序会计算两辆车之间的距离,并根据速度和距离等参数,判断是否发生了碰撞。如果发生了碰撞,则调用处理碰撞的函数,对车辆状态进行相应的调整。
[0011]
2.3碰撞检测的逻辑。首先,假设两辆车的大小是相同的,并且假设两辆车的前后保持一定的距离时不会发生碰撞。然后,程序会计算当前车辆与另一辆车之间的距离,根据距离和指定的距离阈值,来判断是否发生了碰撞。具体来说,在计算距离时,程序会获取另一辆车的位置和长度等信息,计算出该车的中心点位置,并用该位置减去当前车辆的位置和速度等信息的和,计算出两辆车之间的距离。最后,程序会将计算出来的距离和阈值进行比较,如果距离小于指定的阈值,就认为发生了碰撞;否则返回两辆车之间没有发生碰撞。通过这个设计,实现了对交通事故的检测和处理,在处理过程中,通过对车辆位置和速度等信息的计算,实现了对距离的快速计算,提高了程序的执行效率,并为交通状态分析过程提供了良好的支持。
[0012]
3.车辆换道建模
[0013]
3.1总体逻辑。汽车当前所在车道为lane,所在位置为pos,当前速度为speed,如果汽车没有满足换道的概率,则不进行变道操作;否则,进行变换车道的动作。在变道操作前,我们需要统计当前车道左/右两侧的车辆数量,然后判断车道是否稀疏,如果车道两侧总车辆数目大于能否换到的设定的阈值threshold,就不进行变道操作,防止撞车事故的发生。
其中,从汽车当前位置开始,遍历到汽车变换车道后能到达的位置(该车位置+下一个单位时间内行驶的距离+车身长度+2*车道宽度),防止移动后的汽车与其他车辆发生碰撞。循环内部,首先需要判断当前位置是否超出车道长度,如果超出则跳过本次循环。然后检查左右两侧车道上当前位置是否被其他车辆占用,如果被占用,则表示当前汽车需要变到未被占用的车道上,避免发生碰撞事故,见附图3。特别地,如果当前汽车已在最左边或最右边车道上,则不需要进行变道操作。如果需要变道,则会对汽车的位置、车道和速度进行相应的调整,并将新位置设为被占用状态,防止其他汽车误入相同位置,引发碰撞事故,见附图3。最后,程序根据新位置改变汽车的速度,以达到顺畅过车的效果。如果汽车需要变到右侧车道,则是相同的设计思想。
[0014]
3.2新速度。首先,需要知道当前车辆的车道、位置和速度。还需要知道是否处于车道变换状态的信息,这将影响对相邻车道的限制。接下来,函数遍历了整个车队,对于车队中每一辆车都进行检查。对于当前车辆和遍历到的车辆为同一车辆时,就跳过该辆车。对于不同车道的车辆,只有在当前车辆正变道时,才考虑距离。
[0015]
对于同一个车道上的车辆,函数计算它和车队中遍历到的车辆之间的距离。如果距离大于等于0,说明车辆之间的距离需要保持在一定范围内。函数计算这两辆车的速度差,并加倍,这是为了保持安全距离。然后,将计算出的距离和车辆之间的最小距离进行比较,如果新的距离更小,则更新最小距离和相邻车道的最大速度(因为当前车辆需要根据前车速度进行相应地调整)。对于相邻的两个车道上的车辆,函数采用了类似的方法,但不同的是,根据跨越的车道数量不同,车辆之间的距离需要多增加一倍的车道宽度。这个时候,如果距离更小,则更新最小距离和相邻车道的最大速度。在遍历完所有车辆后,先判断最小距离和车辆的制动距离的关系。如果小于车辆制动距离,则需要调整车速,降低当前车辆速度,否则会超出安全范围。如果新速度低于相邻车道的最大速度,则返回新速度。如果速度比相邻车辆的速度限制更高,则返回相邻车道的最大速度。因此,这个函数考虑了当前车辆和其他车辆之间的距离,以及相邻道路的限制,计算了车辆的新速度,保证了行驶过程的安全性。具体来说也就是以下三种情况:
[0016]
·
1.如果前方距离小于停车距离,则需要减速,以避免与前方车辆发生碰撞。停车距离是根据车辆速度和加速度等参数计算得出的。
[0017]
·
2.如果当前车速小于车道限速,则需要加速以达到限速。
[0018]
·
3.如果当前车速大于车道限速,则需要以车道限制速度行驶,以避免超速行驶。
[0019]
其中制动距离设计方式为:用(速度的平方)/(2*制动距离)来计算出汽车在不存在反应时间的情况下需要的停车距离,然后再加上汽车的反应时间,得到车辆可以在多长的距离内停止。因为汽车需要一定的时间来刹车,这个时间就是驾驶员的反应时间,所以反应时间的提高,能够增加车辆刹车之前的反应时间,有助于避免发生事故。
[0020][0021]
3.3新位置。对于给定的车辆,首先需要将遍历整个车队以寻找其他车辆。如果找到的车辆不是当前车辆并且位于新车道上,则进行下一步检查。接下来,它计算新车辆位置到其他车辆的距离。如果新车辆和其他车辆之间距离足够大,则它是有效位置。如果新位置中存在有效位置,则它记录下有效位置中到其他车辆的最大距离,并将found变量设置为true。在汽车队列表中遍历结束后,函数会检查found变量并且根据最大距离是否大于车辆制动距离来确定新位置是否有效。如果是,它将最大距离添加到新车辆位置中并返回该位置。
[0022][0023]
4.车辆u-型转弯设计
[0024]
4.1主功能。这个函数是用来实现汽车在道路上进行转弯、调头等操作,见附图4,其主要功能包括以下几点:1.判断是否需要进行转弯操作:函数先判断车辆是否已经处于边缘车道上。如果是,则不能转弯。如果随机数大于设定的转弯概率,即不需要转弯,也直接
返回。2.获取汽车当前的位置、车道以及速度信息。3.查找汽车前方最近的车辆位置和该车辆与当前汽车的距离(dtv)。4.确定车辆最大可行驶距离,确定该汽车能够安全地完成转弯、调头等操作的最大可行驶距离。5.判断能否转弯操作:如果当前汽车到最近的前车的距离小于等于最大可行驶距离,就不能进行转弯。6.如果汽车位于车道末尾,就执行调头操作:当汽车即将到达车道末尾时,函数会将该汽车放置在下一个车道的起点上,并将车道编号调整为相应的值,以使汽车能够按照新方向行驶下去。总之,该函数实现了道路上汽车的转弯、调头等动作,并在合适的时机执行相应的操作,保证车辆行驶的安全和顺畅。
[0025][0026]
4.2计算转弯最大距离。首先判断是否需要限制距离,则计算可以转弯的最大距离。判断某个汽车前方是否需要限制其与前车的距离,以避免前车的急刹车引发碰撞事故。函数实现的主要步骤如下:1.获取汽车的位置、车道以及速度信息,查找汽车前方最近的车辆位置。2.判断前方是否有车辆,或者前车是否位于当前车辆的后方:如果前方没有车辆,或者前车位于当前车辆的后方,则不需要限制距离。4.计算阈值范围内的车辆数,如果已经达到阈值,则需要限制距离:接着,函数会计算当前车辆到前车之间的距离,以及在距离阈值范围内的车辆数量,并判断数量是否大于等于预设车辆密度阈值。如果大于等于阈值,说明在前车急刹车的情况下,要有足够的安全距离,因此需要限制距离,否则不需要限制距离。综上,该函数实现了在道路上自动调节车辆行驶的安全距离,从而保证车辆在高密度交通的情况下的行驶安全。
[0027]
然后如果需要限制距离,那么从当前车辆位置开始,向前查找最大距离,并计算距离阈值内的车辆数是否超过阈值,设定为10。在这个过程中,变量i表示车辆向前查找的当前位置,初始值为pos,每次循环加1。在每个位置上,计算当前车道上在距离阈值范围内的车辆数量,如果当前位置的车辆数量已经超过了阈值,那么更新可行的最大转弯距离,使其等于当前车辆与该位置之间的距离,即该位置索引-该车的位置。这段逻辑是为了处理前方有其它车辆影响了当前车辆的可行驶距离,从而重新计算出当前车辆能够安全转弯的最大距离。如果存在该情况,则需要从当前位置开始查找前方能够安全转向的最大距离。i变量表示在查找过程中往前移动的位置。查找的范围是当前位置(pos)加上车辆长度、两个车道宽度和速度,再加上当前车道可以转向的最大距离(md),即当前位置+下一个单位时间内车的行驶距离+车身长度+2*车道宽度+最大可转弯距离。在每个位置上,计算出该位置附近的
车辆密度,如果密度超过了车辆密度阈值,则认为这里的车辆过于拥挤,不能进行转弯,需要停止搜索。否则,持续向前搜索,每次记录下距离(pos)的距离(即i-pos)。最后,因为车辆需要在与转弯点的距离(dtt)内完成减速,所以最终计算出的最大距离需要减去一段距离,这段距离包括车辆的长度、速度以及两个车道宽度。具体转弯距离的计算规则如下:
[0028]
·
1.如果dtt小于等于0,则车辆可以完全绕过转弯进行转向,此时最大转弯距离为md。
[0029]
·
2.如果dtt小于30,为了保证安全,最大转弯距离为dtt。
[0030]
·
3.如果dtt介于30和70之间,由于距离转弯点的距离较近,为了避免车辆过速和发生不安全的转向,最大转弯距离为dtt的一半。
[0031]
·
4.如果dtt大于70,为保证安全和稳定,最大转弯距离为dtt的0.75倍。
[0032]
5.无遮挡理想情况下的全局视野
[0033]
对于理想情况下的全局视野的数学建模需要分为几个步骤:其一是前置,后向,左向和右置四个摄像机单独能看到的无遮挡情况下的理想视野;其二是计算每一个摄像机能看到的栅格集合。
[0034]
第一步:每一个摄像机看到的视野假设为一个梯形视野,如附图1所示。对于每一个栅格的长度定义为gl,定义每一个栅格的宽度为gw,整个路况的栅格都是相等大小。定义一个全局路况的视野长度为rl,宽度为rw。每一辆车的车身长定义为vli(i=1,2...n,n为车辆个数),车身宽是vsi(i=1,2...n,n为车辆个数),该车前置摄像机距离车头距离为cfi(i=1,2...n,n为车辆个数),后置摄像机距离车尾距离为cbi(i=1,2...n,n为车辆个数),左向摄像机和右向摄像机在车身的左右两侧。定义该车辆在坐标系下的位置是(xi,yi),摄像机的广角假设是θ,那么对于每一个摄像机的梯形视野的斜边的倾斜角度是θ-∏/2,假设前置摄像机和后置摄像机的可见最远距离为d1,左向摄像机和右向摄像机的可见最远距离是d2。前置,后置,左向,右向摄像机的编号定义为:1,2,3,4。
[0035]
步骤11,求解出摄像机的梯形斜边方程:前置摄像机梯形视野的左边斜边(如附图1:后置摄像机梯形视野右斜边、左向摄像机的上斜边、右向摄像机梯形视野的下斜边)的直线方程为:
[0036]y1-(y
i-vdi/2=tan(θ-∏/2)[x
1-(x
i-vli/2+cfi)])
ꢀꢀꢀꢀꢀ
(1)
[0037]
前置摄像机的梯形视野右斜边(如附图1:后置摄像机梯形视野左斜边、左向摄像机的下斜边、右向摄像机梯形视野的上斜边)的直线方程为:
[0038]y2-(yi+vdi/2)=tan(θ+∏/2)[x
2-(x
i-vli/2+cfi)]
ꢀꢀꢀꢀꢀ
(2)
[0039]
步骤12,计算出该车辆摄像机的四个底边方程:依据摄像机的最远可视距离为di,可以计算出前置摄像机的梯形视野的底边对应的方程为:
[0040]
xl
up
=max((x
i-(di+vli/2+cfi)),0)
ꢀꢀꢀꢀꢀꢀ
(3)
[0041]
同理:后置摄像机的梯形视野的底边对应的方程为:
[0042]
xb
down
=min((xi+(di+vli/2-cbi)),rl)
ꢀꢀꢀꢀꢀꢀꢀ
(4)
[0043]
左向摄像机的梯形视野对应的底边方程为:
[0044]
yl
left
=max((y
i-d2),0)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0045]
右向摄像机的梯形视野对应的底边方程为:
[0046]
yr
right
=min((yi+d2),rw)
ꢀꢀꢀꢀꢀꢀ
(6)
[0047]
步骤13,计算出摄像机每个梯形视野的底边范围:
[0048]
每个将式(3)带入式(1)和式(2)可得前置摄像机梯形视野y对应的范围:
[0049]
yl
l
=y1(x1=xl
up
),ylr=y2(x2=xl
up
)
ꢀꢀꢀꢀꢀꢀꢀ
(7)
[0050]
同理:将式(4)带入式(1)和式(2)可得后置摄像机梯形视野y对应的范围:
[0051]
yb
l
=y2(x2=xb
down
),ybr=y2(x2=xb
down
)
ꢀꢀꢀꢀꢀꢀꢀ
(8)
[0052]
将式(5)带入式(1)和式(2)可得左向摄像机的梯形视野x对应的范围:
[0053]
xlu=x1(y1=yl
left
),xld=x2(y2=yl
left
)
ꢀꢀꢀꢀꢀꢀꢀ
(9)
[0054]
将式(6)带入式(1)和式(2)可得右向摄像机的梯形视野x对应的范围:
[0055]
xru=x2(y2=yr
right
),xrd=x1(y1=yr
right
)
ꢀꢀꢀꢀꢀ
(10)
[0056]
步骤14,计算出每个摄像机梯形视野所表示的集合:
[0057]
前置摄像机能看到的理想视野集合c1是:
[0058]ci,1
={(x,y)|max(x
i-vli/2,0)<=x<=xl
up
,yl
l
<=y<=ylr,y1<=y<=y2} (11)
[0059]
后置摄像机能看到的理想视野集合c2是:
[0060]c1,2
={(x,y)|xi+vli/2<=x<=xb
down
,yb
l
<=y<=ybr,y2<=y<=y1} (12)
[0061]
左向摄像机能看到的理想视野集合c3是:
[0062]ci,3
={(x,y)|xlu<=x<=xld,x2<=x<=x1,yl
left
<=y<=y
i-vdi/2,} (13)
[0063]
右向摄像机能看到的理想视野集合c4是:
[0064]ci,4
={(x,y)|xru<=x<=xrd,x1<=x<=x2,y
i-vdi/2<=y<=yr
right
}
ꢀꢀ
(14)
[0065]
由此可以得到每一辆车能看到的理想全集是:ei=c
i,1
∪c
i,2
∪c
i,3
∪c
i,4
[0066]
第二步:根据视野ei集合求解出对应的栅格索引集合。
[0067]
步骤15,针对该集合可以计算该车辆每个摄像机的可见视野集合可以分别计算出每个摄像机的可见栅格的索引集合e

i,f
(i=0,1...n,n为车辆个数,f=1,2,3,4为摄像机编号),因为每一个栅格都是等大的,所以摄像机能看到的理想栅格集合是用所有的集合比上栅格的长和宽,故栅格的索引值计算方式:{x

=floor(x/gl),y

=floor(y/gw),x,y∈e
i,f
},floor表示向下取整。但是在将视野集合e
i,f
转换为栅格索引集合时,有三点设置:
[0068]
(1)但是在将视野集合e
i,f
转化为对应的栅格集合的时候,x和y取的是视野集合中的散点,x从集合e
i,f
中每个c集合的最小x开始计算,以gl为跨度取值,y同样从e
i,f
中每个c集合的最小y值开始计算,以gw为跨度取值。因为我们最终需要找到的是栅格的索引,所以我们需要找到该x和y对应的栅格是第几行的第几列的栅格,找出行和列号,即为栅格对应的索引。
[0069]
(2)其中需要对最后一个栅格做单独处理。因为x和y当以栅格的长度和宽度为跨度取值的时候,最后一个栅格会超出视野集合范围,但是此时摄像机能看到该栅格的局部视野,故该栅格需要做特殊处理。当x和y以栅格的长和宽为跨度固定取值的时候,当变化到超出视野范围的时候,按照设计的思路,x和y已经超出视野范围了,不需要加入到集合中。但是,实际上会因为和y的跨度大的原因,导致遗漏该栅格。比如最终x变化到了103,栅格的长度是4,视野集合中对应到该部分视野的x范围是到23~102,以栅格长度为跨度步行了20次,x变化到了103,而x=101~104这个栅格中x=101~102能够被看到,但是因为最终x变化到了103,如果按照原始逻辑判断为超出边界,那么该栅格会被剔除,这样最终会遗漏很
多边界栅格。所以需要判断最终x和y的值所处的栅格的位置是否与摄像机视野ei有交集。若摄像机视野与该栅格的位置没有交集,则该栅格不需要加入到栅格集合中,但若是具有交集,则需要将该栅格也加入到集合当中。故需要单独处理。
[0070]
(3)因为我们最终需要的是栅格的索引对应的集合,在系统设计的时候,我们默认索引是从0开始,故我们若是遇到最终的x和y的值已经达到道路的长度和宽度,那么我们时需要剔除该栅格的。例如:如今有一个可见范围是:x=0~100,栅格的长度为4,那么很显然在这个x维度上,占据了25个栅格,但是我们的索引因为是从0开始,所以我们当计算到100的时候,若是不考虑到该情况,会将索引为25的栅格纳入集合中,但是很显然,该栅格时越界的。所以我们需要特殊处理。
[0071]
6.车-车(车-障碍物)之间的遮挡视野计算
[0072]
定义目前需要获取视野的车辆为vi(xi,yi),挡住该车辆的车定义为vj(xj,yj)。vj相对于车辆vi的相对方位需要具体讨论八种情况。
[0073]
考虑到车身(障碍物)本身的大小对于栅格的覆盖情况,每个车辆的大小不一致,栅格(障碍物)的大小也一致,车辆(障碍物)所在位置的随机性都会导致该车辆不可见视野的多样化。所以我们需要计算出包裹车辆自身最小的矩形并且矩形内包含的都为完整栅格的矩形边界对应的x和y值。上边界是:
[0074]
upi=floor(((x
i-vli/2)/gl)+1)*gl,floor表示向下取整
ꢀꢀꢀꢀꢀ
(15)
[0075]
下边界是:
[0076]
downi=floor(((xi+vli/2)/gl)*gl,floor表示向下取整
ꢀꢀꢀꢀ
(16)
[0077]
左边界是:
[0078]
lefti=floor(((y
i-vdi/2)/gw)+1)*gw,floor表示向下取整
ꢀꢀꢀꢀꢀ
(17)
[0079]
右边界是:
[0080]
righti=floor(((yi+vdi/2)/gw))*gw,floor表示向下取整
ꢀꢀꢀꢀꢀ
(18)
[0081]
在计算因为遮挡车辆或者障碍物导致的遮挡视野时,需要从该遮挡车辆的边界开始,因为依据现实,车辆本身我们是认为能被看到的,所以我们要将车辆本身或者障碍物本身占据的栅格剔除。
[0082]
第一种情况是:若遮挡的车辆vj位于左上角方位并且处于前置摄像机的广角范围之内,在这个情况下,被遮挡的视野位于两条射线之间。第一条射线是vi的前置摄像机坐标(x
i-vli/2+cfi,yi)和vj的右前方端点(x
j-vlj/2,yi+vd/2)构建的射线lu
i,j
(i=1,2...n,j=1,2,...n,n为车辆个数),定义为yu=f1(x)设计的时候,此刻车辆是一定位于左上角方位并且处于前置摄像机的广角范围之内的,所以斜率不可能不存在,或者斜率分母为0的情况。第二条视野射线需要讨论具体情况。第一种是若车辆vj完全处于vi摄像机的广角范围之内,这种情况下第二个射线是由vi的摄像机坐标以及vj的左下端点(xj+vlj/2,y
i-vdi/2)构建的射线ld
i,j
(i=1,2...n,j=1,2,...n,n为车辆个数),定义为yd=g1(x);第二种情况就是vj只有部分位于摄像机的视野范围之内,此时第二条射线就如式(1)所示。故对于第一种情况下遮挡视野集合b1是:
[0083][0084]
第二种情况是:vj位于车辆vi左上角并且位于左向摄像机的广角范围之内。和第一
种类似,不同点是:其一,摄像机的端点变成了左向摄像机端点(xi,y
i-vdi),其二,构成遮挡视野的两条射线,其一是摄像机与vj左后端点(xj+vlj/2,y
i-vdi/2)的连线yu=f2(x)。第二条射线需要具体讨论:和第一种一样,若车辆vj完全处于摄像机范围之内,那么第二条射线就是摄像机与vj右前方端点(x
j-vlj/2,yi+vdi/2)的连线yd=g2(x);但若是局部位于摄像机视野范围之内,那么第二条射线就是式(1)所示。
[0085][0086]
剩下的六种情况计算方式与上面两种相同,需要变动的是两条视野的射线不同,造成最终的视野不一致。下面详细给出:第三种是
[0087][0088]
第四种情况是:
[0089][0090]
第五种情况是:
[0091][0092]
第六种情况是:
[0093][0094]
第七种情况是:
[0095][0096]
最后一种情况是:
[0097][0098]
7.瞬时车载摄像机视野建模
[0099]
所以车辆vi的所有被遮挡的视野是:由此可以计算出被遮挡视野转化为遮挡的栅格集合b
′i,转化方式如(1)中将理想全局视野转化为理想可见栅格的方式。
[0100]
每一个车辆被障碍物遮挡的视野,类似于车辆之间的计算方式。将障碍物以边界为界限,模拟为一个规则矩形,最终计算出障碍物遮挡的栅格集合o
l

(l=1,2...m,m为预分配栅格数目)。
[0101]
最终由此可以计算出某一辆车的实际可见栅格集合为:g
′i=e

i-b

i-o
′i。每一个摄像机的可见栅格索引集合g

i,f
=e

i,f-(b

i,f
+b

i,f+2
)-(o

i,f
+o

i,f+2
)(i为车辆编号,f为摄像机编号)。例如:第五辆车的第一个摄像机编号为1,该摄像机的可见视野为:没有任何
遮挡情况下该摄像机的可见栅格索引集合e

5,1
,减去该摄像机被车辆遮挡的栅格集合b

5,1
+b

5,3
,再减去被障碍物遮挡的栅格索引集合o

5,1
+o

5,3
,求得第五辆车的前置摄像机的实际可见栅格集合。之后遍历栅格集合g

i,f
,统计出每一辆车的每一个摄像机的理想可见栅格集合,得到了每一个车辆的每一个摄像机的候选栅格集合g
l
(l=0,1,2...m,m为预分配栅格数目)。得到每一个栅格的候选/车辆摄像机列表,得到一个对应列表g,每一个栅格对应一个后续按车辆/摄像机列表。
附图说明
[0102]
图1单车梯形视野示意图
[0103]
图2为路段网格化-单车道示意图
[0104]
图3为路段网格化-u-型转弯示意图
[0105]
图4为路段网格化-换道示意图
具体实施方式
[0106]
为了更好的解释本发明的内容,现给出一个实例进行具体说明。
[0107]
对于预分配栅格的集合获取方式及见附图1,可以很直观的获取,为了能很好的说明实例,在这里进行小规模数据量的参数设置。这里设置道路长度为40m,宽6m,栅格长度甚至为2m,宽度设置为2m,障碍物个数为1个,前置摄像机和后置摄像机视野距离是6m,左向和右向摄像机的可见视野距离是3m。通过随机将车辆放置到该道路上,车辆的位置分别是:
[0108]
表1车辆位置
[0109][0110][0111]
按照上方的发明所展示的功能,车辆能根据目标行驶,换道,u型转弯等驾驶行为。这里给出我在该参数设定下的最终摄像机的仿真结果。
[0112]
下面按照上面解释的计算公式,分别计算出每个汽车的梯形视野对应的栅格索引集合为:
[0113]
表2预分配栅格
[0114]

技术特征:
1.一种基于路段网格化建模的群车多视野仿真系统及其构建方法,其特征在于提出了道路网格化建模、车辆行驶建模、车辆换道建模、车辆u-型转弯建模,以及理想车载摄像机视野建模、车载摄像机被遮挡视野建模和瞬时车载摄像机视野建模等步骤,其中车辆行驶建模包括考虑道路类型、车流初始化、限速等因素,车辆的行驶方位随机生成,并考虑车辆的实时速度和位置;车辆换道建模包括考虑车辆切换不同车道需要保障的安全性、距离和速度等因素;车辆u-型转弯建模包括考虑车辆安全的合理性,车速、位置以及能否转弯的判断等因素。车载摄像机视野构建包括:1.将全局视野划分为二维平面上的小栅格,以边缘服务器为坐标平面原点,并在每辆车上安置四个摄像机。2.通过假设每个摄像机看到的是一个等腰梯形,在没有任何车辆和障碍物遮挡的情况下,求解出每辆车的每个摄像机理想情况下能看到的所有栅格的集合。3.使用并发方式求解每辆车的每个摄像机的可见视野。且该仿真系统可以多次运行,运行结果包括每辆车的恰当行驶轨迹,基于每个摄像机的可见位置和可见网格计算车载摄像机视野。2.根据权利要求1所述的一种基于网格化建模的车载摄像机视野仿真系统及其构建方法,其特征在于,采用了一种用于交通流模拟场景初始化的方法,该方法包括计算要生成的车辆数目、随机生成车道、车速和车辆编号等信息,并根据安全间距计算出每辆车的起始位置。该方法的设计上考虑了随机性和安全性,因此能够生成更加真实、可靠的交通流模拟结果,避免了模拟的过度正式化,提高了模拟灵活性和可定制性。3.根据权利要求1所述的一种基于路段空间划分的车载摄像机视野优化融合方法,其特征在于,采用了一种用于车辆移动和更新的方法,其特征在于根据车道长度、车辆流量和当前交通状况等条件计算车辆的移动和速度调整方案,并能根据实际情况自适应调整车速和位置,从而实现更加真实、准确的车辆移动模拟,提高交通模拟的准确性和实用性。4.根据权利要求1所述的一种基于网格化建模的车载摄像机视野仿真系统及其构建方法,其特征在于,采用了一种用于检测车道稀疏性并进行车辆自适应变道的方法,其特征在于能够在车辆当前所在车道两侧统计车辆数量,根据阈值对当前车道的稀疏性进行判断,如果稀疏则进行变道操作,否则不进行变道操作,以避免车辆碰撞事故的发生。方法中使用循环变量从汽车当前位置开始遍历汽车变换车道后能到达的位置,检测每个位置是否被其他车辆占用,并防止车辆与其他车辆发生碰撞。在变道操作中实现了汽车速度的自适应调整,以实现顺畅过车的效果。5.根据权利要求1所述的一种基于路段空间划分的车载摄像机视野优化融合方法,其特征在于,一种基于网格化建模的车联网全局视野构建方法,将全局视野划分为二维平面上的小栅格,并在每辆车上安置四个摄像机,通过假设每个摄像机看到的是一个等腰梯形,求解出每辆车的每个摄像机理想情况下能看到的所有栅格的集合,并使用并发方式求解每辆车的每个摄像机的可见视野和被遮挡视野,最终将每个摄像机的全局视野减去被遮挡的视野,得到每辆车每个摄像机的实际可见视野。

技术总结
本发明提出了一个新的交通流仿真系统设计。随机生成车道、车速和车辆编号等信息,通过安全间距计算每辆车的起始位置,从而生成更加真实、可靠的交通流模拟结果。本发明还提出了检测车道稀疏性并进行车辆自适应变道的方法,以有效避免车辆碰撞事故的发生,并实现了汽车速度的自适应调整。本发明的设计意义在于提高了仿真系统在交通规划、管理、道路建设等领域的应用价值和实用性,同时为可持续交通发展和智慧城市建设提供了重要决策支持本发明的设计意义在于通过采用一种新的视野建模方法,利用车载摄像机技术,实现更加真实、准确的交通流仿真,提高了仿真系统在交通规划和管理、道路建设等领域的应用价值和实用性。路建设等领域的应用价值和实用性。路建设等领域的应用价值和实用性。


技术研发人员:吴孝宇 刘茜萍
受保护的技术使用者:南京邮电大学
技术研发日:2023.05.04
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐