1.本公开涉及人工智能技术领域,具体涉及自动驾驶、智能交通等技术领域,尤其涉及一种自动驾驶系统、车辆及检测方法、装置、设备和存储介质。
背景技术:2.自动驾驶车辆(autonomous vehicles;self-driving automobile)又称无人驾驶车辆、电脑驾驶车辆或轮式移动机器人,是一种通过计算平台实现无人驾驶的智能车辆。
3.自动驾驶车辆在研发、生产、调试和维护过程中,需要对底盘系统(chassis)的功能进行检测,从而保障自动驾驶车辆在实际运营过程中的正常行驶。
4.针对研发、生产、调试和维护场景,可以采用控制器局域网络(controller area network,can)开放环境(can open environment,canoe)对自动驾驶车辆的底盘系统进行功能检测。但是,采用canoe进行功能检测时,需要专用的软硬件,例如,需要在车辆上外接专用硬件,利用专用硬件连接车辆外的笔记本电脑,在笔记本电脑上安装专用软件,通过上述专用的软硬件完成功能检测。
技术实现要素:5.本公开提供了一种自动驾驶系统、车辆及检测方法、装置、设备和存储介质。
6.根据本公开的一方面,提供了一种自动驾驶系统,包括:计算平台;can接口设备,设置在所述计算平台上,且,通过can总线连接所述自动驾驶系统所在的自动驾驶车辆上的检测对象;其中,所述计算平台上集成有:检测模块,用于通过所述can接口设备以及所述can总线,对所述检测对象进行功能检测;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地。
7.根据本公开的另一方面,提供了一种车辆检测方法,应用于自动驾驶系统的计算平台,所述方法包括:响应于用户产生的检测指令,通过can接口设备和can总线,与所述自动驾驶系统所在的自动驾驶车辆上的检测对象交互can报文;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地;基于所述can报文,获得所述检测对象的功能检测结果。
8.根据本公开的另一方面,提供了一种车辆检测装置,集成在自动驾驶系统的计算平台上,所述装置包括:交互模块,用于响应于用户产生的检测指令,通过can接口设备和can总线,与所述自动驾驶系统所在的自动驾驶车辆上的检测对象交互can报文;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地;确定模块,用于基于所述can报文,获得所述检测对象的功能检测结果。
9.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
10.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储
介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
11.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
12.根据本公开的另一方面,提供了一种自动驾驶车辆,包括:如上述任一方面的任一项所述的自动驾驶系统或者电子设备。
13.根据本公开的技术方案,可以提高车辆检测效率。
14.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
15.附图用于更好地理解本方案,不构成对本公开的限定。其中:
16.图1是根据本公开第一实施例的示意图;
17.图2是本公开实施例对应的应用场景的示意图;
18.图3是根据本公开第二实施例的示意图;
19.图4是根据本公开第三实施例的示意图;
20.图5是根据本公开第四实施例的示意图;
21.图6是根据本公开第五实施例的示意图;
22.图7是根据本公开第六实施例的示意图;
23.图8是用来实现本公开实施例的车辆检测方法的电子设备的示意图。
具体实施方式
24.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
25.控制器局域网络(controller area network,can)总线是汽车计算机控制系统和嵌入式工业控制局域网的标准总线,广泛应用于汽车工业。
26.相关技术中,针对研发、生产、调试和维护场景,可以采canoe对自动驾驶车辆的底盘系统进行功能检测。但是,由于采用canoe进行功能检测时,需要专用的软硬件,在成本、效率等方面都会存在问题。
27.为了提高车辆检测效率,降低成本,本公开提供如下实施例。
28.图1是根据本公开第一实施例的示意图,本实施例提供一种自动驾驶系统。
29.如图1所示,自动驾驶系统100包括:计算平台101、can接口设备102;can接口设备102设置在计算平台101上,且,通过can总线连接所述自动驾驶系统100所在的自动驾驶车辆上的检测对象。
30.其中,计算平台101和can接口设备102,是通常的自动驾驶系统中的组成部分。
31.计算平台101,用于完成计算、规划、控制等功能。计算平台101可以具体为工控机(industrial personal computer,ipc)。
32.can接口设备102,还可以称为can卡,用于接入can。
33.计算平台101上可以具有插槽,例如,外设部件互连扩展(peripheral component interconnect express,pcie)插槽,can卡可以插入到计算平台101的pcie插槽内。
34.检测对象可以包括:底盘系统,和/或,车身电子系统。
35.底盘系统(chassis),是指车辆上由传动系统、行驶系统、转向系统和制动系统四部分组成的组合,支承、安装发动机及其各部件、总成,形成车辆的整体造型,承受发动机动力,保证正常行驶。传动系统主要由离合器、变速器、万向传动装置、主减速器、差速器和半轴等组成;行驶系统主要由汽车的车架、车桥、车轮和悬架等组成;转向系统主要由转向盘、转向轴、转向管柱、转向器、转向传动机构等组成;制动系统可分为行车制动系统、驻车制动系统、应急制动系统及辅助制动系统等。
36.以检测对象是底盘系统为例,底盘系统中的各组成部分可以通过can进行相互通信,和/或,通过can以及can卡与计算平台101进行通信。
37.车身电子系统是指底盘系统之外的其他可控对象,例如包括:车门、车窗、空调、雨刷等电子器件。
38.虽然通常的自动驾驶系统中会包括上述的计算平台以及插接在计算平台上的can卡,但是,与通常的自动驾驶系统不同的是,本实施例中,计算平台101上集成有检测模块1011。
39.检测模块1011用于响应于用户产生的检测指令,通过所述can接口设备102以及所述can总线,对检测对象进行功能检测;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地。
40.其中,自动驾驶车辆可以具有显示屏,通过显示屏向用户提供检测按钮,用户点击检测按钮后可以产生检测指令,以触发检测模块执行检测操作。检测模块可以具体是通过软件实现的。
41.本公开实施例中,主要是针对研发、生产、调试和维护场景下,对自动驾驶车辆的功能检测。
42.其中,研发、生产、调试是在车辆出厂之前,因此可以认为是出厂检测;针对维护场景,可以是指车辆出厂后,车辆更换零部件、线束的场景。
43.与自动驾驶车辆在行驶过程中的异常检测不同的是,自动驾驶车辆在行驶过程中的异常检测时,自动驾驶车辆处于行驶状态。而本公开实施例所针对的研发、生产、调试和维护场景,自动驾驶车辆并非处于行驶状态,而是保持在原地,例如,保持在原地检测车门、车窗的开闭功能,又例如,检测车辆的转向功能时,控制车辆原地转动方向盘。
44.另外,自动驾驶车辆在行驶过程中进行异常检测时,一般是通过车辆的各种传感器自动检测车辆异常并报警,因此,行驶过程中的异常检测是已经发生了异常后才进行的,存在一定的危险性;而本公开实施例中,是由用户主动发起的检测,可以在异常发生之前就提前发现异常,从而可以避免或降低车辆行驶过程中的异常发生情况,保证行驶安全性。
45.针对不同的场景,用户可以是相应的检测人员,例如,在研发过程中,用户可以是指研发人员,在维护场景下,用户可以是指维护人员,其余场景类似。
46.本实施例中,通过在计算平台上集成检测模块,检测模块用于通过can接口设备以及can总线对检测对象进行功能检测,可以利用自动驾驶系统的已有软硬件资源,对检测对
象进行功能检测,由于不需要在自动驾驶系统之外额外引入专用软硬件,可以提高车辆检测效率,降低成本。另外,自动驾驶车辆在功能检测过程中保持在原地,与自动驾驶车辆行驶过程中的异常检测不同,可以针对研发、生产、调试和维护场景,对自动驾驶车辆的功能进行检测;并且由于是用户产生的检测指令,可以在异常发生之前提前发现异常,而不是行驶过程中发生异常时才进行报警,可以保证行驶安全性。
47.为了更好地理解本公开实施例,对本公开实施例的应用场景进行说明。本实施例可以应用于自动驾驶场景。
48.自动驾驶车辆的自动驾驶功能可以通过自动驾驶系统实现。自动驾驶系统实现的自动驾驶级别目前可以分为l0~l5级别。其中,l0级驾驶表示无自动驾驶,即传统的驾驶员人工驾驶;l1级驾驶又称为辅助驾驶,包括定速巡航、自动泊车以及车道保持等基本功能;l2级驾驶又称为半自动驾驶,包括自动辅助驾驶,危险预判刹车等功能;l3级驾驶又称为有条件自动驾驶,与l2级相比,它可以在正常的路段下实现完全自动化驾驶,但是在一些紧急情况发生时,还是需要人工来进行辅助制动;l4级驾驶属于高度自动驾驶,汽车的整体制动性能以及反应能力已经达到了一个比较高的水准,驾驶员坐在汽车内部不用自己操控,而且汽车行驶比较平稳顺畅;l5级自动驾驶,它可以实现无条件的全自动驾驶技术,不管在任何情况下,都不用担心路况以及天气,实现全自动驾驶。
49.本实施例可以具体应用于至少l4级的自动驾驶场景的功能检测。
50.本实施例以检测对象是底盘系统为例。
51.从硬件上,如图2所示,自动驾驶系统200可以包括:感知系统201和计算平台202,计算平台202上可以插接can接口设备203。
52.以检测对象是底盘系统为例,计算平台202可以通过can接口设备203以及can总线与底盘系统进行交互。
53.可以理解的是,根据划分规则的不同,底盘系统可以属于或不属于自动驾驶系统,本实施例以底盘系统位于自动驾驶系统之外为例。
54.感知系统201,用于获取感知数据,感知数据可以包括:环境数据,和/或,车辆自身数据。环境数据可以通过环境感知传感器获取,环境感知传感器例如包括:毫米波雷达、激光雷达、超声波雷达、相机等。车辆自身数据可以通过自感应传感器获取,自感应传感器例如包括:全球定位系统(global positioning system,gps)、全球导航卫星系统(global navigation satellite system,gnss)、惯性测量单元(inertial measurement unit,imu)等。
55.计算平台202,用于基于感知系统201的感知数据进行计算、规划、控制等。例如,关于计算,计算环境中的障碍物的位置、速度等,计算车辆自身的位置、速度等。关于规划,规划路径、规划行为、规划轨迹等。关于控制,可以基于所计算出的信息和/或规划出的信息,对底盘系统进行控制,例如,控制底盘系统执行转向、刹车、油门等操作。
56.底盘系统,用于基于计算平台的控制指令执行相应操作,例如,基于转向指令执行转向操作。
57.在软件上,自动驾驶系统可以包括:高精地图、定位模块、感知模块、规划模块、控制模块等算法模块,软件主要集成在计算平台上。上述的算法模块(如高精地图、定位、感知、规划、控制等软件模块)可以称为通常的算法模块2021。
58.本实施例中,除了通常的算法模块2021之外,计算平台上还集成有:检测模块2022,用于对底盘系统和车身电子系统进行功能检测。
59.针对底盘系统,主要检测油门、刹车、转向三大主要功能。
60.针对车身电子系统,主要检测车门开闭、车窗升降、空调启停、雨刷启停等主要功能。
61.本公开实施例的功能检测过程中,车辆保持在原地。基于检测对象的不同,可以采用不同的方式使得车辆保持在原地。例如,检测对象是车身电子系统时,由于不需要驱动车轮,此时,车辆可以停放在某个场地上,针对处于停止状态的车辆,检测车门、车窗等功能。或者,检测对象是底盘系统时,针对转向功能,车辆也可以停放在某个场地上,控制车辆原地转动方向盘;针对油门、刹车,可以将车辆悬空,使得车辆在悬空状态下执行加速、刹车等操作。
62.检测模块可以基于软件编程语言实现,例如,采用c、c++、python、java等软件编程语言实现。
63.另外,检测模块2022可以与通常的算法模块2021隔离,即单独设置与通常的算法模块2021不同的检测模块2022,实现检测模块与通常的算法模块之间的解耦,从而可以有效地甄别是车辆功能出现异常或者通常的算法模块出现异常,还可以单独进行车辆功能检测,提高研发效率。
64.图3是根据本公开第二实施例的示意图,本实施例提供一种自动驾驶系统。
65.与上述实施例类似,自动驾驶系统包括计算平台,以及设置在计算平台上的can接口设备,计算平台上还集成有检测模块。
66.与上述实施例不同的是,本实施例中,如图3所示,检测模块300可以包括:can报文处理组件301、can接口设备驱动组件302和功能检测组件303。
67.can报文处理组件301用于将待发送的指令数据封装为第一can报文;以及,对接收的第二can报文进行解封装处理,以获得反馈数据;can接口设备驱动组件302用于通过所述can接口设备和所述can总线,将所述第一can报文发送至所述检测对象;以及,接收所述检测对象通过所述can总线以及所述can接口设备发送的所述第二can报文;功能检测组件303用于基于所述指令数据,和/或,所述反馈数据,确定所述检测对象的功能检测结果。
68.如图3所示,本实施例以检测对象是底盘系统为例,为了获得底盘系统的功能检测结果,检测模块与底盘系统之间可以进行can报文交互。为了区分,检测模块发送给底盘系统的can报文可以称为第一can报文,底盘系统发送给检测模块的can报文可以称为第二can报文。
69.can总线上传输的数据可以称为can报文,检测模块所产生或处理的数据的数据格式与can报文的格式不同,检测模块所产生的数据可以称为指令数据,所接收、处理的数据可以称为反馈数据。为了实现检测模块与底盘系统的交互,可以采用can报文处理组件进行数据格式转换,将指令数据封装为第一can报文,将第二can报文解封装为反馈数据。
70.其中,如图3所示,can报文处理组件301可以基于can数据库(database can,dbc)文件进行上述数据格式的转换。
71.dbc文件可以是预先生成并配置在计算平台内的,dbc文件中可以记录can报文与检测模块对应的数据之间的关系,从而实现对can报文的封装或解封装处理。
72.指令数据,是指检测模块下发的具有物理意义的指令数据,例如,方向盘转角指令数据、升降车窗指令数据、打开电动车门指令数据等。
73.反馈数据,是指底盘系统所反馈的具有物理意义的数据,例如,方向盘转动的具体角度数值、表征车窗升降的数据、表征车门开闭的数据等。
74.can接口设备驱动组件302用于收发can报文,即,将can报文处理组件生成的第一can报文发送至底盘系统,将底盘系统发送的第二can报文发送至can报文处理组件。
75.功能检测组件303用于完成对底盘系统的功能检测,可以基于指令数据和/或反馈数据获得底盘系统的功能检测结果。
76.其中,如图3所示,基于指令数据获得功能检测结果可以称为控制类报文检测,基于反馈数据获得功能检测结果可以称为反馈类报文检测,基于指令数据和反馈数据获得功能检测结果可以称为交互类报文检测。
77.针对控制类报文,可以检测状态初始值是否符合预期,频率是否符合预期;针对反馈类报文,可以检测关键状态值是否符合预期,频率是否符合预期;针对交互类报文,可以检测响应时间、响应精度等是否符合预期。
78.如图3所示,功能检测组件303可以基于预先配置的车辆自检逻辑规划文件获得功能检测结果。例如,车辆自检逻辑规划文件中可以记录待检测的物理量及其期望值,之后可以比对指令数据和/或反馈数据中的待检测的物理量的实际值与期望值,获得功能检测结果。
79.例如,待检测的物理量为车门开闭状态,期望值为打开车门,若反馈数据中的实际值表明车门打开,则功能检测结果为通过该项功能(打开车门)的检测。
80.另外,计算平台还可以通过车载电脑或与车辆连接的笔记本电脑,向用户提供功能检测界面,功能检测界面内设置检测触发按钮,用户点击检测触发按钮后,可以触发计算平台上的检测模块的执行,实现一键自动检测。
81.本实施例中,通过can报文处理组件、can接口设备驱动组件和功能检测组件,可以实现对检测对象的功能检测,及时发现功能故障,进而保障自动驾驶车辆的安全性和可靠性。
82.一些实施例中,如图3所示,检测模块300还可以包括:日志记录组件304。日志记录组件304用于记录所述第一can报文的状态信息,和/或,所述第二can报文的状态信息,以生成日志信息。
83.can报文的状态信息例如包括:can报文中包含的数据内容,can报文的收发时间等。数据内容例如包括:id号,指令数据所包含的指令内容,反馈数据所包含的实际值等。
84.本实施例中,通过记录can报文的状态信息,可以在异步工作模式下,基于id号等检测can报文是否发生丢帧等现象,保证收发的can报文的完整性,进而保证功能检测的准确性。
85.一些实施例中,计算平台上还可以集成有:空中下载技术(over-the-air technology,ota)传输组件,用于采用ota,将所述日志信息传输给服务器。
86.其中,通过采用ota,可以将车端的日志信息传输给服务器,实现对车辆的远程检测。
87.另外,在批量生产阶段,服务器可以比对各个自动驾驶车辆的功能检测结果,若各
个车辆的功能检测结果不一样,可以向调试人员发送提醒信息,调试人员可以基于提醒信息对车辆的功能进行调试,保证各个车辆的功能检测结果的一致性。
88.一些实施例中,检测模块还可以包括定时器,如图3所示,定时器用高精度定时器305表示。定时器用于产生时钟信号,所述时钟信号用于控制所述第一can报文的发送频率。
89.其中,时钟信息例如是正弦波信号,can接口设备驱动组件可以基于正弦波信号对应的时钟周期确定发送频率,采用该发送频率进行第一can报文的发送。
90.本实施例中,通过定时器产生时钟信号,可以保证第一can报文按照设定频率进行发送。
91.一些实施例中,检测模块还可以包括:日志转换组件,用于将日志记录组件记录的状态信息转换为分析工具可读格式的文件。分析工具例如为canoe工具,从而可以采用分析工具对记录的状态信息进一步分析。
92.本实施例中,检测模块可以与通常的算法模块解耦,可以在研发阶段单独检测车辆的功能,提高研发效率。采用ota传输组件将日志信息发送给服务器,服务器通过比对多个车辆的检测结果,可以在生产阶段对批量车辆的功能进行把控,保证车辆状态一致性。通过基于指令数据和/或反馈数据确定功能检测结果,可以在研发、生产、调试、维护阶段保证车辆功能的正常性,保证车辆在出厂时或者出厂后的维护过程中具有正常的功能,,保证运营过程的安全性和稳定性。检测模块集成在计算平台上,可以利用自动驾驶系统的已有软硬件资源,提高检测效率,降低成本,特别是在批量生产自动驾驶车辆的情况下,可以提高量产下线检测效率。通过设置检测触发按钮,可以实现一键自动检测。在大规模车辆生产和运维场景下,由于是借助车辆自身的软硬件实现的自检,不需要人工现场排查,可以提高检测效率,并且,采用ota进行日志信息传输,可以实现远程问题定位和分析,也可以提高检测效率。
93.图4是根据本公开第三实施例的示意图,本实施例提供一种车辆检测方法。所述方法应用于自动驾驶系统的计算平台,所述方法包括:
94.401、响应于用户产生的检测指令,通过can接口设备和can总线,与所述自动驾驶系统所在的自动驾驶车辆上的检测对象交互can报文;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地。
95.402、基于所述can报文,获得所述检测对象的功能检测结果。
96.本实施例中,计算平台通过can接口设备以及can总线对检测对象进行功能检测,可以利用自动驾驶系统的已有软硬件资源,对检测对象进行功能检测,由于不需要在自动驾驶系统之外额外引入专用软硬件,可以提高车辆检测效率,降低成本。另外,自动驾驶车辆在功能检测过程中保持在原地,与自动驾驶车辆行驶过程中的异常检测不同,可以针对研发、生产、调试和维护场景,对自动驾驶车辆的功能进行检测;并且由于是用户产生的检测指令,可以在异常发生之前提前发现异常,而不是行驶过程中发生异常时才进行报警,可以保证行驶安全性。
97.图5是根据本公开第四实施例的示意图,本实施例提供一种车辆检测方法。所述方法应用于自动驾驶系统的计算平台,所述方法包括:
98.501、控制自动驾驶系统所在的自动驾驶车辆保持在原地。
99.其中,基于检测对象的不同,可以采用不同的方式使得车辆保持在原地。例如,检
测对象是车身电子系统时,由于不需要驱动车轮,此时,车辆可以停放在某个场地上,针对处于停止状态的车辆,检测车门、车窗等功能。或者,检测对象是底盘系统时,针对转向功能,车辆也可以停放在某个场地上,控制车辆原地转动方向盘;针对油门、刹车,可以将车辆悬空,使得车辆在悬空状态下执行加速、刹车等操作。
100.502、采用集成在所述计算平台上的定时器,产生时钟信号,所述时钟信号用于控制第一can报文的发送频率。
101.其中,时钟信息例如是正弦波信号,can接口设备驱动组件可以基于正弦波信号对应的时钟周期确定发送频率,采用该发送频率进行第一can报文的发送。
102.本实施例中,通过定时器产生时钟信号,可以保证第一can报文按照设定频率进行发送。
103.503、采用集成在所述计算平台上的can报文处理组件,将待发送的指令数据封装为所述第一can报文。
104.504、采用集成在所述计算平台上的can接口设备驱动组件,通过can接口设备和can总线,采用所述时钟信号对应的发送频率,将所述第一can报文发送至所述自动驾驶车辆上的检测对象。
105.其中,检测对象接收到第一can报文后,可以基于第一can报文中的指令数据执行相应操作,例如,指令数据用于指示打开车门,则检测对象可以执行打开车门的操作。
106.505、采用所述can接口设备驱动组件,接收所述检测对象发送的第二can报文。
107.506、采用所述can报文处理组件,对所述第二can报文进行解封装处理,以获得反馈数据。
108.其中,检测对象基于指令数据执行相应操作后,可以产生反馈数据,并将反馈数据封装为第二can报文后反馈给计算平台。
109.例如,检测对象执行打开车门的操作后,车门打开可能成功或不成功,此时可以将表征车门是否打开的数据作为反馈数据发送给计算平台。
110.507、采用集成在所述计算平台上的功能检测组件,基于所述指令数据,和/或,所述反馈数据,确定所述检测对象的功能检测结果。
111.例如,待检测的物理量为车门开闭状态,期望值为打开车门,若反馈数据中的实际值表明车门打开,则功能检测结果为通过该项功能(打开车门)的检测。
112.本实施例中,通过can报文处理组件、can接口设备驱动组件和功能检测组件,可以实现对检测对象的功能检测,及时发现功能故障,进而保障自动驾驶车辆的安全性和可靠性。
113.508、采用集成在所述计算平台上的日志记录组件,记录所述第一can报文的状态信息,和/或,所述第二can报文的状态信息,以生成日志信息。
114.can报文的状态信息例如包括:can报文中包含的数据内容,can报文的收发时间等。数据内容例如包括:id号,指令数据所包含的指令内容,反馈数据所包含的实际值等。
115.本实施例中,通过记录can报文的状态信息,可以在异步工作模式下,基于id号等检测can报文是否发生丢帧等现象,保证收发的can报文的完整性,进而保证功能检测的准确性。
116.509、采用集成在所述计算平台上的ota传输组件,基于ota将所述日志信息传输给
服务器。
117.其中,通过采用ota,可以将车端的日志信息传输给服务器,实现对车辆的远程检测。
118.另外,在批量生产阶段,服务器可以比对各个自动驾驶车辆的功能检测结果,若各个车辆的功能检测结果不一样,可以向调试人员发送提醒信息,调试人员可以基于提醒信息对车辆的功能进行调试,保证各个车辆的功能检测结果的一致性。
119.图6是根据本公开第五实施例的示意图,本实施例提供一种车辆检测装置。所述装置集成在自动驾驶系统的计算平台上,如图6所示,所述装置600包括:交互模块601和确定模块602。
120.交互模块601用于响应于用户产生的检测指令,通过can接口设备和can总线,与所述自动驾驶系统所在的自动驾驶车辆上的检测对象交互can报文;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地;确定模块602用于基于所述can报文,获得所述检测对象的功能检测结果。
121.本实施例中,计算平台通过can接口设备以及can总线对检测对象进行功能检测,可以利用自动驾驶系统的已有软硬件资源,对检测对象进行功能检测,由于不需要在自动驾驶系统之外额外引入专用软硬件,可以提高车辆检测效率,降低成本。另外,自动驾驶车辆在功能检测过程中保持在原地,与自动驾驶车辆行驶过程中的异常检测不同,可以针对研发、生产、调试和维护场景,对自动驾驶车辆的功能进行检测;并且由于是用户产生的检测指令,可以在异常发生之前提前发现异常,而不是行驶过程中发生异常时才进行报警,可以保证行驶安全性。
122.一些实施例中,所述can报文包括第一can报文和第二can报文;
123.所述交互模块601包括:
124.can报文处理组件,用于将待发送的指令数据封装为所述第一can报文;和/或,对第二can报文进行解封装处理,以获得反馈数据;
125.can接口设备驱动组件,用于通过can接口设备和can总线,将所述第一can报文发送至所述检测对象;和/或,通过can总线和can接口设备,接收所述检测对象发送的所述第二can报文。
126.所述确定模块602为功能检测组件,所述功能检测组件用于:采用集成在所述计算平台上的功能检测组件,基于所述指令数据,和/或,所述反馈数据,确定所述检测对象的功能检测结果。
127.本实施例中,通过can报文处理组件、can接口设备驱动组件和功能检测组件,可以实现对检测对象的功能检测,及时发现功能故障,进而保障自动驾驶车辆的安全性和可靠性。
128.一些实施例中,还包括:
129.日志记录组件,用于记录所述第一can报文的状态信息,和/或,所述第二can报文的状态信息,以生成日志信息。
130.本实施例中,通过记录can报文的状态信息,可以在异步工作模式下,基于id号等检测can报文是否发生丢帧等现象,保证收发的can报文的完整性,进而保证功能检测的准确性。
131.一些实施例中,还包括:
132.ota传输组件,用于基于ota将所述日志信息传输给服务器。
133.其中,通过采用ota,可以将车端的日志信息传输给服务器,实现对车辆的远程检测。
134.另外,在批量生产阶段,服务器可以比对各个自动驾驶车辆的功能检测结果,若各个车辆的功能检测结果不一样,可以向调试人员发送提醒信息,调试人员可以基于提醒信息对车辆的功能进行调试,保证各个车辆的功能检测结果的一致性。
135.一些实施例中,还包括:
136.定时器,用于产生时钟信号,所述时钟信号用于控制所述第一can报文的发送频率;所述can接口设备驱动组件进一步用于:采用所述时钟信号对应的发送频率,将所述第一can报文发送至所述检测对象。
137.本实施例中,通过定时器产生时钟信号,可以保证第一can报文按照设定频率进行发送。
138.可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。
139.可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。
140.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
141.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
142.根据本公开的实施例,还提供了一种自动驾驶车辆,自动驾驶车辆包括上述实施例任一项所示的自动驾驶系统或者电子设备,以电子设备为例,如图7所示,自动驾驶车辆700包括电子设备701。关于电子设备的说明可以参见后续实施例。
143.图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备800旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
144.如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
145.电子设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
146.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单
元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如车辆检测方法。例如,在一些实施例中,车辆检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的车辆检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行车辆检测方法。
147.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
148.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程地图数据采集装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
149.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
150.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
151.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算
系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
152.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
153.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
154.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
技术特征:1.一种自动驾驶系统,包括:计算平台;控制器局域网络can接口设备,设置在所述计算平台上,且,通过can总线连接所述自动驾驶系统所在的自动驾驶车辆上的检测对象;其中,所述计算平台上集成有:检测模块,用于响应于用户产生的检测指令,通过所述can接口设备以及所述can总线,对所述检测对象进行功能检测;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地。2.根据权利要求1所述的系统,其中,所述检测模块包括:can报文处理组件,用于将待发送的指令数据封装为第一can报文;以及,对接收的第二can报文进行解封装处理,以获得反馈数据;can接口设备驱动组件,用于通过所述can接口设备和所述can总线,将所述第一can报文发送至所述检测对象;和/或,接收所述检测对象通过所述can总线以及所述can接口设备发送的所述第二can报文;功能检测组件,用于基于所述指令数据,和/或,所述反馈数据,确定所述检测对象的功能检测结果。3.根据权利要求2所述的系统,其中,所述检测模块还包括:日志记录组件,用于记录所述第一can报文的状态信息,和/或,所述第二can报文的状态信息,以生成日志信息。4.根据权利要求3所述的系统,其中,所述计算平台上还集成有:ota传输组件,用于基于空中下载技术ota将所述日志信息传输给服务器。5.根据权利要求2所述的系统,其中,所述检测模块还包括:定时器,用于产生时钟信号,所述时钟信号用于控制所述第一can报文的发送频率。6.一种车辆功能检测方法,应用于自动驾驶系统的计算平台,所述方法包括:响应于用户产生的检测指令,通过控制器局域网络can接口设备和can总线,与所述自动驾驶系统所在的自动驾驶车辆上的检测对象交互can报文;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地;基于所述can报文,获得所述检测对象的功能检测结果。7.根据权利要求6所述的方法,其中,所述can报文包括第一can报文和第二can报文;所述通过can接口设备和can总线,与检测对象交互can报文,包括:采用集成在所述计算平台上的can报文处理组件,将待发送的指令数据封装为所述第一can报文,采用集成在所述计算平台上的can接口设备驱动组件,通过can接口设备和can总线,将所述第一can报文发送至所述检测对象;和/或,采用所述can接口设备驱动组件,通过can总线和can接口设备,接收所述检测对象发送的所述第二can报文,采用所述can报文处理组件,对所述第二can报文进行解封装处理,以获得反馈数据;所述基于所述can报文,获得所述检测对象的功能检测结果,包括:采用集成在所述计算平台上的功能检测组件,基于所述指令数据,和/或,所述反馈数据,确定所述检测对象的功能检测结果。
8.根据权利要求7所述的方法,还包括:采用集成在所述计算平台上的日志记录组件,记录所述第一can报文的状态信息,和/或,所述第二can报文的状态信息,以生成日志信息。9.根据权利要求8所述的方法,还包括:采用集成在所述计算平台上的空中下载技术ota传输组件,基于ota将所述日志信息传输给服务器。10.根据权利要求7所述的方法,还包括:采用集成在所述计算平台上的定时器产生时钟信号,所述时钟信号用于控制所述第一can报文的发送频率;所述将所述第一can报文发送至所述检测对象,包括:采用所述时钟信号对应的发送频率,将所述第一can报文发送至所述检测对象。11.一种车辆检测装置,集成在自动驾驶系统的计算平台上,所述装置包括:交互模块,用于响应于用户产生的检测指令,通过控制器局域网络can接口设备和can总线,与所述自动驾驶系统所在的自动驾驶车辆上的检测对象交互can报文;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地;确定模块,用于基于所述can报文,获得所述检测对象的功能检测结果。12.根据权利要求11所述的装置,其中,所述can报文包括第一can报文和第二can报文;所述交互模块包括:can报文处理组件,用于将待发送的指令数据封装为所述第一can报文;和/或,对第二can报文进行解封装处理,以获得反馈数据;can接口设备驱动组件,用于通过can接口设备和can总线,将所述第一can报文发送至所述检测对象;和/或,通过can总线和can接口设备,接收所述检测对象发送的所述第二can报文;所述确定模块为功能检测组件,所述功能检测组件用于:采用集成在所述计算平台上的功能检测组件,基于所述指令数据,和/或,所述反馈数据,确定所述检测对象的功能检测结果。13.根据权利要求12所述的装置,还包括:日志记录组件,用于记录所述第一can报文的状态信息,和/或,所述第二can报文的状态信息,以生成日志信息。14.根据权利要求13所述的装置,还包括:ota传输组件,用于基于空中下载技术ota将所述日志信息传输给服务器。15.根据权利要求12所述的装置,还包括:定时器,用于产生时钟信号,所述时钟信号用于控制所述第一can报文的发送频率;所述can接口设备驱动组件进一步用于:采用所述时钟信号对应的发送频率,将所述第一can报文发送至所述检测对象。16.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求6-10中任一项所述的方法。17.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求6-10中任一项所述的方法。18.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求6-10中任一项所述的方法。19.一种自动驾驶车辆,包括:如权利要求1-5任一项所述的自动驾驶系统;或者,如权利要求16所述的电子设备。
技术总结本公开提供了一种自动驾驶系统、车辆及检测方法、装置、设备和存储介质,涉及人工智能技术领域,具体涉及自动驾驶、智能交通等技术领域。自动驾驶系统方法包括:计算平台;CAN接口设备,设置在所述计算平台上,且,通过CAN总线连接所述自动驾驶系统所在的自动驾驶车辆上的检测对象;其中,所述计算平台上集成有:检测模块,用于响应于用户产生的检测指令,通过所述CAN接口设备以及所述CAN总线,对所述检测对象进行功能检测;其中,所述自动驾驶车辆在所述功能检测过程中保持在原地。本公开可以提高车辆检测效率。车辆检测效率。车辆检测效率。
技术研发人员:刘亚成 张家立 俞志华 李梦扬 袁梦
受保护的技术使用者:阿波罗智能技术(北京)有限公司
技术研发日:2022.06.09
技术公布日:2022/11/1