一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于无人驾驶矿车的仿真系统、方法以及存储介质与流程

2022-08-13 12:25:38 来源:中国专利 TAG:


1.本发明涉及露天矿山开采领域,并且涉及一种用于无人驾驶矿车的仿真系统及其操作方法。


背景技术:

2.随着国家大力推广矿山智能化的建设,与无人驾驶技术的蓬勃发展,无人驾驶的引入逐渐成为了主流。然而,在实际项目落地过程中,由于缺少完整的仿真测试流程而导致的工程延误、路测结果难以复现、故障排查过程复杂等问题会极大增加项目成本,甚至影响最终验收。


技术实现要素:

3.本发明的目的在于针对现有技术的不足,提出一种具有低成本、高灵活性、可拓展性的适用于无人驾驶矿车的要素完整的仿真系统,其能够提供可靠的模拟结果,从而帮助工程师评估无人驾驶矿车,从而快速复现无人驾驶矿车上的问题,同时提前暴露可能存在的潜在问题。
4.根据本发明的第一方面,提供了一种用于无人驾驶矿车的仿真系统、方法以及存储介质。该仿真系统包括:矿区环境模块,其提供模拟矿区环境;矿车模块,其创建模拟矿车并且控制模拟矿车的动力学行为;传感器模块,其在模拟矿车的行驶期间采集传感器数据;域控制器,其接收传感器数据以基于传感器数据来生成矿车控制指令,并且将矿车控制指令传输至矿车模块来控制模拟矿车的动力学行为;以及协议解析模块,其根据第一协议和第二协议,来对传感器数据和矿车控制指令进行解析,以实现在传感器模块和矿车模块与域控制器之间的数据传输。
5.可选地,传感器数据包括工作环境数据和车辆状态数据。
6.可选地,第一协议为适用于解析工作环境数据的工作环境协议,并且第二协议为适用于解析车辆状态数据的车辆状态协议。
7.可选地,工作环境协议进一步将工作环境数据解析为车辆定位数据和图像数据,并且协议解析模块分别对车辆定位数据、图像数据以及车辆状态数据进行格式转换。
8.可选地,车辆定位数据、图像数据以及车辆状态数据分别被转换为串口数据、网口数据以及can口数据,并且以经转换的数据格式传输至域控制器。
9.可选地,协议解析模块根据第二协议对来自域控制器的矿车控制指令进行解析。
10.可选地,仿真系统进一步包括高精地图模块,高精地图模块用于生成提供模拟矿区环境的全局视野的高精地图,并且将所生成的高精地图分别传输至矿区环境模块和域控制器。
11.可选地,矿区环境模块对实际矿区场景进行三维建模来提供模拟矿区环境,或通过直接接收实际矿区场景的三维建模数据来提供模拟矿区环境。
12.可选地,通过采用插值方法进行数据时间同步处理,然后对时间同步数据进行数
据融合来实现对实际矿区场景的三维建模。
13.可选地,矿车模块通过利用递推动力学模拟实际矿车的动力学行为来创建模拟矿车。
14.可选地,矿区环境模块、矿车模块以及传感器模块可被集成为仿真器,仿真器与中间件桥接,并且通过中间件将传感器数据传输至协议解析模块。
15.根据本发明的第二方面,提供了一种采用无人驾驶矿车的仿真系统来对无人驾驶矿车工作进行仿真的方法,该方法包括:由传感器模块在模拟矿车的行驶期间采集传感器数据;由协议解析模块根据第一协议和第二协议对传感器数据进行解析,以使传感器数据转换格式并且传输至域控制器;由域控制器基于经解析的传感器数据而生成矿车控制指令,由协议解析模块根据第二协议,对矿车控制指令进行解析,以使矿车控制指令转换格式并且传输至矿车模块;并且由矿车模块基于矿车控制指令来控制模拟矿车的动力学行为。
16.可选地,传感器数据包括工作环境数据和车辆状态数据。
17.可选地,第一协议为适用于解析工作环境数据的工作环境协议,并且第二协议为适用于解析车辆状态数据的车辆状态协议。
18.可选地,工作环境协议进一步将工作环境数据解析为车辆定位数据和图像数据,并且协议解析模块分别对车辆定位数据、图像数据以及车辆状态数据进行格式转换。
19.可选地,车辆定位数据、图像数据以及车辆状态数据分别被转换为串口数据、网口数据以及can口数据,并且以经转换的数据格式传输至域控制器。
20.可选地,矿车模块基于从云端接收到的目的终点来控制模拟矿车开始行驶。
21.根据本发明的第三方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使计算机执行根据本发明的第二方面的方法。
22.根据本发明的第四方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本发明的第二方面的方法。
23.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
24.根据参考附图对那些示例性实施例的描述,各种示例性实施例的方面和特征将更加明显,其中:
25.图1示出了根据本发明实施例的用于无人驾驶矿车的仿真系统。
26.图2示出了根据本发明实施例的仿真系统中的矿区环境模块。
27.图3示出了根据本发明实施例的矿区环境模块采用插值方法来同步数据的示例性过程。
28.图4示出了根据本发明实施例的仿真系统中的矿车模块。
29.图5示出了根据本发明实施例的仿真系统中的传感器模块。
30.图6示出了根据本发明实施例的仿真系统中的各个模块之间的通信关系的示图。
31.图7示出了根据本发明的仿真系统的操作方法的流程图。
具体实施方式
32.图1示出了根据本发明实施例的用于无人驾驶矿车的仿真系统1000。其中,仿真系统1000包括矿区环境模块10、矿车模块20、传感器模块30、协议解析模块40、域控制器50以及高精地图模块60。
33.在本发明中,矿车模块20用于创建模拟矿车,矿区环境模块10用于提供模拟矿区环境,传感器模块30用于在模拟矿车的行驶期间采集传感器数据seda,并且将传感器数据seda经由协议解析模块40解析后传输至域控制器50。此后,域控制器50基于经解析的传感器数据seda以及由高精地图模块60生成的高精地图map来生成矿车控制指令ins,并且将矿车控制指令ins经由协议解析模块40解析后传输至矿车模块20,使得矿车模块20基于经解析的矿车控制指令ins以及由高精地图模块60生成的高精地图map,来控制模拟矿车的动力学行为,从而能够按照矿车控制指令ins中的规划路径行驶。
34.另外,在一些实施例中,可将矿区环境模块10、矿车模块20以及传感器模块30集成为仿真器vcu。然而,实施例不限于此,例如在其他实施例中,可将矿区环境模块10、矿车模块20以及传感器模块30进行单独布置,这可根据具体实际需要进行设置。
35.图2示出了根据本发明实施例的仿真系统1000中的矿区环境模块10。在矿区环境模块10提供模拟矿区环境se之前,需要实际矿车在实际矿区中采集多种传感器数据,从而综合这些传感器数据来实现对实际矿区场景的三维重建。具体地,在选定待模拟的矿区场景之后,在实际矿车上安装至少一个感知传感器fs和至少一个辅助定位传感器ps。在实际矿车环绕行驶在实际矿区环境上多次之后,可分别从感知传感器fs获取感知传感器数据sdata以及从辅助定位传感器ps获取定位传感器数据pdata,并且将这些传感器数据传输至矿区环境模块10。根据本发明,矿区环境模块10可对这些传感器数据进行时间同步处理和数据融合处理,以实现对实际矿区场景的三维重建,从而生成模拟矿区环境se。
36.在本发明的一个实施例中,感知传感器fs可包括激光雷达传感器、毫米波雷达传感器和/或摄像头,并且辅助定位传感器ps可包括imu(惯性测量单元)传感器和/或gnss(全球卫星导航系统)传感器。然而,实施例不限于此,并且可根据具体实际需要来选择不同的传感器类型。另外,优选地,可使用gnss传感器作为辅助定位传感器ps,由于gnss传感器自带秒脉冲发生器,这可以消除由于时钟源“钟漂”导致的累计误差,从而改善多个传感器的数据之间的同步效果。
37.如图2中所示,根据本发明的实施例,矿区环境模块10可采用插值方法对所接收的感知传感器数据sdata和定位传感器数据pdata进行时间同步处理,以使得在后续的数据融合步骤中能够将来自不同传感器的同一时刻的传感器数据进行融合。具体地,在根据本发明的插值方法中,以雷达数据采集时刻作为插入的时间点,从而获得除雷达数据以外的其他传感器数据(诸如摄像头数据、定位传感器数据)的同一时刻的等效信息。这将在下文参考图3进行详细描述。
38.此后,根据时间同步处理结果,可获得时间同步的雷达点云数据和摄像头图像。然后,可进一步对时间同步的雷达点云数据和摄像头图像进行数据融合,从而对实际矿区场景进行三维重建。具体地,可以雷达点云数据作为相应的矿区场景的理解依据,以摄像头图像信息来辅助定位当前帧下的场景信息,从而实现实际矿区场景的三维重建。通过这种方式,可极大降低服务器算力需求,并且对于场景元素的目标检测、语义分割精度都具有明显
改善。在本发明的一个实施例中,作为插入基础的雷达数据可以是从激光雷达传感器采集的激光雷达数据。然而,实施例不限于此,并且可根据实际需要进行不同设置,例如也可以是从毫米波雷达传感器采集的数据。
39.另外,在其他实施例中,可不同于图2中所示的方式,即矿区环境模块10接收感知传感器数据sdata和定位传感器数据pdata,然后进行三维建模过程。相反,在其他实施例中,可基于现有建模模块来根据感知传感器数据sdata和定位传感器数据pdata进行三维建模,并且生成实际矿区场景的三维建模数据。然后,可将该三维建模数据直接或者经格式转换后导入至矿区环境模块10。因此,以这种方式,矿区环境模块10可通过直接接收三维建模数据来提供模拟矿区环境se。
40.在根据本发明的传感器数据采集方面,对于激光雷达传感器的数据采集,需要在实际行驶的矿区环境中通过激光雷达采集用户数据报协议(udp)数据包,解析udp数据包获得激光雷达在当前帧下的点云数据包。对于毫米波雷达传感器的数据采集,由于毫米波雷达传感器通过控制器局域网络(can)中的can口进行数据传输,所以具体工作会分为两个部分:前半部分是利用socket can来接收can口数据,每一次通信都采用can frame结构体将数据封装成帧,然后自定义write函数来实现数据发送,自定义read函数来实现数据接收,并且需要自定义用于can口数据收发的socket can类接口;后半部分则是将can口接收到的数据存储后进行协议解析,协议参考所采用的毫米波雷达厂商定义的can消息类型协议。需要自定义用于存储数据的union共用体变量。对于协议包含的消息输入和消息输出部分内容,需要分别定义消息类并且实现消息类中的数据获取和传输方法。对于毫米波雷达而言,会基于对象的反射信号创建簇(cluster),随着cluster数量的增加,毫米波雷达的探测距离也在同时增加,需要定义用于存储cluster数据的union共用体变量,并为cluster输出定义消息类型并负责实现。在cluster的基础上,根据毫米波雷达探测到的一连串反射信号合成而得到的对象(object)是需要真正关注的消息主体,这里需要为存储object定义新的存储数据结构union,并为object输出定义消息类型并负责实现。最后,需要实现将can口接收到的数据交由各部分协议进行处理的拼接工作,这里主要涉及到套接字(socket)接口的封装定义以及雷达协议的接口类的实现。
41.图3示出了根据本发明实施例的矿区环境模块10采用插值方法来同步数据的示例性过程。为了获取某一时刻的等效数据信息,需要索引获得这一时刻前后两帧数据,因此可从缓冲区中读取所有传感器数据sdata和pdata。由于雷达数据不需要做插值,所以在数据库中的特定容器中被独立存储,同时将其他传感器数据存入数据库中的未做同步的临时容器中。已知的是,由于数据在容器里都是按照时间顺序先后排列的,这就相当于在容器中构成了以输入顺序为时间轴的队列,索引需要做的就是将雷达(例如激光雷达或毫米波雷达)采集时刻映射到其他传感器数据存储容器的时间轴的对应位置上,由此可以获得特定时间点下前后两帧的数据。
42.根据本发明的一个实施例,如图3所示,以激光雷达数据为例进行说明。然而应当注意,这仅仅是示例,并且可根据实际需要以其他数据为基础执行插值方法。具体地,在矿区环境模块10接收到传感器数据之后,可将激光雷达数据独立存储在特定数据容器中,而将包括定位数据、图像数据以及可选的毫米波雷达数据的其他数据分别存储在临时数据容器中。然后,以激光雷达数据的每个采集时刻作为插值来映射到各个其他数据中的相应时
刻。例如,当以激光雷达数据中的时刻a作为插值时,可在各个其他数据的时间轴上搜索相对应的或匹配的采集时刻,从而映射到各个时间轴上的对应位置。如图3所示,时刻a可分别映射到定位数据时间轴中的时刻c1、图像数据时间轴中的时刻i2以及毫米波雷达数据时间轴中的时刻f3。此后,可将这些时刻下的各自数据信息作为时间同步数据,并且对时间同步数据进行融合,以准备用于后续的三维重建过程。接下来,可对激光雷达数据中的时刻b执行与时刻a类似的插值映射过程,并且以此类推。
43.在索引操作中,传感器难免会遇到一些类似丢帧或者时间戳出问题的情况,为了避免这种对程序功能的影响,索引操作可遵循如下几条规则:1)如果第一个数据时间比待插入的雷达采集时刻(插入时刻)还要靠后,即插入时刻的前面没有数据,那么就无从插入,直接退出;2)如果第一个数据比插入时刻早,第二个数据也比插入时刻早,那么第一个时刻的数据是没有意义的,应该接着往下找,并删除第一个数据;3)如果雷达采集时刻已经处在前两个数据的中间,但是第一个数据时刻与雷达采集时刻时间差过大(例如大于第一阈值),那么中间肯定存在丢失的数据,则直接退出;4)如果第二个数据时刻与雷达采集时刻时间差过大(例如大于第二阈值),那么中间也存在丢失数据的情况,则直接退出。作为示例,第一阈值与第二阈值可以相同也可以不同。只有当上述约束条件全部满足通过时,才能明确找到对应插入位置。接下来,便可采用线性插值、球面插值等方法对各个传感器数据进行数据插值,从而改善多个传感器的时间同步问题。
44.图4示出了根据本发明实施例的仿真系统1000中的矿车模块20。其中,矿车模块20可创建可视化的模拟矿车mve,并且可控制模拟矿车mve的动力学行为。在本发明中,在矿车模块20接收到矿车控制指令之后,可根据指令来控制模拟矿车mve的动力学行为,以使模拟矿车mve具有期望的车辆状态参数并且按照规划的路径行驶。
45.根据本发明的一些实施例,矿车模块20至少包括基本模型部分bmo、其他系统模型部分smo。具体地,基本模型部分bmo至少包括七个动力学自由度(车体的纵向、侧向、横摆运动、以及四个车轮的旋转运动),车轮多于四个的情况下自由度依次增加,如果需要考虑悬架的影响,每个车轮还需要增加垂直跳动的自由度。轮胎模型如果不做非线性区的稳定性控制,可以通过查表来构建模型;否则就要用能较好反映纵侧向耦合特性的解析模型。另外,可根据需要建立其他系统模型部分smo,其可包括电机模型、电池模型、dc-dc模型、发动机模型、和/或变速箱模型,等等。
46.在本发明的实施例中,矿车模块20可使用递推动力学模拟实际矿车的动力学行为来创建模拟矿车mve。具体地,给定模型状态的初始值,然后通过数值积分不断迭代。模型的计算过程可分为三个阶段:运动学、静力学、动力学。其中,车辆运动学建模中常用的坐标系包括:惯性坐标系、车体坐标系、车轮坐标系、轮胎坐标系,同一个物理矢量需要在不同的坐标系中进行变换。比如通过车体纵向、侧向、垂向、倾斜、俯仰、横摆计算悬架上支点速度,再加上车轮垂直跳动速度计算轮心速度,再加上车轮旋转速度计算接地印迹中心速度。然后,静力学建模通过轮胎模型计算车轮运动产生的轮胎力,通过悬架上下支点的相对运动计算弹簧力、阻尼力,通过速度计算空气阻力等等。再者,动力学建模通过数值积分来获得下一运动时刻的状态。每个时刻都需要上述的三步计算(即,运动学建模、静力学建模、动力学建模),然后不断重复,直到达到预定的仿真时间。
47.图5示出了根据本发明实施例的仿真系统1000中的传感器模块30。其中,传感器模
块30可包括多个模拟传感器,以在模拟矿车mve的行驶期间采集传感器数据seda。在一个实施例中,多个模拟传感器可包括激光雷达传感器和摄像头。可选地,多个模拟传感器还可包括定位传感器,例如gnss定位传感器。然而,实施例不限于此,可根据实际需要而包括其他类型的模拟传感器或者进行模拟传感器的不同布置。
48.根据本发明的一些实施例,在运行仿真系统1000时,通过将传感器模块30中的模拟传感器设置为具有与模拟矿车mve相同的经纬度,来在模拟矿车mve的行驶期间,在模拟矿区环境se中采集工作环境数据enda,同时感测和获取模拟矿车mve的车辆状态数据stda。传感器模块30将所获取的工作环境数据enda以及车辆状态数据stda作为传感器数据seda进行传输。
49.图6示出了根据本发明实施例的仿真系统1000中的各个模块之间的通信关系的示图。如上所述,传感器模块30可在模拟矿车mve的行驶期间采集传感器数据seda,并且将传感器数据seda传输至域控制器50。然而,此时获取的传感器数据seda还不能被域控制器50直接接收,需要经由协议解析模块40进行解析之后才可以经由can总线等而传输至域控制器50。如图6所示,传感器模块30可将传感器数据seda传输至协议解析模块40。根据本发明的实施例,传感器模块30可经由中间件70来传输传感器数据seda,其中中间件70可以配置为与传感器模块30或仿真器vcu桥接连接并且与协议解析模块40通信连接。换言之,传感器模块30可通过桥接器80来将传感器数据seda传输至中间件70,然后由中间件70将传感器数据seda通信传输至协议解析模块40。然而,实施例不限于此,并且可根据具体需要来设置数据的传输方式以及布置相应的部件。
50.如图6所示,协议解析模块40可包括工作环境协议epa和车辆状态协议spa。如上文参照图5所描述的,传感器模块30可在模拟矿车mve的行驶期间生成工作环境数据enda以及车辆状态数据stda,并且将这些数据作为传感器数据seda传输至协议解析模块40。根据本发明的实施例,在接收传感器数据seda之后,协议解析模块40可根据工作环境协议epa和车辆状态协议spa来对传感器数据seda进行解析。
51.工作环境协议epa可对传感器数据seda中的工作环境数据enda进行提取,例如,工作环境协议epa可根据工作环境数据enda中的数据头的标示符(id)和内容来识别并且提取工作环境数据enda。根据本发明的实施例,工作环境数据enda可包括车辆定位数据poda和图像数据imda。例如,可使传感器模块30包括组合惯导传感器和摄像头(例如,工业相机传感器),并且通过组合惯导传感器来获得车辆定位数据poda,以及由摄像头生成的图像数据imda。再例如,如上文所述,传感器模块30可包括激光雷达传感器和摄像头。在这种情况下,传感器模块30所生成的工作环境数据enda可以是由激光雷达传感器生成的车辆定位数据poda,以及由摄像头生成的图像数据imda。在本发明的另一实施例中,传感器模块30可仅包括激光雷达传感器。在该情况下,工作环境协议epa可以是专门适用于激光雷达传感器所生成的数据的激光雷达传感器协议,并且可从由激光雷达传感器生成的工作环境数据enda中提取车辆定位数据poda和图像数据imda。在又一实施例中,传感器模块30可包括激光雷达传感器、摄像头以及定位传感器。此时,工作环境数据enda可以是基于激光雷达传感器和定位传感器的数据而生成的车辆定位数据poda。然而,应当注意这些仅仅是示例,本发明不限于此,并且可根据具体实际需要进行传感器类型设置以及相应的协议设置。
52.另一方面,车辆状态协议spa可对传感器数据seda中的车辆状态数据stda进行解
析。例如,车辆状态协议spa可根据车辆状态数据stda中的数据头的id和内容来识别并且提取车辆状态数据stda。根据本发明的实施例,车辆状态数据stda可以是与模拟矿车的动力学行为相关的一些参数。例如,车辆状态数据stda可包括模拟矿车的速度、加速度、减速度、转向角度、致动状态、发动机状态,等等。
53.另外,通常可根据待模拟的矿车的类型和型号来选择合适的车辆状态协议spa。在一些实施例中,可选择使用适用于大型车辆的j1939协议作为车辆状态协议spa。而在其他实施例中,可进一步根据矿区的环境特点,对协议中的一些参数进行修改。例如,矿区场景的特点通常为元素相对单一、道路封闭、坡度明显,所以通常要求矿车具有相对于低的速度和加速度。因此,在这种情况下,可在常用大型车辆协议(例如j1939协议)的基础上,根据矿区场景对不同参数的需求程度,对速度、加速度、减速度等参数进行修改或调整,例如缩小范围值。再例如,可将速度参数修改为小于第一阈值,其中第一阈值可以是矿车适于在矿区场景中行驶的速度。并且类似地,可对加速度、减速度、以及其他所需的参数进行相应修改。这可以使得车辆状态协议spa更适合于应用在矿区场景中,从而更真实地模拟真实矿车的动力学行为,并且更准确地控制模拟矿车的行驶状态和行驶路径。此外,本发明的实施例不限于此,并且可根据具体的矿区场景特点以及矿车控制需要来制定车辆状态协议。
54.在经由协议解析模块40分别从传感器数据seda中提取工作环境数据enda以及车辆状态数据stda之后,协议解析模块40进一步对这些数据进行格式转换,从而以合适的格式将这些传感器数据传输至域控制器50。具体地,如图6所示,协议解析模块40将车辆状态数据stda转换为can口数据,将车辆定位数据poda转换为串口数据,以及将图像数据imda转换为网口数据。此后,可将经格式转换的传感器数据(即车辆状态数据stda、车辆定位数据poda以及图像数据imda)传输至域控制器50。根据本发明的实施例,can口数据可经由can总线而传输至域控制器50,串口数据可经由rs232串口而传输至域控制器50,并且网口数据可通过tcp/udp数据包的形式而传输至域控制器50。
55.根据本发明的实施例,域控制器50可接收传感器数据seda,并且基于传感器数据seda来生成矿车控制指令ins。如图6所示,域控制器50包括微控制单元mcu以及自动驾驶域控制器acu。两者之间通过以太网连接。其中,微控制单元mcu用于外围电路与接口电路的连接控制。换言之,微控制单元mcu通过can口从协议解析模块40接收车辆状态数据stda、车辆定位数据poda以及图像数据imda,并且将这些数据打包成以太网数据包。此后,微控制单元mcu经由以太网,将以太网数据包传输至自动驾驶域控制器acu。然后,自动驾驶域控制器acu可对以太网数据包进行高性能数据处理。例如,自动驾驶域控制器acu可提取出车辆状态数据stda和工作环境数据enda,并且将工作环境数据enda与高精地图进行信息融合,从而生成矿车控制指令ins。然而,应当注意,自动驾驶域控制器acu还可进行其他所需的数据处理操作。
56.具体地,如图1和图6中所示,高精地图模块60可生成用于提供矿区场景的全局视野的高精地图map,并且将所生成的高精地图map分别发送到域控制器50和矿区环境模块10。以这种方式,域控制器50中的自动驾驶域控制器acu可基于高精地图map,结合所提取的工作环境数据enda(其包括车辆定位数据poda以及图像数据imda)来规划矿车的后续行驶路径以及确定矿车需调整的动力学行为参数,并且将规划的路径以及确定的参数形成矿车控制指令ins传输至矿车模块20。由于矿车模块20所参照的是来自矿区环境模块10的相同
的高精地图map,所以在位置定位、车辆参数调整等方面都有较高的匹配度,因此可生成能够准确控制模拟矿车mve的矿车控制指令ins,使得提高仿真系统1000的输出结果的可靠性。
57.根据本发明的实施例,高精地图模块60包括道路模型、车道模型、定位模型三个层次结构,除了上述基础架构的模型外,还有动态信息层和驾驶行为分析层用来补充一些其他信息。其中,道路模型为矿车提供全局视野,这样可以使矿车了解传感器感知范围以外的道路信息,还可以为非结构化道路分类;车道模型提供更加精准的信息,包括车道朝向、车道边界、道路标牌、道路限速;定位模型作为模型的最上层,通过感知矿区道路两侧的车道线等标志物来进行定位;动态信息层用来描述道路上的动态状况,比如事故等突发情况,所以对实时性有较高要求;驾驶行为分析层分析驾驶员在不同道路场景下的驾驶行为,比如加速、减速、制动等,将数据转化为决策,使得自动驾驶更能模拟驾驶员的行为。
58.高精地图map的制作流程大体可分为数据采集、数据处理、元素识别、人工验证几个步骤。具体地,通过实际传感器在矿区环境下采集地图数据。可选地,在其他实施例中,可使用模拟传感器在仿真环境下采集地图数据。然而实施例不限于此,并且可根据实际需要进行选择。此后,在采集过程中沿双向车道全覆盖采集3-5圈,限制车速保持低速行驶,默认每隔一段时间生成一个数据文件(诸如rosbag文件),并且在采集结束后压缩打包。基于录制的数据包(诸如rosbag包)做点云拼接来生成底图,再通过深度学习做矿区场景下场景元素(点云)的目标识别和语义分割。在人工验证环节将底图数据、图像数据和点云数据进行融合,整合成最终的高精地图map。
59.此后,在域控制器50基于高精地图map和传感器数据seda而生成矿车控制指令ins之后,域控制器50可按照原路径将矿车控制指令ins传输至矿车模块20。具体地,如图6所示,域控制器50中的自动驾驶域控制器acu可将所生成的矿车控制指令ins经由以太网而传输至微控制单元mcu,并且经由微控制单元mcu处理成can口数据,以经由can总线而传输至协议解析模块40。如上所述,域控制器50无法与矿车模块20和传感器模块30进行直接数据通信,而是需要在两者之间进行协议解析过程。因此,协议解析模块40根据车辆状态协议spa对矿车控制指令ins进行解析,并且转换成适用于矿车模块20的数据格式。此后,可以可选地经由中间件70来将经解析的矿车控制指令ins传输至矿车模块20,使得矿车模块20可基于矿车控制指令ins中包括的规划路径以及车辆状态参数相关信息,结合来自矿区环境模块10的高精地图map来控制模拟矿车mve的动力学行为,从而更真实地模拟实际矿车以使得模拟结果用于更可靠的评估和测试。
60.在本发明的实施例中,在模拟矿车mve的行驶期间,传感器模块30可实时地感测工作环境数据enda以及车辆状态数据stda以实时生成传感器数据seda,并且将数据实时传输至域控制器50,使得域控制器50实时生成矿车控制指令ins并且实时下发至矿车模块20,从而在行驶期间实时控制模拟矿车mve的行驶方向、路径和速度等,以使模拟矿车mve到达目的终点。
61.图7示出了根据本发明的仿真系统1000的操作方法的流程图。如图7所示,仿真系统1000的操作方法包括:
62.s1:仿真系统1000开始运行。
63.s2:传感器模块30感测模拟矿车mve的传感器数据seda,并且将传感器数据seda传
输至协议解析模块40。
64.在本发明的实施例中,传感器模块30可包括激光雷达传感器和摄像头(可选地可包括定位传感器)来感测工作环境数据enda,同时传感器模块30可感测模拟矿车mve的状态以生成车辆状态数据stda。然后,将工作环境数据enda和车辆状态数据stda作为传感器数据seda进行传输。
65.s3:协议解析模块40根据第一协议和第二协议对传感器数据seda进行解析,以将传感器数据seda转换成适用于与域控制器50通信的数据格式,然后将经解析的传感器数据seda传输至域控制器50。
66.在本发明的实施例中,第一协议为工作环境协议epa,并且第二协议为车辆状态协议spa。协议解析模块40根据这两个协议将工作环境数据enda转换为串口格式和网口格式,以及将车辆状态数据stda转换为can口格式。
67.s4:域控制器50基于所接收的传感器数据seda来生成矿车控制指令ins,并且将矿车控制指令ins经由协议解析模块40解析后传输至矿车模块20。
68.在本发明的实施例中,协议解析模块40根据第二协议(即车辆状态协议spa)对矿车控制指令ins进行解析,以将矿车控制指令ins转换成适用于与矿车模块20通信的数据格式,然后将经解析的矿车控制指令ins传输至矿车模块20。
69.s5:矿车模块20基于所接收的矿车控制指令ins来控制模拟矿车mve的动力学行为,以使模拟矿车mve按照规划路径行驶。
70.根据本发明的上述各种实施例所述的仿真系统1000及其操作方法,可以提供一种适用于矿区环境特点的要素完整的仿真测试系统,其能够准确地复现矿车的行驶情况并且提供可靠的模拟测试数据。通过根据本发明的仿真系统1000,可以解决目前矿区路测数据短缺的问题,工程师可以通过线上修改的方式利用仿真系统1000生成大量自定义场景下的路测数据,作为训练数据集用作感知算法模块的模型训练任务。
71.根据本发明的实施例,本发明还提供了一种可读存储介质和一种计算机程序产品。在一些实施例中,该可读存储介质可以是一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一实施例所述的方法。在一些实施例中,该计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一实施例所述的方法。
72.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
73.用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
74.在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
75.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。
76.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
77.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
78.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明公开的技术方案所期望的结果,本文在此不进行限制。
79.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献