CN111649751B - 一种用于参考线平滑的超自由缝合方法 - Google Patents

一种用于参考线平滑的超自由缝合方法 Download PDF

Info

Publication number
CN111649751B
CN111649751B CN202010108548.3A CN202010108548A CN111649751B CN 111649751 B CN111649751 B CN 111649751B CN 202010108548 A CN202010108548 A CN 202010108548A CN 111649751 B CN111649751 B CN 111649751B
Authority
CN
China
Prior art keywords
reference line
constraints
point
truncated
vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010108548.3A
Other languages
English (en)
Other versions
CN111649751A (zh
Inventor
朱帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu USA LLC
Original Assignee
Baidu USA LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baidu USA LLC filed Critical Baidu USA LLC
Publication of CN111649751A publication Critical patent/CN111649751A/zh
Application granted granted Critical
Publication of CN111649751B publication Critical patent/CN111649751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/072Curvature of the road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/18Steering angle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/30Road curve radius

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Traffic Control Systems (AREA)

Abstract

在一个实施例中,用于生成用于操作自主驾驶车辆的参考线的方法包括:控制自主驾驶车辆根据第一参考线沿着道路移动,第一参考线具有第一组约束,以及当自主驾驶车辆根据第一参考线正沿着道路移动时:通过移除第一参考线的末端段截断第一参考线以生成包括末端参考点的经截断的第一参考线,获得用于末端参考点的第二组约束,获得待被自主驾驶车辆使用的第二参考线,第二参考线具有第一组约束,以及将第二参考线连接到经截断的参考线的末端参考点以允许自主驾驶车辆沿着道路移动。

Description

一种用于参考线平滑的超自由缝合方法
技术领域
本公开的实施例总体上涉及操作自主车辆。更具体地,本公开的实施例涉及生成用于自主驾驶车辆的参考线。
背景技术
以自主模式(例如,无人驾驶)操作的车辆可以减轻乘坐者,尤其是驾驶员的一些驾驶相关责任。当以自主模式操作时,车辆可以使用车载传感器导航到各种位置,从而允许车辆以最小的人机交互或者在一些情况下没有任何乘客的情况下行驶。
运动规划和控制是自主驾驶中的关键操作。通常,根据参考线控制和驾驶自主驾驶车辆(ADV)。当生成驾驶轨迹时,***严重依赖于参考线。参考线是地图上的平滑线。车辆试图通过跟随参考线行驶。地图上的道路和车道通常由一列连接的线段表示,这些线段不是平滑的,并且ADV难以跟随。因而,对参考线执行平滑优化以平滑参考线。然而,这种优化可能不一定产生平滑参考线。
有必要生成平滑参考线,尤其是当ADV以高速行进时。虽然所需的参考线长度/时间通常不是线性的,而是指数的,但是需要分别地平滑参考线并将其缝合在一起。然而,在许多平滑算法(例如,二次规划)中,限制其高阶导数(例如,曲率和曲率导数)是困难的,并且使得两条参考线之间的缝合点不连续,尤其是当需要接合的两个相邻曲率之间存在大间隙时。
发明内容
本公开的实施例第一方面涉及一种用于生成用于操作自主驾驶车辆的参考线的计算机实现的方法,该方法包括:通过移除第一参考线的末端段截断第一参考线,以生成包括末端参考点的经截断的第一参考线,所述第一参考线是基于第一组约束生成的,其中所述末端参考点与第二组约束相关联;获得待被自主驾驶车辆使用的第二参考线,所述第二参考线是基于所述第一组约束生成的;通过满足与所述经截断的第一参考线的末端参考点相关联的所述第二组约束,将所述第二参考线连接到所述经截断的第一参考线的末端参考点;以及沿着连接的经截断的第一参考线和第二参考线控制所述自主驾驶车辆。
本公开的实施例第二方面涉及一种非暂时性机器可读介质具有指令存储其中,所述指令当被处理器执行时使得所述处理器执行操作,所述操作包括:通过移除第一参考线的末端段截断第一参考线,以生成包括末端参考点的经截断的第一参考线,所述第一参考线是基于第一组约束生成的,其中所述末端参考点与第二组约束相关联;获得待被自主驾驶车辆使用的第二参考线,所述第二参考线是基于所述第一组约束生成的;通过满足与所述经截断的第一参考线的末端参考点相关联的所述第二组约束,将所述第二参考线连接到所述经截断的第一参考线的末端参考点;以及沿着连接的经截断的第一参考线和第二参考线控制所述自主驾驶车辆。
本公开的实施例第三方面涉及一种数据处理***,包括:处理器;以及耦接到所述处理器以存储指令的存储器,所述指令在被所述处理器执行时使得所述处理器执行操作,所述操作包括:通过移除第一参考线的末端段截断第一参考线,以生成包括末端参考点的经截断的第一参考线,所述第一参考线是基于第一组约束生成的,其中所述末端参考点与第二组约束相关联;获得待被自主驾驶车辆使用的第二参考线,所述第二参考线是基于所述第一组约束生成的;通过满足与所述经截断的第一参考线的末端参考点相关联的所述第二组约束,将所述第二参考线连接到所述经截断的第一参考线的末端参考点;以及沿着连接的经截断的第一参考线和第二参考线控制所述自主驾驶车辆。
附图说明
本公开的实施例通过示例的方式示出并且不限于附图中的图,在附图中相同的附图标记表示相似的元件。
图1是示出根据一个实施例的联网***的框图。
图2是示出根据一个实施例的自主车辆的示例的框图。
图3A-3B是示出根据一个实施例的与自主车辆一起使用的感知和规划***的示例的框图。
图4是示出根据一个实施例的连接参考线的过程的图。
图5是示出根据一个实施例的生成用于控制自主驾驶车辆的参考线的过程的流程图。
图6是示出根据一个实施例的数据处理***的框图。
具体实施方式
将参考以下讨论的细节描述本公开的各个实施例和方面,并且附图将示出各个实施例。以下描述和附图是本公开的说明并且不应被解释为限制本公开。描述了许多具体细节以提供对本公开的各个实施例的全面理解。然而,在某些情况下,为了提供对本公开的实施例的简要讨论,没有描述公知或常规的细节。
说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性可包括在本公开的至少一个实施例中。在说明书中的各个地方出现的短语“在一个实施例中”不一定都指同一实施例。
根据一些实施例,自主驾驶车辆(也称为“自主车辆”)包括用于控制自主驾驶车辆根据第一参考线沿着道路移动的决策和规划***,第一参考线具有第一组约束。以及当自主驾驶车辆根据第一参考线沿着道路移动时,自主驾驶车辆的参考线生成器通过移除第一参考线的末端段截断第一参考线,以生成包括末端参考点的经截断的第一参考线;获得用于末端参考点的第二组约束,获得待被自主驾驶车辆使用的第二参考线,第二参考线具有第一组约束;并且将第二参考线连接到经截断的参考线的末端参考点,以允许自主驾驶车辆继续沿着道路移动以到达其目的地位置。在本公开的一个方面,从第一参考线和接续的参考线移除的末端段通常为参考线(诸如第一参考线)的总长度的大约百分之十。
图1是示出根据本公开的一个实施例的自主车辆网络配置的框图。参考图1,网络配置100包括自主驾驶车辆(ADV)101,其可以通过网络102通信地耦接到一个或多个服务器103-104。尽管示出一个自主车辆,但是多个自主车辆可以通过网络102彼此耦接和/或耦接到服务器103-104。网络102可以是任何类型的网络,诸如局域网(LAN)、诸如因特网的广域网(WAN)、蜂窝网络、卫星网络、或其组合,有线或无线。服务器103-104可以是任何类型的服务器或服务器群集,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器103-104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或位置服务器等。
自主车辆指的是能够被配置为处于自主模式的车辆,在自主模式中,车辆在驾驶员很少或没有输入的情况下导航通过环境。这种自主车辆可包括具有一个或多个传感器的传感器***,传感器被配置为检测关于车辆操作其中的环境的信息。车辆及其相关联的控制器使用检测的信息导航通过环境。自主车辆101可以以手动模式、全自主模式或部分自主模式操作。
在一个实施例中,自主车辆101包括但不限于感知和规划***110、车辆控制***111、无线通信***112、用户接口***113、信息娱乐***114和传感器***115。自主车辆101还可包括在普通车辆中包括的某些常见组件,诸如引擎、车轮、转向盘、变速器等,这些组件可以被车辆控制***111和/或感知和规划***110使用各种通信信号和/或命令(例如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等)控制。
组件110-115可以经由互连、总线、网络或其组合彼此通信地耦接。例如,组件110-115可以经由控制器局域网(CAN)总线彼此通信地耦接。CAN总线是车辆总线标准,其被设计为允许微控制器和设备在没有主机的应用中彼此通信。它是基于消息的协议,最初被设计用于汽车内的多路电气布线,但是也用于许多其它环境中。
现在参考图2,在一个实施例中,传感器***115包括但不限于一个或多个相机211、全球定位***(GPS)单元212、惯性测量单元(IMU)213、雷达单元214以及光检测和范围(LIDAR)单元215。GPS***212可包括可操作以提供关于自主车辆的位置的信息的收发器。IMU单元213可基于惯性加速度感测自主车辆的位置和朝向变化。雷达单元214可以表示利用无线电信号感测自主车辆的局部环境内的对象的***。在一些实施例中,除了感测对象之外,雷达单元214还可以额外地感测对象的速度和/或航向。LIDAR单元215可以使用激光感测自主车辆所处的环境中的对象。LIDAR单元215可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他***组件。相机211可包括一个或多个设备以捕获自主车辆周围的环境的图像。相机211可以是静态相机和/或摄像机。相机可以是机械可移动的,例如通过将相机安装在旋转和/或倾斜的平台上。
传感器***115还可包括其它传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如麦克风)。音频传感器可以被配置为捕获来自自主车辆周围的环境的声音。转向传感器可以被配置为感测转向盘、车辆的车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可以集成为集成的油门/制动传感器。
在一个实施例中,车辆控制***111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用于调节车辆的方向或航向。油门单元202用于控制马达或引擎的速度,马达或引擎的速度转而控制车辆的速度和加速度。制动单元203通过提供摩擦力以使车辆的车轮或轮胎变慢来使车辆减速。注意,图2所示的组件可以以硬件、软件或其组合实现。
返回参考图1,无线通信***112允许在自主车辆101和外部***,诸如设备、传感器、其他车辆等之间的通信。例如,无线通信***112可以直接或经由通信网络与一个或多个设备(诸如在网络102上的服务器103-104)无线通信。无线通信***112可以使用任何蜂窝通信网络或无线局域网(WLAN),例如使用WiFi与另一组件或***通信。无线通信***112可以例如使用红外链路、蓝牙等直接与设备(例如,乘客的移动设备、显示设备、车辆101内的扬声器)通信。用户接口***113可以是在车辆101内实现的***设备的一部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
自主车辆101的一些或所有功能可以由感知和规划***110控制或管理,尤其是当以自主驾驶模式操作时。感知和规划***110包括必要的硬件(例如,处理器、存储器、存储设备)和软件(例如,操作***、规划和路线程序),以从传感器***115、控制***111、无线通信***112和/或用户接口***113接收信息、处理接收的信息、规划从起点到目的地点的路线或路径、然后基于规划和控制信息驾驶车辆101。可替换地,感知和规划***110可以与车辆控制***111集成。
例如,作为乘客的用户可以例如经由用户界面指定行程的起始位置和目的地。感知和规划***110获得行程有关的数据。例如,感知和规划***110可以从MPOI服务器获得位置和路线信息,MPOI服务器可以是服务器103-104的一部分。位置服务器提供位置服务,以及MPOI服务器提供地图服务和某些位置的POI。可替换地,这种位置和MPOI信息可本地缓存在感知和规划***110的永久存储设备中。
当自主车辆101沿着路线移动时,感知和规划***110还可以从交通信息***或服务器(TIS)获得实时交通信息。注意,服务器103-104可以由第三方实体操作。可替换地,服务器103-104的功能可以与感知和规划***110集成。基于实时交通信息、MPOI信息和位置信息,以及由传感器***115检测或感测的实时局部环境数据(例如,障碍物、对象、附近车辆),感知和规划***110可规划最佳路线,并例如经由控制***111根据规划路线驾驶车辆101,以安全且高效地到达指定目的地。
服务器103可以是用以执行用于各种客户端的数据分析服务的数据分析***。在一个实施例中,数据分析***103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(自主车辆或者是由人类驾驶员驾驶的常规车辆)收集驾驶统计123。驾驶统计123包括指示发出的驾驶命令(例如,油门、制动、转向命令)和由车辆的传感器在不同时间点捕获的车辆的响应(例如,速度、加速度、减速度、方向)的信息。驾驶统计123还可包括描述不同时间点的驾驶环境的信息,诸如路线(包括起始位置和目的地位置)、MPOIs、道路状况、天气状况等。
基于驾驶统计123,机器学***滑参考线的算法或模型。然后,算法124可以被上载到ADV上,以便在自主驾驶期间被实时地使用。
图3A和3B是示出根据一个实施例的与自主车辆一起使用的感知和规划***的示例的框图。***300可以被实现为图1的自主车辆101的一部分,包括但不限于感知和规划***110、控制***111和传感器***115。参考图3A-3B,感知和规划***110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路由模块307和参考线生成器308。
模块301-308中的一些或全部可以以软件、硬件或其组合实现。例如,这些模块可被安装在永久存储设备352中,加载到存储器351中,并由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地耦接到图2的车辆控制***111的一些或全部模块或与之集成。模块301-308中的一些可以被集成在一起作为集成模块。
定位模块301确定自主车辆300的当前位置(例如,利用GPS单元212)并管理与用户的行程或路线有关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可以例如经由用户界面登录并指定行程的起始位置和目的地。定位模块301与自主车辆300的其他组件交流诸如地图和路线信息311,以获得与行程有关的数据。例如,定位模块301可以从位置服务器和地图与POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,以及MPOI服务器提供地图服务和某些位置的POI,它们可作为地图和路线信息311的一部分被缓存。当自主车辆300沿着路线移动时,定位模块301还可以从交通信息***或服务器获得实时交通信息。
基于由传感器***115提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员将感知到的驾驶员正在驾驶的车辆周围的情况。感知可包括车道配置、交通灯信号、另一车辆、行人、建筑物、人行横道或例如以对象形式的其它交通相关标志(例如,停止标志、让步标志)等的相对位置。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,直的或弯曲的)、车道的宽度、道路中的车道数量、单向或双向车道、合并或分离车道、驶出车道等。
感知模块302可包括计算机视觉***或计算机视觉***的功能,以处理和分析由一个或多个相机捕获的图像,以便识别自主车辆的环境中的对象和/或特征。对象可包括交通信号、车行道边界、其他车辆、行人和/或障碍物等。计算机视觉***可使用对象识别算法、视频跟踪和其它计算机视觉技术。在一些实施例中,计算机视觉***可以绘制环境、跟踪对象、以及估计对象的速度等。感知模块302还可基于由诸如雷达和/或LIDAR的其他传感器提供的其他传感器数据检测对象。
对于每个对象,预测模块303预测对象将在环境下的行为。鉴于一组地图/路线信息311和交通规则312,基于感知在时间点的驾驶环境的感知数据,执行预测。例如,如果对象是在相反方向上的车辆并且当前驾驶环境包括十字路口,则预测模块303将预测车辆将可能直线向前移动还是转弯。如果感知数据指示十字路口没有交通灯,则预测模块303可以预测车辆在进入十字路口之前可能必须完全停止。如果感知数据指示车辆当前处于仅左转弯车道或仅右转弯车道,则预测模块303可预测车辆将更可能分别进行左转弯或右转弯。
对于每个对象,决策模块304作出关于如何处理该对象的决策。例如,对于特定对象(例如,在交叉路线中的另一车辆)以及描述该对象的元数据(例如,速度、方向、转向角),决策模块304决定如何遇到该对象(例如,超车、让行、停止、通过)。决策模块304可根据一组规则,诸如交通规则或驾驶规则312作出这些决策,这组规则可存储于永久存储设备352中。
路由模块307被配置为提供从起点到目的地点的一条或多条路线或路径。对于例如从用户接收到的从起始位置到目的地位置的给定行程,路由模块307获得路线和地图信息311并且确定从起始位置用以到达目的地位置的所有可能的路线或路径。路由模块307可以为其确定的从起始位置用以到达目的地位置的每条路线生成地形图形式的参考线。参考线是指没有来自诸如其它车辆、障碍物或交通状况的其它者的任何干扰的理想路线或路径。也就是说,如果在道路上没有其它车辆、行人或障碍物,则ADV应该精确地或紧密地跟随参考线。然后,地形图被提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305检查所有可能的路线,以鉴于由其它模块提供的其它数据(诸如来自定位模块301的交通状况、由感知模块302感知的驾驶环境和由预测模块303预测的交通状况)选择和修改最佳路线中的一个。取决于在时间点的特定驾驶环境,用于控制ADV的实际路径或路线可以接近或不同于由路由模块307提供的参考线。
基于对于每个感知的对象的决策,规划模块305使用由路由模块307或参考线生成器308提供的参考线作为基础规划自主车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转向角)。也就是说,对于给定对象,决策模块304决策对该对象做什么,而规划模块305确定如何做。例如,对于给定对象,决策模块304可以决策经过对象,而规划模块305可以确定是在对象的左侧还是右侧经过。规划和控制数据由规划模块305生成,包括描述车辆300在下一个移动周期(例如,下一个路线/路径段)中将如何移动的信息。例如,规划和控制数据可指示车辆300以30英里每小时(mph)的速度移动10米,然后以25mph的速度改变到右车行道。
基于规划和控制数据,控制模块306通过根据由规划和控制数据限定的路线或路径向车辆控制***111发送适当的命令或信号控制和驾驶自主车辆。规划和控制数据包括足够的信息以沿着路径或路线在不同时间点使用合适的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施例中,规划阶段在多个规划周期内执行,规划周期也称为驾驶周期,诸如在100毫秒(ms)的每个时间间隔内。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。也就是说,对于每100ms,规划模块305规划下一个路线段或路径段,例如包括目标位置和ADV到达目标位置所需的时间。可替换地,规划模块305还可指定具体速度、方向和/或转向角等。在一个实施例中,规划模块305为下一预定的时间段,诸如5秒规划路线段或路径段。对于每个规划周期,规划模块305基于在先前周期中规划的目标位置规划当前周期(例如,下一个5秒)的目标位置。然后控制模块306基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动、转向控制命令)。
注意,决策模块304和规划模块305可以集成为集成模块。决策模块304/规划模块305可包括导航***或导航***的功能,以确定用于自主车辆的驾驶路径。例如,导航***可以确定一系列速度和方向航向,以影响自主车辆沿着基本上避开感知的障碍物的路径的移动,同时大体使自主车辆沿着通向最终目的地的基于车行道的路径前进。目的地可以根据经由用户接口***113的用户输入而被设置。当自主车辆在操作时,导航***可以动态地更新驾驶路径。导航***可以并入来自GPS***的数据和一个或多个地图,以便确定自主车辆的驾驶路径。
继续图3A和3B,参考线生成器308生成用于操作ADV的一条或多条参考线。注意,参考线生成器308可以与路由模块307集成,或者它可以作为独立的模块存在。根据一个实施例,当初始参考线已被确定并从路由模块307被接收时,参考线生成器308被配置为生成第一参考线。通常,基于路线和地图信息创建初始参考线。道路通常由道路段的序列表示。初始参考线通常是每一道路段的中心线。因而,初始参考线是彼此连接的中心线段的集合,并且这种初始参考线不是平滑的,特别是在两个相邻段的接合处。基于初始参考线,参考线生成器308对初始参考线执行优化以生成平滑参考线。
在一个实施例中,参考线生成器308对初始参考线的选择的控制点执行样条优化。样条是由接合在一起以形成曲线的一个或多个(例如分段)多项式表示的曲线。例如,多项式或多项式函数可以表示相邻控制点之间的段。每个控制点与一组包括初始约束、等式约束和不等式约束的约束相关联。
初始约束包括对应于ADV的初始状况(例如,ADV的直接方向和/或地理位置)的一组约束。等式约束包括断言必须满足的一些等式条件的一组等式约束。例如,等式约束可包括保证接合平滑度和/或满足一些逐点约束(例如,样条将经过一些点或具有一些特定点航向)的一组约束。不等式约束包括保证样条在某个边界内(例如,小于或大于某个约束值)的一组约束。不等式和等式约束都是硬约束,意味着要求它们被满足。得到的参考线将是平滑的。
根据一个实施例,可使用动态编程技术生成初始参考线。这种参考线可以被称为粗糙参考线,其是不平滑的。动态编程(或动态优化)是一种数学优化方法,其将要解决的问题分解为值函数序列,仅一次地求解这些值函数中的每一个并存储它们的解。下一次相同的值函数出现时,简单地查找先前计算的解,节省计算时间,而不是重新计算其解。一旦已经生成初始或粗糙参考线,可以通过优化处理对初始参考线进行平滑。在一个实施例中,使用二次规划技术执行参考线平滑优化。二次规划涉及最小化或最大化经受边界、线性等式和/或不等式约束影响的目标函数(例如,具有若干变量的二次函数)。动态规划和二次规划之间的一个差异是二次规划一次性地优化参考线上的对于所有点的所有候选移动。
多项式优化或多项式拟合的项是指对由多项式函数(例如,五次或四次多项式函数)表示的曲线(在该示例中,轨迹)的形状的优化,使得曲线沿着曲线是连续的(例如,可获得两个相邻段的接合处的导数)。在自主驾驶的领域中,从起点到终点的多项式曲线被分为多个段(或片),每个段对应于控制点(或参考点)。这种分段多项式曲线被称为逐片多项式。当优化逐片多项式时,除了一组初始状态约束和结束状态约束之外,还需要满足两个相邻段之间的一组接合约束和一组边界约束。
该组接合约束包括相邻段的位置(x,y)、速度、航向和加速度需要相同。例如,第一段(例如,引导段)的结束位置和第二段(例如,跟随段)的起始位置需要相同或在预定的接近度内。第一段的结束位置的速度、航向和加速度以及第二段的起始位置的相应速度、航向和加速度需要相同或在预定范围内。此外,每个控制点与预定边界(例如,围绕控制点的左右0.2米)相关联。多项式曲线需要通过其对应边界内的每个控制点。当在优化期间满足这两组约束时,表示轨迹的多项式曲线应该是平滑且连续的。然而,当两条参考线连接或缝合在一起时,特别是当ADV以高速行进时,上述优化操作可能不产生平滑参考线,这可导致ADV中的乘客可察觉的突然转向/移动。
根据一个实施例,当***根据从第一参考线(例如,第一参考线段)生成的轨迹控制ADV时,参考线生成器308例如使用优化算法313中的一些截断第一参考线以生成经截断的参考线,并且将第二参考线(例如,第二参考线段)连接到经截断的参考线的终点以生成包括第一经截断的参考线和第二参考线的第三参考线。第一经截断的参考线和第二参考线以更大的灵活性平滑地连接,这将在下面更详细地描述。然后,使用第三参考线自主驾驶ADV。
参考图4,ADV 402沿着从第一参考线404(也称为第一参考线段)生成的轨迹行进,第一参考线404包括开始参考点411和结束参考点414。例如,第一参考线404可以是90米长并且具有第一组约束。例如,第一组约束可包括沿着第一参考线404的每个参考点满足不等式约束,诸如±0.01度的航向和诸如20厘米的预定边界。然后,通过移除第一参考线404的末端段421,经由参考线生成器308,截断第一参考线404,以生成包括末端参考点412的经截断的参考线406。
在一个实施例中,第一参考线404的总长度的大约10%被移除。例如,从第一参考线404移除的末端段421大约10米,导致经截断的参考线406为80米长。然后,经由参考线生成器308,为末端参考点412获得第二组约束,其不同于用于第一参考线404的第一组约束,并且比用于第一参考线404的第一组约束更严格。在一个实施例中,用于末端参考点412的第二组约束包括等式约束,诸如±0度的航向和诸如零厘米的预定边界。换句话说,ADV 402以相同的航向并且不偏离末端参考点412的(x,y)坐标行进通过末端参考点412。与末端参考点412相关联的第二组约束("硬约束")使得平滑结果不能自由移动。
例如,已经用其位置和航向限制了末端参考点412,从而其不能自由移动。末端参考点412充当平滑的经截断的参考线406的末端和平滑参考线2(例如,第二参考线408)的起点。由于当将两条平滑参考线(例如,经截断的参考线406和第二参考线408)连接在一起时,连接点不能自由移动,所以就其x、y位置和航向而言,连接点是连续的。经截断的参考线406现在没有约束。由于末端段421已经从第一参考线404移除,所以没有约束被施加到10米的经移除的末端段,从而允许末端参考点412在与第二参考线408连接时具有更大的灵活性。
继续图4,经由参考线生成器308,生成具有参考点416和418的的第二参考线408(也称为第二参考线段),并且第二参考线408与经截断的参考线406连接。由于经移除的末端段没有与其相关联的约束,所以第二参考线408平滑地连接到经截断的参考线406的末端参考点412。例如,第二参考线408可以是与第一参考线一样的90米长,并且可以具有与第一参考线404相同的约束(即,第一组约束)。然后,将参考点412和416连接或缝合在一起以形成新的缝合点/参考点420,其将经截断的参考线406平滑地连接到第二参考线408以形成新的参考线(例如,第三参考线),如图4所示。第三参考线将包括彼此连接的经截断的第一参考线406和第二参考线408。然后,第三参考线可被用于在下一个驾驶周期内自主驾驶ADV。然后,对接续的参考线重复上述过程,每个规划周期一次,使得ADV 402继续使用现在连接在一起的并且使用上述算法平滑的参考线沿着路径行进,以便到达其目的地位置。
图5是示出根据一个实施例的生成用于控制自主驾驶车辆的参考线的过程的流程图。过程500可以由可包括软件、硬件或其组合的处理逻辑执行。例如,过程500可部分地由参考线生成器308执行。参照图5,在操作502中,处理逻辑控制自主驾驶车辆根据第一参考线沿着道路移动,第一参考线具有第一组约束。在操作504中,当自主驾驶车辆根据第一参考线正在沿着道路移动时,在操作506中,经由参考线生成器308,执行通过移除第一参考线的末端段截断第一参考线以生成包括末端参考点的经截断的第一参考线。过程还包括,在操作508中,获得用于末端参考点的第二组约束,在操作510中,获得待被自主驾驶车辆使用的第二参考线,第二参考线具有第一组约束,以及在操作512中,将第二参考线连接到经截断的参考线的末端参考点以允许自主驾驶车辆沿着道路移动。在一个实施例中,过程还包括基于末端段内的最小或最少曲率变化确定第一参考线的待被移除的末端段的量。例如,一些平滑算法不能对于曲率设置约束,这在曲率级别上导致不连续性问题。固定的连接点(例如,第一参考线404中的点414)被移动到具有最小曲率’(指示在该点处的曲率变化(曲率的导数)小到没有给出约束)的点(从点414起范围为5m到15m)。在具有最小曲率’的点处连接两条参考线趋向于在接合的曲率之间产生更小的不连续性。
在一个实施例中,第二组约束包括包含自主驾驶车辆的航向的等式约束。在一个实施例中,第二组约束包括包含自主驾驶车辆的(x,y)坐标的等式约束。
注意,如上所示和所述的一些或所有组件可以用软件、硬件或其组合实现。例如,这些组件可以被实现为安装并存储在永久存储设备中的软件,软件可以由处理器(未示出)加载并执行在存储器中以执行贯穿本申请所述的过程或操作。可替换地,这些组件可被实现为被编程或嵌入到专用硬件中的可执行代码,专用硬件诸如集成电路(例如,专用IC或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA),其可经由来自应用的对应驾驶员和/或操作***访问。此外,这些组件可以被实现为处理器或处理器内核中的特定硬件逻辑,作为经由一个或多个特定指令软件组件可访问的指令集的一部分。
图6是示出可与本公开的一个实施例一起使用的数据处理***的示例的框图。例如,***1500可以表示执行上述任何过程或方法的上述任何数据处理***,诸如,例如感知和规划***110、参考线生成器308或图1的服务器103-104中的任何一个。***1500可包括许多不同的组件。这些组件可以被实现为集成电路(IC)、其部分、离散电子设备、或适于诸如计算机***的主板或内插式卡的电路板的其它模块、或被实现为以其它方式并入计算机***的机箱内的组件。
还应当注意,***1500旨在示出计算机***的许多组件的高级视图。然而,应当理解的是,在某些实施方式中可以存在额外的组件,并且此外,在其他实施方式中可以出现所示组件的不同布置。***1500可以表示台式机、笔记本电脑、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(PDA)、智能手表、个人通信器、游戏设备、网络路由器或集线器、无线接入点(AP)或中继器、机顶盒或其组合。此外,虽然仅示出单个机器或***,但是术语“机器”或“***”还应当被认为包括单独地或联合地执行一组(或多组)指令以执行本文所讨论的方法中的任何一个或多个的机器或***的任何集合。
在一个实施例中,***1500包括经由总线或互连1510连接的处理器1501、存储器1503和设备1505-1508。处理器1501可以表示其中包括单个处理器核或多个处理器核的单个处理器或多个处理器。处理器1501可表示一个或多个通用处理器,诸如微处理器、中央处理单元(CPU)等。更特别地,处理器1501可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实现其它指令集的处理器、或实现指令集的组合的处理器。处理器1501还可以是一个或多个专用处理器,诸如专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、通信处理器、密码处理器、协处理器、嵌入式处理器或能够处理指令的任何其它类型的逻辑。
处理器1501可以是低功率多核处理器插槽,诸如超低电压处理器,处理器1501可以充当主处理单元和中央集线器,用于与***的各种组件通信。这种处理器可以实现为片上***(SoC)。处理器1501被配置为执行用于指令以执行本文所讨论的操作和步骤。***1500可进一步包括与可选图形子***1504通信的图形接口,可选图形子***1504可包括显示控制器、图形处理器和/或显示设备。
处理器1501可与存储器1503通信,在一个实施例中,存储器1503可经由多个存储器设备实现以提供给定量的***存储器。存储器1503可包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其他类型的存储设备。存储器1503可以存储包括由处理器1501或任何其它设备执行的指令序列的信息。例如,各种操作***、设备驱动程序、固件(例如,输入输出基本***或BIOS)和/或应用程序的可执行代码和/或数据可以被加载到存储器1503中,并由处理器1501执行。操作***可以是任何类型的操作***诸如,例如机器人操作***(ROS)、来自操作***、来自苹果(Apple)的Mac/>来自/>的/>LINUX、UNIX或其它实时或嵌入式操作***。
***1500还可包括IO设备,诸如设备1505-1508,包括(一个或多个)网络接口设备1505、(一个或多个)可选输入设备1506和(一个或多个)其它可选IO设备1507。网络接口设备1505可包括无线收发器和/或网络接口卡(NIC)。无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位***(GPS)收发器)或其它射频(RF)收发器,或其组合。NIC可以是以太网卡。
(一个或多个)输入设备1506可包括鼠标、触摸板、触敏屏(其可与显示设备1504集成)、诸如指示笔的指示器设备、和/或键盘(例如,作为触敏屏的一部分显示的物理键盘或虚拟键盘)。例如,输入设备1506可包括耦接到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器可以例如使用多种触摸灵敏度技术中的任何一种检测接触和移动或其中断,多种触摸灵敏度技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与触摸屏的一个或多个接触点的其它接近传感器阵列或其它元件。
IO设备1507可包括音频设备。音频设备可包括扬声器和/或麦克风,以促进语音使能功能,诸如语音识别、语音复制、数字记录和/或电话功能。其它IO设备1507还可包括通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如PCI-PCI桥)、传感器(例如,诸如加速度计、陀螺仪、磁力计、光传感器、罗盘、接近传感器等的运动传感器)或其组合。设备1507可以进一步包括成像处理子***(例如,相机),其可包括光学传感器,诸如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器,用于促进相机功能,诸如记录照片和视频剪辑。某些传感器可以经由传感器集线器(未示出)耦接到互连1510,而诸如键盘或热传感器的其它设备可以由嵌入式控制器(未示出)控制,这取决于***1500的具体配置或设计。
为了提供诸如数据、应用程序、一个或多个操作***等信息的持久存储,大容量存储(未图示)也可耦接到处理器1501。在各种实施例中,为了使能更薄和更轻的***设计以及改进***响应性,该大容量存储可经由固态设备(SSD)实现。然而,在其它实施例中,大容量存储可主要使用具有较少量SSD存储的硬盘驱动器(HDD)实现,以充当SSD缓存,以在断电事件期间启用上下文状态和其它此类信息的非易失性存储,使得在***活动的重新启动时可发生快速加电。此外,闪存设备可以例如经由串行***接口(SPI)耦接到处理器1501。该闪存设备可以提供***软件的非易失性存储,包括BIOS以及***的其它固件。
存储设备1508可包括计算机可访问存储介质1509(也称为机器可读介质、机器可读存储介质或计算机可读介质,所有这些可以是非暂时性的),在其上存储体现本文所述的方法或功能中的任何一个或多个的一组或多组指令或软件(例如,模块、单元和/或逻辑1528)。处理模块/单元/逻辑1528可以表示上述组件中的任何一个,诸如,例如规划模块305、控制模块306、参考线生成器308。在由数据处理***1500执行处理模块/单元/逻辑1528期间,处理模块/单元/逻辑1528还可以完全或至少部分地驻留在存储器1503内和/或处理器1501内,存储器1503和处理器1501也构成机器可访问存储介质。处理模块/单元/逻辑1528还可以经由网络接口设备1505通过网络发送或接收。
计算机可读存储介质1509还可用于持久地存储上述某些软件功能。尽管在示例性实施例中将计算机可读存储介质1509示出为单个介质,但是术语“计算机可读存储介质”应当被视为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的缓存和服务器)。术语“计算机可读存储介质”还应当被视为包括能够存储或编码用于由机器执行的指令集并且使得机器执行本公开的方法中的任何一个或多个的任何介质。术语“计算机可读存储介质”因此应被视为包括但不限于固态存储器、光和磁介质、或任何其它非暂时性机器可读介质。
处理模块/单元/逻辑1528、组件和本文所述的其他特征可以被实现为离散硬件组件或者被集成在诸如ASIC、FPGA、DSP或类似设备之类的硬件组件的功能中。另外,处理模块/单元/逻辑1528可以被实现为硬件设备内的固件或功能电路。此外,处理模块/单元/逻辑1528可以以硬件设备和软件组件的任何组合实现。
注意,尽管***1500是使用数据处理***的各种组件示出,但它不旨在表示互连组件的任何特定体系结构或方式;因为这些细节与本公开的实施例没有密切关系。还将理解的是,具有更少组件或可能更多组件的网络计算机、手持式计算机、移动电话、服务器和/或其它数据处理***也可与本公开的实施例一起使用。
已经关于对计算机存储器内的数据位的操作的算法和符号表示呈现了前述详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们的工作实质传达给本领域的其他技术人员的方式。算法在这里并且通常被认为是导致期望结果的自洽操作序列。这些操作是需要对物理量进行物理操作的那些操作。
然而,应当记住的是,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非特别声明,否则从以上讨论中显而易见的是,应当理解的是,在整个说明书中,使用诸如所附权利要求书中所阐述的术语的讨论指的是计算机***或类似电子计算设备的动作和过程,所述计算机***或类似电子计算设备将计算机***的寄存器和存储器内的表示为物理(电子)量的数据操纵和变换成计算机***存储器或寄存器或其它这样的信息存储、传输或显示设备内的类似表示为物理量的其它数据。
本公开的实施例还涉及用于执行本文的操作的装置。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。
在前述附图中描述的过程或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合的处理逻辑来执行。尽管以上关于一些顺序操作描述了过程或方法,但是应当理解的是,可以以不同的顺序执行所述的一些操作。此外,一些操作可以并行地而不是顺序地执行。
本公开的实施例不是参考任何特定编程语言描述的。将了解的是,可使用各种编程语言实施如本文所述的本公开的实施例的教示。
在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离如所附权利要求书中所阐述的本公开的更宽的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是说明性的而不是限制性的。

