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

用于车辆的消息广播的制作方法

2021-08-06 18:47:00 来源:中国专利 TAG:申请 优先权 并入 美国 递交
用于车辆的消息广播的制作方法

相关申请

本申请要求享受于2018年12月20日递交的、标题为“intentionbroadcastingforautonomousdriving”的美国临时申请no.62/782,573的优先权的权益,据此通过引用的方式将上述申请的完整内容并入以用于所有目的。



背景技术:

随着行业转向部署自主式和半自主式车辆,汽车和卡车正变得越来越智能。自主式和半自主式车辆可以检测关于其位置和周围环境的信息(例如,使用雷达、激光雷达、gps、文件里程表、加速计、相机和其它传感器),并且包括解释感知信息以识别危险并且确定要遵循的导航路径的控制系统。自主式和半自主式车辆包括控制系统,以便在来自汽车的乘员或其他操作员的有限控制下或者在没有来自其的控制下进行操作。



技术实现要素:

各个方面包括使得诸如自主式车辆、半自主式车辆等的车辆能够向周围车辆(诸如自主式车辆、半自主式车辆和/或驾驶员操作的车辆)广播运动规划的方法。各个方面包括用于使用从一个或多个周围车辆接收的运动规划的方法。在各个实施例中,运动规划可以包括车辆的轨迹以及与车辆和/或车辆所有者和/或操作者相关联的一个或多个描述符。在各个实施例中,运动规划可以至少部分用于控制车辆。

各个方面包括控制车辆的方法,所述方法可以包括:接收包括用于发送运动规划的车辆(“发送车辆”)的所述运动规划的意图消息,其中,所述运动规划包括所述发送车辆的轨迹以及与所述发送车辆相关联的一个或多个车辆描述符;对所述意图消息进行解析以识别用于所述发送车辆的所述运动规划;以及至少部分地基于所述运动规划来控制所述车辆。在一些方面中,所述一个或多个车辆描述符可以包括传感器可感知属性。

在一些方面中,至少部分地基于所述运动规划来控制所述车辆可以包括:至少部分地基于所述运动规划来确定用于所述车辆的预期感兴趣区域;以及将检测算法应用于在所述预期感兴趣区域处的接收的传感器数据,以至少部分地基于所述传感器可感知属性来在所述接收的传感器数据中检测所述发送车辆。在一些方面中,所述方法还可以包括:至少部分地基于所接收的运动规划来选择所述检测算法。

在一些方面中,至少部分地基于所述运动规划来控制所述车辆可以包括:至少部分地基于所述传感器可感知属性来将车辆检测传感器数据与所述发送车辆进行关联。

在一些方面中,所述一个或多个车辆描述符可以包括车辆物理能力。在一些方面中,至少部分地基于所述运动规划来控制所述车辆可以包括:至少部分地基于所述运动规划来设置针对所述发送车辆的行为预测。一些方面还可以包括:确定所述发送车辆的行为是否符合所述行为预测;以及响应于确定所述发送车辆的所述行为不符合所述行为预测,至少部分地基于所述车辆物理能力来更新所述行为预测。

在一些方面中,所述一个或多个车辆描述符可以包括车辆位置属性。在一些方面中,至少部分地基于所述运动规划来控制所述车辆可以包括:至少部分地基于所述车辆位置属性来确定所述发送车辆的位置;确定在所述车辆的位置与所述发送车辆的位置之间的比较是否指示误差;以及响应于确定在所述车辆的位置与所述发送车辆的位置之间的所述比较指示误差,来触发对所述车辆的位置的重新计算。

在一些方面中,至少部分地基于所述运动规划来控制所述车辆可以包括:确定所述运动规划是否是不安全的;以及响应于确定所述运动规划是不安全的,来向所述发送车辆发送安全警告。

用于从车辆广播消息的各个方面可以包括:确定用于所述车辆的运动规划,其中,所述运动规划包括所述车辆的轨迹以及所述车辆的一个或多个车辆描述符;至少部分地基于所确定的运动规划来生成意图消息;以及从所述车辆广播所述意图消息。在一些方面中,所述一个或多个车辆描述符可以包括传感器可感知属性、车辆物理能力或者车辆位置属性。

另外的方面包括一种车辆,其包括被配置有处理器可执行指令以执行上文概述的方法中的任何方法的操作的处理器。另外的方面包括一种具有存储在其上的处理器可执行软件指令的非暂时性处理器可读存储介质,所述处理器可执行软件指令被配置为使得处理器执行上文概述的方法中的任何方法的操作。另外的方面包括一种用于在车辆中使用并且被配置为执行上文概述的方法中的任何方法的操作的处理设备。

附图说明

并入本文中并且构成本说明书的部分的附图示出了示例性实施例,并且连同上文给出的概括描述和下文给出的详细描述一起用于解释各个实施例的特征。

图1a和1b是示出适于实现各个实施例的车辆的组件框图。

图1c是示出适于实现各个实施例的车辆的组件的组件框图。

图2a是示出根据各个实施例的示例车辆管理系统的组件的组件框图。

图2b是示出根据各个实施例的另一示例车辆管理系统的组件的组件框图。

图3是示出根据各个实施例的用于在可以被配置为广播、接收和/或以其它方式使用意图和/或运动规划的车辆中使用的示例片上系统的组件的框图。

图4是示出根据各个实施例的对意图消息进行广播的方法的过程流程图。

图5是示出根据各个实施例的从经广播的意图消息中提取运动规划的方法的过程流程图。

图6是示出根据各个实施例的在传感器感知操作中使用经广播的运动规划的方法的过程流程图。

图7是示出根据各个实施例的在传感器融合操作中使用经广播的运动规划的方法的过程流程图。

图8a是示出根据各个实施例的在行为预测操作中使用经广播的运动规划的方法的过程流程图。

图8b是示出根据各个实施例的在行为预测操作中使用经广播的运动规划的方法的过程流程图。

图9是示出根据各个实施例的在位置定位操作中使用经广播的运动规划的方法的过程流程图。

图10是示出根据各个实施例的使用经广播的运动规划来在车辆之间分担安全操作的责任的方法的过程流程图。

具体实施方式

将参考附图对各个方面进行详细描述。在可能的情况下,将贯穿整个附图使用相同的附图标记来指代相同或相似的部分。对特定示例和实施例的提及是用于说明性目的,而并不旨在限制各个方面或权利要求的范围。

地面运输行业越来越希望通过采用智能运输系统(its)技术来利用蜂窝和无线通信技术的不断增长的能力,以提高针对驾驶员操作的车辆和自主式车辆二者的互通性和安全性。由第三代合作伙伴计划(3gpp)定义的蜂窝车辆到万物(c-v2x)协议支持its技术,并且用作用于车辆与在其周围的通信设备直接进行通信的基础。

c-v2x定义了两种传输模式,它们共同提供360°非视线感知和更高水平的可预测性,以增强道路安全和自主驾驶。第一种传输模式包括直接c-v2x,其包括车辆到车辆(v2v)、车辆到基础设施(v2i)以及车辆到行人(v2p),并且在独立于蜂窝网络的专用its5.9千兆赫兹(ghz)频谱中提供增强的通信范围和可靠性。第二种传输模式包括诸如以下各项的移动宽带系统和技术中的车辆到网络通信(v2n):第三代无线移动通信技术(3g)(例如,全球移动通信系统(gsm)演进(edge)系统、码分多址(cdma)2000系统等)、第四代无线移动通信技术(4g)(例如,长期演进(lte)系统、改进的lte系统、移动微波接入全球互操作性(移动wimax)系统等)、第五代无线移动通信技术(5g)(例如,5g新无线电(5gnr)系统等)等。

术语“片上系统”(soc)在本文中用于指代一组互连的电路,其通常但非排他地包括一个或多个处理器、存储器以及通信接口。soc可以包括各种不同类型的处理器和处理器核,诸如通用处理器、中央处理单元(cpu)、数字信号处理器(dsp)、图形处理单元(gpu)、加速处理单元(apu)、子系统处理器、辅助处理器、单核处理器以及多核处理器。soc还可以体现其它硬件和硬件组合,诸如现场可编程门阵列(fpga)、配置和状态寄存器(csr)、专用集成电路(asic)、其它可编程逻辑器件、分立门逻辑、晶体管逻辑、寄存器、性能监测硬件、看门狗硬件、计数器以及时间参考。soc可以是集成电路(ic),其被配置为使得ic的组件位于同一衬底上,诸如单片半导体材料(例如,硅等)。

各个实施例包括用于在车辆(例如,自主式车辆、半自主式车辆、驾驶员操作的车辆等)的操作期间广播、接收和/或以其它方式使用意图和/或运动规划的方法、被配置为实现这些方法的车辆、车辆管理系统和处理设备。

自主式和半自主式车辆(诸如汽车和卡车)正在城市街道上成为现实。自主式和半自主式车辆通常包括收集关于在车辆周围的环境的信息的多个传感器,其包括相机、雷达和激光雷达。例如,这样收集的信息可以使得车辆能够辨识道路、识别要避开的对象并且跟踪其它车辆的移动和未来位置以实现部分或完全自主式导航。类似地,非自主式车辆(诸如无法在自主式驾驶模式或半自主式驾驶模式下操作的车辆)也可以包括收集关于在车辆周围的环境的信息的多个传感器,其包括相机、雷达和激光雷达。例如,这样收集的信息可以使得车辆能够辨识道路、识别要避开的对象并且跟踪其它车辆的移动和未来位置以向车辆的驾驶员提供警告。

可以将在自主式驾驶中的在具有不确定代理的不确定环境中选择最优驾驶动作的问题建模为部分可观察markov决策过程(pomdp)。一般来说,针对pomdp的求解在计算上是难以处理的,因此很多研究致力于寻找充分近似该问题的方式,以使得在线和实时求解是可能的。自主式车辆可以模拟可能的动作,以便基于每个动作来确定预期结果的范围。对于每个动作可以存在某种奖励或风险或惩罚,并且对可以搜索到的每个可能的动作进行测试可以允许自主式车辆选择具有最大奖励和/或最不可能的惩罚的动作。

自主式驾驶栈主要被设计为独立的单独系统。换句话说,自主式车辆的任务是在没有来自环境中的其它代理的帮助的情况下推断其自己关于世界的状态的信念以及其演变。仅配备有其车载传感器和计算能力,自主式车辆对世界的信念可能是不确定的,并且对于世界如何随时间演变存在无限多种可能性。因此,需要自主式车辆搜索非常大的可能性空间来决定接下来采取什么动作。

