用于生成实时地图信息的方法和系统与流程

文档序号:17054731发布日期:2019-03-05 21:02阅读:344来源:国知局
用于生成实时地图信息的方法和系统与流程

本公开总体上涉及自主车辆,并且更具体地涉及用于实时地构建车道图以便控制自主车辆的系统和方法。

自主车辆是一种能够感测其环境并在极少的用户输入或完全没有用户输入的情况下进行导航的车辆。自主车辆采用诸如雷达、激光雷达、图像传感器等感测设备来感测其环境。自主车辆还采用从全球定位系统(gps)技术、导航系统、车辆到车辆通信、车辆到基础设施技术和/或线控系统得到的信息来对车辆进行导航。

车辆自动化程度已经划分成从零到五的数字级别,零级对应于没有自动化的全人工控制,五级对应于无人控制的全自动化。诸如巡航控制系统、自适应巡航控制系统和停车辅助系统之类的各种自动驾驶辅助系统对应于较低的自动化水平,而真正的“无人驾驶”车辆则对应于更高的自动化水平。

尽管近年来在自主车辆方面已经取得了明显的进步,但是这些车辆仍可在许多方面加以改进。例如,在某些情况下,自动驾驶是建立在区域的调查级预先地图绘制的基础上。也就是说,执行区域调查,通过人为干预的方式从调查数据中得出高清晰度地图,并将高清晰度地图传送到车辆以备使用。根据这一过程,不管地图绘制区域从调查时间开始算起是否发生了变化,自主车辆都被限制于该地图绘制区域。

因此,期望提供用于实时地构建包括车道图的地图信息的改进系统和方法。还期望利用所构建的地图信息来控制自主车辆。此外,结合附图以及前述技术领域和

背景技术:
,通过随后的详细描述和所附权利要求,本发明的其他期望的特征和特性将变得显而易见。



技术实现要素:

提供了用于在自主车辆中生成地图信息的系统和方法。在一个实施例中,一种方法包括:接收与自主车辆的环境相关联的图像数据;接收与自主车辆的环境内的检测对象相关联的对象数据;使用深度学习网络对图像数据、对象数据和道路水平信息进行处理,以获得第一地图,其中第一地图处于图像坐标下;利用地理坐标下的第二地图对第一地图进行处理,以生成地图小工具;以及基于地图小工具来控制自主车辆。

在一个实施例中,一种系统包括处理器。该系统还包括第一非暂时性模块,该第一非暂时性模块通过处理器接收与自主车辆的环境相关联的图像数据,并且接收与自主车辆的环境内的检测对象相关联的对象数据;第二非暂时性模块,该第二非暂时性模块通过处理器使用深度学习网络对图像数据、对象数据和道路水平信息进行处理,以获得第一地图,其中第一地图处于图像坐标下;第三非暂时性模块,该第三非暂时性模块通过处理器利用地理坐标下的第二地图对第一地图进行处理,以生成地图小工具;以及第四非暂时性模块,该第四非暂时性模块通过处理器基于地图小工具来控制自主车辆。

附图说明

在下文中,将结合以下附图来描述示例性实施例,其中相同的附图标记表示相同的元件,并且其中:

图1是示出了根据各种实施例的具有实时地图绘制系统的自主车辆的功能框图;

图2是示出了根据各种实施例的具有图1的一辆或多辆自主车辆的交通系统的功能框图;

图3和图4是示出了根据各种实施例的包括自主车辆的实时地图绘制系统的自主驾驶系统的数据流程图;并且

图5和图6是根据各种实施例的示例性中级地图和示例性地图小工具的图示;并且

图7是示出了根据各种实施例的用于实时地构建地图信息并控制自主车辆的控制方法的流程图。

具体实施方式

以下详细描述在本质上仅是示例性的,而并不意欲限制应用和用途。此外,并不意欲由先前技术领域、背景技术、发明内容或以下详细描述中呈现的任何明确或暗示的理论约束。如本文所用,术语“模块”指代任何硬件、软件、固件、电子控制组件、处理逻辑和/或处理器设备(单独地或以任何组合),包括但不限于:专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或群组)和存储器、组合逻辑电路和/或提供所述功能的其他适合组件。