Claims (17)

1.一种用于生成用于操作自主驾驶车辆的参考线的计算机实现的方法,所述方法包括:
在第一参考线上确定在距所述第一参考线的第一末端参考点的预定距离范围内的具有最小曲率变化的截断点,所述第一参考线是基于第一组约束生成的;
通过移除所述第一参考线的从所述截断点到所述第一末端参考点的末端段截断所述第一参考线,以生成包括第二末端参考点的经截断的第一参考线,其中所述第二末端参考点与第二组约束相关联;
获得待被自主驾驶车辆使用的第二参考线,所述第二参考线是基于所述第一组约束生成的;
通过满足与所述经截断的第一参考线的第二末端参考点相关联的所述第二组约束,将所述第二参考线连接到所述经截断的第一参考线的第二末端参考点;以及
沿着连接的经截断的第一参考线和第二参考线控制所述自主驾驶车辆。
2.如权利要求1所述的方法,其中所述第二组约束不同于所述第一组约束。
3.如权利要求2所述的方法,其中所述第二组约束比所述第一组约束更严格。
4.如权利要求2所述的方法,其中所述第二组约束包括包含所述自主驾驶车辆的航向的等式约束。
5.如权利要求2所述的方法,其中所述第二组约束包括包含所述自主驾驶车辆的(x,y)坐标的等式约束。
6.如权利要求1所述的方法,其中从所述第一参考线移除的末端段是所述第一参考线总长度的百分之十。
7.一种非暂时性机器可读介质,具有指令存储其中,所述指令当被处理器执行时使得所述处理器执行操作,所述操作包括:
在第一参考线上确定在距所述第一参考线的第一末端参考点的预定距离范围内的具有最小曲率变化的截断点,所述第一参考线是基于第一组约束生成的;
通过移除所述第一参考线的从所述截断点到所述第一末端参考点的末端段截断所述第一参考线,以生成包括第二末端参考点的经截断的第一参考线,其中所述第二末端参考点与第二组约束相关联;
获得待被自主驾驶车辆使用的第二参考线,所述第二参考线是基于所述第一组约束生成的;
通过满足与所述经截断的第一参考线的第二末端参考点相关联的所述第二组约束,将所述第二参考线连接到所述经截断的第一参考线的第二末端参考点;以及
沿着连接的经截断的第一参考线和第二参考线控制所述自主驾驶车辆。
8.如权利要求7所述的机器可读介质,其中所述第二组约束不同于所述第一组约束。
9.如权利要求8所述的机器可读介质,其中所述第二组约束比所述第一组约束更严格。
10.如权利要求8所述的机器可读介质,其中所述第二组约束包括包含所述自主驾驶车辆的航向的等式约束。
11.如权利要求8所述的机器可读介质,其中所述第二组约束包括包含所述自主驾驶车辆的(x,y)坐标的等式约束。
12.如权利要求7所述的机器可读介质,其中从所述第一参考线移除的末端段是所述第一参考线总长度的百分之十。
13.一种数据处理***,包括:
处理器;以及
耦接到所述处理器以存储指令的存储器,所述指令在被所述处理器执行时使得所述处理器执行操作,所述操作包括:
在第一参考线上确定在距所述第一参考线的第一末端参考点的预定距离范围内的具有最小曲率变化的截断点,所述第一参考线是基于第一组约束生成的;
通过移除所述第一参考线的从所述截断点到所述第一末端参考点的末端段截断所述第一参考线,以生成包括第二末端参考点的经截断的第一参考线,其中所述第二末端参考点与第二组约束相关联;
获得待被自主驾驶车辆使用的第二参考线,所述第二参考线是基于所述第一组约束生成的;
通过满足与所述经截断的第一参考线的第二末端参考点相关联的所述第二组约束,
将所述第二参考线连接到所述经截断的第一参考线的第二末端参考点;以及
沿着连接的经截断的第一参考线和第二参考线控制所述自主驾驶车辆。
14.如权利要求13所述的数据处理***,其中所述第二组约束不同于所述第一组约束。
15.如权利要求14所述的数据处理***,其中所述第二组约束比所述第一组约束更严格。
16.如权利要求14所述的数据处理***,其中所述第二组约束包括包含所述自主驾驶车辆的航向和(x,y)坐标的等式约束。
17.如权利要求13的数据处理***,其中从所述第一参考线移除的末端段是所述第一参考线总长度的百分之十。
CN202010108548.3A 2019-03-04 2020-02-21 一种用于参考线平滑的超自由缝合方法 Active CN111649751B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/291,991 2019-03-04
US16/291,991 US11066069B2 (en) 2019-03-04 2019-03-04 Extra-freedom stitch method for reference line smoothing

