CN111623766B - 用于自主驾驶卡车的基于两个惯性测量单元和gps的定位*** - Google Patents

用于自主驾驶卡车的基于两个惯性测量单元和gps的定位*** Download PDF

Info

Publication number
CN111623766B
CN111623766B CN202010107219.7A CN202010107219A CN111623766B CN 111623766 B CN111623766 B CN 111623766B CN 202010107219 A CN202010107219 A CN 202010107219A CN 111623766 B CN111623766 B CN 111623766B
Authority
CN
China
Prior art keywords
autonomous driving
imu
driving truck
gps unit
truck
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
CN202010107219.7A
Other languages
English (en)
Other versions
CN111623766A (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 CN111623766A publication Critical patent/CN111623766A/zh
Application granted granted Critical
Publication of CN111623766B publication Critical patent/CN111623766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • 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
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/14Receivers specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/45Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
    • G01S19/47Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement the supplementary measurement being an inertial measurement, e.g. tightly coupled inertial
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/49Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an inertial position system, e.g. loosely-coupled
    • 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
    • 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/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • 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/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/0215Sensor drifts or sensor failures
    • 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
    • B60W2300/00Indexing codes relating to the type of vehicle
    • B60W2300/12Trucks; Load vehicles
    • B60W2300/125Heavy duty trucks
    • 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
    • B60W2422/00Indexing codes relating to the special location or mounting of sensors
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/396Determining accuracy or reliability of position or pseudorange measurements

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Signal Processing (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Navigation (AREA)

Abstract

在一个实施例中,一种操作自主驾驶卡车的方法包括在自主驾驶卡车的规划模块处接收来自第一惯性测量单元、第一全球定位***、第二惯性测量单元和第二全球定位***的位置数据。第一惯性测量单元和第一全球定位***被附接到自主驾驶卡车的驾驶室,以及第二惯性测量单元和第二全球定位***被附接到自主驾驶卡车的车身结构,其中车身结构远离驾驶室延伸。方法还包括在自主驾驶卡车的控制模块处从第二惯性测量单元和第二全球定位***接收位置数据,以及在规划和控制模块处基于接收的位置数据控制自主驾驶卡车。

Description

用于自主驾驶卡车的基于两个惯性测量单元和GPS的定位 ***
技术领域
本公开的实施例总体上涉及操作自主车辆。更具体而言,本公开的实施例涉及操作自主驾驶卡车。
背景技术
以自主模式(例如,无人驾驶)操作的车辆可以减轻乘坐者,尤其是驾驶员的一些驾驶相关责任。当在自主模式下操作时,车辆可以使用车载传感器导航到各种位置,从而允许车辆以最小的人为交互或者在一些情况下没有任何乘客的情况下行驶。
运动计划和控制是自主驾驶中的关键操作。然而,传统的运动规划操作主要根据给定路径的曲率和速度估计完成给定路径的难度,而不考虑不同类型车辆的特征的差异。相同的运动规划和控制应用于所有类型的车辆,这在某些情况下可能不是精确和平滑的。
诸如卡车的车辆具有非常强的悬挂***,其与客车的悬挂***非常不同。在一种情况下,诸如惯性测量单元和全球定位***的传感器可以安装在卡车的驾驶室上。然而,由于卡车的强悬挂,卡车的驾驶室可能相对于卡车的车身不期望地滚动和/或俯仰,尤其是当在道路上突然转弯或从相对高的速度突然停止时。在这种情况下,驾驶室上的传感器可能提供可能与需要控制(例如,在转弯操作期间)的卡车的车身的位置/定位不精确地一致的位置数据。例如,当卡车向右转弯时,驾驶室可能向左侧摆动,但卡车的车身在车道的中间。如果惯性测量单元和全球定位***安装在驾驶室上,则自主驾驶***将认为卡车具有向左的误差,并将其校正到可能不期望的相反方式。
发明内容
在第一方面中,本公开提供了一种用于操作自主驾驶卡车的计算机实现的方法,所述方法包括:
基于从第一惯性测量单元(IMU)和第一全球定位***(GPS)单元接收的传感器数据生成第一位置数据,其中所述第一IMU和所述第一GPS单元安装在所述自主驾驶卡车的第一位置上;
基于从第二IMU和第二GPS单元接收的传感器数据生成第二位置数据,其中所述第二IMU和所述第二GPS单元安装在所述自主驾驶卡车的第二位置上;
基于所述第一位置数据和所述第二位置数据规划轨迹,生成规划和控制数据;以及
根据所述轨迹控制所述自主驾驶卡车,包括根据所述第二位置数据基于所述规划和控制数据发出控制命令。
在第二方面中,本公开提供了一种非暂时性机器可读介质,其中存储有指令,当由处理器执行时,所述指令使所述处理器执行如第一方面所述的操作。
在第三方面中,本公开提供了一种数据处理***,包括:
处理器;以及
耦合到所述处理器以存储指令的存储器,所述指令在由所述处理器执行时使所述处理器执行如第一方面所述的操作。
附图说明
本公开的实施例通过示例的方式示出并且不限于附图中的图,在附图中相同的附图标记表示相似的元件。
图1是示出根据一个实施例的联网***的框图。
图2是示出根据一个实施例的自主车辆的示例的框图。
图3A-3B是示出根据一个实施例的与自主车辆一起使用的感知和规划***的示例的框图。
图4A是根据一个实施例的具有一组IMU和GPS的自主驾驶卡车的侧视图。
图4B是图4A所示的具有一组IMU和GPS的自主驾驶卡车的俯视图。
图5是根据一个实施例的从一组IMU/GPS单元接收位置数据的定位模块的框图。
图6是根据一个实施例的操作自主驾驶卡车的过程的流程图。
图7是示出根据一个实施例的数据处理***的框图。
具体实施方式
将参考以下讨论的细节描述本公开的各个实施例和方面,并且附图将示出各个实施例。以下描述和附图是本公开的说明并且不应被解释为限制本公开。描述了许多具体细节以提供对本公开的各种实施例的全面理解。然而,在某些情况下,为了提供对本公开的实施例的简要讨论,没有描述公知或常规的细节。
说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性可包括在本公开的至少一个实施例中。在说明书中的各个地方出现的短语“在一个实施例中”不一定都指同一实施例。
根据一些实施例,一种用于操作自主驾驶卡车的计算机实现的方法包括在自主驾驶卡车的规划模块处接收来自第一惯性测量单元、第一全球定位***、第二惯性测量单元和第二全球定位***的位置数据。第一惯性测量单元和第一全球定位***被附接到自主驾驶卡车的驾驶室,以及第二惯性测量单元和第二全球定位***被附接到自主驾驶卡车的车身结构,其中车身结构远离驾驶室延伸。方法还包括在自主驾驶卡车的控制模块处从第二惯性测量单元和第二全球定位***接收位置数据,以及在规划和控制模块处基于接收的位置数据控制自主驾驶卡车。
根据本发明的一个实施例,基于从安装在自主驾驶卡车的第一位置上的第一惯性测量单元(IMU)和第一全球定位***(GPS)单元获得的传感器数据生成第一位置数据。基于从安装在自主驾驶卡车上的第二位置上的第二IMU和第二GPS单元获得的传感器数据生成第二位置数据。第一位置和第二位置不同。基于第一位置数据和第二位置数据规划轨迹。结果生成表示轨迹的规划和控制数据。根据轨迹控制自主驾驶卡车,包括基于规划和控制数据以及进一步根据第二位置数据发出各种控制命令(例如,油门、制动、转向控制命令)。
在一个实施例中,第一IMU和第一GPS单元被附接到卡车的驾驶室,并且第二IMU和第二GPS单元被附接到卡车的车身结构。具体地,例如,第一IMU和第一GPS单元安装在驾驶室的顶部上,而第二IMU和第二GPS单元安装在卡车的基础平台上。执行感知过程以基于从诸如LIDAR设备、相机和/或RADAR设备的各种传感器获得的传感器数据感知卡车周围的驾驶环境,包括感知一个或多个障碍物。对于障碍物中的每一个,基于基于第一IMU和第一GPS单元的第一位置数据确定障碍物相对于卡车的相对位置。根据障碍物的位置而生成轨迹。
图1是示出根据本公开的一个实施例的自主车辆网络配置的框图。参考图1,网络配置100包括自主车辆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单元216和第二IMU217。GPS***212、216可以各自包括可操作以提供关于自主车辆的定位的信息的收发器。IMU单元213、217可以基于惯性加速度感测自主车辆的定位和方向变化。雷达单元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可进一步包括描述不同时间点的驾驶环境的信息,诸如路线(包括开始位置和目的地位置)、MPOI、道路条件、天气条件等。
基于驾驶统计123,机器学习引擎122为各种目的生成或训练一组规则、算法和/或预测模型124。算法124可包括为诸如感知、规划和控制阶段的不同目的而组合和利用双IMU和GPS单元的算法。然后,算法124可以被上载到ADV上,以便在自主驾驶期间实时使用。
图3A和3B是示出根据一个实施例的与自主车辆一起使用的感知和规划***的示例的框图。***300可以被实现为图1的自主车辆101的一部分,包括但不限于感知和规划***110、控制***111和传感器***115。参考图3A-3B,感知和规划***110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306和路由模块307。
模块301-307中的一些或全部可以以软件、硬件或其组合实现。例如,这些模块可以安装在永久存储设备352中,加载到存储器351中,并由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地耦合到图2的车辆控制***111的一些或全部模块或与之集成。模块301-307中的一些可以被集成在一起作为集成模块。
定位模块301确定自主车辆300的当前位置(例如,利用GPS单元212、216)并管理与用户的旅程或路线有关的任何数据。定位模块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提供的参考线作为基础,规划用于自主车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转向角)。也就是说,对于给定对象,决策模块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***的数据和一个或多个地图,以便确定用于自主车辆的驾驶路径。
多项式优化或多项式拟合的项是指由多项式函数(例如,五次或四次多项式函数)表示的曲线(在该示例中,轨迹)的形状的优化,使得曲线沿着曲线是连续的(例如,可获得两个相邻段处的接合处的导数)。在自主驾驶领域中,从起点到终点的多项式曲线被分成多个段(或块),每个段对应于控制点(或参考点)。这种分段多项式曲线被称为分段多项式。当优化分段多项式时,除了一组初始状态约束和结束状态约束之外,还必须满足两个相邻段之间的一组联合约束和一组边界约束。
该组联合约束包括相邻段的定位(x,y)、速度、航向和加速度必须相同。例如,第一段(例如,引导段)的结束定位和第二段(例如,跟随段)的开始定位必须相同或在预定的邻近内。第一段的结束定位的速度、航向和加速度以及第二段的开始定位的对应的速度、航向和加速度必须相同或在预定范围内。此外,每个控制点与预定边界(例如,围绕控制点的左右0.2米)相关联。多项式曲线必须通过其对应的边界内的每个控制点。当在优化期间满足这两组约束时,表示轨迹的多项式曲线应该是平滑和连续的。
图4A和4B分别示出根据一个实施例的自主驾驶卡车400的侧视图和俯视图。自主驾驶卡车400包括驾驶室402、从驾驶室402大致水平地向外延伸的车身结构404、以及附接到车身结构404的货物集装箱(未示出)。自主驾驶卡车400还包括附接(“安装”)到驾驶室402的第一惯性测量单元(IMU)408、也附接到驾驶室402的第一全球定位***(GPS)406(例如,如图4B所示的两个GPS传感器)、附接到车身结构404(例如,底板或车辆基础平台)的第二惯性测量单元412、以及也附接到车身结构404的第二全球定位***410。
在一个实施例中,第一GPS406被定位为高于第一IMU408,如图4A所示。在一个实施例中,第一GPS406附接到上部或顶部,诸如驾驶室402的顶板,第一IMU408通常附接在驾驶室的背部的中部,如图4A和4B所示。在一个实施例中,第二GPS410经由杆或其它合适的支撑结构附接到车身结构404。在一个实施例中,第二IMU412在靠近车身结构的邻近驾驶室402的端部处附接到车身结构404。
如图4A所示,第一和第二GPS单元都被定位为高于第一和第二IMU单元,以允许从例如卫星或其它网络设备更好地接收GPS信号。第一IMU408和第一GPS406可以分别对应于IMU213和GPS212,如图2所示。第二IMU412和第二GPS410可以分别对应于IMU217和GPS216,也如图2所示。根据本公开的一个方面,第一组定位(“位置”)传感器(例如,第一IMU408和第一GPS406)和第二组定位传感器(例如,第二IMU412和第二GPS410)获得自主驾驶卡车的驾驶室和车身结构的定位,这允许各种模块(例如,如图3A-3B所示的定位模块301、规划模块305和控制模块306)基于它们的特定模块要求使用从这些传感器获得的定位/位置数据。
在一个实施例中,从第一IMU408和第一GPS单元406获得的传感器数据可由感知模块用于感知卡车周围的驾驶环境。从第一IMU、第二IMU、第一GPS单元和第二GPS单元获得的传感器数据可被规划模块用于基于从感知模块接收的感知信息规划轨迹,生成表示轨迹的规划和控制数据。控制模块基于规划和控制数据,进一步根据基于从第二IMU和第二GPS单元获得的传感器数据确定的位置数据,处理和发出控制命令。
例如,规划模块和控制模块,诸如图3A-3B中所示的规划模块305和控制模块306,可以使用来自第二组定位传感器的位置数据作为自主驾驶卡车的实际定位,因为它是实际上正被控制的车身结构(例如,车身结构404),并且驾驶室(例如,驾驶室402)的移动通常可以被自主驾驶***忽略。在另一示例中,控制模块(例如控制模块306)可以使用仅来自第二组定位传感器的位置数据控制自主驾驶卡车的转向。换句话说,来自第一组定位传感器的位置数据不被控制模块用于控制自主驾驶卡车的转向,因为当自主驾驶卡车在道路上转弯操作时,由于自主驾驶卡车的悬挂***,驾驶室可能相对于车身结构过度地侧倾和/或俯仰。
根据本公开的另一方面,规划模块(例如,规划模块305)可以使用来自第一和第二组定位传感器的位置数据规划驾驶室和车身结构如何一起移动。例如,计算从驾驶室和车身结构两者的障碍物距离是有用的。而且,使用来自第一和第二组定位传感器的位置数据允许确定自主驾驶卡车的更精确的定位,这改进了规划模块的规划功能。规划模块还可以使用第一组定位传感器中的一个或多个(例如,第一IMU408)以控制自主驾驶卡车的驾驶室中的舒适度。诸如感知模块(例如,图3A中所示的感知模块302)的其它模块和驾驶员操作***可使用来自第一和第二组定位传感器中的一组或两组的位置数据。
图5是根据一个实施例的从两组IMU/GPS单元接收位置数据的定位模块的框图。IMU1和GPS1形成IMU/GPS单元的第一组502,IMU2和GPS2形成IMU/GPS单元的第二组504。IMU1可以对应于第一IMU408,GPS1可以对应于第一GPS406,如图4A和4B所示。另外,IMU2可以对应于第二IMU412,GPS2可以对应于第二GPS410,也如图4A和4B所示。定位模块506可对应于如图3A所示的定位模块301。第一组502、第二组504和定位模块506中的每一个可以在合适的频率下操作,例如100Hz。来自第一组502的位置数据508和来自第二组504的位置数据510可不同时被定位模块506接收。例如,来自第一组502的IMU/GPS单元的位置数据508可以在时间t1(例如,5ms)在定位模块506处被接收,而来自第二组504的IMU/GPS单元的位置数据510可以在时间t2(例如,8ms)在定位模块506处被接收。因此,来自两组502和504的位置数据需要由定位模块506在时间t3处对准并且组合,以同时在时间t3处将位置数据发送到其他模块(例如,规划模块305和/或控制模块306)。在一个实施例中,来自IMU1的位置数据、来自GPS1的位置数据、来自IMU2的位置数据和来自GPS2的位置数据都可以在限定的时间(例如,时间t3)由定位模块506对准,并且对准的位置数据在时间t3处被发送到规划模块305。在另一实施例中,来自IMU2的位置数据和来自GPS2的位置数据可由定位模块506在另一限定的时间(例如,时间t4)对准,并且对准的位置数据在时间t4处发送到控制模块306。然后,其它模块(例如,规划模块305和控制模块306)可以使用从如上所述的定位模块接收的位置数据。位置数据的对准可以由定位模块使用合适的技术实现,例如,通过使用内插技术。在本公开的一个方面,来自第一组502、第二组504和定位模块506的每个消息可包括时间戳。
图6是根据一个实施例的操作自主驾驶卡车400(见图4A、4B)的过程600的流程图。处理600可以由可包括软件、硬件或其组合的处理逻辑执行。例如,过程600可以由图3A中所示的感知和规划***110执行。参考图6,在操作602中,处理逻辑被配置为在自主驾驶卡车的规划模块(例如,规划模块305)处接收来自第一惯性测量单元(例如,第一IMU408)、第一全球定位***(例如,第一GPS406)、第二惯性测量单元(例如,第二IMU412)和第二全球定位***(例如,第二GPS410)的位置数据。在一个实施例中,第一惯性测量单元和第一全球定位***被附接到自主驾驶卡车的驾驶室,并且第二惯性测量单元和第二全球定位***被附接到自主驾驶卡车的车身结构,其中车身结构远离驾驶室延伸。过程还包括,在操作604处,在自主驾驶卡车的控制模块(例如,控制模块306)处从第二惯性测量单元和第二全球定位***接收位置数据,以及在操作606处,在规划和控制模块处基于接收的位置数据控制自主驾驶卡车。
在一个实施例中,过程600可包括在规划和控制模块处接收位置数据之前,最初在自主驾驶卡车的定位模块处从第一和第二惯性测量单元以及第一和第二全球定位***接收位置数据。在一个实施例中,过程600还可包括在定位模块处对准从第一和第二惯性测量单元以及第一和第二全球定位***中的每一个分别接收的位置数据。在一个实施例中,对准的位置数据可以同时从定位模块发送到自主驾驶卡车中的其它模块,例如规划和/或控制模块。在一个实施例中,过程600可进一步包括在自主驾驶卡车的控制模块处仅从第二惯性测量单元和第二全球定位***接收位置数据。
根据本公开的一个方面,传感器预处理(例如LIDAR)操作可包括将主车辆(例如,自主驾驶卡车400)从扫描的障碍物移除的掩蔽操作。在一个实施例中,过程600可进一步包括基于来自第一惯性测量单元和第一全球定位***的位置数据形成驾驶室的掩蔽,基于来自第二惯性测量单元和第二全球定位***的位置数据形成车身结构的掩蔽,以及组合掩蔽以生成自主驾驶卡车的最终掩蔽。最终掩蔽可由上述传感器预处理操作使用,以从使用LIDAR扫描的障碍物中移除自主驾驶卡车。这种掩蔽操作可以通过感知模块(例如,图3A中所示的感知模块302)的预处理操作执行。与感知模块相关联的传感器(例如LIDAR、雷达、相机)可以安装在自主驾驶卡车的驾驶室上,并且当自主驾驶卡车在道路上移动时,这些传感器与第一IMU和第一GPS一起移动。因此,由感知模块观察到的所有障碍物将使用来自第一IMU和第一GPS单元的位置数据在全球坐标系下被平移。
注意,如上所示和所述的一些或所有组件可以用软件、硬件或其组合实现。例如,这些组件可以被实现为安装并存储在永久存储设备中的软件,软件可以由处理器(未示出)加载并执行在存储器中以执行贯穿本申请所述的过程或操作。可替换地,这些组件可被实现为编程或嵌入到专用硬件中的可执行代码,专用硬件诸如集成电路(例如,特定用途IC或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA),其可经由来自应用的相应驾驶员和/或操作***访问。此外,这些组件可以被实现为处理器或处理器内核中的特定硬件逻辑,作为软件组件经由一个或多个特定指令可访问的指令集的一部分。
图7是示出可与本公开的一个实施例一起使用的数据处理***的示例的框图。例如,***1500可以表示执行上述任何过程或方法的上述任何数据处理***,诸如,例如感知和规划***110或图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可以是低功率多核处理器插槽,诸如超低电压处理器,其可以充当主处理单元和中央集线器,用于与***的各种组件通信。这种处理器可以实现为片上***(SoC)。处理器1501被配置为执行用于执行本文所讨论的操作和步骤的指令。***1500可进一步包括与可选图形子***1504通信的图形接口,可选图形子***1504可包括显示控制器、图形处理器和/或显示设备。
处理器1501可与存储器1503通信,在一个实施例中,存储器1503可经由多个存储器设备实现以提供给定量的***存储器。存储器1503可包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其他类型的存储设备。存储器1503可以存储包括由处理器1501或任何其它设备执行的指令序列的信息。例如,各种操作***、设备驱动程序、固件(例如,输入输出基本***或BIOS)和/或应用程序的可执行代码和/或数据可以被加载到存储器1503中,并由处理器1501执行。操作***可以是任何类型的操作***,诸如,例如机器人操作***(ROS)、来自微软操作***、来自苹果(Apple)的/>来自/>的/>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存储以充当SSD高速缓存的硬盘驱动器(HDD)实现,以在断电事件期间启用上下文状态和其它此类信息的非易失性存储,使得在***活动的重新启动时可发生快速加电。此外,闪存设备可以例如经由串行***接口(SPI)耦合到处理器1501。该闪存设备可以提供***软件的非易失性存储,包括BIOS以及***的其它固件。
存储设备1508可包括计算机可访问存储介质1509(也称为机器可读存储介质或计算机可读介质),在其上存储体现本文所述的方法或功能中的任何一个或多个的一组或多组指令或软件(例如,模块、单元和/或逻辑1528)。处理模块/单元/逻辑1528可以表示上述组件中的任何一个,诸如,例如规划模块305、控制模块306和定位模块301。在由数据处理***1500执行处理模块/单元/逻辑1528期间,处理模块/单元/逻辑1528还可以完全或至少部分地驻留在存储器1503内和/或处理器1501内,存储器1503和处理器1501也构成机器可访问存储介质。处理模块/单元/逻辑1528还可以经由网络接口设备1505通过网络被发送或接收。
计算机可读存储介质1509还可用于持久地存储上述某些软件功能。尽管在示例性实施例中将计算机可读存储介质1509示出为单个介质,但是术语“计算机可读存储介质”应当被理解为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当被理解为包括能够存储或编码用于由机器执行的指令集并且使得机器执行本公开的方法中的任何一个或多个的任何介质。术语“计算机可读存储介质”因此应被理解为包括但不限于固态存储器、光和磁介质、或任何其它非瞬态机器可读介质。
处理模块/单元/逻辑1528、组件和本文所述的其他特征可以被实现为分立硬件组件或者被集成在诸如ASIC、FPGA、DSP或类似设备之类的硬件组件的功能中。另外,处理模块/单元/逻辑1528可以被实现为硬件设备内的固件或功能电路。此外,处理模块/单元/逻辑1528可以以硬件设备和软件组件的任何组合实现。
注意,尽管***1500是使用数据处理***的各种组件示出,但它不旨在表示互连组件的任何特别体系结构或方式;因为这些细节与本公开的实施例没有密切关系。还将理解的是,具有更少组件或可能更多组件的网络计算机、手持式计算机、移动电话、服务器和/或其它数据处理***也可与本公开的实施例一起使用。
已经根据对计算机存储器内的数据位的操作的算法和符号表示呈现了前述详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们的工作实质传达给本领域的其他技术人员的方式。算法在这里并且通常被认为是导致期望结果的自相容操作序列。这些操作是需要对物理量进行物理操作的那些操作。
然而,应当记住的是,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非特别声明,否则从以上讨论中显而易见的是,应当理解的是,在整个说明书中,使用诸如所附权利要求书中所阐述的术语的讨论指的是计算机***或类似电子计算设备的动作和处理,所述计算机***或类似电子计算设备将计算机***的寄存器和存储器内表示为物理(电子)量的数据操纵和变换成计算机***存储器或寄存器或其它这样的信息存储、传输或显示设备内类似地表示为物理量的其它数据。
本公开的实施例还涉及用于执行本文的操作的装置。这种计算机程序存储在非瞬态计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。
在前述附图中描述的过程或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,包括在非暂时性计算机可读介质上)或两者的组合的处理逻辑来执行。尽管以上根据一些顺序操作描述了过程或方法,但是应当理解的是,可以以不同的顺序执行所述的一些操作。此外,一些操作可以并行地而不是顺序地执行。
本公开的实施例不是参考任何特定编程语言描述的。将了解,可使用各种编程语言实施如本文所述的本发明的实施例的教示。
在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离如所附权利要求书中所阐述的本公开的更宽的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是说明性的而不是限制性的。