在此可以就功能和/或逻辑框组件以及各种处理步骤来描述本公开的实施例。应了解,这些框组件可以由配置为执行指定功能的任何数量的硬件、软件和/或固件组件来实现。例如,本公开的实施例可以使用各种集成电路组件,例如存储器元件、数字信号处理元件、逻辑元件、查找表等,它们可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。此外,本领域技术人员将了解,本公开的实施例可以结合任何数量的系统来实践,并且在此描述的系统仅是本公开的示例性实施例。

为了简要起见,在此可能并没有详细描述与信号处理、数据传输、信令、控制以及系统(和系统的各个操作组件)的其他功能方面有关的常规技术。此外,本文包含的各个附图中所示的连接线意欲代表各个元件之间的示例性功能关系和/或物理联接。应注意,本公开的实施例中可以存在许多替代或附加的功能关系或物理连接。

参考图1,根据各种实施例,总体上以100示出的实时地图绘制系统与车辆10相关联。一般情况下,实时地图绘制系统100实时地构建地图信息,并且在此基础上智能地控制车辆10。如本文所用,术语“实时”是指在自主车辆处于运行状态下并利用地图信息时或期间。在各种实施例中,由实时地图绘制系统100生成的地图信息包括实时车道图。

如图1所示,车辆10通常包括底盘12、车身14、前轮16和后轮18。车身14布置在底盘12上并且基本上包围车辆10的各部件。车身14和底盘12可以共同形成车架。车轮16-18各自都在靠近车身14的相应角落处可旋转地联接到底盘12上。

在各种实施例中,车辆10是自主车辆,并且本文描述的实时地图绘制系统100结合到自主车辆10(下文中被称为自主车辆10)中。例如,自主车辆10是一种受到自动控制而将乘客从一个位置送到另一个位置的车辆。在所示实施例中,车辆10是描绘为乘用车,但应该理解的是,也可以采用任何其他车辆,包括摩托车、卡车、运动型多功能车(suv)、休闲车(rv)、船舶、飞行器等。在示例性实施例中,自主车辆10对应于所谓的四级或五级自动化系统。四级系统表示“高度自动化”,具体是指:自动驾驶系统所表现出的针对动态驾驶任务的所有方面的驾驶模式特定性能,即使是在人类驾驶员没有对干预请求适当地作出响应的情况下。五级系统表示“全自动化”,具体是指:在驾驶员可以管控的所有道路和环境条件下,自动驾驶系统所表现出的针对动态驾驶任务的所有方面的全时性能。

如图所示,自主车辆10通常包括推进系统20、变速器系统22、转向系统24、制动系统26、传感器系统28、致动器系统30、至少一个数据存储设备32、至少一个控制器34和通信系统36。在各种实施例中,推进系统20可以包括内燃机、诸如牵引电机的电动机和/或燃料电池推进系统。变速器系统22配置为根据可选速比将动力从推进系统20传递到车轮16至18。根据各种实施例,变速器系统22可以包括多级变传动比自动变速器、无级变速器或其他适合的变速器。制动系统26配置为向车轮16至18提供制动扭矩。在各种实施例中,制动系统26可以包括摩擦制动器、线控制动器、诸如电动机的再生制动系统和/或其他适合的制动系统。转向系统24影响车轮16至18的位置。尽管为了说明的目的将其描绘为包括方向盘,但是在一些实施例中,在本公开范围内可以想到的是,转向系统24可以不包括方向盘。

传感器系统28包括感测自主车辆10的外部环境和/或内部环境的可观察状况的一个或多个感测设备40a-40n。感测设备40a-40n可以包括但不限于雷达、激光雷达、全球定位系统、光学相机、热成像相机、超声波传感器、惯性测量单元和/或其他传感器。致动器系统30包括一个或多个致动器设备42a-42n,致动器设备42a-42n控制一个或多个车辆特征,例如但不限于推进系统20、变速器系统22、转向系统24和制动系统26。在各种实施例中,车辆特征可以进一步包括内部和/或外部车辆特征,例如但不限于车门、后备箱以及诸如空气、音乐、照明之类的车厢特征(未编号)。