将c-v2x(连接的车辆共享信息)与自主式驾驶栈合并可以通过增加重要信息片段的确定性来显著地降低pomdp的维度。各个实施例提供了从自主式(或半自主式)车辆广播意图消息,其包括用于该车辆的运动规划。运动规划可以是对该车辆的当前位置的指示以及关于该车辆预期其位置如何随时间变化的指示。例如,运动规划可以指示车辆的位置以及车辆在一段时间内将遵循的轨迹。在各个实施例中,关于该车辆预期其位置如何随时间变化的指示可以是对该车辆已经作出的决策的肯定指示。以这种方式,运动规划指示预期的动作过程并且可以与可以在车辆之间交换的用于采取动作的请求(或需要通信的其它类型的确认)区分开。经由向周围车辆广播自主式(或半自主式)车辆的意图来共享运动规划可以在pomdp内提供更大的益处,并且可以将pomdp降低到可能需要少得多的计算资源来求解的markov决策过程(mdp)。

各个实施例使得自主式(或半自主式)车辆能够将它们各自的意图和/或运动规划广播到周围车辆,诸如自主式车辆、半自主式车辆、非自主式车辆等。在整个自主式车辆软件栈中传送意图和/或运动规划信息可以存在优点。

在各个实施例中,运动规划可以是轨迹。自主式(或半自主式)车辆可以知晓其当前位置以及自主式(或半自主式)车辆可以采取以在接下来的时间到达下一位置的方向和/或下一动作。例如,自主式车辆可以具有从当前点到达下一点的轨迹。在各个实施例中,运动规划可以包括轨迹以及与车辆和/或车辆所有者和/或操作者相关联的一个或多个车辆描述符。例如,车辆描述符可以包括车辆的传感器可感知属性,诸如车辆颜色、车辆牌照号码、车辆尺寸等。作为另外的示例,车辆描述符可以包括车辆物理能力,诸如车辆类型、车辆转弯半径、车辆最高速度、车辆最大加速度等。作为又一示例,车辆描述符可以包括车辆位置属性,诸如车辆的纬度和经度、车辆在坐标平面中距已知地标的距离和/或针对其的朝向等。与其它车辆(诸如其它自主式车辆、其它半自主式车辆、其它非自主式车辆等)共享运动规划可以为接收运动规划的其它车辆和/或发送运动规划的车辆提供益处。

在各个实施例中,诸如自主式车辆、半自主式车辆、非自主式车辆等的车辆可以接收至少包括运动规划的意图消息。在各个实施例中,运动规划可以在整个自主式车辆栈中的组件中的一个或多个(例如,所有)组件之间共享和/或可以在车辆的一个或多个(例如,所有)其它组件之间共享。共享该运动规划可以使得发送车辆能够共享其位置并且共享对于该进行共享的车辆而言预期该位置如何随时间演变。共享运动规划可以使得接收运动规划的自主式或半自主式车辆能够确定发送运动规划的车辆的运动将如何影响接收运动规划的车辆。

在各个实施例中,意图消息可以包括广播该意图消息的车辆的标识符、广播该意图消息的车辆的当前位置、广播该意图消息的车辆的运动规划和/或与广播该意图消息的车辆相关的其它数据。

在各个实施例中,运动规划可以包括车辆的位置以及关于预期该位置如何随时间变化的指示。在一些实施例中,运动规划可以包括车辆的轨迹。在一些实施例中,运动规划可以包括车辆的轨迹以及与车辆和/或车辆所有者和/或操作者相关联的一个或多个车辆描述符。在一些实施例中,运动规划可以包括对进行报告的车辆在某个时间处的预期下一位置的指示。在一些实施例中,运动规划可以包括车辆的运动向量。在一些实施例中,运动规划可以包括对用于确定车辆的指示位置的坐标平面的指示。在各个实施例中,运动规划可以描述发送该运动规划的车辆的特征,诸如其尺寸、朝向、颜色、车辆类型等。在各个实施例中,运动规划可以指示发送该运动规划的车辆的速度、发送该运动规划的车辆的朝向、发送该运动规划的车辆的加速度、或者发送该运动规划的车辆的任何其它状态信息。在各个实施例中,运动规划可以指示发送该运动规划的车辆的未来动作(或意图),诸如“在五秒后打开左转向灯”、“在两秒后右转”、“在一百英尺后刹车”、或者与驾驶相关的任何其它类型的动作或意图。

在各个实施例中,意图消息可以是从自主式(或半自主式)车辆广播的,例如通过c-v2x传输模式。在各个实施例中,意图消息可以是周期性地(诸如以设定的时间间隔)、响应于广播车辆的意图的改变等而广播的。

在各个实施例中,诸如自主式车辆、半自主式车辆、非自主式车辆等的车辆可以接收经广播的意图消息,并且可以对所接收的意图消息进行解析以确定广播车辆的标识符、意图消息的当前位置、以及运动规划、和/或在意图消息内指示的任何其它信息。在各个实施例中,无论车辆的操作模式如何,都可以接收和解析经广播的意图消息。例如,经广播的意图消息可以由在给定时间处由驾驶员主动控制的自主式或半自主式车辆接收。在各个实施例中,可以向接收车辆的各种硬件和软件组件提供广播车辆的标识符、意图消息的当前位置、以及运动规划、和/或在意图消息内指示的任何其它信息。例如,广播车辆的标识符、意图消息的当前位置、以及运动规划、和/或在意图消息内指示的任何其它信息可以被存储在接收车辆上的一个或多个存储器位置中,可以被发送给自主式车辆管理系统的一个或多个层,可以被发送给车辆管理系统的一个或多个层,可以被发送给车辆安全和撞击避免系统,等等。在各个实施例中,车辆管理系统的一个或多个层可以使用运动规划来增强各种决策作出和/或自主式驾驶操作。作为示例,所接收的运动规划可以被车辆管理系统用于:传感器融合处理;行为预测;行为规划;运动规划;位置定位;和/或在车辆之间分担安全操作的责任。

在各个实施例中,所接收的从另一车辆广播的运动规划可以在车辆(诸如,自主式车辆、半自主式车辆、非自主式车辆等)的传感器感知操作中使用。传感器感知可以包括用于控制传感器留意何处以确认检测到对象(诸如另一车辆)的操作。在各个实施例中,用于另一车辆的运动规划可以使得对于接收车辆来说用于在传感器数据中感知该车辆的感兴趣区域能够被缩小到由自主式车辆广播的运动规划定义的感知空间。关于系统将预期汽车在何处的传感器感知数据可以确认或否认接收运动规划的车辆(例如,自主式车辆、半自主式车辆、非自主式车辆等)是否正在正确地处理对其它车辆的检测。在感知系统中,必须从来自许多不同相机、许多不同雷达和许多其它不同传感器的潜在数万亿字节的数据中挑选出车辆。从这些传感器接收的数据需要由感知层在秒的分数内处理,以识别数据中的对象,并且使经处理的传感器数据到达车辆管理系统中的其它层。能够关注于在数据中在车辆周围的空间中的特定感兴趣区域(因为预期对象(诸如运动规划广播车辆)在该感兴趣区域中)可以提高对该车辆的检测的速度(当与将该数据作为整体进行分析相比时)。此外,当运动规划指示可以作为传感器可感知属性的车辆描述符时,能够使传感器关注于特定的传感器可感知属性(诸如车辆颜色、车辆尺寸等)可以提高对该车辆的检测的速度(当与将该数据作为整体进行分析相比时)。在各个实施例中,运动规划可以用于确定要应用于原始传感器数据以在该原始传感器数据中感知车辆的感兴趣区域。在一些实施例中,运动规划可以用于选择和/或修改用于在原始传感器数据中感知车辆的算法。例如,与在预期运动规划广播车辆垂直于接收车辆时相比,在预期运动规划广播车辆与接收车辆迎面相对时,可以使用不同的算法。作为另外的示例,根据运动规划是否指示预期广播车辆在给定空间中,可以使用不同的检测门限。作为特定示例,在没有运动规划的情况下,接收车辆可能仅报告以90%置信度通过的检测,而在具有运动规划的情况下,接收车辆可以报告在与运动规划相关联的感兴趣区域中以50%置信度通过的检测。在一些实施例中,运动规划可以用于确认是否在原始传感器数据中感知到特定车辆。例如,在原始传感器数据中检测到作为车辆描述符(例如,车辆的颜色、车辆的牌照号码等)被包括在运动规划中的车辆的传感器可感知属性检测可以确认发送运动规划的车辆是附近的另一车辆在感兴趣区域内感知到的实际车辆。

在各个实施例中,所接收的从另一车辆广播的运动规划可以在车辆(诸如自主式车辆、半自主式车辆、非自主式车辆等)的传感器融合操作中使用。传感器融合操作可以是用于对传感器数据进行组合和关联并且将该传感器数据与被跟踪对象进行关联的操作。运动规划可以提高车辆管理系统的传感器融合层的数据关联和跟踪操作的性能。车辆管理系统可以使用运动规划来确定如何将环境中的其它车辆的所有原始检测融合在一起。例如,基于针对车辆广播的运动规划,可以使得接收车辆能够确定雷达检测、lidar检测和相机检测实际上都是同一车辆,因为这些检测全部与所接收的用于该车辆的运动规划相关,而不是最初将三个检测视为单独的车辆。作为特定示例,接收车辆的不同传感器肯定地识别在运动规划中包括的车辆的一个或多个传感器可感知属性可以确认这些传感器正在检测到发送该运动规划的同一车辆。此外,运动规划可以使得接收车辆能够确定那些车辆检测将一起演变。将车辆检测与运动规划进行比较的能力可以使得能够丢弃异常测量。例如,被跟踪车辆的运动规划指示其打算停留在当前车道中,这可能使得与该车道不对应的检测能够与新对象(而不是先前跟踪的车辆)相关联。运动规划的存在可以减少传感器融合操作中的不确定性。可以将来自感知层的噪声检测与运动规划中的基本轨迹和/或车辆描述符进行比较,以给出对于传感器融合操作的提高的确定性。

在各个实施例中,所接收的从另一车辆广播的运动规划可以在车辆(诸如自主式车辆、半自主式车辆、非自主式车辆等)的行为预测、行为规划和/或运动规划操作中使用。由进行报告的车辆对运动规划的广播可以使得接收该运动规划的车辆能够以可定义的确定性来预测该车辆的行为。运动规划和位置的好处可以是运动规划可以被视为该车辆的预测行为。这种行为预测的确定性可以通过精确地知晓针对广播其各自的运动规划的周围车辆的行为/轨迹预测来降低pomdp的维度。共享运动规划可以导致具有较小的不确定性或没有不确定性的行为预测。此外,知晓车辆的预期运动可以消除对于估计车辆的运动的需求,从而减少与行为预测相关联的计算资源。