Claims (18)

1.一种用于操作自主驾驶卡车的计算机实现的方法,所述方法包括:
基于从第一惯性测量单元(IMU)和第一全球定位***(GPS)单元接收的传感器数据生成第一位置数据,其中第一IMU和第一GPS单元安装在所述自主驾驶卡车的第一位置上;
基于从第二IMU和第二GPS单元接收的传感器数据生成第二位置数据,其中所述第二IMU和所述第二GPS单元安装在所述自主驾驶卡车的第二位置上;
基于所述第一位置数据和所述第二位置数据规划轨迹,生成规划和控制数据;以及
根据所述轨迹控制所述自主驾驶卡车,包括根据所述第二位置数据基于所述规划和控制数据发出控制命令;
其中,所述的方法,还包括:
基于与所述第一IMU和所述第一GPS单元相关联的所述第一位置数据形成驾驶室的第一掩蔽;
基于与所述第二IMU和所述第二GPS单元相关联的所述第二位置数据形成车身结构的第二掩蔽;以及
组合所述第一掩蔽和所述第二掩蔽以生成所述自主驾驶卡车的最终掩蔽,其中所述最终掩蔽被用于在感知期间将所述自主驾驶卡车作为障碍物移除。
2.如权利要求1所述的方法,其中所述第一IMU和所述第一GPS单元被附接到所述自主驾驶卡车的驾驶室,以及其中所述第二IMU和所述第二GPS单元被附接到所述自主驾驶卡车的车身结构。
3.如权利要求2所述的方法,其中所述第一IMU和所述第一GPS单元被附接到所述自主驾驶卡车的所述驾驶室的顶部,以及其中所述第二IMU和所述第二GPS单元被附接到所述自主驾驶卡车的基础平台。
4.如权利要求1所述的方法,还包括:
基于从LIDAR设备和一个或多个相机获得的传感器数据感知所述自主驾驶卡车周围的驾驶环境,包括感知一个或多个障碍物;以及
根据基于所述第一IMU和所述第一GPS单元确定的所述第一位置数据确定所述障碍物中的每一个相对于所述自主驾驶卡车的相对位置,其中基于所述障碍物的所述相对位置生成所述轨迹。
5.如权利要求1所述的方法,其中所述第一GPS单元在所述自主驾驶卡车上被定位为高于所述第一IMU。
6.如权利要求1所述的方法,还包括基于基于所述第二IMU和所述第二GPS单元确定的所述第二位置数据控制所述自主驾驶卡车的转向。
7.一种非暂时性机器可读介质,其中存储有指令,当由处理器执行时,所述指令使所述处理器执行操作,所述操作包括:
基于从第一惯性测量单元(IMU)和第一全球定位***(GPS)单元接收的传感器数据生成第一位置数据,其中第一IMU和第一GPS单元安装在自主驾驶卡车的第一位置上;
基于从第二IMU和第二GPS单元接收的传感器数据生成第二位置数据,其中所述第二IMU和所述第二GPS单元安装在所述自主驾驶卡车的第二位置上;
基于所述第一位置数据和所述第二位置数据规划轨迹,生成规划和控制数据;以及
根据所述轨迹控制所述自主驾驶卡车,包括根据所述第二位置数据基于所述规划和控制数据发出控制命令;
其中所述操作还包括:
基于与所述第一IMU和所述第一GPS单元相关联的所述第一位置数据形成驾驶室的第一掩蔽;
基于与所述第二IMU和所述第二GPS单元相关联的所述第二位置数据形成车身结构的第二掩蔽;以及
组合所述第一掩蔽和所述第二掩蔽以生成所述自主驾驶卡车的最终掩蔽,其中所述最终掩蔽被用于在感知期间将所述自主驾驶卡车作为障碍物移除。
8.如权利要求7所述的机器可读介质,其中所述第一IMU和所述第一GPS单元被附接到所述自主驾驶卡车的驾驶室,以及其中所述第二IMU和所述第二GPS单元被附接到所述自主驾驶卡车的车身结构。
9.如权利要求8所述的机器可读介质,其中所述第一IMU和所述第一GPS单元被附接到所述自主驾驶卡车的所述驾驶室的顶部,以及其中所述第二IMU和所述第二GPS单元被附接到所述自主驾驶卡车的基础平台。
10.如权利要求7所述的机器可读介质,其中所述操作还包括:
基于从LIDAR设备和一个或多个相机获得的传感器数据感知所述自主驾驶卡车周围的驾驶环境,包括感知一个或多个障碍物;以及
根据基于所述第一IMU和所述第一GPS单元确定的所述第一位置数据确定所述障碍物中的每一个相对于所述自主驾驶卡车的相对位置,其中基于所述障碍物的所述相对位置生成所述轨迹。
11.如权利要求7所述的机器可读介质,其中所述第一GPS单元在自主驾驶卡车上被定位为高于所述第一IMU。
12.根据权利要求7的机器可读介质,其中所述操作还包括基于基于所述第二IMU和所述第二GPS单元确定的所述第二位置数据控制所述自主驾驶卡车的转向。
13.一种数据处理***,包括:
处理器;以及
耦合到所述处理器以存储指令的存储器,所述指令在由所述处理器执行时使所述处理器执行操作,所述操作包括:
基于从第一惯性测量单元(IMU)和第一全球定位***(GPS)单元接收的传感器数据生成第一位置数据,其中第一IMU和第一GPS单元安装在自主驾驶卡车的第一位置上;
基于从第二IMU和第二GPS单元接收的传感器数据生成第二位置数据,其中所述第二IMU和所述第二GPS单元安装在所述自主驾驶卡车的第二位置上;
基于所述第一位置数据和所述第二位置数据规划轨迹,生成规划和控制数据;以及
根据所述轨迹控制所述自主驾驶卡车,包括根据所述第二位置数据基于所述规划和控制数据发出控制命令;
其中所述操作还包括:
基于与所述第一IMU和所述第一GPS单元相关联的所述第一位置数据形成驾驶室的第一掩蔽;
基于与所述第二IMU和所述第二GPS单元相关联的所述第二位置数据形成车身结构的第二掩蔽;以及
组合所述第一掩蔽和所述第二掩蔽以生成所述自主驾驶卡车的最终掩蔽,其中所述最终掩蔽被用于在感知期间将所述自主驾驶卡车作为障碍物移除。
14.如权利要求13所述的***,其中所述第一IMU和所述第一GPS单元被附接到所述自主驾驶卡车的驾驶室,以及其中所述第二IMU和所述第二GPS单元被附接到所述自主驾驶卡车的车身结构。
15.如权利要求14所述的***,其中所述第一IMU和所述第一GPS单元被附接到所述自主驾驶卡车的所述驾驶室的顶部,以及其中所述第二IMU和所述第二GPS单元被附接到所述自主驾驶卡车的基础平台。
16.如权利要求13所述的***,其中所述操作还包括:
基于从LIDAR设备和一个或多个相机获得的传感器数据感知所述自主驾驶卡车周围的驾驶环境,包括感知一个或多个障碍物;以及
根据基于所述第一IMU和所述第一GPS单元确定的所述第一位置数据确定所述障碍物中的每一个相对于所述自主驾驶卡车的相对位置,其中基于所述障碍物的所述相对位置生成所述轨迹。
17.如权利要求13所述的***,其中所述第一GPS单元在所述自主驾驶卡车上被定位为高于所述第一IMU。
18.根据权利要求13的***,其中所述操作还包括基于所述第二IMU和所述第二GPS单元确定的所述第二位置数据控制所述自主驾驶卡车的转向。
CN202010107219.7A 2019-02-28 2020-02-21 用于自主驾驶卡车的基于两个惯性测量单元和gps的定位*** Active CN111623766B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/289,117 US11392140B2 (en) 2019-02-28 2019-02-28 Two inertial measurement units and GPS based localization system for an autonomous driving truck
US16/289,117 2019-02-28