通信系统36配置为向和从其他实体48(例如但不限于其他车辆(“v2v”通信))、基础设施(“v2i”通信)、远程系统和/或个人设备)无线地传送信息(结合图2更详细地进行描述)。在示例性实施例中,通信系统36是配置为使用ieee802.11标准经由无线局域网(wlan)或通过使用蜂窝数据通信进行通信的无线通信系统。然而,附加的或替代的通信方法(诸如专用短程通信(dsrc)信道)也被认为处于本公开的范围内。dsrc信道是指专门针对汽车用途设计的单向或双向短程至中程无线通信信道,以及相应的一套协议和标准。

数据存储设备32存储用于自动控制自主车辆10的数据。在各种实施例中,数据存储设备32存储可导航环境的定义地图。在各种实施例中,定义地图可以由远程系统预定义并从远程系统获得(结合图2进一步详细描述)。例如,定义地图可以由远程系统组建,并且传送到自主车辆10(无线地和/或以有线方式)并存储在数据存储设备32中。在各种实施例中,定义地图是二维地图。可以理解的是,数据存储设备32可以是控制器34的一部分,与控制器34分离,或者是控制器34的一部分和单独系统的一部分。

控制器34包括至少一个处理器44和计算机可读存储设备或介质46。处理器44可以是任何定制的或商业上可用的处理器、中央处理单元(cpu)、图形处理单元(gpu)、与控制器34相关联的若干处理器中的辅助处理器、基于半导体的微处理器(微芯片或芯片组的形式)、宏处理器、其任何组合或通常用于执行指令的任何设备。例如,计算机可读存储设备或介质46可以包括只读存储器(rom)、随机存取存储器(ram)和不失效存储器(kam)中的易失性和非易失性存储装置。kam是可以用于在处理器44断电时存储各种操作变量的持久性或非易失性存储器。计算机可读存储设备或介质46可以使用许多已知存储器设备中的任何一个来实现,诸如prom(可编程只读存储器)、eprom(电prom)、eeprom(电可擦除prom)、闪存或能够存储数据(其中一些表示由控制器34用于控制自主车辆10的可执行指令)的任何其他电性、磁性、光学或组合存储器设备。

指令可以包括一个或多个单独的程序,其中每一个程序包括用于实现逻辑功能的可执行指令的有序列表。当由处理器44执行时,指令接收并处理来自传感器系统28的信号,执行用于自动控制自主车辆10的各组件的逻辑、计算、方法和/或算法,并且向致动器系统30生成控制信号,从而基于逻辑、计算、方法和/或算法来自动控制自主车辆10的各组件。尽管图1中仅示出了一个控制器34,但是自主车辆10的实施例可以包括任何数量的控制器34,这些控制器34通过任何合适的通信介质或通信介质的组合进行通信,并且相互协作来处理传感器信号,执行逻辑、计算、方法和/或算法,并生成控制信号以自动控制自主车辆10的各特征。

在各种实施例中,控制器34的一个或多个指令体现在实时地图绘制系统100中,并且当由处理器44执行时,使用深度学习技术处理来自传感器系统的传感器数据和/或来自数据存储设备的地图数据,由此产生控制车辆的实时地图信息。

现参考图2,在各种实施例中,结合图1描述的自主车辆10可以适于在特定地理区域(例如,城市、学校或商业园区、购物中心、游乐园、活动中心等)中的出租车或穿梭系统中使用,或者可以仅由远程系统进行管理。例如,自主车辆10可以与基于自主车辆的远程交通系统相关联。图2示出了总体上以50示出的操作环境的示例性实施例,该操作环境包括与结合图1所描述的一辆或多辆自主车辆10a-10n相关联的基于自主车辆的远程交通系统52。在各种实施例中,操作环境50还包括经由通信网络56与自主车辆10和/或远程交通系统52进行通信的一个或多个用户设备54。

通信网络56根据需要在操作环境50所支持的设备、系统和组件之间支持通信(例如,经由有形的通信链路和/或无线通信链路)。例如,通信网络56可以包括无线载波系统60,诸如包括多个蜂窝塔(未示出)、一个或多个移动交换中心(msc)(未示出)以及任何其他将无线载波系统60与陆地通信系统连接起来所需的联网组件的蜂窝电话系统。每个蜂窝塔包括发射和接收天线以及基站,其中来自不同蜂窝塔的基站直接地或经由诸如基站控制器之类的中间设备连接到msc。无线载波系统60可以实现任何合适的通信技术,例如包括,诸如cdma(如cdma2000)、lte(如4glte或5glte)或gsm/gprs的数字技术,或者其他当前的或新兴的无线技术。其他蜂窝塔/基站/msc布置是可能的,并且可以与无线载波系统60一起使用。譬如,基站和蜂窝塔可以共同定位在同一地点,或者它们可以彼此远程地定位,每个基站可以负责单个蜂窝塔,或者单个基站可以服务多个蜂窝塔,并且多个基站可以联接到单个msc,在此仅举几个可能的布置。

除了包括无线载波系统60之外,可以将卫星通信系统64形式的第二无线载波系统包括在内,从而提供与自主车辆10a-10n的单向或双向通信。这可以使用一个或多个通信卫星(未示出)和上行链路发射站(未示出)来完成。单向通信可以包括例如卫星无线电服务,其中节目内容(新闻、音乐等)由发射站接收,打包以供上传,然后再发送到卫星,卫星再向订户广播节目。双向通信可以包括例如使用卫星来中继车辆10与发射站之间的电话通信的卫星电话服务。卫星电话可以用作无线载波系统60的补充或替代。

可以进一步包括陆地通信系统62,该陆地通信系统62是连接到一个或多个陆线电话以及将无线载波系统60连接到远程交通系统52的传统陆基电信网络。例如,陆地通信系统62可以包括公共交换电话网(pstn),诸如用于提供硬连线电话、分组交换数据通信和互联网基础设施的pstn。陆地通信系统62的一个或多个段可以通过使用标准有线网络、光纤或其他光网络、电缆网络、电力线,诸如无线局域网(wlan)的其他无线网络、或者提供宽带无线接入(bwa)的网络、或者其任何组合来实施。此外,远程交通系统52不需要经由陆地通信系统62连接,而是可以包括无线电话设备,从而使其可以与诸如无线载波系统60之类的无线网络直接进行通信。

尽管图2中仅示出了一个用户设备54,但是操作环境50的实施例可以支持任意数量的用户设备54,包括一个人所拥有、操作或使用的多个用户设备54。操作环境50所支持的每个用户设备54可以使用任何合适的硬件平台来实现。就此而言,用户设备54可以实现为任何常见的外形尺寸,包括但不限于:台式计算机;移动计算机(例如,平板电脑、膝上型计算机或上网本计算机);智能电话;视频游戏设备;数字媒体播放器;家庭娱乐设备;数码相机或摄像机;可穿戴计算设备(例如,智能手表、智能眼镜、智能服装);等等。操作环境50所支持的每个用户设备54被实现为计算机实现的或基于计算机的设备,该设备具有执行在此描述的各种技术和方法所需的硬件、软件、固件和/或处理逻辑。例如,用户设备54包括可编程设备形式的微处理器,该微处理器包括存储在内部存储器结构中的并被应用来接收二进制输入以创建二进制输出的一个或多个指令。在一些实施例中,用户设备54包括能够接收gps卫星信号并且基于那些信号生成gps坐标的gps模块。在其他实施例中,用户设备54包括蜂窝通信功能,从而使得该设备使用一个或多个蜂窝通信协议在通信网络56上执行语音和/或数据通信,如在此所讨论的。在各种实施例中,用户设备54包括可视显示器,诸如触摸屏图形显示器或其他显示器。