在各个实施例中,接收由车辆广播的运动规划减少了在更小的可能性空间上的行为规划搜索。鉴于由其它车辆广播的运动规划提供的那些车辆的状态和动作的完善(或接近完善)的知识,找到用于接收车辆的最佳动作从pomdp坍缩到mdp分析,在mdp分析中存在大量适于在线和实时操作的求解。由于将广播车辆的不确定数量的无限动作减少到有限数量的预期动作(通过接收用于该广播车辆的运动规划),车辆栈的行为规划层可以为接收车辆制定高级别驾驶目标。此外,包括反映发送运动规划的车辆的车辆物理能力的车辆描述符的运动规划可以通过以下方式来减小针对由接收车辆的车辆管理系统执行的行为规划搜索的可能性空间:将由车辆行为模型评估的发送车辆的可能行为限制为在发送车辆的能力之内的行为。例如,在运动规划中指示的车辆类型可以由接收车辆管理系统用于基于与该车辆类型相关联的最大速度或加速度来约束在车辆行为模型中该车辆的最大速度或加速度。作为另一示例,在运动规划中指示的车辆的转弯半径可以由接收车辆管理系统用于将针对发送运动规划的车辆而建模的潜在转弯路径约束在所指示的转弯半径内。

在各个实施例中,接收由车辆广播的运动规划(包括反映发送车辆的车辆物理能力的车辆描述符)的车辆管理系统可以使用该信息来减小针对在车辆行为模型内的行为规划搜索的可能性空间,诸如在观察到车辆偏离行为预测之后。响应于确定车辆观察到的行为不符合由车辆管理系统作出的行为预测,可以至少部分地基于从所接收的运动规划确定的车辆能力来更新针对该车辆的行为预测。例如,车辆管理系统可以使用其它车辆的物理能力来将由车辆行为模型确定的其它车辆的可能的未来行为从pomdp坍缩为mdp分析,在mdp分析中存在大量适于在线和实时操作的求解。例如,接收车辆管理系统可以使用在所接收的运动规划中指示的车辆类型,以约束在更新由车辆行为模型基于与其它车辆的类型相关联的最大速度或加速度而作出的行为预测时使用的其它车辆的最大速度或加速度。作为另一示例,接收车辆管理系统可以使用在运动规划中指示的其它车辆的转弯半径来将用于发送运动规划的车辆的潜在转弯路径的车辆行为模型约束在所指示的转弯半径内,并且使用以这种方式更新的车辆行为模型来生成经更新的其它车辆行为预测。

在各个实施例中,行为规划层可以向运动规划层提供高级别驾驶目标。运动规划层可以负责实际规划轨迹以执行该高级别操纵,并且运动规划层可以负责确保执行该轨迹的安全性。接收由环境中的另一车辆广播的运动规划可以使得运动规划层能够执行较少的碰撞检查,因为该广播车辆的运动的预测是确定性地已知的。碰撞检查通常是快速运动规划的瓶颈,因此较少的检查可以大大地加速总体自主式驾驶算法。在各个实施例中,行为规划层可以向车辆安全和撞击避免系统提供用于其它车辆的高级别驾驶目标和/或行为模型。在车辆正在行驶时,车辆安全和撞击避免系统可以使用用于其它车辆的高级别驾驶目标和/或行为模型来执行安全检查(诸如碰撞检查等),以避免撞击。

在各个实施例中,所接收的从另一车辆广播的运动规划可以在车辆(诸如自主式车辆、半自主式车辆、非自主式车辆等)的位置定位操作中使用。在各个实施例中,车辆管理系统的定位层可以利用广播车辆的观察来改进接收车辆的位置估计。在一些实施例中,定位(localization)层(或定位(positioning)层)可以利用描述其它车辆的状态的传感器融合输出并且将其与基于在这些其它车辆各自的运动规划中广播的意图而预期它们所在的位置进行比较。这可以类似于地图融合通常如何完成以通过将对车道和地标的观察与其基于先验已知地图的预期位置进行比较来增强定位。以这种方式,本身车辆定位过程可以利用其它车辆使用它们各自的运动规划的观察。因此,接收车辆可以基于周围自主式车辆的经广播的运动规划来更好地对其本身进行定位。

在各个实施例中,定位可以利用全局和/或局部坐标规划中的高质量地图,其包括地标(诸如车道标线、道路标志等)在该地图中的已知位置。在各个实施例中,由车辆广播的意图消息和/或运动规划可以指示在坐标平面(诸如局部和/或全局坐标平面)中那些车辆距已知地标的距离和/或针对其的朝向。例如,运动规划可以例如在车辆位置属性类型车辆描述符中指示在坐标平面(诸如局部和/或全局坐标平面)中发送车辆距已知地标的距离和/或针对其的朝向。从广播车辆接收指示的车辆(诸如自主式车辆、半自主式车辆、非自主式车辆等)可以将其对那些广播车辆的观察以及它们相对于已知地标的位置与在意图消息和/或运动规划中的距已知地标的距离进行比较,以协助在接收车辆上执行的定位过程。例如,接收车辆可以将其自己的观察与在所接收的运动规划中的观察进行比较,以确定其观察与运动规划中的观察之间是否存在误差或偏移。其观察与在所接收的运动规划中的观察之间的误差或偏移可以向接收车辆指示其错误地定位了其相应的当前位置。作为响应,接收车辆可以触发对其位置的重新计算。在各个实施例中,接收车辆可以将意图消息和/或运动规划中的观察从一个坐标平面转换到另一个坐标平面。例如,车辆可以将广播车辆的观察从全局坐标平面(例如,纬度和经度)转换到局部(例如,以街道地图为中心)坐标平面。作为特定示例,两个不同的自主式车辆都可以广播它们各自的运动规划并且那些运动规划可以由接收车辆接收。在这两个运动规划中对地标的观察可以匹配,但可能与接收车辆对同一地标的观察不同。不同运动规划中的两个观察的一致以及它们与接收车辆的观察的不同可以指示接收车辆错误地定位了其位置。作为响应,接收车辆可以重新计算其位置。

在各个实施例中,所接收的从另一车辆广播的运动规划可以用于在车辆(诸如自主式车辆、半自主式车辆等)之间分担安全操作的责任。在各个实施例中,广播运动规划还允许诸如在配备的车辆之间分担安全责任之类的扩展。车辆可以验证所接收的运动规划在其自己对环境的信念内是否安全,并且如果安全性表现为受到所接收的运动规划损害,则向广播车辆发出警告。例如,接收车辆可以检测到将导致广播车辆的运动规划不安全的对象,即使广播车辆尚未感测或以其它方式观察到该对象。接收车辆可以确定运动规划是不安全的并且可以向广播车辆指示警告。警告可以包括对导致运动规划不安全的对象的观察。

广播意图的另一个优点是,如果附近没有其它车辆广播意图消息,则不在车辆管理系统中产生任何影响。如果未接收到意图消息,则车辆管理系统可以恢复为使车辆负责对世界的状态的完全推断。

各个实施例可以在各种车辆内实现,在图1a和1b中示出了其示例车辆100。参考图1a和1b,车辆100可以包括控制单元140和多个传感器102-138,其包括卫星地理定位系统接收机108、乘员传感器112、116、118、126、128、轮胎压力传感器114、120、相机122、136、麦克风124、134、冲撞传感器130、雷达132和激光雷达138。被设置在车辆中或车辆上的多个传感器102-138可以用于各种目的(诸如自主式和半自主式导航和控制、撞击避免、位置确定等),以及提供关于在车辆100中或在其上的对象和人的传感器数据。传感器102-138可以包括能够检测对导航和碰撞避免有用的各种信息的各种传感器中的一者或多者。传感器102-138中的每一者可以与控制单元140以及与彼此进行有线或无线通信。具体而言,传感器可以包括一个或多个相机122、136或其它光学传感器或照片光学传感器。传感器还可以包括其它类型的对象检测和测距传感器,诸如雷达132、激光雷达138、ir传感器和超声波传感器。传感器还可以包括轮胎压力传感器114、120、湿度传感器、温度传感器、卫星地理定位传感器108、加速计、振动传感器、陀螺仪、重力计、冲撞传感器130、力计、应力计、应变传感器、流体传感器、化学传感器、气体含量分析仪、ph传感器、辐射传感器、盖革计数器、中子探测器、生物材料传感器、麦克风124、134、乘员传感器112、116、118、126、128、接近度传感器以及其它传感器。

车辆控制单元140可以被配置为有处理器可执行指令以使用从各种传感器(具体地,相机122、136)接收的信息来执行各个实施例。在一些实施例中,控制单元140可以使用可以从雷达132和/或激光雷达138传感器获得的距离和相对位置(例如,相对方位角)来补充对相机图像的处理。控制单元140还可以被配置为:使用关于使用各个实施例确定的其它车辆的信息,在以自主式或半自主式模式操作时控制车辆100的转向、制动和速度。

图1c是示出适于实现各个实施例的组件和支持系统的系统150的组件框图。参考图1a、1b和1c,车辆100可以包括控制单元140,其可以包括用于控制车辆100的操作的各种电路和设备。在图1c中所示的示例中,控制单元140包括处理器164、存储器166、输入模块168、输出模块170以及无线电模块172。控制单元140可以耦合至并且被配置为控制车辆100的驱动控制组件154、导航组件156以及一个或多个传感器158。

如本文中所使用的,术语“组件”、“系统”、“单元”、“模块”等包括与计算机相关的实体,诸如但不限于:被配置为执行特定操作或功能的硬件、固件、硬件和软件的组合、软件或执行中的软件等。例如,组件可以是但不限于运行在处理器上的进程、处理器、对象、可执行程序、执行的线程、程序、和/或计算机。通过说明的方式,在通信设备上运行的应用和该通信设备二者都可以被称为组件。一个或多个组件可以位于进程和/或执行的线程之内,并且组件可以位于一个处理器或核上和/或分布在两个或更多个处理器或核之间。此外,这些组件可以从具有被存储在其上的各种指令和/或数据结构的各种非暂时性计算机可读介质执行。组件可以通过本地和/或远程进程、功能或过程调用、电子信号、数据分组、存储器读/写以及其它已知的计算机、处理器和/或进程相关的通信方法的方式来进行通信。

控制单元140可以包括处理器164,其可以被配置有处理器可执行指令,以控制车辆100的操纵、导航和/或其它操作,包括各个实施例的操作。处理器164可以耦合至存储器166。控制单元162可以包括输入模块168、输出模块170以及无线电模块172。