Publications (2)

Publication Number Publication Date
CN111649751A CN111649751A (zh) 2020-09-11
CN111649751B true CN111649751B (zh) 2023-11-24

Family

ID=72336143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010108548.3A Active CN111649751B (zh) 2019-03-04 2020-02-21 一种用于参考线平滑的超自由缝合方法

Country Status (2)

Country Link
US (1) US11066069B2 (zh)
CN (1) CN111649751B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT201700107326A1 (it) * 2017-09-26 2019-03-26 Ferrari Spa Metodo di assistenza alla guida di un veicolo stradale
CN112272805B (zh) * 2019-03-29 2024-06-11 百度时代网络技术(北京)有限公司 连接两条平滑参考线的基于多点增强的拼接方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134486A (en) * 1998-04-20 2000-10-17 The United States Of America As Represented By The Secretary Of The Navy Robot and method of control for an autonomous vehicle to track a path consisting of directed straight lines and circles with positional feedback and continuous curvature
US6385539B1 (en) * 1999-08-13 2002-05-07 Daimlerchrysler Ag Method and system for autonomously developing or augmenting geographical databases by mining uncoordinated probe data
US7734387B1 (en) * 2006-03-31 2010-06-08 Rockwell Collins, Inc. Motion planner for unmanned ground vehicles traversing at high speeds in partially known environments
CN107765684A (zh) * 2016-08-16 2018-03-06 三星电子株式会社 基于立体相机的自主驾驶方法和设备
EP3342666A1 (en) * 2016-12-30 2018-07-04 Baidu USA LLC Method and system for operating autonomous driving vehicles using graph-based lane change guide
CN108255171A (zh) * 2016-12-29 2018-07-06 百度(美国)有限责任公司 用于提高自主驾驶车辆的稳定性的方法和***
CN108981730A (zh) * 2017-05-31 2018-12-11 百度(美国)有限责任公司 用于为操作自动驾驶车辆生成参考路径的方法和***
CN109287122A (zh) * 2017-05-22 2019-01-29 百度时代网络技术(北京)有限公司 基于自动驾驶车辆的控制反馈更新地图的方法和***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646845A (en) * 1990-02-05 1997-07-08 Caterpillar Inc. System and method for controlling an autonomously navigated vehicle
US5752207A (en) * 1995-09-29 1998-05-12 Caterpillar Inc. Method and apparatus for determining a path for a machine between a predetermined route and a final position
JP5332034B2 (ja) * 2008-09-22 2013-11-06 株式会社小松製作所 無人車両の走行経路生成方法
US9340207B2 (en) * 2014-01-16 2016-05-17 Toyota Motor Engineering & Manufacturing North America, Inc. Lateral maneuver planner for automated driving system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134486A (en) * 1998-04-20 2000-10-17 The United States Of America As Represented By The Secretary Of The Navy Robot and method of control for an autonomous vehicle to track a path consisting of directed straight lines and circles with positional feedback and continuous curvature
US6385539B1 (en) * 1999-08-13 2002-05-07 Daimlerchrysler Ag Method and system for autonomously developing or augmenting geographical databases by mining uncoordinated probe data
US7734387B1 (en) * 2006-03-31 2010-06-08 Rockwell Collins, Inc. Motion planner for unmanned ground vehicles traversing at high speeds in partially known environments
CN107765684A (zh) * 2016-08-16 2018-03-06 三星电子株式会社 基于立体相机的自主驾驶方法和设备
CN108255171A (zh) * 2016-12-29 2018-07-06 百度(美国)有限责任公司 用于提高自主驾驶车辆的稳定性的方法和***
EP3342666A1 (en) * 2016-12-30 2018-07-04 Baidu USA LLC Method and system for operating autonomous driving vehicles using graph-based lane change guide
CN109287122A (zh) * 2017-05-22 2019-01-29 百度时代网络技术(北京)有限公司 基于自动驾驶车辆的控制反馈更新地图的方法和***
CN108981730A (zh) * 2017-05-31 2018-12-11 百度(美国)有限责任公司 用于为操作自动驾驶车辆生成参考路径的方法和***