远程交通系统52包括一个或多个后端服务器系统,这些后端服务器系统可以是基于云的,基于网络的,或者驻留在由远程交通系统52提供服务的特定园区或地理位置处。远程交通系统52可以配备有现场顾问、自动顾问或其组合。远程交通系统52可以与用户设备54和自主车辆10a-10n通信,以安排乘车、派遣自主车辆10a-10n等。在各种实施例中,远程交通系统52存储账户信息,诸如订户认证信息、车辆标识符、简档记录、行为模式和其他相关订户信息。

根据典型的用例工作流程,远程交通系统52的注册用户可以通过用户设备54创建乘车请求。通常,乘车请求将指示出乘客希望的上车位置(或当前gps位置)、期望的目的地位置(其可以识别出预定义的车辆停靠站和/或用户指定的乘客目的地)以及上车时间。远程交通系统52接收乘车请求,对该乘车请求进行处理,并派遣自主车辆10a-10n中的一辆选定自主车辆(当且仅当有一辆自主车辆可用时)在指定的上车地点和适当的时间接走乘客。远程交通系统52还可以生成并向用户设备54发送经过适当配置的确认消息或通知,让乘客知晓车辆正在路上。

可以理解的是,在此公开的主题向所谓的标准或基准自主车辆10和/或基于自主车辆的远程交通系统52提供了某些增强特征和功能。为此,为了提供下面更详细描述的附加特征,自主车辆和基于自主车辆的远程交通系统可以进行修改、增强或补充。

根据各种实施例,控制器34实施如图3所示的自主驾驶系统(ads)70。也就是说,利用控制器34的合适软件和/或硬件组件(例如,处理器44和计算机可读存储设备46)来提供与车辆10相结合地使用的自主驾驶系统70。

在各种实施例中,自主驾驶系统70的指令可以按照功能、模块或系统进行组织。例如,如图3所示,自主驾驶系统70可以包括计算机视觉系统74、定位系统76、引导系统78以及车辆控制系统80。可以理解的是,在各种实施例中,由于本公开并不局限于本示例,因此可以将指令组织成任何数量的系统(例如,进行组合、进一步划分等)。

在各种实施例中,计算机视觉系统74合成并处理传感器数据,并预测车辆10的环境的对象和特征的存在、位置、分类和/或路径。在各种实施例中,计算机视觉系统74可以包含来自多个传感器的信息,所述传感器包括但不限于相机、激光雷达、雷达和/或任何数量的其他类型的传感器。

定位系统76处理传感器数据以及其他数据,以确定车辆10相对于环境的位置(例如,相对于地图的本地位置、相对于道路车道的精确位置、车辆朝向、速度等)。可以采用各种技术来实现这种定位,例如包括同步定位与地图构建(slam)、粒子滤波器、卡尔曼滤波器、贝叶斯滤波器等。

引导系统78处理传感器数据以及其他数据,以确定车辆10所跟随的路径。车辆控制系统80根据所确定的路径生成用于控制车辆10的控制信号。

在各种实施例中,控制器34通过实施机器学习技术来辅助控制器34的功能,诸如特征检测/分类、障碍缓解、路线穿越、映射、传感器集成、地面实况确定等。

如上面简要提到的,图1的实时地图绘制系统100作为单独的系统(如图所示)或者作为其他系统74-80之一的一部分被包括在ads70内。在各种实施例中,当被实现为单独的系统(如图所示)时,实时地图绘制系统100从计算机视觉系统74和数据存储设备32接收数据,并将地图信息提供给引导系统78。

例如,如结合图4更详细地示出的并且继续参考图3,实时地图绘制系统100包括中级拓扑生成模块90、地图小工具生成模块92和网络数据存储区93。

中级拓扑生成模块90接收作为输入的图像数据94、对象数据96和道路水平地图数据97。图像数据94包括车辆10周围的当前环境的融合图像(得自由相机系统产生的数据)。根据相对于车辆10的图像坐标系来提供图像数据。对象数据96包括当前环境中检测对象的对象类型、对象位置和/或预测运动。可以从计算机视觉系统74获得对象数据96。道路水平数据97包括在车辆10的大体位置附近(例如,在一英里的半径内或其他距离内)的环境的道路信息(例如,以二维方式)。