无线电模块172可以被配置用于无线通信。无线电模块172可以与网络收发机180交换信号182(例如,用于控制操纵的命令信号、来自导航设施的信号等),并且可以将信号182提供给处理器164和/或导航单元156。在一些实施例中,无线电模块172可以使得车辆100能够通过无线通信链路192与无线通信设备190进行通信。无线通信链路192可以是双向或单向通信链路,并且可以使用一种或多种通信协议。

输入模块168可以接收来自一个或多个车辆传感器158的传感器数据以及来自其它组件(包括驱动控制组件154和导航组件156)的电子信号。输出模块170可以用于与车辆100的各个组件进行通信或激活这些组件,这些组件包括驱动控制组件154、导航组件156以及传感器158。

控制单元140可以耦合至驱动控制组件154以控制车辆100的与车辆的操纵和导航相关的物理元件,诸如发动机、电动机、油门、转向元件、飞行控制元件、制动或减速元件等等。驱动控制组件154还可以包括控制车辆的其它设备的组件,包括环境控制(例如,空调和供暖)、外部和/或内部照明、内部和/或外部信息显示器(其可以包括显示屏幕或用于显示信息的其它设备)、安全设备(例如,触觉设备、声音警报等)以及其它类似的设备。

控制单元140可以耦合至导航组件156,并且可以从导航组件156接收数据并且被配置为使用这些数据来确定车辆100的目前位置和朝向,以及朝向目的地的合适路线。在各个实施例中,导航组件156可以包括或耦合至全球导航卫星系统(gnss)接收机系统(例如,一个或多个全球定位系统(gps)接收机),从而使得车辆100能够使用gnss信号来确定其当前位置。替代地或此外,导航组件156可以包括无线电导航接收机,其用于从无线电节点(诸如wi-fi接入点、蜂窝网络站点、无线电站、远程计算设备、其它车辆等)接收导航信标或其它信号。通过驱动控制元件154的控制,处理器164可以控制车辆100导航和操纵。处理器164和/或导航组件156可以被配置为使用与蜂窝数据网络180的无线连接182在网络186(例如,互联网)上与服务器184进行通信以接收用于控制操作、接收对导航有用的数据、提供实时位置报告以及评估其它数据的命令。

控制单元162可以耦合至一个或多个传感器158。传感器158可以包括如所描述的传感器102-138,并且可以被配置为向处理器164提供各种数据。

虽然控制单元140被描述为包括单独的组件,但是在一些实施例中,一些或所有组件(例如,处理器164、存储器166、输入模块168、输出模块170和无线电模块172)可以被集成在单个设备或模块(诸如片上系统(soc)处理设备)中。这样的soc处理设备可以被配置为在车辆中使用,并且被配置为例如具有在处理器164中执行的处理器可执行指令,以在安装到车辆中时执行各个实施例的操作。

图2a示出了可以在车辆100内使用的车辆管理系统200内的子系统、计算元件、计算设备或单元的示例。参考图1a-图2a,在一些实施例中,车辆管理系统200内的各种计算元件、计算设备或单元可以在互连的计算设备(即子系统)的系统内实现,这些互连计算设备向彼此传送数据和命令(例如,由图2a中的箭头指示)。在其它实施例中,车辆管理系统200内的各种计算元件、计算设备或单元可以在单个计算设备内实现,诸如单独的线程、进程、算法或计算元件。因此,在图2a中所示的每个子系统/计算元件在本文中也被一般地称为构成车辆管理系统200的计算“栈”内的“层”。然而,在描述各个实施例时使用术语层和栈并不旨在暗示或要求在单个自主式(或半自主式)车辆管理系统计算设备内实现相应的功能,尽管这是潜在的实现实施例。确切而言,术语“层”的使用旨在包含具有独立处理器的子系统、在一个或多个计算设备中运行的计算元件(例如,线程、算法、子例程等)以及子系统和计算元件的组合。

在各个实施例中,车辆管理系统栈200可以包括雷达感知层202、相机感知层204、定位引擎层206、地图融合和仲裁层208、路线规划层210、传感器融合和道路世界模型(rwm)管理层212、运动规划和控制层214以及行为规划和预测层216。层202-216仅仅是车辆管理系统栈200的一种示例配置中的一些层的示例。在与各个实施例一致的其它配置中,可以包括其它层,诸如用于其它感知传感器的额外层(例如,lidar感知层等)、用于规划和/或控制的额外层、用于建模的额外层等,和/或层202-216中的某些层可以从车辆管理系统栈200中去除。如图2a中的箭头所示,层202-216中的每一层可以交换数据、计算结果和命令。此外,车辆管理系统栈200可以接收和处理来自传感器(例如,雷达、激光雷达、相机、惯性测量单元(imu)等)、导航系统(例如,gps接收机、imu等)、车辆网络(例如,控制器局域网(can)总线)以及存储器中的数据库(例如,数字地图数据)的数据。车辆管理系统栈200可以向线控驱动(dbw)系统/控制单元220输出车辆控制命令或信号,该dbw系统/控制单元220是与车辆转向、油门和制动控制直接对接的系统、子系统或计算设备。在图2a中所示的车辆管理系统栈200和dbw系统/控制单元220的配置仅仅是示例配置,并且车辆管理系统和其它车辆组件的其它配置可以在各个实施例中使用。作为示例,在图2a中所示的车辆管理系统栈200和dbw系统/控制单元220的配置可以在被配置用于自主式或半自主式车辆的车辆中使用,而不同的配置可以在非自主式车辆中使用。