Also Published As

Publication number Publication date
US11066069B2 (en) 2021-07-20
US20200282987A1 (en) 2020-09-10
CN111649751A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN109947090B (zh) 用于自动驾驶车辆规划的非阻塞边界
CN110388931B (zh) 将对象的二维边界框转换成自动驾驶车辆的三维位置的方法
EP3524934B1 (en) Systems and methods for determining a projection of an obstacle trajectory onto a reference line of an autonomous vehicle
CN111076732B (zh) 基于车辆行驶的轨迹标记和生成高清地图的标记方案
CN109489673B (zh) 用于自动驾驶车辆的数据驱动地图更新***
CN111824139B (zh) 用于预测与自动驾驶车辆相关的运动对象的运动的方法
CN110389580B (zh) 用于规划自动驾驶车辆的路径的漂移校正的方法
US10816985B2 (en) Method on moving obstacle representation for trajectory planning
CN110955236B (zh) 用于自动驾驶车辆的曲率校正路径采样***
CN111380534B (zh) 用于自动驾驶车辆的基于st图学习的方法
CN111123906B (zh) 不同横向加速度约束下的最优纵向轨迹生成
CN110597243B (zh) 自动驾驶车辆的基于v2x通信的车辆车道***
CN110621541B (zh) 用于生成轨迹以操作自动驾驶车辆的方法和***
CN111857118B (zh) 对停车轨迹分段以控制自动驾驶车辆停车
US20190315357A1 (en) Novel method for speed adjustment of autonomous driving vehicles prior to lane change
CN111615618B (zh) 用于自动驾驶车辆的高速规划的基于多项式拟合的参考线平滑方法
CN111615476B (zh) 用于自动驾驶车辆的基于螺旋曲线的竖直停车规划***
CN111830958B (zh) 用于操作自动驾驶车辆的方法、***和机器可读介质
CN111328313B (zh) 用于自动驾驶车辆的控制占主导的三点转弯规划
CN111328385B (zh) 用于自动驾驶车辆的基于螺旋路径的三点转弯规划
CN111649751B (zh) 一种用于参考线平滑的超自由缝合方法
WO2020062029A1 (en) Enumeration-based three-point turn planning for autonomous driving vehicles
CN111623766B (zh) 用于自主驾驶卡车的基于两个惯性测量单元和gps的定位***
CN112272805B (zh) 连接两条平滑参考线的基于多点增强的拼接方法
CN112041637B (zh) 用于3级自动驾驶车辆的无地图且基于摄像机的车道标识取样方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant