可左右滑动选省市

车载处理装置实用新型专利

更新时间:2024-09-01
车载处理装置实用新型专利 专利申请类型:实用新型专利;
源自:日本高价值专利检索信息库;

专利名称:车载处理装置

专利类型:实用新型专利

专利申请号:CN202210271189.2

专利申请(专利权)人:日立安斯泰莫株式会社
权利人地址:日本茨城县

专利发明(设计)人:堀田勇树,樱井康平,工藤真,吉村健太郎

专利摘要:一种车载处理装置,搭载于车辆,其特征在于,具备:信号输入部,基于从多个装置分别输入的输入信号,生成包括与多个对象要素有关的信息的输入数据;处理部,执行基于所述输入数据运算输出数据的运算处理;信号输出部,生成基于所述输出数据的输出信号并输出;以及存储部,存储用于使所述处理部执行所述运算处理的应用软件,所述应用软件具有:数据适配层,用于基于所述输入数据生成按每个所述对象要素对所述信息进行抽象化的目标数据;以及数据运算层,用于基于所述目标数据运算所述输出数据。

主权利要求:
1.一种车载处理装置,搭载于车辆,其特征在于,具备:信号输入部,基于从多个装置分别输入的输入信号,生成包括与多个对象要素有关的信息的输入数据;
处理部,执行基于所述输入数据运算输出数据的运算处理;
信号输出部,生成基于所述输出数据的输出信号并输出;以及存储部,存储用于使所述处理部执行所述运算处理的应用软件,所述应用软件具有:
数据适配层,用于基于所述输入数据生成按每个所述对象要素对所述信息进行抽象化的目标数据;以及数据运算层,用于基于所述目标数据运算所述输出数据。
2.根据权利要求1所述的车载处理装置,其特征在于,所述目标数据具有:
对象要素共通数据区域,保存从所述多个装置分别输入的所述输入信号中共通的数据;以及对象要素固有数据区域,保存从所述多个装置分别输入的所述输入信号中固有的数据。
3.根据权利要求2所述的车载处理装置,其特征在于,所述对象要素共通数据区域具有:
保存对于全部所述对象要素共通的数据的数据区域;以及保存对于所述多个对象要素之中的任2个以上的对象要素共通的数据的数据区域。
4.根据权利要求3所述的车载处理装置,其特征在于,在所述保存对于全部所述对象要素共通的数据的数据区域中,包含如下任一种以上:用于识别所述对象要素的标识符;表示该目标数据的生成源的信息;表示所述对象要素的概念性的类别的信息;以及与该目标数据有关的时间信息。
5.根据权利要求1至4中任一项所述的车载处理装置,其特征在于,所述数据适配层具有多个数据适配部,所述多个数据适配部各自对应于所述多个装置中的各个装置,所述多个数据适配部各自基于所述输入数据之中的与对应的装置有关的数据生成所述目标数据。
6.根据权利要求1至4中任一项所述的车载处理装置,其特征在于,所述数据运算层由多个软件部件构成。
7.根据权利要求6所述的车载处理装置,其特征在于,所述多个软件部件包括:环境认知软件部件,使所述处理部执行认知处理,所述认知处理用于基于所述目标数据,推定所述车辆的周边环境中的所述对象要素的状态,所述环境认知软件部件将所述对象要素的状态的推定结果保存至所述目标数据中。
8.根据权利要求7所述的车载处理装置,其特征在于,所述多个软件部件包含多个所述环境认知软件部件,多个所述环境认知软件部件各自将所述对象要素的状态的推定结果保存在所述目标数据中分别的数据区域。
9.根据权利要求1至4中任一项所述的车载处理装置,其特征在于,所述数据运算层进行以下处理:针对从多个装置输入的与同一对象要素对应的目标数据,确定相同且进行整合,或者基于时间序列信息对缺失数据进行插值。 说明书 : 车载处理装置[0001] 本申请是2017年9月8日提交的,中国专利申请号为201780060928.0(国际申请号PCT/JP2017/032518),发明名称为“车载处理装置”的专利申请的分案申请。技术领域[0002] 本发明涉及车载处理装置。背景技术[0003] 以往提出了在搭载于车辆的ECU(ElectronicControlUnit,电子控制单元)中,对ECU的硬件结构或连接至ECU的传感器或致动器进行抽象化(建模),并通过软件构建在它们之间进行信息交接的接口的方式。根据此方式,即使更改ECU内部和外部的硬件结构,也能够提高上层的应用软件的再利用性(例如,参照专利文献1)。[0004] 在先技术文献[0005] 专利文献[0006] 专利文献1:日本特开2000‑97102号公报发明内容[0007] 发明要解决的问题[0008] 在以往的ECU中通常采用如下结构:基于检测与车辆或搭载于车辆的部件有关的预定状态量的传感器(内部传感器)的输出值来运算控制信息,针对作为对象的致动器或其他ECU输出控制信息。由于在这样的以往的ECU中,明确地确定了传感器的检测对象或致动器的控制对象,因此容易通过软件来构建与这些对应的接口。例如,关于车速传感器,对作为车速传感器的检测对象的车速进行建模并构建接口即可,关于喷射器,对作为喷射器的控制对象的燃料喷出量等进行建模并构建接口即可。[0009] 但是,随着近年来ADAS(AdvancedDriverAssistanceSystems,高级驾驶员辅助系统)或自动驾驶的发展,除了搭载以往的内部传感器之外,还搭载用于检测车辆周边的状态的外部传感器的车辆与日递增。这样的外部传感器的检测对象包括其他车辆或行人等障碍物、白线或路肩等道路形状、标志或信号等交通规则等跨多方面。此外,根据其检测对象不同,外部传感器的种类是各种各样的,例如相机、毫米波雷达、声纳、LIDAR(LIghtDetectionAndRanging,光检测和测距)等,即使是同类型的传感器,所输出的信息的种类或量也因制造商或版本大为不同。因此,在基于外部传感器的输出数据运算控制信息的ECU的软件中,通过像以往的ECU那样对传感器进行建模并构建接口实际上非常困难。其结果是,存在很难再利用应用软件这一问题。[0010] 此外,像与ADAS或自动驾驶有关的ECU那样根据多个外部传感器的输出结果通过复杂的处理来运算车辆的控制信息的ECU的应用软件,由传感器融合或移动体的行为预测等多种功能的集合来构成。这样的应用软件的功能结构多是根据ADAS或自动驾驶中所实现的控制的内容或车型而不同,因此更改软件内部的功能结构时的应用软件的再利用性也变得越发重要。但是,在以往的ECU中,并未考虑这种情况下的应用软件的再利用性。[0011] 根据上述,在本发明中,主要目的为提高车载处理装置中的应用软件的再利用性。[0012] 用于解决问题的手段[0013] 本发明所涉及的车载处理装置搭载于车辆,其特征在于,具备:信号输入部,基于从多个装置分别输入的输入信号,生成包括与多个对象要素有关的信息的输入数据;处理部,执行基于所述输入数据运算输出数据的运算处理;信号输出部,生成基于所述输出数据的输出信号并输出;以及存储部,存储用于使所述处理部执行所述运算处理的应用软件,所述应用软件具有:数据适配层,用于基于所述输入数据生成按每个所述对象要素对所述信息进行抽象化的目标数据;以及数据运算层,用于基于所述目标数据运算所述输出数据。[0014] 本发明所涉及的车载处理装置搭载于车辆,具备:信号输入部,生成基于来自于外部的输入信号的输入数据;处理部,执行基于所述输入数据运算输出数据的运算处理;信号输出部,生成基于所述输出数据的输出信号并输出至外部;以及存储部,存储用于使所述处理部执行所述运算处理的应用软件,所述应用软件具有:数据管理层,用于在所述存储部上管理作为与规定的对象要素对应的数据的集合的目标数据;数据适配层,用于基于所述输入数据生成所述目标数据,将所生成的所述目标数据输出至所述数据管理层;以及数据运算层,用于从所述数据管理层获取所述目标数据,基于所获取的所述目标数据运算所述输出数据。[0015] 发明效果[0016] 根据本发明,能够提高车载处理装置中的应用软件的再利用性。附图说明[0017] 图1为表示包含本发明的一实施方式所涉及的车载处理装置的车辆系统的结构的一示例的功能框图。[0018] 图2为表示本发明的一实施方式所涉及的车载处理装置中的处理软件的结构的一示例的图。[0019] 图3为表示本发明的一实施方式所涉及的车载处理装置中的应用软件的结构的一示例的图。[0020] 图4为表示目标数据组中所保存的目标数据的一示例的图。[0021] 图5为表示设定信息数据组中所保存的设定信息的一示例的图。[0022] 图6为表示目标数据操作接口的一示例的图。[0023] 图7为表示目标数据操作接口的一示例的图。[0024] 图8为表示本发明的一实施方式所涉及的车载处理装置中的应用软件的处理流程的一示例的图。[0025] 图9为表示目标数据的建模的一示例的图。[0026] 图10为表示与认知处理的部分更新对应的目标数据的结构的一示例的图。[0027] 图11为表示本发明的一实施方式所涉及的车载处理装置中的更改后的应用软件的结构的一示例的图。[0028] 图12为表示更改后的设定信息数据组中所保存的设定信息的一示例的图。[0029] 图13为表示施加系统更改时的目标数据的结构的一示例的图。具体实施方式[0030] 以下,参照附图描述本发明的一实施方式。另外,在本实施方式中,作为适用本发明的车载处理装置的一示例,描述进行在ADAS或自动驾驶系统中用于实现车辆的驾驶辅助或行驶控制的处理的装置。[0031] (车辆系统的结构)[0032] 图1为表示包含本发明的一实施方式所涉及的车载处理装置的车辆系统1的结构的一示例的功能框图。本实施方式所涉及的车辆系统1是搭载于车辆2、且用于识别出车辆2的周边的行驶道路或周边车辆等障碍物的情况并进行适当的驾驶辅助或行驶控制的系统。如图1所示,车辆系统1构成为包括车载处理装置10、外部传感器组20、内部传感器组30、地图信息管理装置40、致动器组50、车载用HMI装置60等。[0033] 车载处理装置10例如是搭载于车辆2的ECU等,具有处理部100、信号输入输出部110和存储部120。另外,在车辆系统1中,根据要实现的处理的内容或作为控制对象的装置的不同,实际搭载有各种各样的类型的车载处理装置10,但是在图1中,将其中之一作为代表例而示出。[0034] 处理部100例如构成为包括CPU(CentralProcessingUnit,中央处理单元)、GPU(GraphicsProcessingUnit,图形处理单元)、FPGA(Field‑ProgrammableGateArray,现场可编程门阵列)等。处理部100通过执行存储部120中所保存的处理软件130来进行用于实现车载处理装置10的功能的处理。[0035] 信号输入输出部110由信号输入部111和信号输出部112构成。信号输入部111对来自于车载处理装置10的外部的输入信号进行数据化,生成基于输入信号的输入数据并输出至处理部100。处理部100基于该输入数据,进行输出数据的运算。信号输出部112根据从处理部100传递的输出数据生成输出信号,将所生成的输出信号输出至车载处理装置10的外部。信号输入输出部110例如构成为包括对模拟信号进行A/D转换的电路、输入脉冲信号的电路、依据Ethernet(登记商标)或CAN(ControllerAreaNetwork,控制器局域网络)等通信标准的网卡等,基于各种协议与搭载于车辆2的其他装置进行数据的收发。[0036] 存储部120例如构成为包括RAM(RandomAccessMemory,随机存取存储器)、HDD(HardDiskDrive,硬盘驱动器)、闪存、ROM(ReadOnlyMemory,只读存储器)等存储装置。在存储部120中,保存有用于实现车载处理装置10的功能的程序即处理软件130或其处理所需的数据组等。此外,也被利用为处理部100执行处理软件130时的主存储器。[0037] 外部传感器组20是检测车辆2周边的状态的外部传感器的集合,例如,相当于相机装置、毫米波雷达、LIDAR、声纳等。外部传感器组20构成为检测与距车辆2规定范围的障碍物(其他车辆、自行车、行人、坠落物等)、道路形状(白线、路肩等)、交通规则(道路标志、信号等)等环境要素有关的信息,并经由CAN等车载网络将该检测信息输出至车载处理装置10。[0038] 内部传感器组30是检测与车辆2的状态有关的各种状态量(例如行驶速度、转向角、加速器的操作量、制动器的操作量等)的内部传感器的集合。内部传感器组30经由CAN等车载网络将所检测出的状态量定期输出至车载处理装置10。另外,车辆系统1构成为:包括连接至车载网络的车载处理装置10在内的各装置能够经由车载网络从内部传感器组30获取所需的状态量。[0039] 地图信息管理装置40是管理并提供车辆2周边的数字地图信息的装置,例如,相当于导航装置等。地图信息管理装置40例如构成为具备表示整个规定地域或车辆2周边的地域的数字道路地图数据,基于通过全球导航卫星系统(GNSS)接收装置等确定的车辆2的位置信息,在地图数据上确定车辆2的地图位置(行驶中的道路、车道等)。此外,构成为将所确定的车辆2的地图位置或其周边的地图数据提供至车载处理装置10。[0040] 致动器组50是控制用于决定车辆2的动作的转向、制动、加速等控制要素的装置组。致动器组50构成为基于驾驶员对方向盘、制动踏板、加速器踏板等的操作信息或从车载处理装置10输出的控制信息来控制车辆2的动作。[0041] 车载用HMI装置60例如为搭载于车辆2的扬声器或显示器装置等,构成为通过语音或画面将从车载处理装置10输出的与周边环境或驾驶辅助有关的信息通知给驾驶员。[0042] 在图1的车辆系统1中,车载处理装置10根据其处理的内容,在与外部传感器组20、内部传感器组30、地图信息管理装置40、致动器组50、车载用HMI装置60中的任意硬件之间进行信息交接。也就是说,在车辆系统1中,实际搭载的多个车载处理装置10分别进行信息的交接的外部硬件的种类按车载处理装置10的每个种类是不同的。[0043] (处理软件的结构)[0044] 图2为本发明的一实施方式所涉及的车载处理装置10的处理软件130的结构的一示例的图。如图2所示,处理软件130由应用软件131和基本软件132构成。[0045] 应用软件131是使处理部100执行用于实现车载处理装置10的功能的处理或运算的软件。应用软件131的结构根据该车载处理装置10所实现的处理的内容或该车载处理装置10进行信息的交接的外部硬件的结构,按车载处理装置10的每个种类是不同的。另外,应用软件131的结构的具体示例稍后将参考图3描述。[0046] 基本软件132是使处理部100执行用于实现车载处理装置10的动作所需的基本功能的处理的软件。基本软件132所担负的基本功能并不取决于应用软件131的结构或进行信息的交接的外部硬件的结构,而是对于搭载在车辆系统1中的所有车载处理设备10是共通的。基本软件132例如由基本输入输出系统(BIOS)134、操作系统(OS)135、设备驱动器136和协议栈137构成。在车载处理装置10中,处理部100能够使用构成基本软件132的这些软件,进行应用软件131的执行控制,或在与信号输入输出部110之间进行数据的输入输出等。[0047] BIOS134是用于使处理部100执行车载处理装置10启动时所需的处理的软件。处理部100使用BIOS134,进行例如启动时的OS135的读入、或针对存储部120等的基本输入输出控制等。[0048] OS135是担任处理部100中的应用软件131的执行控制所需的处理的软件。处理部100使用OS135,例如按应用软件131的每个执行单位(线程、进程、任务等)进行执行调度的控制等。[0049] 设备驱动器组136是用于处理部100在与信号输入输出部110之间输入输出数据的软件。设备驱动器组136针对应用软件131,提供用于使车载处理装置10进行信息的交接的外部硬件抽象化来处理的接口。[0050] 协议栈137是用于在应用软件131与设备驱动器组136之间实现所需的通信协议处理的软件。相对于信号输入输出部110所处理的下层通信协议,协议栈137担负在其上层进行动作的通信协议的处理。据此,与设备驱动器组136相同,针对应用软件131,提供用于使车载处理装置10进行信息的交接的外部硬件抽象化来处理的接口。作为协议栈137所处理的通信协议,例如相当于IP(InternetProtocol,互联网协议)、TCP(TransmissionControlProtocol,传输控制协议)等。[0051] 应用软件131通过使用设备驱动器组136和协议栈137所提供的通用接口,无需意识到外部硬件的具体的硬件结构或输入输出信号,就能够在与信号输入输出部110之间进行数据的输入输出。另外,作为这样的通用接口,例如相当于套接字接口。[0052] 在处理部100中,从信号输入输出部110读出的输入数据142经由所对应的设备驱动器组136和协议栈137,传递至应用软件131。另一方面,从应用软件131传递的输出数据143同样经由协议栈137和设备驱动器组136,写出至信号输入输出部110。[0053] 通过如图2那样的处理软件130的结构,即使车载处理装置10的硬件结构有所更改,但是仅更改基本软件132的一部分(BIOS134和设备驱动器组136)即可,能够沿用应用软件131。此外,即使更改车载处理装置10中的应用软件131的结构或连接至车载处理装置10的外部硬件的结构,也无需更改基本软件132。[0054] (应用软件的结构)[0055] 图3为表示本发明的一实施方式所涉及的车载处理装置10的应用软件131的结构的一示例的图。如图3所示,应用软件131由数据适配层200、数据管理层230和数据运算层240这三层构成。[0056] 数据适配层200是用于在通过基本软件132处理的数据格式与通过数据管理层230处理的数据格式之间进行数据格式的转换的分层。如前所述,在基本软件132的设备驱动器组136或协议栈137所提供的接口中所处理的数据,一般是在与车载处理装置10为通信对象的外部硬件之间交换的数据本身。即,应用软件131的输入数据142或输出数据143的数据格式,依赖于作为外部硬件连接至车载处理装置10的图1中的外部传感器组20、内部传感器组30、地图信息管理装置40、致动器组50以及车载用HMI装置60等的规格。因此,数据适配层200由分别与这些外部硬件相对应的多个软件部件构成。在图3的示例中,数据适配层200包括分别与外部传感器组20或内部传感器组30对应的传感器A数据适配部201、传感器B数据适配部202、与地图信息管理装置40所对应的地图信息管理装置数据适配部211、与车载用HMI装置60对应的车载用HMI装置数据适配部212、分别与致动器组50对应的致动器A数据适配部221以及致动器B数据适配部222这样的各软件部件构成。这些各软件部件在所对应的外部硬件与数据管理层230之间,进行与各自的数据格式相应的数据格式的转换。[0057] 另外,在数据管理层230中,如后述那样使用目标数据这一抽象化的数据格式进行数据管理。因此,数据适配层200的各软件部件基于输入数据142生成目标数据,并输出至数据管理层230,或者基于来自于数据管理层230的目标数据生成输出数据143。[0058] 此外,根据与车载处理装置10连接的外部硬件,在与车载处理装置10之间进行数据交换时,作为比协议栈137更上层的通信协议,有时需要其硬件特有的规定数据通信的过程(例如,数据请求的发送等)。优选地,这样的基本软件132无法对应的硬件特有的数据通信协议的处理也在数据适配层200中在所对应的软件部件中进行吸收。例如,地图信息管理装置数据适配部211从地图信息管理装置40获取地图信息作为输入数据时,针对地图信息管理装置40发送请求提供地图信息的消息,作为如上所述的硬件特有的通信协议处理。[0059] 如上所述,应用软件131使与外部硬件对应的各个软件部件彼此独立地构成数据适配层200。由此,在车载处理装置10中,即使更改或追加外部硬件,也仅更改或追加与之对应的软件部件即可,不会对其他软件部件带来影响。此外,在数据适配层200中,由各个软件部件,通过将依赖于外部硬件的数据格式转换成不依赖的数据格式来生成目标数据,并传递至作为上层的数据管理层230或数据运算层240。据此,连接至车载处理装置10的外部硬件的结构即使有更改或追加,也很难对数据管理层230或数据运算层240造成影响。[0060] 数据管理层230是用于提供进行存储部120上(特别是RAM上)的数据的管理或操作的功能以及针对其他分层的通用接口的分层。在数据管理层230中,以作为与规定对象要素对应的数据集合的目标数据为单位,在存储部120上进行数据的管理以及操作。[0061] 另外,所谓目标数据所对应的“对象要素”,是作为目标数据而汇总的各个信息要素所共通表现的概念性的对象,例如,相当于构成外部传感器组20或内部传感器组30的各种传感器的检测对象,或构成致动器组50的各种致动器的控制对象等。优选的是,特别是关于构成外部传感器组20的各外部传感器,通过该外部传感器来识别的各个环境要素(障碍物、道路形状、交通规则等)相当于对象要素。即,优选的是,采用不是使外部传感器的硬件本身抽象化,而是以作为外部传感器的检测对象的环境要素为单位来对数据进行抽象化并作为目标数据的方式。另外,关于构成内部传感器组30的各内部传感器,既可以是以各内部传感器检测状态量的车辆2为对象构成目标数据,也可按各个检测对象(例如,若为车速传感器则为车速信息)构成目标数据。[0062] 数据管理层230由目标数据管理部231、目标数据操作接口232、目标数据组233以及设定信息数据组234构成。[0063] 目标数据管理部231基于经由目标数据操作接口232从其他分层接受的数据操作请求,针对在存储部120上管理的目标数据组233进行数据操作,并返回其结果。所谓数据操作,例如包括目标数据的登记、更新、检索、整合等。[0064] 目标数据操作接口232相当于供作为其他分层的数据适配层200以及数据运算层240利用目标数据管理部231所提供的数据操作功能的API(ApplicationProgrammingInterface,应用编程接口)。构成目标数据组233的各目标数据因其对象要素而数据结构不同。因此,目标数据操作接口232提供用于能够通过共通的操作方法来操作任意的目标数据的接口(API)。[0065] 目标数据组233是目标数据管理部231在存储部120上管理的目标数据的集合。[0066] 设定信息数据组234是用于目标数据管理部231对目标数据组233进行管理或数据操作所需的设定信息的集合。在由于外部传感器的结构更改等而目标数据的结构更改时,与此相应地,在设定信息数据组234中,与该目标数据对应的设定信息也被更改。据此,数据管理层230构成为不更改目标数据管理部231或目标数据操作接口232,而能够对应于目标数据的更改。[0067] 数据运算层240是用于从数据管理层230获取作为运算对象的目标数据并基于该目标数据运算输出数据的分层。通常,运算输出数据的处理根据其运算内容由多个处理块构成。因此,数据运算层240由与各个处理块对应的多个软件部件构成。在图3的示例中,数据运算层240由传感器融合运算部241、地图融合运算部242、行为预测运算部243和自动驾驶控制运算部244这样的各软件部件构成。通过这些各软件部件所进行的运算处理,基于外部传感器组20或内部传感器组30所检测的各种信息,运算出搭载车载处理装置10的车辆2中的自动驾驶的控制信息。[0068] 传感器融合运算部241进行以下处理:针对通过外部传感器组20所包含的多个外部传感器检测的与同一对象要素对应的目标数据,确定相同/进行整合,或者基于时间序列信息对缺失数据进行插值。地图融合运算部242进行如下处理:对外部传感器的检测信息与从地图信息管理装置40所获取的地图数据的信息进行对照,将地图数据的信息(例如,其他车辆所行驶的车道ID等)作为属性附加至外部传感器的检测信息中。行为预测运算部243进行对通过外部传感器检测的移动体的将来行为或移动轨道进行预测的处理。自动驾驶控制运算部244基于传感器融合运算部241、地图融合运算部242以及行为预测运算部243的运算结果,决定车辆2的驾驶行为、行驶轨道、速度曲线等。此外,基于所决定的这些信息,运算针对致动器组50的控制信息、或针对车载用HMI装置60的显示信息,将其运算结果输出至数据适配层200。另外,在图3的示例中,为了吸收致动器组50或车载用HMI装置60固有的通信规格,自动驾驶控制运算部244经由数据适配层200的车载用HMI装置数据适配部212、致动器A数据适配部221、致动器B数据适配部222生成输出数据143。但是,也可以不按照这种方式,而是采取自动驾驶控制运算部244生成符合致动器组50或车载用HMI装置60的通信规格的数据,不经由数据适配层200而直接将输出数据143输出至基本软件132这样的方式。[0069] 在此,描述本实施方式所涉及的应用软件131的结构与现有技术所涉及的应用软件的结构的差异。在现有技术中是如下的所谓两层结构:对传感器或致动器的接口(数据)进行抽象化的分层,即相当于图3的数据适配层200的分层;以及使用抽象化的数据来运算的分层,即相当于图3的数据运算层240的分层。与此相对,在图3所例示的应用软件131的结构中,除了以往的数据抽象化的手段之外,还导入对数据的管理以及操作进行抽象化的数据管理层230,在这一点上具有特征。[0070] ADAS或自动驾驶的运算处理主要由以下处理构成:认知处理,基于外部传感器的检测信息等信息来高度理解车辆2的周边环境;以及判断处理,基于认知处理的结果判断车辆2的驾驶行为或行驶轨道。这些处理基本是以其他车辆或白线等环境要素为单位进行的。因此,在认知处理和判断处理中,多是共通地包含有数据管理、对象数据检索、针对其他软件部件提供数据等以环境要素为单位的数据管理/操作。本发明着眼于这一点,能够在数据管理层230中对以环境要素为单位的数据管理和操作进行抽象化并共通利用,来提高以往的运算处理部分的软件的开发效率。[0071] 此外,如前述那样,数据管理层230构成为:即使由目标数据管理部231管理的目标数据的数据结构被更改,只要更改设定信息数据组234的设定,便能够不更改针对其他分层的接口而加以利用。因此,在仅仅通过以往的数据抽象化的方法导致软件的再利用性受限的情况下,例如在需要更改数据结构的外部传感器的结构更改时等,也能够维持软件的高再利用性。[0072] 此外,通过导入数据管理层230,在应用软件131中,能够功能性地分离数据管理层230所担负的数据管理功能和数据运算层240所担负的运算处理。因此,具有提高运算处理的独立性,容易更改或追加运算处理的效果。详细描述,在以往的方式中,为了实现在构成每个运算处理的处理块的软件部件之间的数据的交接,将在软件部件间进行所需的数据转换的接口,构建于相当于图3的数据运算层240的分层内。但是在该方式中,某一软件部件的修改很可能也影响其他的软件部件。与此相对,在本实施方式所涉及的应用软件131的结构中,在数据运算层240进行运算处理的各软件部件在原则上经由数据管理层230的目标数据操作接口232彼此进行数据的交接。目标数据操作接口232通过将在数据运算层240的软件部件间交接的数据作为抽象化的目标数据进行处理,来针对各软件部件提供共通的API。因此,数据运算层240的各个软件部件无需意识到操作对象的数据的提供源和使用者。结果,提高了各软件部件的独立性,很难受到更改或追加其他软件部件的影响。因此,即使在更改应用软件131的功能结构的情况下,也能够维持软件的高再利用性。[0073] (目标数据)[0074] 图4为表示目标数据组233中所保存的目标数据的一示例的图。如前所述,目标数据组233是目标数据管理部231在存储部120上管理的目标数据的集合。如图4所示,目标数据组233的各目标数据由以下构成:共通数据区域400,保存作为在所有目标数据中共通的信息的ID401、数据源402、目标类别403以及时间戳404的各信息;以及固有数据区域405,根据对象要素的种类,按每一目标数据保存不同信息。[0075] 在ID401中,保存有用于识别该目标数据所表示的对象要素的标识符。针对表示同一对象要素(例如,同一车辆)的多个目标数据,在ID401中设定相同的值。[0076] 在数据源402中,存储有表示该目标数据的生成源的信息。例如,ID401的值为ID=100的目标数据410,在数据源402中设定为“传感器A”。这表示目标数据410的生成源是外部传感器组20所包含的传感器A(实际上是传感器A数据适配部201)。此外,ID401的值为ID=1000的目标数据411,在数据源402中设定为“传感器融合”。这表示目标数据411的生成源是传感器融合运算部241。[0077] 在目标类别403中,保存有表示该目标数据所示出的对象要素的概念性的类别的信息。在目标类别403中所保存的对象要素的类别中,能够列举出例如其他车辆、行人、白线等。[0078] 在时间戳404中保存有该目标数据所相关的时间信息。例如在数据源402所表示的该目标数据的生成源是外部传感器组20或内部传感器组30中所包含的传感器时,时间戳404中所设定的时间信息相当于检测该目标数据的时刻。据此,在推测任意时刻的该目标数据的状态时,能够根据时间来校正该目标数据。另外,在时间戳404中,可以根据车载处理装置10中的目标数据的时间管理策略,例如保存数据管理层230中的该目标数据的更新时刻等其他时间信息。[0079] 在固有数据区域405中,与数据源402和目标类别403的组合相应地,针对每一目标数据保存有不同的数据。例如,ID401的值为ID=100的目标数据410和ID401的值为ID=101的目标数据412因为数据源402所表示的生成源同为“传感器A”,所以表示同一传感器A的检测信息。但是,目标类别403所表示的对象要素的类别,在目标数据410中为“其他车辆”,在目标数据412中为“行人”。因此,这些目标数据所表示的传感器A的检测信息的内容,根据对象要素的差异而彼此不同,存储至固有数据区域405的数据也不同。此外,例如,ID401的值为ID=100的目标数据410和ID401的值为ID=200的目标数据413因为目标类别403所表示的对象要素的类别同为“其他车辆”,所以表示与同一其他车辆有关的检测信息。但是,数据源402所表示的生成源在目标数据410中为“传感器A”,在目标数据413中为“传感器B”。因此,这些目标数据所表示的与其他车辆有关的检测数据的内容根据传感器A与传感器B的规格的差异而彼此不同,保存至固有数据区域405的数据也不同。[0080] 目标数据管理部231使用共通数据区域400的ID401、数据源402、目标类别403以及时间戳404中所保存的各信息,构建目标数据组233中所保存的各目标数据的索引表。例如,构成为通过在目标数据管理部231中构建基于ID401的值的哈希表,能够高速检索相应的目标数据。此外,例如,构成为通过按数据源402中所保存的各目标数据的生成源或目标类别403中所保存的各目标数据的对象要素的各类别,在目标数据管理部231中构建针对该目标数据的参照列表,能够高速获取生成源或对象要素的类别相同的多个目标数据。[0081] 另外,在图4的示例中,虽记载有保存于各目标数据的固有数据区域405的数据的一示例,但是实际上数据管理层230构成为:不用意识到固有数据区域405中所保存的数据的内容,而进行各目标数据的数据操作。因此,即使外部传感器组20或内部传感器组30的结构变化而对应的目标数据的结构被更改,也无需修改与数据管理层230的数据操作有关的软件。[0082] 此外,数据管理层230构成为能够按时间序列对同一对象要素所相关的多个目标数据(即,ID401的值相同的多个目标数据)进行规定数量的管理。在图4的示例中,分别存储有ID401的值均为ID=300的过去3次量的3条目标数据414、以及ID401的值均为ID301的过去3次量的3条目标数据415。通过使用环形缓存器等机构,实现按照这样的时间序列管理多个对象数据。按照这样的时间序列的多个目标数据,对于插值与该对象要素有关的缺失的数据或预测将来的状态是有效的,例如,能够在传感器融合运算部241或行为预测运算部243等中得以利用。[0083] 另外,在图4中,作为目标数据组233中所保存的目标数据的示例,虽示出了表示各种传感器的检测信息的目标数据,但也可以将表示除此之外的信息的目标数据保存至目标数据组233。例如,可以对由地图信息管理装置40提供的地图信息按每个预定的数据单位(例如,路段单位)进行分解,作为目标数据保存至目标数据组233。此外,可以将构成数据运算层240的软件部件中的除了与环境要素有关的软件部件之外的软件部件所输出的输出结果,作为目标数据保存至目标数据组233。如前所述,由于目标数据的结构被制作为通用的,因此,能够将任意信息作为目标数据保存至目标数据组233。[0084] 此外,在图4中,虽示出在共通数据区域400中设定有ID401、目标数据402、目标类别403以及时间戳404的各信息的示例,但是,也可不将这些信息全部设定于共通数据区域400。能够按照适当地管理各个目标数据或者适当地检索作为目的的目标数据的方式,在共通数据区域400中设定任意的信息。[0085] (设定信息)[0086] 图5为表示设定信息数据组234中所保存的设定信息的一示例的图。如前述那样,设定信息数据组234是规定在由于外部传感器的结构更改等而目标数据的结构改变时需要更改的参数组的设定值的设定信息的集合。目标数据管理部231在车载处理装置10启动时,从设定信息数据组234读入设定信息,基于与各目标数据对应的设定信息,对目标数据组233中的目标数据的存储器管理结构或数据操作进行适应化。据此,能够不修改目标数据操作接口232,而对应于目标数据的更改。如图5所示,设定信息数据组234的各设定信息由数据源501、目标类别502、数据长度503、历史数量504以及检索键信息505构成。[0087] 数据源501以及目标类别502分别与图4的数据源402以及目标类别403相同。通过数据源501以及目标类别502中分别保存的信息的组合,规定各设定信息作为对象的目标数据的类别(数据类别)。[0088] 在数据长度503中保存有与该数据类别对应的目标数据的数据长度。[0089] 在历史数量504中保存有示出该数据类别中数据管理层230管理同一对象要素的多少条时间序列数据的信息。例如,历史数量504中所保存的值为1时,意味着没有时间序列数据,仅保存表示最新值的目标数据。[0090] 在检索键信息505中,保存有使用图4的固有数据区域405中所保存的目标数据的信息要素进行检索等数据操作时的设定信息。在图5的示例中,在检索键信息505中,指定有该信息要素的标识符(Key)、该信息要素的数据类型(Type)、从该目标数据的开始地址到该信息要素的地址为止的偏移值(Offset)。例如,图5中的第一条数据记录中的检索键信息505,表示在生成源为传感器A且对象要素的类别为其他车辆的目标数据中,“相对位置”和“相对速度”这样的信息要素以“2DVector(二维矢量)”这一数据类型被分别保存于距离开头12字节和20字节的位置。这样一来,针对固有数据区域405的信息要素,通过在设定信息中附加检索键信息505,也能够在目标数据操作接口232的数据操作中进行处理。即,在目标数据操作接口232对目标数据的操作中,包含有基于设定信息数据组234中所保存的设定信息来检索并获取具有符合规定检索条件的固有数据区域405的目标数据的操作。[0091] 另外,在本实施方式中,尽管采取了通过读入设定信息数据组234来适应于不同目标数据的方式,但是即使不存在设定信息数据组234,也不会影响数据管理层230的实现性。例如,可以预先在数据长度503或历史数量504中规定足够大的固定值,由于检索键信息505是附加功能所以即使不存在也没有问题。此外,可以不采用目标数据管理部231在执行应用软件131时读入设定信息数据组234的方式,而采用其他形式,例如在编译时静态地对设定信息数据组234进行设定的形式。[0092] (目标数据操作接口)[0093] 图6以及图7为表示目标数据操作接口232的一示例的图。图6所示的伪代码组C601以及图7所示的伪代码组C701表示在通过C语言来分别描述目标数据操作接口232时的头文件的一部分。在伪代码组C601以及C701中,分别记载有目标数据操作接口232的API和数据类型的示例。[0094] 伪代码组C601包括:伪代码611,表示目标数据的登记API;伪代码612,表示目标数据的更新API;伪代码613,表示目标数据的ID检索API;伪代码614,表示目标数据的检索API;伪代码615,表示目标数据的合并API;以及伪代码616,表示目标数据的历史信息检索API。以下,描述这些伪代码所表示的API。[0095] 伪代码611所表示的目标数据的登记API(registerData)是“登记操作”的API,“登记操作”是将新输入至数据管理层230中的目标数据保存至目标数据组233中的操作。在该登记操作中,设定为在数据管理层230按照时间序列管理多个目标数据的情况下,进行如下操作:在已保存至目标数据组233的多个目标数据中,插入(追加)新输入的目标数据作为最新值,将所保存的时间序列数据的时序逐一地移位。另一方面,在设定为不按照时间序列管理目标数据的情况下,进行如下操作:将表示与新输入的目标数据相同的对象要素的目标数据替换为新的目标数据。如伪代码611所示,登记API的参数由登记对象的目标数据的数据长度和登记对象的目标数据的地址构成。另外,如图4所示,在登记对象的目标数据的开头,必须包含由ID401、数据源402、目标类别403以及时间戳404所构成的共通数据区域400。目标数据管理部231基于共通数据区域400中所保存的这些信息,在目标数据组233中确定该目标数据的保存位置,并保存于该位置。[0096] 伪代码612所表示的目标数据的更新API(updateData)是“更新操作”的API,“更新操作”为基于数据管理层230中新输入的目标数据,对存储于目标数据组233的目标数据的一部分或全部的区域进行改写的操作。另外,数据管理层230在设定为按照时间序列管理多个目标数据的情况下,与前述的登记操作不同,在更新操作中,已保存至目标数据组233的多个目标数据中的、最新的目标数据的一部分或全部基于新输入的目标数据被改写。如伪代码612所示,在更新API的参数中,除与登记API相同的信息,还追加用于指定该目标数据中的更新对象的区域的信息。[0097] 伪代码613所表示的目标数据的ID检索API(getDataByID)是“ID检索操作”的API,“ID检索操作”为从目标数据组233中所保存的目标数据中检索并返回具有指定的ID的目标数据的最新值的操作。如伪代码613所示,ID检索API的参数包括检索对象的目标数据的ID、以及保存检索结果的缓冲器的信息。[0098] 伪代码614所表示的目标数据的检索API(searchData)为“检索操作”的API,“检索操作”为从目标数据组233中所保存的目标数据中,获取符合规定的检索条件的目标数据的操作。如伪代码614所述,检索API的参数包括检索条件式、排序条件式和保存检索结果的缓冲器的信息。在该检索操作中,根据排序条件式对符合检索条件式的目标数据的列表进行排序而得的结果被保存至缓冲器。[0099] 检索API中的检索条件式和排序条件式例如通过图7的伪代码组C701来表达。伪代码组C701包括表示检索条件式的伪代码711和表示排序条件式的伪代码712。[0100] 伪代码711定义了:键(key、关键字),用于在检索条件式中指定作为检索对象的目标数据的信息要素;比较运算符(compOp)以及比较对象值(value),用于对通过键指定的信息要素的值进行比较运算;以及逻辑运算符(logicOp),用于对比较运算的结果进行逻辑运算。检索条件式例如按照如下的式(1)和(2)那样表达为这些数组。其中,在式(1)和(2)中,使用返回与赋予至参数的键相符的值的关联数组(objectData)来表达这些检索条件式。在检索API中,能够根据这样的检索条件式,从目标数据组233中所保存的目标数据中,检索并获取符合规定的检索条件的目标数据。[0101] {objectData[key0]value0}…(1)[0102] {objectData[key1]value1}…(2)[0103] 伪代码712定义了:键(key),用于在排序条件式中,指定排序对象和目标数据的信息要素;以及排序顺序(order),用于对通过键指定的信息要素进行排序。排序条件式被表达为这些数组。在检索API中,能够根据这样的排序条件式,按照将所指定的键的值作为基准而指定的排序顺序(升序、降序等),排序并获取符合规定的检索条件的目标数据。[0104] 另外,在该目标数据中存在多个相当于检索条件式或排序条件式的键的信息要素时,可以另行定义用于比较运算或排序的标量值的算出方法。例如,在针对包含相对位置或相对速度的信息要素的目标数据,通过检索条件式或排序条件式指定「2DVector」的情况下,使用该矢量的长度(矢量的各要素的平方和)来进行比较运算或排序。据此,能够进行距离检索等操作。[0105] 若返回至图6所示的伪代码组C601的描述,则伪代码615所表示的目标数据的融合API(mergeData)为“融合操作”的API,“融合操作”是将保存于目标数据组233的2个目标数据融合为1个的操作。如伪代码615所示,融合API的参数包含融合目的地的目标数据的ID(destId)和融合源的目标数据的ID(srcId)。在该融合操作中,在数据管理层230按照时间序列来管理的多个目标数据中的由融合目的地ID指定的多个目标数据中,将由融合源ID指定的多个目标数据编入。[0106] 伪代码616所表示的目标数据的历史信息检索API(getHistoryData)是“历史信息检索操作”的API,“历史信息检索操作”为从保存于目标数据组233的多个目标数据中获取具有所指定的ID的以时间序列管理的多个目标数据作为该目标数据的时间序列信息的操作。如伪代码616所示,历史信息检索API的参数包含作为检索对象的对象数据的ID和保存检索结果的缓冲器的信息。[0107] 如上所述,目标数据操作接口232按照不依赖于目标数据的数据结构的数据类型定义参数。因此,连接至车载处理装置10的外部硬件的结构、或搭载于车载处理装置10的功能结构等即使有更改,也无需修改目标数据操作接口232。[0108] (应用软件的处理流程)[0109] 图8为表示作为本发明的一实施方式所涉及的车载处理装置10的应用软件131的处理流程的一示例的处理流程800的图。图8所示的处理流程800通过应用软件131在车载处理装置10的处理部100中例如按照规定的时间间隔(100ms等)被定期执行。另外,在本实施方式中,虽作为逐次地执行各处理步骤的处理流程800描述应用软件131的处理,但是各处理步骤既可以基于规定的事件异步地执行,也可并行执行。[0110] 在处理流程800中,处理部100首先执行外部输入处理(S801)。该外部输入处理,是数据适配层200的各软件部件处理由基本软件132通知的输入数据142并将目标数据登记至数据管理层230的处理。如图3所示,数据适配层200作为与来自于连接至车载处理装置10外部的硬件的输入数据142对应的软件部件,具有传感器A适配部201、传感器B数据适配部202、地图信息管理装置数据适配部211等。这些软件部件,基于各自的通信规格,解析来自于所对应的外部硬件的输入数据142,提取与对象要素有关的信息。接着,将所提取的信息转换为与该对象要素对应的目标数据的形式,经由目标数据操作接口232的登记API,保存至目标数据组233。另外,这里的所谓的目标数据的形式,不仅是数据结构,也包含各信息要素的表达规格(例如,单位系、坐标系、时间系等)。例如,关于坐标系,统一为设车辆2的基准点为原点且设车辆2的正面方向为x轴、左方向为y轴的直角坐标系。此外,由于通过外部传感器表达的数据依赖于该传感器在车辆2上的安装位置或该传感器的规格而变化,因此通过转换为共通的坐标系,数据运算层240的各软件部件能够无需意识到传感器固有的规格而执行运算处理。关于时间系,也同样由于延迟时间(检测出对象要素的时刻与输出数据的时刻之差)根据外部传感器的规格而不同,因此校正该延迟时间的量,设定目标数据的时间戳。[0111] 另外,如图4所示,目标数据由包含ID401、数据源402、目标类别403以及时间戳404的共通数据区域400和固有数据区域405构成。在本实施方式中,关于与外部传感器的检测信息对应的目标数据,还能够如下所述对数据结构进行建模,提高软件的再利用性。[0112] 图9为表示目标数据的建模的一示例的图。在图9所示的目标数据的结构例中,共通数据区域901和固有数据区域902分别相当于图4的共通数据区域400和固有数据区域405。固有数据区域902中所保存的信息虽然根据数据源或目标类别而不同,但是在表达具有相同性质的对象要素时,固有数据区域405中的信息要素的相似性增高。因此,按性质相近的每个对象要素构建数据模型,将固有数据区域902分割为数据模型头部和固有数据。具体地,如图9所示,目标类别为其他车辆、行人、自行车等,在与这些物体有关的对象要素的各目标数据中,适用共通的物体数据模型头911。在物体数据模型头911中,例如包括相对位置915、相对速度916等。另一方面,目标类别为白线、停车框线、道路边界等,在与边界线或区域有关的对象要素的各目标数据中,适用共通的边界数据模型头921。在边界数据模型头921中,例如,包括边界类别923(白线、停车框线等)、边界点列信息924(表达边界形状的点列)等。这样一来,通过对表达具有共通性质的对象要素的多个目标数据进行汇总,针对这些目标数据构建共通的数据模型,能够规定基于共通定义的数据区域部分。由此,能够使目标数据内受外部传感器的结构更改影响的部分(各种固有数据912、913、914、922等)局部化,与其他部分区分开。因此,能够进一步提高软件的再利用性。[0113] 返回描述图8的处理流程800。若在步骤S801中外部输入处理结束,则接下来处理部100移至数据运算层240的各种运算处理。在步骤S802~S805中,分别由传感器融合运算部241、地图融合运算部242、行为预测运算部243、自动驾驶控制运算部244进行运算处理。[0114] 步骤S802~S804的各运算处理是用于理解(认知)车辆2的周边环境的运算处理。因此,以下将步骤S802~S804的各运算处理也称作“认知处理”。此外,执行这些运算处理(认知处理)的传感器融合运算部241、地图融合运算部242、行为预测运算部243,也分别称作“环境认知软件部件”。[0115] 所谓通过环境认知软件部件执行的认知处理,是组合从各外部传感器获得的片段性的检测信息、通过地图或通信等获得的信息等,更高级地推定各对象要素的状态的处理。例如,在车辆2的前车为对象要素的情况下,在传感器融合运算处理(S802)中,只能掌握仅外部传感器能够检测的相对位置或相对速度等的物理特性。另一方面,在地图融合运算处理(S803)中,能够通过对照地图数据,来推定前车在哪条车道、与车辆2以怎样的位置关系行驶。此外,在行为预测运算处理(S804)中,能够推定前车将来要做怎样的动作。这些处理,能够看作是推定并追加与该对象要素有关的新的状态量的处理,即,将新的信息要素附加至该对象要素的目标数据中的处理。[0116] 在本实施方式中,根据上述那样的认知处理的特征,也能够通过如图10所示的数据结构构成目标数据。图10为表示与认知处理的部分更新对应的目标数据的结构的一示例的图。在图10所示的数据结构中,根据各个运算处理的更新对象,将目标数据中的固有数据区域902分类,构成为各个记录(存储器上连续的区域)。具体地,固有数据区域902由作为传感器融合运算处理的更新对象的基本信息记录1001、作为地图融合运算处理的更新对象的地图属性记录1002、以及作为行为预测运算处理的更新对象的预测信息记录1003构成。[0117] 在图10所示的数据结构的目标数据中,在步骤S802中传感器融合运算部241所执行的传感器融合运算处理的对象要素的推定结果被保存至基本信息记录1001。另一方面,在步骤S803中地图融合运算部242所执行的地图融合运算处理的对象要素的推定结果被保存至地图属性记录1002。此外,在步骤S804中行为预测运算部243所执行的行为预测运算处理的对象要素的推定结果被保存至预测信息记录1003。据此,作为环境认知软件部件的传感器融合运算部241、地图融合运算部242以及行为预测运算部243各自能够将各自的认知处理的对象要素的状态的推定结果,保存至目标数据中的个别的数据区域。[0118] 另外,图9所示的目标数据的结构例的数据模型头,即物体数据模型头911或边界数据模型头921也可以包含于图10所示的数据结构中。在这种情况下,数据模型头既可包含于基本信息记录1001中,数据模型头又可分散配置于基本信息记录1001、地图属性记录1002、预测信息记录1003的各记录中。[0119] 图10所示的伪代码C1004~C1007为分别记述图10的上述目标数据的结构体和步骤S802~S804的各认知处理中的对象更新处理的示例。在步骤S802的传感器融合运算处理中,由于会新生成合并各种外部传感器的目标数据而得的目标数据,因此如伪代码C1005所示,使用登记API来更新目标数据。与此相对,在步骤S803的地图融合运算处理或步骤S804的行为预测运算处理中,如伪代码C1006、C1007中分别所示,使用更新API来分别更新相当于地图属性记录1002、预测信息记录1003的部分。[0120] 通过在目标数据中采用如上所述的数据结构,带来下面描述的两种效果。首先,作为第一点效果,在通过伪代码C1006、C1007分别表示的目标数据的更新处理中,更新彼此不同的存储器区域。因此,能够并行执行地图融合运算处理和行为预测运算处理。据此,在处理部100由多个处理器或多个内核构成的情况下,能够有效地执行这些运算处理。接下来,作为第二点效果,提高追加或更改与新的运算处理有关的软件部件时的软件的再利用性。即,在追加新的运算处理时,在通过伪代码C1004表示的目标数据的结构体中追加新的记录即可,由于不影响现有程序上的参考关系,因此也可不在伪代码C1006或伪代码C1007中施加修改。同样地,在由于更改运算处理而改变数据结构时,由于需更改的部分限定于基本信息记录1001、地图属性记录1002、预测信息记录1003的各记录内,因此不会对其他运算处理带来影响。[0121] 步骤S805的自动驾驶控制运算处理是基于步骤S802~S804的各认知处理的结果来运算车辆2的控制信息的处理。自动驾驶控制运算部244基于通过步骤S802~S804的各认知处理而生成的目标数据,制定车辆2的驾驶行为(例如,是顺沿车道还是更改车道等)或基于此的行驶轨道(包含速度信息)的计划。并且,运算执行该驾驶行为或遵循该行驶轨道所需的针对致动器组50的控制指令值。[0122] 返回描述图8的处理流程800,若步骤S805的自动驾驶控制运算处理结束,则处理部100移至外部输出处理(S806)。在步骤S806的外部输出处理中,将自动驾驶控制运算部244在步骤S805中所运算而得的针对致动器组50的控制指令值,转换为符合各致动器的通信规格的数据形式,并将转换后的数据作为输出数据143输出至基本软件132。该数据形式的转换通过与各致动器对应的数据适配层200的软件部件,即通过图3的致动器A数据适配部221或致动器B数据适配部222来进行。[0123] 通过如上的处理流程,执行图3所示的应用软件131的一个周期的处理。在车载处理装置10中,通过在处理部100中定期(例如每100ms)执行按照处理流程800的处理来实现ADAS或自动驾驶的功能。[0124] (应用软件的修改)[0125] 接着,使用图11的示例,描述在车载处理装置10中外部硬件结构或功能结构有所更改时的应用软件131的修改方法。图11为表示本发明的一实施方式所涉及的车载处理装置10的更改后的应用软件131的结构的一示例的图。在图11中,示出有进行如下系统更改时的应用软件131的结构例:追加无线通信装置作为连接至车载处理装置10的外部硬件,考虑来自于该无线处理装置的信息并改进自动驾驶控制。[0126] 另外,所谓上述无线通信装置,例如是用于实现与道路基础设施的通信(路车间通信)或与其他车辆的通信(车辆间通信)的装置。车载处理装置10能够获取与拥堵、施工、信号等道路基础设施有关的信息、或其他车辆内部的信息(加速器开度、制动器信息、行驶路线信息等),作为来自于无线通信装置的信息。因此,具有通过外部传感器或地图信息无法获取的新的附加信息,通过使用这些信息,能够改进自动驾驶控制的运算。[0127] 在能够通过无线通信装置获取的数据(以下称为“通信数据”)中,通常,该数据所表示的对象物的位置通过全局坐标系(纬度、经度)来表达。与此相对,通过外部传感器组20获取的数据通过以车辆2为中心的车辆坐标系来表达。因此,为了合并传感器数据和通信数据,不能适用传感器融合运算部241的传感器融合运算处理,而需要追加新的运算处理。此外,在附加通信数据的信息时,还需要修改相应的对象要素(其他车辆等)的目标数据的结构。在本实施方式的应用软件131中,除了修改自动驾驶控制运算部244之外,通过在数据适配层200中追加无线通信装置数据适配部1101、向数据管理层230中的设定信息数据组234追加新的目标数据的定义信息、以及在数据运算层240中追加通信数据融合运算部1102,来实现上述那样的系统更改。[0128] 首先,描述数据管理层230的修改部分。数据管理层230的修改通过修改设定信息数据组234来实现。图12为表示保存于更改后的设定信息数据组234中的设定信息的一示例的图。在图12中,为了保存从无线通信装置获取的各种数据,追加以无线通信装置为数据源的设定信息记录。另外,在图12中,虽仅示出与其他车辆有关的目标数据所对应的设定信息记录作为所追加的设定信息记录,但是也可进一步追加与其他的目标数据对应的设定信息记录。此外,在图12中,由于附加通信数据的信息,因此与传感器融合有关的目标数据中的、与通信数据关联的一部分目标数据的数据长度相应于信息附加量而被更改。在数据管理层230中,仅修改这些设定信息就能够实现系统更改,目标数据管理部231或目标数据操作接口232能够原样利用。[0129] 接着,描述数据适配层200的修改部分。如图11所示,数据适配层200的修改通过追加无线通信装置数据适配部1101来实现。无线通信装置数据适配部1101将无线通信装置特有的各种数据的形式转换为通过数据管理层230管理的目标数据的形式并保存至目标数据组233。如前所述,由于数据适配层200的各软件部件彼此独立,因此其他软件部件不受追加无线通信装置数据适配部1101的影响。此外,如上所述,由于数据管理层230的目标数据操作接口232并未更改,因此能够原样利用数据适配层200的现有软件部件。[0130] 最后,描述数据运算层240的修改部分。数据运算层240的修改除了自动驾驶控制运算部244的修改,如图11所示,通过追加通信数据融合运算部1102来实现。通信数据融合运算部1102从目标数据管理部231获取包含生成源为与通信数据相关联的传感器融合的目标数据以及生成源为无线通信装置的目标数据在内的数据组,基于规定运算,识别/融合与同一对象要素对应的目标数据。例如,在表示其他车辆的通过传感器融合生成的目标数据以及同样表示其他车辆的来自于无线通信装置的目标数据(通信数据)与同一对象要素对应时,对前者的目标数据附加通信数据的信息并更新。[0131] 图13为施加系统更改时的传感器融合的目标数据的结构的一示例的图。在图13的数据结构中,与图10所示的施加系统更改之前的数据结构相比较,在固有数据区域1201中追加有通信信息记录1202。此外,图13所示的伪代码C1203、C1204是分别记述图13的上述目标数据的结构体、以及通信数据融合运算部1102所执行的通信数据融合运算的示例。在伪代码C1203中,相对于表示图10所示的更改前的目标数据的结构体的伪代码C1004,追加有相当于通信信息记录1202的结构体。通信数据融合运算部1102通过伪代码C1204中所示的方法安装于数据运算层240,实现了用于向目标数据附加通信数据的信息并更新的数据融合运算。[0132] 在此,表示已有的软件部件的目标数据的更新处理的伪代码C1005、C1006、C1007相对于图10所示的内容完全没有更改。其第一个原因是,由于数据运算层240的各软件部件经由抽象化的目标数据操作接口232进行数据的输入输出,软件部件间并无依赖关系。即、由于软件部件间没有依赖关系,因此即使数据运算层240中追加有通信数据融合运算部1102,已有的其他软件部件也不会受影响,所以无需修改。此外,第二个原因是,通过分开定义各软件部件所处理的存储器区域,即使在更改了操作对象的目标数据的结构的情况下,其影响也不会波及至已有的软件部件。通过以上结构,即使在进行了系统更改的情况下,也能够原样利用传感器融合运算部241、地图融合运算部242、行为预测运算部243的各软件部件。[0133] 在本实施方式中,通过采用如以上描述的应用软件131的结构,例如在更改车载处理装置10的数据结构或功能结构时等在以往难以再利用的情况下,也能够提高应用软件131的再利用性。因此,能够在各种局面下提高车载处理装置10中的应用软件131的再利用性。[0134] 如上所述,根据本实施方式,能够将应用软件131分层为数据适配层200、数据管理层230、数据运算层240这三层,对数据管理/操作进行抽象化并共通地使用。据此,由于能够再利用以往需要针对每个进行运算处理的软件部件来个别安装的数据管理/操作部分,因此会提高应用软件131的开发效率。此外,由于数据管理层230的接口构成为即使所管理的数据结构更改也不会变化,因此即使在像外部传感器的结构更改时的情况下,也能够原样利用各软件部件的数据管理/操作部分。[0135] 此外,根据本实施方式,通过将应用软件131分层为数据适配层200、数据管理层230、数据运算层240这三层,能够功能性地分离数据管理与运算处理。因此,运算处理的独立性提高,运算处理的更改和追加变得容易,在本软件结构中,数据运算层240的软件部件间的数据的交接在原则上经由数据管理层230的目标数据操作接口232进行。由于目标数据操作接口232被抽象化,因此数据运算层240的各软件部件无需意识到操作对象的数据的提供源和使用者。因此,各软件部件的独立性提高,很难受到其他软件部件的更改或追加的影响,即使在功能结构更改时,能够利用已有的软件部件的可能性也增高。[0136] 根据以上描述的本发明的实施方式,取得以下作用效果。[0137] (1)搭载于车辆2的车载处理装置10具备:信号输入部111,生成基于来自于外部的输入信号的输入数据142;处理部100,执行基于输入数据142运算输出数据143的运算处理;信号输出部112,生成基于输出数据143的输出信号并输出至外部;以及存储部120,存储用于使处理部100执行运算处理的应用软件131。应用软件131具有:数据管理层230,用于在存储部120上管理作为与规定对象要素对应的数据的集合的目标数据;数据适配层200,用于基于输入数据142生成目标数据,将所生成的目标数据输出至数据管理层230;以及数据运算层240,用于从数据管理层230获取目标数据,基于所获取的目标数据运算输出数据143。这样一来,能够提高车载处理装置10中的应用软件131的再利用性。[0138] (2)数据管理层230具有用于数据适配层200以及数据运算层240操作数据管理层230所管理的目标数据的目标数据操作接口232。目标数据操作接口232构成为能够通过共通的操作方法来操作数据结构不同的多个目标数据。这样一来,能够灵活对应于例如连接至车载处理装置10的外部硬件的更改或车载处理装置10中的功能结构的更改等各种各样的系统结构的更改,能够提供具有高再利用性的应用软件131。[0139] (3)基于目标数据操作接口232对目标数据的操作包括:检索操作,从数据管理层230所管理的目标数据中,获取符合能够作为参数指定的检索条件的目标数据。例如式(1)、式(2)那样,通过包含与构成目标数据的信息要素有关的比较运算在内的检索条件式来表达该检索操作中的检索条件。此外,也能够进一步包括多个比较运算的结果的逻辑运算。在该检索操作中,能够进一步根据能够作为参数指定的排序条件,排序并获取符合检索条件的目标数据。这样一来,数据运算层240或数据适配层200的各软件部件不用分别安装用于从整个目标数据中提取所希望的目标数据的处理,就能够选择性地获取任意的所希望的目标数据,能够提供具有较高再利用性的应用软件131。[0140] (4)另外,基于目标数据操作接口232对目标数据的操作包括:登记操作,将数据管理层230所管理的目标数据替换为新输入至数据管理层230的目标数据;以及更新操作,根据新输入至数据管理层230的目标数据,改写数据管理层230所管理的目标数据的一部分。这样一来,能够基于数据运算层240的各软件部件的运算结果、或来自于数据适配层200的各软件部件的输入信息,在数据管理层230中适当地进行目标数据的管理。[0141] (5)数据管理层230构成为能够以时间序列管理与同一对象要素有关的多个目标数据。在这种情况下,目标数据操作接口232对目标数据的操作包括获取由数据管理层230以时间序列管理的多个目标数据的操作。此外包括:登记操作,在数据管理层230以时间序列管理的多个目标数据中,追加新输入至数据管理层230的目标数据;以及更新操作,基于数据管理层230中新输入的目标数据,改写由数据管理层230以时间序列管理的多个目标数据中的最新的目标数据的一部分。进一步还包括:合并操作,针对由数据管理层230以时间序列管理的与第一对象要素有关的多个目标数据,编入由数据管理层230以时间序列管理的与第二对象要素有关的多个目标数据。这样,即使是时间序列下的多个目标数据,也能够在数据管理层230中适当地进行管理。[0142] (6)目标数据具有:共通数据区域400,保存对于由数据管理层230管理的全部目标数据共通的信息;以及固有数据区域405,保存根据对象要素的种类而不同的信息。在共通数据区域400中包括如下任一个以上:ID401,是用于识别对象要素的标识符;数据源402,是表示该目标数据的生成源的信息;目标类别403,是表示对象要素的概念性的类别的信息;以及时间戳404,是与该目标数据有关的时间信息。这样一来,能够在数据管理层230中,通过共通的接口来管理并操作数据结构不同的各个目标数据。[0143] (7)数据管理层230具有作为与目标数据有关的设定信息的集合的设定信息数据组234。基于目标数据操作接口232对目标数据的操作包括:检索操作,根据设定信息中的检索键信息505,从数据管理层230所管理的目标数据中,获取具有符合能够作为参数指定的检索条件的固有数据区域405的目标数据。这样一来,通过目标数据操作接口232的数据操作,即使是固有数据区域405的信息要素,也能够检索并获取任意的目标数据。[0144] (8)数据运算层240由多个软件部件构成,多个软件部件间的数据的交接经由数据管理层230进行。这样一来,能够提高数据运算层240中的各软件部件的独立性,能够提供即使在车载处理装置10中的功能结构更改时也具有高再利用性的应用软件131。[0145] (9)数据运算层240中的多个软件部件作为使处理部100执行用于基于从数据管理层230获取的目标数据推定车辆2的周边环境的对象要素的状态的认知处理的环境认知软件部件,例如包括传感器运算部241、地图融合运算部242、行为预测运算部243等。这些环境认知软件部件将对象要素的状态的推定结果保存至数据管理层230所管理的目标数据。此时,这些环境认知软件部件各自将对象要素的状态的推定结果分别保存至数据管理层230所管理的目标数据中分别的数据区域,即基本信息记录1001、地图属性记录1002、预测信息记录1003中。这样一来,在处理部100由多个处理器或多个内核构成的情况下,能够并行执行多个认知处理来谋求提高处理的效率。此外,能够容易追加或更改数据运算层240中的软件部件,进一步提高应用软件131的再利用性。[0146] 另外,以上描述的实施方式为一示例,本发明并不限于此。即,能够有各种各样的应用,所有实施方式都包含于本发明的范围内。例如,在上述实施方式中,记载为车载处理装置10分别具有一个处理部100和存储部120,车载处理装置10中的各处理使用该处理部100和存储部120来执行。但是,车载处理装置10也可以具有各多个处理部100和存储部120,各处理可以使用多个处理部100和存储部120来执行。在这种情况下,例如,具有相同结构的处理软件搭载于个别的存储部120,也能够通过多个处理部100分担并执行该处理。[0147] 此外,在上述实施方式中,虽然通过使用分别构成处理部100和存储部120的处理器和RAM来执行规定动作程序来实现车载处理装置10的各处理,但是也能够根据需要通过独自的硬件来实现。此外,在上述实施方式中,车载处理装置10、外部传感器组20、内部传感器组30、地图信息管理装置40、致动器组50、车载用HMI装置60虽分别记载为单独的装置,但是也能够根据需要组合任意两个以上来实现。[0148] 在上述实施方式中,虽描述了将本发明适用于车辆系统1中使用的车载处理装置10的软件的例子,但是也能够适用于搭载于其他系统的处理装置或运算装置的软件。例如,在搭载于机器人系统并执行与机器人控制有关的各种运算处理的运算装置的软件等中,也能够适用本发明。[0149] 此外,在附图中,示出了认为为了描述实施方式所需的控制线或信息线,并不一定表示出本发明所适用的实际产品中所包含的全部控制线或信息线。实际上,可以认为几乎所有结构都是相互连接的。[0150] 以下优先权基础申请的公开内容通过引用并入本文。[0151] 日本专利申请2016年第195804号(2016年10月3日申请)[0152] 附图标记说明:[0153] 1:车辆系统;2:车辆;10:车载处理装置;20:外部传感器组;30:内部传感器组;40:地图信息管理装置;50:致动器组;60:车载用HMI装置;100:处理部;110:信号输入输出部;111:信号输入部;112:信号输出部;120:存储部;130:处理软件;131:应用软件;132:基本软件;134:BIOS;135:OS;136:设备驱动器组;137:协议栈;200:数据适配层;230:数据管理层;240:数据运算层。

专利地区:日本

专利申请日期:2017-09-08

专利公开日期:2024-06-18

专利公告号:CN114537299B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部