Publications (2)

Publication Number Publication Date
CN111623766A CN111623766A (zh) 2020-09-04
CN111623766B true CN111623766B (zh) 2023-09-01

Family

ID=72236752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010107219.7A Active CN111623766B (zh) 2019-02-28 2020-02-21 用于自主驾驶卡车的基于两个惯性测量单元和gps的定位***

Country Status (2)

Country Link
US (1) US11392140B2 (zh)
CN (1) CN111623766B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11493934B2 (en) * 2019-08-07 2022-11-08 GM Global Technology Operations LLC GPS data integrity verification
US11554793B2 (en) * 2020-10-26 2023-01-17 Tusimple, Inc. Vehicle safety system for autonomous vehicles

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623410A (en) * 1993-12-09 1997-04-22 Isuzu Motors Ltd. Hydraulic suspension system for a vehicle cab
CN205038512U (zh) * 2015-08-26 2016-02-17 重庆市瑰邦农业开发有限公司 一种装有gps定位导航的现代化自动驾驶农机具
CN108136867A (zh) * 2016-09-27 2018-06-08 百度(美国)有限责任公司 自动驾驶车辆的车辆位置点转发方法
CN108255171A (zh) * 2016-12-29 2018-07-06 百度(美国)有限责任公司 用于提高自主驾驶车辆的稳定性的方法和***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240754B2 (en) * 2004-06-14 2007-07-10 Delphi Technologies, Inc. Truck cab suspension control
US9718404B2 (en) * 2015-10-01 2017-08-01 Ford Global Technologies, LLCS Parking obstruction locator and height estimator
US20190163201A1 (en) * 2017-11-30 2019-05-30 Uber Technologies, Inc. Autonomous Vehicle Sensor Compensation Using Displacement Sensor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623410A (en) * 1993-12-09 1997-04-22 Isuzu Motors Ltd. Hydraulic suspension system for a vehicle cab
CN205038512U (zh) * 2015-08-26 2016-02-17 重庆市瑰邦农业开发有限公司 一种装有gps定位导航的现代化自动驾驶农机具
CN108136867A (zh) * 2016-09-27 2018-06-08 百度(美国)有限责任公司 自动驾驶车辆的车辆位置点转发方法
CN108255171A (zh) * 2016-12-29 2018-07-06 百度(美国)有限责任公司 用于提高自主驾驶车辆的稳定性的方法和***