中级拓扑生成模块90对图像数据94和对象数据96进行处理,以确定中级地图98。如图5所示,示例性中级地图98包括图像110、在图像110内识别出的对象112(例如,如对象周围的边界框所示)、在图像110内识别出的路径114(例如,如虚线所示)以及与识别出的路径114相关联的路径方向116(例如,如与虚线相关联的箭头所示)。在各种实施例中,路径114可以被识别为主路径、备用路径等(例如,通过改变线的颜色、线的类型等)。

返回参考图4,根据各种实施例,中级拓扑生成模块90利用经过训练的深度神经网络(dnn)102(例如但不限于卷积神经网络(cnn))或其他dnn来生成中级地图。例如,在一个实施例中,可以实现包括两个神经网络、生成式网络和判别式网络的生成式对抗网络。可以在监督或非监督模式下利用数据来训练判别式网络,具体方式是向其提供大量(即“语料库”)经过标记(即预分类)的输入图像,其中所述输入图像包括一系列对象和车道/路径配置。可以用随机输入播种发生器网络。随后采用反向传播来改善两个网络的训练。之后,将得到的网络104存储在网络数据存储区93中并由中级拓扑生成模块90用作为经过训练的深度神经网络102,进而产生中级地图98。具体地,在正常操作期间,经过训练的gan用于处理当车辆10在环境中移动并观察到对象、路径和路径方向时所接收到的图像数据94、对象数据96和道路水平数据97。然后,经过训练的gan基于观察到的对象、路径和路径方向来产生中级地图98。

在各种实施例中,地图小工具生成模块92接收中级地图98、地图数据106和位置数据108。在各种实施例中,地图数据108包括在车辆10附近(例如,在一英里的半径内或其他距离内)的环境的二维地图。位置数据106包括车辆10相对于二维地图的大体位置。

地图小工具生成模块92根据地图数据108、位置数据106和中级地图98的信息生成三维(3d)地图小工具110。在各种实施例中,如图6所示,3d地图小工具110包括车道边界118,以及映射到3d空间的各个路径120和路径方向122。例如,地图小工具生成模块92将车辆10的当前位置映射到二维地图,然后基于车辆10的当前位置和中级地图98相对于车辆10的坐标将来自中层地图98的信息映射到二维地图。然后将来自中级地图98的信息转换成三维空间,进而产生当前环境的3d地图小工具110。

现参考图7并且继续参考图1至图6,流程图示出了可以由根据本公开的图1的实时地图绘制系统100执行的控制方法400。根据本公开可以理解的是,该方法内的操作顺序并不限于如图7所示的顺序执行,而是可以在适用的情况下根据本公开以一个或多个不同的顺序来执行。在各种实施例中,方法400可以被安排为基于一个或多个预定事件运行,和/或可以在自主车辆10的操作期间连续地运行。

在一个实施例中,该方法可以开始于405。在410处,从车辆10的相机系统接收图像数据94并加以处理。在420处,根据图像数据和/或其他传感器数据确定对象数据96。在430处,从网络数据存储区93检索经过训练的深度神经网络102。在440处,利用深度神经网络102对图像数据94、对象数据96和道路水平数据97进行处理,由此产生中级地图98。基于来自位置数据106的车辆位置,将中级地图98从地图数据108映射到二维地图。在460处,将二维地图转换成三维地图,形成实时3d地图小工具110。在此之后,在470处,基于实时3d地图小工具110自主地控制车辆10;并且该方法可以在480处结束。

虽然在前述详细描述中呈现了至少一个示例性实施例,但是应了解的是,仍存在有大量变型。还应了解,一个示例性实施例或多个示例性实施例仅是示例,而并不意欲以任何方式限制本公开的范围、适用性或配置。相反,前述详细描述将为本领域技术人员提供用于实现一个示例性实施例或多个示例性实施例的便利指引。应理解,在不脱离如所附权利要求及其法律等效物所阐述的本公开范围的情况下,可以对元件的功能和布置作出各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1