雷达感知层202可以从一个或多个检测和测距传感器(诸如雷达(例如,132)和/或激光雷达(例如,138)接收数据,并且对数据进行处理以识别和确定在车辆100附近的其它车辆和对象的位置。雷达感知层202可以包括使用神经网络处理和人工智能方法来识别对象和车辆,并且将此类信息传递到传感器融合和rwm管理层212。

相机感知层204可以从一个或多个相机(诸如相机(例如,122、136))接收数据,并且对该数据进行处理以识别和确定在车辆100附近的其它车辆和对象的位置。相机感知层204可以包括使用神经网络处理和人工智能方法来识别对象和车辆,并且将此类信息传递到传感器融合和rwm管理层212。

定位引擎层206可以从各种传感器接收数据并且对数据进行处理以确定车辆100的位置。各种传感器可以包括但不限于gps传感器、imu和/或经由can总线连接的其它传感器。定位引擎层206还可以利用来自一个或多个相机(诸如相机(例如,122、136))和/或任何其它可用传感器(诸如雷达、lidar等)的输入。

地图融合和仲裁层208可以访问高清(hd)地图数据库内的数据并且接收从定位引擎层206接收的输出,并且对该数据进行处理以进一步确定车辆100在地图内的位置,诸如在交通车道内的位置、在街道地图内的位置等。hd地图数据库可以被存储在存储器(例如,存储器166)中。例如,地图融合和仲裁层208可以将来自gps的纬度和经度信息转换成被包含在hd地图数据库中的道路表面地图内的位置。gps位置锁定包括误差,因此地图融合和仲裁层208可以用于基于gps坐标和hd地图数据之间的仲裁来确定车辆在道路内的最佳猜测位置。例如,虽然gps坐标可能将车辆放置在hd地图中靠近双车道道路的中间,但是地图融合和仲裁层208可以从行驶方向确定车辆最有可能同与行驶方向一致的行驶车道对齐。地图融合和仲裁层208可以将基于地图的位置信息传递给传感器融合和rwm管理层212。

路线规划层210可以利用hd地图以及来自操作员或调度员的输入来规划车辆100到特定目的地要遵循的路线。路线规划层210可以将基于地图的位置信息传递给传感器融合和rwm管理层212。然而,不需要由其它层(诸如传感器融合和rwm管理层212等)使用先前地图。例如,其它栈可以在没有提供的地图、构建车道、边界的情况下,单独基于感知数据来操作和/或控制车辆,并且接收到局部地图作为感知数据的概念。

传感器融合和rwm管理层212可以接收由雷达感知层202、相机感知层204、地图融合和仲裁层208以及路线规划层210产生的数据和输出,并且使用这些输入中的一些或全部来估计或细化车辆100相对于道路、道路上的其它车辆以及在车辆100附近的其它对象的位置和状态。例如,传感器融合和rwm管理层212可以将来自相机感知层204的影像数据与来自地图融合和仲裁层208的经仲裁的地图位置信息进行组合,以细化车辆在交通车道内的所确定的位置。作为另一示例,传感器融合和rwm管理层212可以将来自相机感知层204的对象识别和影像数据与来自雷达感知层202的对象检测和测距数据进行组合,以确定和细化在该车辆附近的其它车辆和对象的相对位置。作为另一示例,传感器融合和rwm管理层212可以从车辆到车辆(v2v)通信(诸如经由can总线)接收关于其它车辆位置和行驶方向的信息,并且将该信息与来自雷达感知层202和相机感知层204的信息进行组合以细化其它车辆的位置和运动。传感器融合和rwm管理层212可以将车辆100的经细化的位置和状态信息以及在该车辆附近的其它车辆和对象的经细化的位置和状态信息输出到运动规划和控制层214和/或行为规划和预测层216。

作为另外的示例,传感器融合和rwm管理层212可以使用指导车辆100改变速度、车道、行驶方向或其它导航元素的动态交通控制指令,并且将该信息与其它所接收的信息进行组合以确定经细化的位置和状态信息。传感器融合和rwm管理层212可以经由无线通信(诸如通过c-v2x连接、其它无线连接等)将车辆100的经细化的位置和状态信息以及在车辆100附近的其它车辆和对象的经细化的位置和状态信息输出到运动规划和控制层214、行为规划和预测层216和/或远离车辆100的设备(诸如数据服务器、其它车辆等)。

作为又一示例,传感器融合和rwm管理层212可以监测来自各种传感器的感知数据(诸如来自雷达感知层202、相机感知层204、其它感知层等的感知数据,和/或来自一个或多个传感器本身的数据),以分析车辆传感器数据中的状况。传感器融合和rwm管理层212可以被配置为检测传感器数据中的状况(诸如传感器测量结果处于、高于或低于门限,出现某些类型的传感器测量结果等),并且可以经由无线通信(诸如通过c-v2x连接、其它无线连接等)输出传感器数据作为车辆100的经细化的位置和状态信息的一部分,车辆100的经细化的位置和状态信息被提供给行为规划和预测层216和/或远离车辆100的设备(诸如数据服务器、其它车辆等)。

经细化的位置和状态信息可以包括与车辆和车辆所有者和/或操作者相关联的车辆描述符,例如:车辆规格(例如,尺寸、重量、颜色、车载传感器类型等);车辆位置、速度、加速度、行驶方向、姿态、朝向、目的地、燃油/功率水平以及其它状态信息;车辆紧急状态(例如,车辆是应急车辆还是紧急情况下的私人个体);车辆限制(例如,重载/宽载、转弯限制、高乘载车辆(hov)授权等);车辆的能力(例如,全轮驱动、四轮驱动、雪地轮胎、链条、支持的连接类型、车载传感器运行状态、车载传感器分辨率水平等);设备问题(例如,低胎压、弱制动、传感器断电等);所有者/操作者的行驶偏好(例如,优选车道、道路、路线和/或目的地、避开收费站或高速公路的偏好、针对最快路线的偏好等);向数据代理服务器(例如,184)提供传感器数据的权限;和/或所有者/操作者身份信息。

自主式车辆系统栈200的行为规划和预测层216可以使用从传感器融合和rwm管理层212输出的车辆100的经细化的位置和状态信息以及其它车辆和对象的位置和状态信息来预测其它车辆和/或对象的未来行为。例如,行为规划和预测层216可以使用这样的信息,以基于本身的车辆位置和速度以及在该车辆附近的其它车辆的位置和速度来预测其它车辆的未来相对位置。这种预测可以考虑来自hd地图和路线规划的信息,以预计当主机和其它车辆遵循该道路时相对车辆位置的变化。行为规划和预测层216可以向运动规划和控制层214输出其它车辆和对象行为以及位置预测。此外,行为规划和预测层216可以将对象行为与位置预测结合使用来规划和生成用于控制车辆100的运动的控制信号。例如,基于路线规划信息、道路信息中的经细化的位置以及其它车辆的相对位置和运动,行为规划和预测层216可以确定车辆100需要改变车道和加速,例如以保持或实现距其它车辆的最小间距,和/或准备转弯或离开。作为结果,行为规划和预测层216可以计算或以其它方式确定将向运动规划和控制层214和dbw系统/控制单元220命令的针对车轮的转向角度和油门设置的改变以及用于实现这种车道改变和加速所必要的各种参数。一个这样的参数可以是计算出的方向盘命令角度。

运动规划和控制层214可以接收来自传感器融合和rwm管理层212的数据和信息输出以及来自行为规划和预测层216的其它车辆和对象行为以及位置预测,并且使用这些信息来规划和生成用于控制车辆100的运动的控制信号并且验证这些控制信号满足针对车辆100的安全要求。例如,基于路线规划信息、道路信息中的经细化的位置以及其它车辆的相对位置和运动,运动规划和控制层214可以验证各种控制命令或指令并且将其传递给dbw系统/控制单元220。

dbw系统/控制单元220可以从运动规划和控制层214接收命令或指令,并且将这些信息转换成用于控制车辆100的车轮角度、制动和油门的机械控制信号。例如,dbw系统/控制单元220可以通过向方向盘控制器发送相应的控制信号来对所计算出的方向盘命令角度进行响应。

在各个实施例中,车辆管理系统栈200可以包括执行安全检查或监督各种命令、规划或者可以影响车辆和乘员安全的各个层的其它决策的功能。这种安全检查或监督功能可以在专用层内实现或分布在各个层之间并且作为功能的一部分被包括在内。在一些实施例中,各种安全参数可以被存储在存储器中,并且安全检查或监督功能可以将确定的值(例如,与附近车辆的相对间距、距道路中心线的距离等)与相应的安全参数进行比较,并且在安全参数被违反或将被违反时发出警告或命令。例如,行为规划和预测层216中(或单独的层中)的安全或监督功能可以确定另一车辆(由传感器融合和rwm管理层212细化的)与该车辆(例如,基于由传感器融合和rwm管理层212细化的世界模型)之间的当前或未来的单独距离,将该间隔距离与被存储在存储器中的安全间隔距离参数进行比较,并且如果当前或预测的间隔距离违反安全间隔距离参数,则向运动规划和控制层214发出指令以加速、减速或转向。作为另一示例,运动规划和控制层214(或单独层)中的安全或监督功能可以将所确定的或所命令的方向盘命令角度与安全车轮角度限制或参数进行比较,并且响应于所命令的角度超过安全车轮角度限制而发出覆写命令和/或警报。

被存储在存储器中的一些安全参数可以是静态的(即不随时间变化),诸如最大车速。被存储在存储器中的其它安全参数可以是动态的,因为这些参数是基于车辆状态信息和/或环境条件而连续地或周期性地确定或更新的。安全参数的非限制性示例包括最大安全速度、最大制动压力、最大加速度和安全车轮角度限制,所有这些都可以是道路和天气条件的函数。

图2b示出了可以在车辆100内使用的车辆管理系统250内的子系统、计算元件、计算设备或单元的示例。参考图1a-图2b,在一些实施例中,车辆管理系统栈200的层202、204、206、208、210、212和216可以类似于参考图2a描述的那些层,并且车辆管理系统栈250可以类似于车辆管理系统栈200来操作,除了车辆管理系统栈250可以将各种数据或指令传递给车辆安全和撞击避免系统252而不是dbw系统/控制单元220。例如,在图2b中所示的车辆管理系统栈250和车辆安全和撞击避免系统252的配置可以在非自主式车辆中使用。

在各个实施例中,行为规划和预测层216和/或传感器融合和rwm管理层212可以向车辆安全和撞击避免系统252输出数据。例如,传感器融合和rwm管理层212可以输出传感器数据作为被提供给车辆安全和撞击避免系统252的、车辆100的经细化的位置和状态信息的一部分。车辆安全和撞击避免系统252可以使用车辆100的经细化的位置和状态信息来作出关于车辆100和/或车辆100的乘员的安全确定。作为另一示例,行为规划和预测层216可以将与其它车辆的运动相关的行为模型和/或预测输出到车辆安全和撞击避免系统252。车辆安全和撞击避免系统252可以使用与其它车辆的运动相关的行为模型和/或预测来作出与车辆100和/或车辆100的乘员相关的安全决定。

在各个实施例中,车辆安全和撞击避免系统252可以包括以下功能:执行安全检查或监督各种命令、规划、或者可能影响车辆和乘员安全的各个层的其它决策以及人类驾驶员动作。在一些实施例中,各种安全参数可以被存储在存储器中,并且车辆安全和撞击避免系统252可以将所确定的值(例如,与附近车辆的相对间距、与道路中心线的距离等)与对应的安全参数进行比较,并且在安全参数被违反或将被违反时发出警告或命令。例如,车辆安全和撞击避免系统252可以进行以下操作:确定另一车辆(由传感器融合和rwm管理层212细化的)与该车辆之间的当前或未来的间隔距离(例如,基于由传感器融合和rwm管理层212细化的世界模型);将该间隔距离与被存储在存储器中的安全间隔距离参数进行比较;以及如果当前或预测的间隔距离违反安全间隔距离参数,则向驾驶员发出指令以加速、减速或转弯。作为另一示例,车辆安全和撞击避免系统252可以将人类驾驶员对方向盘角度的改变与安全车轮角度限制或参数进行比较,并且响应于方向盘角度超过安全车轮角度限制而发出覆写命令和/或警报。

图3示出了适于在车辆中实现各个实施例的处理设备片上系统(soc)300的示例soc架构。参考图1a-3,处理设备soc300可以包括多个异构处理器,诸如数字信号处理器(dsp)303、调制解调器处理器304、图像和对象识别处理器306、移动显示处理器307、应用处理器308以及资源和功率管理(rpm)处理器317。处理设备soc300还可以包括连接到异构处理器303、304、306、307、308、317中的一者或多者的一个或多个协处理器310(例如,向量协处理器)。这些处理器中的每个处理器可以包括一个或多个核、以及独立/内部时钟。每个处理器/核可以独立于其它处理器/核来执行操作。例如,处理设备soc300可以包括执行第一类型的操作系统(例如,freebsd、linux、osx等)的处理器和执行第二类型的操作系统(例如,microsoftwindows)的处理器。在一些实施例中,应用处理器308可以是soc300的主处理器、中央处理单元(cpu)、微处理器单元(mpu)、算术逻辑单元(alu)等。图形处理器306可以是图形处理单元(gpu)。

处理设备soc300可以包括模拟电路和定制电路314,其用于管理传感器数据、模数转换、无线数据传输,以及用于执行其它专门操作,诸如对经编码的音频和视频信号进行处理以在网页浏览器中呈现。处理设备soc300还可以包括系统组件和资源316,诸如电压调节器、振荡器、锁相环、外围桥接器、数据控制器、存储器控制器、系统控制器、接入端口、定时器、以及用于支持在计算设备上运行的处理器和软件客户端(例如,网页浏览器)的其它类似组件。

处理设备soc300还包括用于相机致动和管理(cam)305的专用电路,其包括、提供、控制和/或管理一个或多个相机122、136(例如,主相机、网络相机、3d相机等)的操作、来自相机固件、图像处理、视频预处理、视频前端(vfe)、内嵌jpeg、高清视频编解码器等的视频显示数据。cam305可以是独立的处理单元和/或包括独立或内部时钟。

在一些实施例中,图像和对象识别处理器306可以被配置有处理器可执行指令和/或专用硬件,其被配置为执行在各个实施例中涉及的图像处理和对象识别分析。例如,图像和对象识别处理器306可以被配置为执行对经由cam305从相机(例如,122、136)接收的图像进行处理的操作以辨识和/或识别其它车辆,以及以其它方式执行如所描述的相机感知层204的功能。在一些实施例中,处理器306可以被配置为对雷达或激光雷达数据进行处理并且执行如所描述的雷达感知层202的功能。

系统组件和资源316、模拟和定制电路314和/或cam305可以包括与外围设备(诸如,相机122、136、雷达132、激光雷达138、电子显示器、无线通信设备、外部存储器芯片等等)对接的电路。处理器303、304、306、307、308可以经由互连/总线模块324互连到一个或多个存储器元件312、系统组件和资源316、模拟和定制电路314、cam305以及rpm处理器317,互连/总线模块324可以包括可重新配置逻辑门阵列和/或实现总线架构(例如,coreconnect、amba等)。通信可以由高级互连提供,诸如高性能片上网络(noc)。

处理设备soc300还可以包括输入/输出模块(未示出),其用于与在soc外部的资源(诸如时钟318和电压调节器320)进行通信。在soc外部的资源(例如,时钟318、电压调节器320)可以由内部soc处理器/核(例如,dsp303、调制解调器处理器304、图形处理器306、应用处理器308等)中的两者或更多者共享。

在一些实施例中,处理设备soc300可以被包括在用于在车辆(例如,100)中使用的控制单元(例如,140)中。控制单元可以包括用于与如所描述的电话网络(例如,180)、互联网和/或网络服务器(例如,184)进行通信的通信链路。

处理设备soc300还可以包括适于从传感器收集传感器数据的额外硬件和/或软件组件,这些传感器包括运动传感器(例如,imu的加速计和陀螺仪)、用户界面元件(例如,输入按钮、触摸屏显示器等)、麦克风阵列、用于监测物理条件(例如,位置、方向、运动、朝向、振动、压力等)的传感器、相机、指南针、gps接收机、通信电路(例如,wlan、wifi等)、以及现代电子设备的其它公知组件。

图4示出了根据各个实施例的广播意图消息的方法400。参考图1a-4,方法400可以在车辆(例如,100)的处理器(例如,164)、处理设备(例如,300)和/或控制单元(例如,104)(以不同方式被称为“处理器”)中实现。在一些实施例中,方法400可以由车辆管理系统栈(诸如车辆管理栈200、车辆管理栈250等)内的一个或多个层来执行。在其它实施例中,方法400可以由处理器独立于但结合车辆控制系统栈(诸如车辆管理栈200、车辆管理栈250等)来执行。例如,方法400可以作为独立的软件模块或在专用硬件内实现,该专用硬件监测来自车辆管理系统栈(例如,车辆管理栈200、250等)/在车辆管理系统栈内的数据和命令,并且被配置为如所描述地采取行动并且存储数据。

在框402中,处理器可以确定用于车辆的运动规划。在各个实施例中,运动规划可以包括位置以及关于预期该位置如何随时间改变的指示。在一些实施例中,运动规划可以包括轨迹。自主式或半自主式车辆可以知晓其当前位置以及该自主式或半自主式车辆可以采取以在下一时间处到达下一位置的方向和/或下一个动作。例如,自主式车辆可以具有从当前点到达下一个点的轨迹。在各个实施例中,运动规划可以包括轨迹以及与车辆和/或车辆所有者和/或操作者相关联的一个或多个车辆描述符。例如,车辆描述符可以包括车辆的传感器可感知属性,诸如车辆颜色、车辆牌照号码、车辆尺寸等。作为另外的示例,车辆描述符可以包括车辆物理能力,诸如车辆类型、车辆转弯半径、车辆最高速度、车辆最大加速度等。作为又一示例,车辆描述符可以包括车辆位置属性,诸如车辆的纬度和经度、在坐标平面中车辆距已知地标的距离和/或针对其的朝向等。在一些实施例中,运动规划可以包括对在特定时间处的预期下一位置的指示。在一些实施例中,运动规划可以包括运动向量。在一些实施例中,运动规划可以包括对用于确定所指示的位置的坐标平面的指示。在各个实施例中,运动规划可以描述发送该运动规划的车辆的特征,诸如其尺寸、朝向、颜色、车辆类型等。在各个实施例中,运动规划可以指示发送该运动规划的车辆的速度、发送该运动规划的车辆的朝向、发送该运动规划的车辆的加速度、或者发送该运动规划的车辆的任何其它状态信息。在各个实施例中,运动规划可以指示车辆的未来动作(或意图),诸如“在五秒后打开左转向灯”、“在两秒后右转”、“在一百英尺后刹车”、或者与驾驶相关的任何其它类型的动作或意图。

在框404中,处理器可以至少部分地基于所确定的运动规划来生成意图消息。在各个实施例中,意图消息可以包括广播该意图消息的车辆的标识符、广播该意图消息的车辆的当前位置、广播该意图消息的车辆的运动规划和/或与广播该意图消息的车辆相关的其它数据。

在框406中,处理器可以广播意图消息。在各个实施例中,意图消息可以是诸如通过c-v2x传输模式从自主式车辆广播的。在各个实施例中,意图消息可以是周期性地(诸如以设定的时间间隔)、响应于广播车辆的意图的改变等来广播的。

图5示出了根据各个实施例的从经广播的意图消息中提取运动规划的方法500。参考图1a-5,方法500可以在车辆(例如,100)的处理器(例如,164)、处理设备(例如,300)和/或控制单元(例如,104)(以不同方式被称为“处理器”)中实现。在一些实施例中,方法500可以由车辆管理系统栈(诸如车辆管理栈200、车辆管理栈250等)内的一个或多个层来执行。在其它实施例中,方法500可以由处理器独立于但结合车辆控制系统栈(诸如车辆管理栈200、车辆管理栈250等)来执行。例如,方法500可以作为独立的软件模块或在专用硬件内实现,该专用硬件监测来自车辆管理系统栈(例如,车辆管理栈200、250等)/在车辆管理系统栈内的数据和命令,并且被配置为如所描述地采取行动并且存储数据。在各个实施例中,方法500的操作可以结合方法400(图4)的操作来执行。

在框502中,处理器可以接收意图消息。在各个实施例中,经广播的意图消息可以由在广播这种意图消息的车辆的传输范围内的任何车辆接收。在各个实施例中,意图消息可以是经由c-v2x传输从广播车辆接收的。

在框504中,处理器可以对意图消息进行解析以识别发送该意图消息的自主式(或半自主式)车辆(“发送车辆”)以及用于该发送车辆的运动规划。在各个实施例中,诸如自主式车辆、半自主式车辆、非自主式车辆等的车辆可以对所接收的意图消息进行解析以确定广播车辆的标识符、意图消息的当前位置、以及运动规划、和/或在意图消息内指示的任何其它信息。在各个实施例中,运动规划可以包括轨迹以及与车辆和/或车辆所有者和/或操作者相关联的一个或多个车辆描述符。例如,车辆描述符可以包括车辆的传感器可感知属性,诸如车辆颜色、车辆牌照号码、车辆尺寸等。作为另外的示例,车辆描述符可以包括车辆物理能力,诸如车辆类型、车辆转弯半径、车辆最高速度、车辆最大加速度等。作为又一示例,车辆描述符可以包括车辆位置属性,诸如车辆的纬度和经度、在坐标平面中车辆距已知地标的距离和/或针对其的朝向等。

在框506中,处理器可以发送用于发送车辆的运动规划。在各个实施例中,可以向接收车辆的各种硬件和软件组件提供广播车辆的标识符、意图消息的当前位置、以及运动规划、和/或在意图消息内指示的任何其它信息。例如,广播车辆的标识符、意图消息的当前位置、运动规划、和/或在意图消息内指示的任何其它信息可以被存储在接收车辆上的一个或多个存储器位置中,可以被发送给车辆管理系统栈的一个或多个层,等等。

在框508中,处理器可以至少部分地基于运动规划来控制车辆。在例如,使用广播车辆的标识符、意图消息的当前位置、运动规划、和/或在意图消息内指示的任何其它信息,车辆管理系统栈可以控制车辆的操作。在各个实施例中,车辆管理系统栈的一个或多个各种层可以使用运动规划来增强各种决策作出和/或自主式驾驶操作。作为示例,所接收的运动规划可以被车辆管理系统栈用于:传感器融合处理;行为预测;行为规划;运动规划;位置定位;和/或在自主式车辆之间分担安全操作的责任。作为具体示例,运动规划可以用于在本文中描述的各种实施例方法(例如,方法400(图4)、方法500(图5)、方法600(图6)、方法700(图7)、方法800(图8a)、方法850(图8b)、方法900(图9)和/或方法1000(图10))中控制车辆的操作。

图6示出了根据各个实施例的在传感器感知操作中使用经广播的运动规划的方法600。参考图1a-6,方法600可以在车辆(例如,100)的处理器(例如,164)、处理设备(例如,300)和/或控制单元(例如,104)(以不同方式被称为“处理器”)中实现。在一些实施例中,方法600可以由车辆管理系统栈(诸如车辆管理栈200、车辆管理栈250等)内的一个或多个层来执行。例如,方法600的一些或全部操作可以作为在相机感知层204和/或雷达感知层202内实现的感知功能的一部分来执行。在其它实施例中,方法600可以由处理器独立于但结合车辆管理系统栈(诸如车辆管理栈200、车辆管理栈250等)来执行。例如,方法600可以作为独立的软件模块或在专用硬件内实现,该专用硬件监测来自车辆管理系统栈(例如,车辆管理系统栈200、250等)/在车辆管理系统栈内的数据和命令,并且被配置为如所描述地采取行动并且存储数据。在各个实施例中,方法600的操作可以结合方法400(图4)和/或方法500(图5)的操作来执行。在各个实施例中,方法600的操作可以是用于至少部分地基于运动规划来控制车辆的示例操作。

在框602中,处理器可以接收运动规划。可以用各种方式来接收运动规划,诸如在从另一组件接收的消息中接收,从用于存储运动规划的存储器位置(例如,高速缓存器等)中检索运动规划,响应于针对运动规划的请求,等等。在各个实施例中,运动规划可以包括轨迹以及与车辆和/或车辆所有者和/或操作者相关联的一个或多个车辆描述符。例如,车辆描述符可以包括车辆的传感器可感知属性,诸如车辆颜色、车辆牌照号码、车辆尺寸等。作为另外的示例,车辆描述符可以包括车辆物理能力,诸如车辆类型、车辆转弯半径、车辆最高速度、车辆最大加速度等。作为又一示例,车辆描述符可以包括车辆位置属性,诸如车辆的纬度和经度、在坐标平面中车辆距已知地标的距离和/或针对其的朝向等。

在框604中,处理器可以至少部分地基于所接收的运动规划来确定用于车辆的预期感兴趣区域。能够关注于在数据中在车辆周围的空间中的特定感兴趣区域(因为预期对象(诸如运动规划广播车辆)在该感兴趣区域中)可以提高对该车辆的检测的速度(当与将该数据作为整体进行分析相比时)。在各个实施例中,运动规划可以用于确定要应用于原始传感器数据以在该原始传感器数据中感知车辆的感兴趣区域。

在框606中,处理器可以至少部分地基于所接收的运动规划来选择检测算法。在一些实施例中,运动规划可以用于选择和/或修改用于在原始传感器数据中感知车辆的算法。例如,与在预期运动规划广播车辆垂直于接收车辆时相比,在预期运动规划广播车辆与接收车辆迎面相对时,可以使用不同的算法。作为另外的示例,根据运动规划是否指示预期广播车辆在给定空间中,可以使用不同的检测门限。作为特定示例,在没有运动规划的情况下,接收车辆可能仅报告以90%置信度通过的检测,而在具有运动规划的情况下,接收车辆可以报告在与运动规划相关联的感兴趣区域中以50%置信度通过的检测。框606可以是可选的,因为在一些实施例中检测算法可以不改变。

在框608中,处理器可以接收传感器数据。传感器数据可以是从一个或多个传感器(诸如相机、lidar、雷达等)接收的原始传感器数据。

在框610中,处理器可以将检测算法应用于在预期感兴趣区域处的传感器数据以在传感器数据中检测车辆。传感器感知可以包括用于控制传感器在感兴趣区域中留意何处以确认检测到对象(诸如另一车辆)的操作。指示车辆描述符(其是传感器可感知属性)的运动规划可以使得车辆管理系统能够使一个或多个传感器关注于特定的传感器可感知属性,诸如提示图像传感器寻找特定的车辆颜色、车辆尺寸等。与将传感器数据作为整体进行分析相比,这可以提高传感器和车辆管理系统对该其它车辆的检测的速度。在一些实施例中,车辆管理系统可以使用运动规划来确认是否在原始传感器数据中感知到特定车辆。例如,在原始传感器数据中检测到作为车辆描述符(例如,车辆的颜色、车辆的牌照号码等)被包括在运动规划中的车辆的传感器可感知属性可以确认发送运动规划的车辆是车辆传感器在感兴趣区域中感知到的车辆。

在框612中,处理器可以发送车辆检测传感器数据。例如,车辆检测传感器数据可以被发送给传感器融合和rwm管理层212。

图7示出了根据各个实施例的在传感器融合操作中使用经广播的运动规划的方法700。参考图1a-7,方法700可以在车辆(例如,100)的处理器(例如,164)、处理设备(例如,300)和/或控制单元(例如,104)(以不同方式被称为“处理器”)中实现。在一些实施例中,方法700可以由车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)内的一个或多个层来执行。例如,方法700的一些或全部操作可以作为在传感器融合和rwm管理层212内实现的传感器融合功能的一部分来执行。在其它实施例中,方法700可以由处理器独立于但结合车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)来执行。例如,方法700可以作为独立的软件模块或在专用硬件内实现,该专用硬件监测来自车辆管理系统栈(例如,车辆管理系统栈200、250等)/在车辆管理系统栈内的数据和命令,并且被配置为如所描述地采取行动并且存储数据。在各个实施例中,方法700的操作可以结合方法400(图4)、方法500(图5)和/或方法600(图6)的操作来执行。在各个实施例中,方法700的操作可以是用于至少部分地基于运动规划来控制车辆的示例操作。

在框702中,处理器可以接收运动规划。可以用各种方式来接收运动规划,例如在从另一组件接收的消息中接收,从用于存储运动规划的存储器位置(例如,高速缓存器等)中检索运动规划,响应于针对运动规划的请求,等等。在各个实施例中,运动规划可以包括轨迹以及与车辆和/或车辆所有者和/或操作者相关联的一个或多个车辆描述符。例如,车辆描述符可以包括车辆的传感器可感知属性,诸如车辆颜色、车辆牌照号码、车辆尺寸等。作为另外的示例,车辆描述符可以包括车辆物理能力,诸如车辆类型、车辆转弯半径、车辆最高速度、车辆最大加速度等。作为又一示例,车辆描述符可以包括车辆位置属性,诸如车辆的纬度和经度、在坐标平面中车辆距已知地标的距离和/或针对其的朝向等。

在框704中,处理器可以接收车辆检测传感器数据。例如,处理器可以从相机感知层204和/或雷达感知层202接收车辆检测传感器数据。

在框706中,处理器可以至少部分地基于所接收的用于相关联的车辆的运动规划来将车辆检测传感器数据与该车辆进行关联。在各个实施例中,至少部分地基于所接收的用于相关联的车辆的运动规划来将车辆检测传感器数据与该车辆进行关联可以包括:用于对传感器数据进行组合和关联并且将该传感器数据与被跟踪对象进行关联的操作。运动规划可以改善车辆管理系统的传感器融合层的数据关联和跟踪操作的性能。车辆管理系统可以使用运动规划来确定如何将环境中的其它车辆的所有原始检测融合在一起。例如,基于针对车辆所广播的运动规划,可以使得接收车辆能够确定雷达检测、lidar检测和相机检测实际上都是同一车辆,因为这些检测都与用于该车辆的运动规划相关,而不是将这三个检测视为单独的车辆。作为特定示例,接收车辆的不同传感器肯定地识别在所接收的运动规划中包括的车辆的一个或多个传感器可感知属性可以确认传感器正在检测到发送该运动规划的车辆。此外,运动规划可以使得接收车辆能够确定那些车辆检测将一起演变。用于将车辆检测与运动规划进行比较的能力可以使得能够丢弃异常测量。例如,被跟踪车辆的运动规划指示其打算停留在当前车道中可以使得与该车道不对应的检测能够与新对象(而不是先前跟踪的车辆)相关联。运动规划的存在可以减少传感器融合操作中的不确定性。可以将来自感知层的噪声检测与运动规划中的基本轨迹进行比较,以给出针对传感器融合操作的提高的确定性。

在框708中,处理器可以发送经组合的车辆检测传感器数据。例如,处理器可以将经组合的车辆检测传感器数据发送给行为规划和预测层216、车辆安全和撞击避免系统252、和/或运动规划和控制层214。

图8a示出了根据各个实施例的在行为预测操作中使用经广播的运动规划的方法800。参考图1a-8a,方法800可以在车辆(例如,100)的处理器(例如,164)、处理设备(例如,300)和/或控制单元(例如,104)(以不同方式被称为“处理器”)中实现。在一些实施例中,方法800可以由车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)内的一个或多个层来执行。例如,方法800的一些或全部操作可以作为在行为规划和预测层216内实现的行为预测功能的一部分来执行。在其它实施例中,方法800可以由处理器独立于但结合车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)来执行。例如,方法800可以作为独立的软件模块或在专用硬件内实现,该专用硬件监测来自车辆管理系统栈(例如,车辆管理系统栈200、250等)/在车辆管理系统栈内的数据和命令,并且被配置为如所描述地采取行动并且存储数据。在各个实施例中,方法800的操作可以结合方法400(图4)、方法500(图5)、方法600(图6)和/或方法700(图7)的操作来执行。在各个实施例中,方法800的操作可以是用于至少部分地基于运动规划来控制车辆的示例操作。

在框802中,处理器可以识别被跟踪车辆。例如,处理器可以基于来自传感器融合和rwm管理层212的数据来选择当前在环境中感知到的被跟踪车辆列表中的下一个被跟踪车辆。

在确定框804中,处理器可以确定是否已经接收到用于被跟踪车辆的运动规划。例如,处理器可以将被跟踪车辆标识符与被存储在存储器中的运动规划的标识符进行比较以确定是否已经接收到用于被跟踪车辆的运动规划。在一些实施例中,当接收到运动规划时,运动规划可以包括反映发送运动规划的车辆的车辆物理能力的车辆描述符。

响应于确定尚未接收到运动规划(即,确定框804=“否”),在框808中,处理器可以确定行为预测。以这种方式,即使没有接收到意图消息,处理器也可以通过确定行为预测来恢复到使车辆完全负责对世界的状态的完全推断。按照与参考方法800(图8a)的框804和808描述的类似方式,本文描述的其它实施例方法(例如,方法400(图4)、方法500(图5)、方法600(图6)、方法700(图7)、方法900(图9)和/或方法1000(图10))可以可选地包括以下操作:基于一个或多个可用的运动规划有条件地采取行动(和/或作出确定)(当此类经广播的运动规划可用时);以及当未收到此类经广播的运动规划时默认其它动作(和/或作出其它确定)。在各个实施例中,例如,当没有接收到意图消息(或运动规划)时,处理器可以恢复到使得车辆完全负责对世界的状态的完全推断以使得能够采取动作(和/或作出确定)。

响应于确定已经接收到运动规划(即,确定框804=“是”),在框806中,处理器可以基于所接收的运动规划来设置行为预测。由车辆广播的运动规划的存在可以使得接收该运动规划的车辆能够以已知的确定性来预测该车辆的行为。运动规划和位置的好处可以是运动规划可以被视为该车辆的预测行为。这种行为预测的确定性可以通过精确地知晓针对广播其各自的运动规划的周围车辆的行为/轨迹预测来降低pomdp的维度。共享运动规划可以导致在没有不确定性的情况下的行为预测。此外,知晓车辆的预期运动可以消除对于估计车辆的运动的需求,从而减少与行为预测相关联的计算资源。此外,包括反映发送运动规划的车辆的车辆物理能力的车辆描述符的运动规划可以通过将发送车辆的可能行为限制为在该车辆的能力内的那些行为来减小针对车辆行为模型内的行为规划搜索的可能性空间。例如,在运动规划中指示的车辆类型可以用于基于与该车辆类型相关联的最大速度或加速度来约束该车辆的最大速度或加速度。作为另一示例,在运动规划中指示的车辆的转弯半径可以用于将发送该运动规划的车辆的潜在转弯路径限制在所指示的转弯半径内。

在可选框810中,处理器可以将行为预测指示为具有高确定性。例如,当广播车辆在其运动规划中肯定地指示其意图并且行为预测被设置为所指示的意图时,确定性可以是高的。

在各个实施例中,基于广播车辆的运动规划的行为预测可以用于具有高度确定性的行为规划和/或运动规划。在各个实施例中,行为规划层可以向运动规划层提供高级别驾驶目标。运动规划层可以负责实际规划轨迹以执行该高级别操纵,并且运动规划层可以负责确保执行该轨迹的安全性。由环境中的另一车辆广播的运动规划的存在可以使得运动规划层能够执行较少的碰撞检查,因为该广播车辆的运动的预测是确定性地已知的。碰撞检查通常是快速运动规划的瓶颈,因此较少的检查可以大大地加速总体自主式驾驶算法。

图8b示出了根据各个实施例的在行为预测操作中使用经广播的运动规划的方法850。参考图1a-8b,方法850可以在车辆(例如,100)的处理器(例如,164)、处理设备(例如,300)和/或控制单元(例如,104)(以不同方式被称为“处理器”)中实现。在一些实施例中,方法850可以由车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)内的一个或多个层来执行。例如,方法850的一些或全部操作可以作为在行为规划和预测层216内实现的行为预测功能的一部分来执行。在其它实施例中,方法850可以由处理器独立于但结合车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)来执行。例如,方法850可以作为独立的软件模块或在专用硬件内实现,该专用硬件监测来自车辆管理系统栈(例如,车辆管理系统栈200、250等)/在车辆管理系统栈内的数据和命令,并且被配置为如所描述地采取行动并且存储数据。在各个实施例中,方法850的操作可以结合方法400(图4)、方法500(图5)、方法600(图6)和/或方法700(图7)的操作来执行。在各个实施例中,方法850的操作可以是用于至少部分地基于所接收的运动规划来控制车辆的示例操作。

在框802、804、806、808和810中,处理器可以执行上述方法800(图8a)的类似编号的框的类似操作。