Also Published As

Publication number Publication date
US20200278692A1 (en) 2020-09-03
CN111623766A (zh) 2020-09-04
US11392140B2 (en) 2022-07-19

Similar Documents

Publication Publication Date Title
CN110727267B (zh) 具有冗余超声雷达的自动驾驶车辆
CN110388931B (zh) 将对象的二维边界框转换成自动驾驶车辆的三维位置的方法
CN110667591B (zh) 用于自动驾驶车辆的规划驾驶感知***
CN110345955B (zh) 用于自动驾驶的感知与规划协作框架
CN109489673B (zh) 用于自动驾驶车辆的数据驱动地图更新***
CN110531750B (zh) 一种用于操作自动驾驶车辆的计算机实施的方法、可读介质及***
CN110389580B (zh) 用于规划自动驾驶车辆的路径的漂移校正的方法
CN110955236B (zh) 用于自动驾驶车辆的曲率校正路径采样***
CN110597243B (zh) 自动驾驶车辆的基于v2x通信的车辆车道***
CN110621541B (zh) 用于生成轨迹以操作自动驾驶车辆的方法和***
CN111123906B (zh) 不同横向加速度约束下的最优纵向轨迹生成
CN111712417B (zh) 用于自动驾驶车辆的、基于隧道的规划***
CN111857118B (zh) 对停车轨迹分段以控制自动驾驶车辆停车
CN111856923B (zh) 加速对复杂驾驶场景的规划的参数学习的神经网络方法
CN111615618B (zh) 用于自动驾驶车辆的高速规划的基于多项式拟合的参考线平滑方法
CN111615476B (zh) 用于自动驾驶车辆的基于螺旋曲线的竖直停车规划***
CN111830958B (zh) 用于操作自动驾驶车辆的方法、***和机器可读介质
CN111328385B (zh) 用于自动驾驶车辆的基于螺旋路径的三点转弯规划
CN111328313B (zh) 用于自动驾驶车辆的控制占主导的三点转弯规划
CN111683851B (zh) 用于自动驾驶的自反向车道的相互避开算法
CN112041774B (zh) 用于3级自动驾驶车辆的基于摄像机的横向位置校准
CN113226825B (zh) 自动驾驶车辆的基于扭矩反馈的车辆纵向自动校准***
CN111623766B (zh) 用于自主驾驶卡车的基于两个惯性测量单元和gps的定位***
CN111649751B (zh) 一种用于参考线平滑的超自由缝合方法
CN112272805B (zh) 连接两条平滑参考线的基于多点增强的拼接方法

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