在确定框852中,处理器可以确定被跟踪的其它车辆的行为是否符合行为规划和预测层216的行为预测。例如,处理器可以将与被跟踪车辆相关联的传感器数据与行为规划和预测层的行为预测进行比较,以确定被跟踪车辆是否处于每个行为预测的预期位置。指示被跟踪车辆位于预期位置的传感器数据可以指示被跟踪车辆的行为符合行为预测。指示被跟踪车辆未处于预期位置的传感器数据可以指示被跟踪车辆的行为不符合行为预测。

响应于确定行为符合行为预测(即,确定框852=“是”),处理器可以继续监测被跟踪车辆的行为,并且在确定框852中持续地或周期性地确定行为是否符合行为预测。以此方式,处理器可以重复地检查被跟踪车辆的不符合行为。

响应于确定行为不符合行为预测(即,确定框852=“否”),在框854中,处理器可以基于所接收的运动规划中的信息来更新行为预测或车辆行为模型。在各个实施例中,接收由车辆广播的运动规划(包括反映发送该运动规划的车辆的车辆物理能力的车辆描述符)可以减少在车辆偏离行为预测之后由车辆行为模型或在车辆行为模型内针对行为规划搜索的可能性空间。响应于确定车辆的行为不符合行为预测,可以至少部分地基于所接收的运动规划中的信息来对针对该车辆的行为预测或车辆行为模型进行更新。例如,在所接收的运动规划中识别的车辆物理能力可以被车辆行为模型使用或在车辆行为模型内使用,以将车辆的可能的未来行为从pomdp坍缩为mdp分析,在mdp分析中存在大量适于在线和实时操作的求解。例如,在运动规划中指示的车辆类型可以用于约束车辆行为模型中使用的车辆的最大速度或加速度,车辆行为模型然后用于基于与该车辆类型相关联的最大速度或加速度来更新行为预测。作为另一示例,在运动规划中指示的车辆的转弯半径可以在车辆行为模型中使用以将发送运动规划的车辆的潜在转弯路径限制在更新行为预测时使用的所指示的转弯半径内。

图9示出了根据各个实施例的在位置定位操作中使用经广播的运动规划的方法900。参考图1a-9,方法900可以在车辆(例如,100)的处理器(例如,164)、处理设备(例如,300)和/或控制单元(例如,104)(以不同方式被称为“处理器”)中实现。在一些实施例中,方法900可以由车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)内的一个或多个层来执行。例如,方法900的一些或全部操作可以作为在地图融合和仲裁层208内实现的定位功能的一部分来执行。在其它实施例中,方法900可以由处理器独立于但结合车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)来执行。例如,方法900可以作为独立的软件模块或在专用硬件内实现,该专用硬件监测来自车辆管理系统栈(例如,车辆管理系统栈200、250等)/在车辆管理系统栈内的数据和命令,并且被配置为如所描述地采取行动并且存储数据。在各个实施例中,方法900的操作可以结合方法400(图4)、方法500(图5)、方法600(图6)、方法700(图7)、方法800(图8a)和/或方法850(图8b)的操作来执行。在各个实施例中,方法900的操作可以是用于至少部分地基于运动规划来控制车辆的示例操作。

在框902中,处理器可以接收一个或多个运动规划。可以用各种方式来接收运动规划,诸如在从另一组件接收消息中接收,从用于存储运动规划的存储器位置(例如,高速缓存器等)中检索运动规划,响应于针对运动规划的请求,等等。在各个实施例中,运动规划可以包括如上所述的轨迹以及与车辆和/或车辆所有者和/或操作者相关联的一个或多个车辆描述符。

在框904中,处理器可以基于其它车辆各自的运动规划来确定它们的位置。在各个实施例中,由车辆广播的意图消息和/或运动规划可以指示在坐标平面(诸如局部和/或全局坐标平面)中那些车辆距已知地标的距离和/或针对其的朝向。例如,运动规划可以在车辆位置属性类型车辆描述符中指示在坐标平面(诸如局部和/或全局坐标平面)中发送车辆距已知地标的距离和/或针对其的朝向。处理器可以针对广播运动规划的其它车辆,基于它们各自的运动规划来确定位置和/或距已知地标的相对距离,以确定其它车辆的位置。

在确定框906中,处理器可以确定车辆本身位置与其它车辆位置之间的比较是否指示误差。从广播车辆接收指示的车辆(诸如自主式车辆、半自主式车辆、非自主式车辆等)可以将其对那些广播车辆的观察以及它们相对于已知地标的位置与在意图消息和/或运动规划中距已知地标的距离进行比较,以协助对接收车辆的定位。例如,接收车辆可以将其自己的观察与在运动规划中的那些观察进行比较,以确定在其观察与在运动规划中的那些观察之间是否存在误差或偏移。在其观察与在运动规划中的那些观察之间的误差或偏移可以向接收车辆指示其错误地定位了其相应的当前位置。作为特定示例,两个不同的自主式车辆都可以广播它们各自的运动规划并且那些运动规划可以由接收车辆接收。在这两个运动规划中对地标的观察可以匹配,但可能与接收车辆对同一地标的观察不同。不同运动规划中的两个观察的一致以及它们与接收车辆的观察的不同可以指示接收车辆错误地定位了其位置。

响应于没有指示误差(即,确定框906=“否”),在框902中,处理器可以继续接收运动规划。

响应于在车辆本身位置与其它车辆位置之间的比较指示误差(即,确定框906=“是”),在框908中,处理器可以触发对车辆本身位置的重新计算。

图10示出了根据各个实施例的使用经广播的动作规划来分担安全操作的责任的方法1000。参考图1a-10,方法1000可以在车辆(例如,100)的处理器(例如,164)、处理设备(例如,300)和/或控制单元(例如,104)以不同方式被称为“处理器”)中实现。在一些实施例中,方法1000可以由车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)内的一个或多个层来执行。例如,方法1000的一些或全部操作可以作为在运动规划和控制层214内实现的安全功能的一部分来执行。在其它实施例中,方法1000可以由处理器独立于但结合车辆管理系统栈(诸如车辆管理系统栈200、车辆管理系统栈250等)来执行。例如,方法1000可以作为独立的软件模块或在专用硬件内实现,该专用硬件监测来自车辆管理系统栈(例如,车辆管理系统栈200、250等)/在车辆管理系统栈内的数据和命令,并且被配置为如所描述地采取行动并且存储数据。例如,方法1000的一些或全部操作可以作为在车辆安全和撞击避免系统252内实现的安全功能的一部分来执行。在各个实施例中,方法1000的操作可以结合方法400(图4)、方法500(图5)、方法600(图6)、方法700(图7)、方法800(图8)和/或方法900(图9)的操作来执行。在各个实施例中,方法1000的操作可以是用于至少部分地基于所接收的运动规划来控制车辆的示例操作。

在框1002中,处理器可以接收运动规划。可以用各种方式来接收运动规划,诸如在从另一组件接收的消息中接收,从用于存储运动规划的存储器位置(例如,高速缓存器等)中检索运动规划,响应于针对运动规划的请求,等等。在各个实施例中,运动规划可以包括如上所述的轨迹以及与车辆和/或车辆所有者和/或操作者相关联的一个或多个车辆描述符。

在确定框1006中,处理器可以确定运动规划是否是不安全的。例如,接收车辆可以检测到将导致广播车辆的运动规划不安全的对象,即使广播车辆尚未感测或以其它方式观察到该对象。作为响应,接收车辆可以确定运动规划是不安全的。

响应于确定运动规划是安全的(即,确定框1006=“否”),在框1010中,处理器可以不采取动作。

响应于确定运动规划是不安全的(即,确定框1006=“是”),在框1008中,处理器可以向其它车辆发送安全警告。警告可以包括对导致运动规划不安全的对象的观察。

示出和描述的各个实施例仅是作为示例来提供的,以说明权利要求的各个特征。然而,关于任何给定实施例示出和描述的特征不一定限于相关联的实施例,并且可以与示出和描述的其它实施例一起使用或进行组合。此外,权利要求并不旨在受到任何一个示例实施例的限制。

前述方法描述和过程流程图仅是作为说明性示例来提供的,并非旨在要求或暗示各个实施例的框必须以所给出的次序来执行。如本领域技术人员将明白的,前述实施例中的框的次序可以以任何次序来执行。诸如“其后”、“然后”、“接着”等的词语并非旨在限制框的次序;这些词语仅用于引导读者通读对方法的描述。此外,例如使用冠词“一”、“一个”或“所述”以单数形式对权利要求元素的任何引用不应被解释为将该元素限制为单数。

结合本文公开的实施例所描述的各个说明性逻辑框、模块、电路和算法框可以被实现成电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,上文已经围绕各个说明性组件、框、模块、电路和块的功能,对它们进行了总体描述。至于这种功能是实现为硬件还是软件,取决于特定应用和被施加在总体系统上的设计约束。本领域技术人员可以针对每种特定应用以变化的方式来实现所描述的功能,但是这种实施例决策不应当被解释为造成脱离各个实施例的范围。

可以利用被设计为执行本文所描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或者其任何组合来实现或执行用于实现结合本文公开的实施例所描述的各个说明性逻辑单元、逻辑框、模块和电路的硬件。通用处理器可以是微处理器,但是在替代方式中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、或者任何其它此种配置。替代地,一些框或方法可以由特定于给定功能的电路系统来执行。

在各个实施例中,所描述的功能可以用硬件、软件、固件或其任何组合来实现。如果用软件来实现,则所述功能可以作为一个或多个指令或代码被存储在非暂时性计算机可读介质或非暂时性处理器可读介质上。本文所公开的方法或算法的操作可以体现在处理器可执行软件模块中,处理器可执行软件模块可以驻留在非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质可以是可由计算机或处理器存取的任何存储介质。通过举例而非限制性的方式,这样的非暂时性计算机可读或处理器可读介质可以包括ram、rom、eeprom、闪存、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于以指令或数据结构的形式存储期望的程序代码以及可以由计算机来存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(cd)、激光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光盘,其中磁盘通常磁性地复制数据,而光盘利用激光来光学地复制数据。上述的组合也包括在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令之一或任何组合或集合驻留在非暂时性处理器可读介质和/或计算机可读介质上,这些介质可以被并入到计算机程序产品中。

提供对所公开的实施例的先前描述以使任何本领域技术人员能够实施或使用本文的实施例。对于本领域技术人员来说,对这些实施例的各种修改将是显而易见的,并且在不脱离各实施例的范围的情况下,可以将本文所定义的通用原理应用于其它实施例。因此,各个实施例并非旨在限于本文示出的实施例,而是被赋予与跟随的权利要求和本文所公开的原理和新颖特征相一致的最宽范围。

再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