CN111433565A - Method and system for self-performance aware path planning in autonomous vehicles - Google Patents

Method and system for self-performance aware path planning in autonomous vehicles Download PDF

Info

Publication number
CN111433565A
CN111433565A CN201780097474.4A CN201780097474A CN111433565A CN 111433565 A CN111433565 A CN 111433565A CN 201780097474 A CN201780097474 A CN 201780097474A CN 111433565 A CN111433565 A CN 111433565A
Authority
CN
China
Prior art keywords
vehicle
model
occupant
self
autonomous 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.)
Pending
Application number
CN201780097474.4A
Other languages
Chinese (zh)
Inventor
A·甘古力
T·P·小戴利
H·郑
D·W·刘
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.)
Zhijia Technology Co ltd
PlusAI Corp
Original Assignee
Zhijia Technology Co ltd
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 Zhijia Technology Co ltd filed Critical Zhijia Technology Co ltd
Publication of CN111433565A publication Critical patent/CN111433565A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L15/00Methods, circuits, or devices for controlling the traction-motor speed of electrically-propelled vehicles
    • B60L15/32Control or regulation of multiple-unit electrically-propelled vehicles
    • B60L15/38Control or regulation of multiple-unit electrically-propelled vehicles with automatic control
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02T90/10Technologies relating to charging of electric vehicles
    • Y02T90/16Information or communication technologies improving the operation of electric vehicles

Abstract

The present teachings relate to methods, systems, media, and embodiments for path planning for autonomous vehicles. First, an origin position and a destination position are obtained, where the destination position is a place to which the autonomous vehicle is going to drive. One or more available paths between the origin location and the destination location are identified. Based on the one or more available paths, a self-awareness performance model is instantiated that predicts an operating performance of the autonomous vehicle based on each of the one or more available paths. A planned path to the destination location is then automatically selected for the autonomous vehicle based on the self-awareness performance model.

Description

Method and system for self-performance aware path planning in autonomous vehicles
Cross Reference to Related Applications
This application is related to U.S. patent application 15/845,173 filed 2017, 12, 18, which is incorporated herein by reference in its entirety.
Technical Field
The present teachings relate generally to autonomous driving. In particular, the present teachings relate to planning and control in autonomous driving.
Background
With recent technological advances in Artificial Intelligence (AI), there has been a surge in applying AI in different application areas. This includes the field of automated driving, where planning and control are essential. As shown in fig. 1 (prior art), the autopilot module 110 includes a planning module 120 and a vehicle control module 130. As shown in fig. 2, the planning may include path planning, motion planning, or behavioral planning. Path planning refers to the work of planning a path from an origin to a destination based on certain considerations.
Motion planning may generally refer to the task of planning the motion of a vehicle to achieve a particular effect. For example, the movement of the vehicle may be planned in a manner that is consistent with traffic regulations or safety. The movement plan is then to determine what movement the vehicle needs to make to achieve this. Behavioral planning generally refers to work that plans how a vehicle should behave under different circumstances, such as vehicle behavior when passing an intersection, vehicle behavior to be driven in or along a lane, or vehicle behavior when turning a corner. For example, a particular vehicle behavior may be planned when a vehicle is moving slowly beyond the front. The behaviour and movement plans may be related, for example, a planned vehicle behaviour may need to be translated into movement in order to achieve the behaviour.
The vehicle control 130 shown in FIG. 1 may involve various aspects of control. As shown in FIG. 3, vehicle control may involve: for example, control specific to roads, control specific to motion, control specific to mass, control specific to geometry, control specific to aerodynamics, and control specific to tires.
The ambient information in fig. 1 can be used for vehicle planning. Conventionally, the surrounding environment information 100 includes, for example, the current position of the vehicle, a predetermined destination, and/or traffic information. For example, using such ambient information, a conventional planning module 120 may design a plan for a path from a current location to a destination. Known criteria used in route planning may include, for example, shortest distance, shortest time, use of highways (highways), use of local roads, traffic volume, and so forth. Such criteria may be applied based on known information, such as distance of individual road segments, known traffic patterns associated with roads, and so forth.
The planning module 120 may also perform motion planning, which is traditionally based on, for example, fast traversal random trees (RRTs) for state space or Markov Decision Processes (MDPs) for environmental modeling. The planning module 120 may generate planning data to be fed to the vehicle control module 130 based on the planned path/motion so that the vehicle control module 130 may operate to control the vehicle in the planned manner. To move the vehicle to perform the planning, the vehicle control module 130 may then generate control signals 140 that may be sent to different portions of the vehicle to achieve the planned vehicle movement. Conventionally, vehicle control is performed based on a general vehicle kinematics model and/or different types of feedback controllers.
Each human driver typically operates or controls the vehicle differently with different preferences. Human drivers also adaptively operate vehicles based on real-time conditions that may occur due to the current conditions of the vehicle itself, the external environmental conditions (which limit the ability of the vehicle to operate), and/or the reaction or response of occupants within the vehicle to current vehicle motion. For example, in the case of a child in a car, a human driver may choose to avoid (route planning) a curved path on snowy days for safety reasons. When different occupants ride the vehicle, the human driver may drive in different ways, thereby ensuring the comfort of the occupants. Although a human driver generally controls the vehicle in a manner to travel along a lane by remaining approximately in the middle of the lane, this behavior may change in the face of a right turn. In this case, the same human driver may bend to the right of the lane as the vehicle approaches the right turn point. In addition, different human drivers may bend to the right in different ways. In addition, the lane change behavior may also differ from vehicle to vehicle in different ambient conditions. The prior art does not address these problems, let alone provide a solution.
Accordingly, there is a need to provide improved solutions for planning and control in autonomous driving.
Disclosure of Invention
The teachings disclosed herein relate to methods, systems, and programming for online services. In particular, the present teachings relate to methods, systems, and programming for developing virtual agents that can interact with a user.
In one example, a method for path planning for an autonomous vehicle is disclosed. An origin position and a destination position are first obtained, where the destination position is where the autonomous vehicle will be. One or more available paths between the origin location and the destination location are identified. The self-performance awareness model is instantiated (instantiated) based on the one or more available paths and predicts an operating performance of the autonomous vehicle based on each of the one or more available paths. Then, based on the self-awareness model, a planned route to the destination location is automatically selected for automatically driving the vehicle.
In another example, a system for path planning for an autonomous vehicle is disclosed. The system includes an interface unit, a global path planner, and a path selection engine. The interface unit is configured to obtain information about an origin position and a destination position, wherein the destination position is where the autonomous vehicle is going. The global path planner is configured to identify one or more available paths between the origin location and the destination location. The route selection engine is configured to obtain a self-performance awareness model instantiated based on the one or more available routes, wherein the self-performance awareness model predicts the operating performance of the autonomous vehicle based on the one or more available routes, and select a planned route for the autonomous vehicle between the origin location and the destination location from the one or more available routes.
Other concepts relate to software for implementing the current teachings regarding developing virtual agents. A software product according to this concept includes at least one machine-readable non-transitory medium and information carried by the medium. The information carried by the medium may be executable program code data, parameters associated with the executable program code, and/or information related to the user, request, content, or information related to a social group, among others.
In one example, a machine-readable non-transitory medium is disclosed, wherein the medium has information stored thereon relating to a path plan for an autonomous vehicle, such that the information, when read by a machine, causes the machine to perform the following operational steps. First, an origin position and a destination position are obtained, where the destination position is a place where the autonomous vehicle will go. One or more available paths between the origin location and the destination location are identified. A self-performance awareness model is instantiated based on the one or more available paths and predicts an operating performance of the autonomous vehicle based on each of the one or more available paths. A planned path to the destination location is then automatically selected for the autonomous vehicle based on the self-performance awareness model.
Additional novel features are set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following description and drawings or may be learned by the manufacture or operation of the examples. The novel features of the present teachings may be attained by using or practicing various aspects of the methods, apparatus, and combinations of the specific examples discussed below.
Drawings
The methods, systems, and/or programming described herein are further described in the exemplary embodiments. These exemplary embodiments are described in detail with reference to the accompanying drawings. These embodiments are non-limiting exemplary embodiments in which like reference numerals represent like structures throughout the several views of the drawings and wherein:
FIG. 1 (Prior Art) illustrates some of the important modules of autonomous driving;
FIG. 2 illustrates an exemplary type of planning in autonomous driving;
FIG. 3 illustrates a known type of vehicle control;
FIG. 4A illustrates an autonomous vehicle having a planning module and a vehicle control module according to one embodiment of the present teachings;
FIG. 4B illustrates exemplary types of real-time data according to an embodiment of the present teachings;
FIG. 5 illustrates an exemplary high-level system diagram of a planning module, according to an embodiment of the present teachings;
FIG. 6A illustrates an exemplary method for implementing a self-aware performance model according to one embodiment of the present teachings;
FIG. 6B illustrates an exemplary configuration of a self-performance perceptual model with parameters, in accordance with an embodiment of the present teachings;
FIG. 6C illustrates exemplary types of intrinsic vehicle performance parameters, according to an embodiment of the present teachings;
FIG. 6D illustrates exemplary types of extrinsic performance parameters, according to one embodiment of the present teachings;
FIG. 7 illustrates an exemplary high-level system diagram of a mechanism for generating self-performance awareness parameters to be considered in planning, according to an embodiment of the present teachings;
FIG. 8 illustrates an exemplary high-level system diagram of a self-performance perceptual parameter generator in accordance with an embodiment of the present teachings;
FIG. 9 depicts a flowchart of an exemplary process for generating a self-performance awareness parameter, according to an embodiment of the present teachings;
FIG. 10 illustrates an exemplary high-level system diagram of a path planning module according to an embodiment of the present teachings;
FIG. 11 is a flowchart of an exemplary process diagram for path planning, according to an embodiment of the present teachings;
FIG. 12 illustrates an exemplary high-level system diagram of a global path planner according to an embodiment of the present teachings;
FIG. 13 is a flowchart of an exemplary process of a global path planner according to an embodiment of the present teachings;
FIG. 14A illustrates an exemplary high-level system diagram of a motion planning module according to an embodiment of the present teachings;
FIG. 14B illustrates an exemplary type of occupant module according to an embodiment of the present teachings;
FIG. 14C illustrates an exemplary type of user reaction to be observed for a motion plan in accordance with an embodiment of the present teachings;
FIG. 15 illustrates an exemplary high-level system diagram of an occupant observation analyzer, according to one embodiment of the present teachings;
FIG. 16 is a flow chart of an exemplary process for an occupant observation analyzer according to one embodiment of the present teachings;
FIG. 17 is a flow chart of an exemplary process of the motion planning module according to an embodiment of the present teachings;
FIG. 18 depicts an exemplary high-level system diagram of a model training mechanism for generating different models of motion planning, according to an embodiment of the present teachings;
FIG. 19 illustrates different types of reactions to be observed and their role in model training according to an embodiment of the present teachings;
FIG. 20A illustrates an exemplary type of lane-dependent planning in accordance with an embodiment of the present teachings;
FIG. 20B illustrates exemplary types of behavior related to lane following (lane following) in accordance with an embodiment of the present teachings;
FIG. 20C illustrates exemplary types of lane change related behavior according to an embodiment of the present teachings;
FIG. 21 illustrates an exemplary high-level system diagram of a lane planning module according to an embodiment of the present teachings;
FIG. 22 is a flow chart of an exemplary process of a lane planning module according to an embodiment of the present teachings;
FIG. 23A illustrates a conventional method of generating vehicle control signals from a vehicle kinematics model;
FIG. 23B illustrates a high-level system diagram of a vehicle control module that enables humanoid vehicle control in accordance with an embodiment of the present teachings;
FIG. 23C illustrates a high level system diagram of a vehicle control module that enables personalized anthropomorphic vehicle control, in accordance with an embodiment of the present teachings;
FIG. 24 illustrates an exemplary high-level system diagram of a humanoid-type vehicle control unit in accordance with an embodiment of the present teachings;
FIG. 25 is a flowchart of an exemplary process for a humanoid-type vehicle control unit in accordance with an embodiment of the present teachings;
FIG. 26 is an exemplary high-level system diagram of a mannequin vehicle control model generator according to one embodiment of the present teachings;
FIG. 27 is a flowchart of an exemplary process for a manned vehicle control model generator, according to one embodiment of the present teachings;
FIG. 28 is an exemplary high-level system diagram of a humanoid-type vehicle control signal generator in accordance with an embodiment of the present teachings;
FIG. 29 is a flowchart of an exemplary process for a humanoid vehicle control signal generator in accordance with an embodiment of the present teachings;
FIG. 30 illustrates the architecture of a mobile device that can be used to implement a dedicated system incorporating the present teachings; and
FIG. 31 illustrates the architecture of a computer, which can be used to implement a specific purpose system incorporating the present teachings.
Detailed Description
In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant teachings. However, it will be apparent to one skilled in the art that the present teachings may be practiced without these specific details. In other instances, well-known methods, procedures, components, and/or circuits have been described at a relatively high-level, without detail, in order to avoid unnecessarily obscuring the embodiments of the present teachings.
The present disclosure relates generally to systems, methods, media and other embodiments for planning and controlling path/vehicle behavior in a self-conscious, humanlike, personalized manner that accommodates real-time conditions. FIG. 4A illustrates an autonomous vehicle having a vehicle planning/control mechanism 410, according to one embodiment of the present teachings. The automated vehicle planning/control mechanism 410 includes a planning module 440 and a vehicle control module 450. Both modules use multiple types of information as input to achieve operation that is self-conscious, humanoid, personalized, and adaptable to real-time conditions. For example, as shown, the planning module 440 and the vehicle control module 450 each receive historical manual driving data 430 in order to learn a humanoid approach to maneuvering a vehicle under different conditions. These modules also receive real-time data 480 to perceive dynamic conditions around the vehicle to adapt operation accordingly. In addition, the planning module 440 accesses a self performance awareness module 490 that depicts what is limiting the operating performance of the vehicle in the situation where the vehicle is currently located.
Real-time data 480 may include different types of information useful for or relevant to vehicle planning and control. FIG. 4B illustrates exemplary types of real-time data according to an embodiment of the invention. For example, exemplary real-time data may include vehicle-related data, time-related data, occupant-related data, weather-related data, … …, and data related to nearby roads. The vehicle-related data may include, for example, a state of motion, a location, or a condition of the vehicle at the time. The state of motion of the vehicle may relate to, for example, its current speed and direction of travel. The real-time location information may include, for example, the current latitude, longitude, and altitude of the vehicle. The real-time conditions of the vehicle may include: a functional state of the vehicle, e.g., whether the vehicle is currently in a fully or partially functional state; or, a specific parameter under which different components of the vehicle are operating; and so on.
The time-related real-time data may generally include the current date, time, or month. Occupant-related data may include a variety of characteristics related to an occupant of the vehicle, such as: occupant response cues, which may include visual, auditory, or behavioral cues observed from the occupant; or a condition of the occupant, such as a mental state, a physical state, or a functional state of the occupant. The condition of the occupant may be inferred based on cues observed from occupant reaction cues. The weather-related data may include the local weather where the vehicle is currently located. The road-related data may include: information relating to the physical condition of a nearby road, for example, the degree of curvature, steepness, or humidity of the road; or local traffic conditions, such as congestion along the road.
FIG. 5 illustrates an exemplary high-level system diagram of planning module 440 according to an embodiment of the present teachings. In this exemplary embodiment, the planning includes, but is not limited to, road planning, sports planning, and planning of lane-related behavior, including lane following, lane changing, and the like. Accordingly, in the illustrated embodiment, the planning module 440 includes a path planning module 550, a motion planning module 560, and a lane planning module 570. The individual modules are aimed to operate in a manner that is per se performance aware, humanoid and personalized. In addition to the ambient information 420, each of the modules 550, 560 and 570 takes as input the recorded human driving data 430, the real-time data 480 and the self performance awareness model 490 and generates its respective outputs to be used by the vehicle control module 450 for transformation into vehicle control signals 470 for controlling the vehicle. For example, the path planning module 550 generates as its output planned path information 520, the motion planning module 560 generates as its output planned motion 530, and the lane planning module 570 generates as its output planned lane control information 540.
Each of the planning modules may be triggered via some trigger signal. For example, the path planning module 550 may be actuated via a path planning trigger signal; the motion planning module 560 may be actuated upon receiving a motion planning trigger signal; and the lane planning module 570 may begin operation when a lane planning trigger signal is received. Such a trigger signal may be provided manually (by, for example, a driver or occupant) or automatically generated based on, for example, a particular configuration or a particular event. The driver may manually actuate the path planning module 550 or any other planning module for path/movement/lane planning, much like one would do when manually activating, for example, a vehicle cruise control.
Planning activities may also be actuated by specific configurations or events. For example, the vehicle may be configured to actuate the path plan each time the vehicle receives an input indicating a next destination. This may be independent of where the current position of the vehicle is. In some embodiments, the planning modules may be triggered whenever the vehicle is turned on, and, depending on the circumstances, they may engage in different planning activities as needed. In different cases, they may also interact with each other in the way required by the case. For example, the lane planning module 570 may determine to change lanes in certain situations. Such planned lane control is output by the lane planning module 570 and may be fed to the motion planning module 560 such that a particular path trajectory (planned motion) suitable for implementing the planned lane change may be further planned by the motion planning module 560.
The output of the planning module may be fed to another one of the planning modules 440 for further planning or for providing input for future planning of another module. For example, the output of the path planning module 550 (the planned path 520) may be fed to the motion planning module 560 so that the path information may affect how the vehicle motion is planned. As discussed above, the output of the lane planning module 570 (planned lane control 540) may be fed to the motion planning module 560 such that planned lane control behavior may be achieved via planned motion control. Conversely, the output of the motion planning module 560 (planning motion 530) may also be fed to the lane planning module 570, thereby affecting the planning of the lane control behavior. For example, in personalized motion planning, the motion planning module 560 may determine that the motion of the vehicle needs to be gentle due to observing that the vehicle occupant prefers smooth motion. Such a determination is part of the movement plan and may be sent to the lane planning module 570 so that the lane control behavior of the vehicle may be performed in a manner that ensures smooth movement (e.g., changing lanes as little as possible).
To ensure that vehicle behavior is planned and controlled in a way that is self-performance aware, the path planning module 550, the motion planning module 560 and the lane planning module 570 also access the self-performance aware module 490 and use it to determine a planning strategy in such a way that: taking into account what the vehicle can actually do within the current scenario. FIG. 6A illustrates an exemplary manner of implementing a self-performance awareness model 490 according to one embodiment of the present teachings. As shown, the self-performance awareness model 490 may be constructed as a probabilistic model, a parametric model, or a descriptive model. Such a model may be trained based on, for example, learning. The model may include a variety of parameters that are used to delineate factors that may affect or have an effect on the actual capabilities of the vehicle. The model may be implemented as a probabilistic model with probabilistically inferred parameters. The model may also be implemented as a parametric model with explicit model properties that are applicable to different real-world conditions. The model 490 may also be provided as a descriptive model with enumerated conditions having values that are instantiated based on a real-time scenario.
The self-performance awareness model 490 in any case may include a variety of parameters, each of which is associated with certain parameters that may affect the actual performance of the vehicle, such that vehicle planning (path, motion, or vehicle) must be considered. In the following disclosure, the self-performance perceptual model and the self-performance perceptual parameters are used interchangeably. FIG. 6B illustrates an exemplary configuration of a self-performance aware model or parameter 510 according to an embodiment of the present teachings. As shown, the self-performance awareness parameters 510 may include intrinsic performance parameters and extrinsic performance parameters. Intrinsic vehicle performance parameters may refer to parameters associated with the vehicle itself that may affect what the vehicle is capable of doing in operation, and such parameters may be determined based on how the vehicle is manufactured or what the vehicle is at that time. Extrinsic performance parameters may refer to such ambient environmental parameters or characteristics: which is external to the vehicle but may affect the manner in which the vehicle can be operated.
FIG. 6C illustrates exemplary types of intrinsic vehicle performance parameters, according to an embodiment of the present teachings. As shown, intrinsic vehicle performance parameters may include, but are not limited to, characteristics of the vehicle in terms of, for example, its engine, its safety measures, and its tires. For example, in terms of its engine, the intrinsic performance parameters may specify the maximum speed that the vehicle can reach, the controls that can be performed on the engine, including cruise control or any restrictions on manual control of the engine. In terms of safety measures, the intrinsic performance parameters may include information about what kind of sensors the vehicle is equipped with, specific parameters related to brakes (breaks), or information related to the vehicle seat. For example, some vehicles may have seats with metal supports (stronger) as the back, and some seats have only plastic supports. Some seats may have mechanisms that allow automatic control for vibration, and some not. The intrinsic performance parameters may also specify, among other vehicle components, the type of vehicle tire (which may have an operable bearing) and whether the vehicle is currently equipped with snow tires or with anti-skid measures. These intrinsic vehicle performance parameters may be used to evaluate what types of paths and motions may be possible and what types of vehicle behavior may be achieved. Thus, making such intrinsic performance parameters available to the planning module allows the planning module to plan properly without going beyond what the vehicle can actually do.
FIG. 6D illustrates exemplary types of extrinsic performance parameters, according to one embodiment of the present teachings. As discussed above, extrinsic performance parameters specify information that is external to the vehicle but may affect planning capabilities, and such extrinsic performance parameters are used to determine an appropriate plan given conditions external to the vehicle. The final output from the planning module can be determined under dual constraints of intrinsic and extrinsic performance parameters. Since extrinsic performance parameters may include parameters that describe conditions or situations that the vehicle is or may be facing, they may affect what should be planned. For example, ambient conditions relating to the road (approaching the vehicle or even relatively far from the vehicle). The road condition related parameters may indicate how crowded the road is (so the speed of travel cannot be planned too fast), whether the road has speed limitations (specified minimum and maximum speeds, and actual allowable speeds due to traffic volume), whether there are any accidents along the road, or the surface condition of the road (so the movement cannot be too fast), or whether there are specific conditions on the road surface that would hinder the vehicle performance in the vehicle planning.
There are other vehicle external conditions that may affect various planning activities. This includes lighting or atmospheric related conditions, as well as the surroundings of the vehicle. For example, if the vehicle is positioned such that there is sun glare and the sensor is not functioning well, this will affect the planning decision. Such information is also important to the planning module if the vehicle is located in an area with a dense fog condition. Such information may also be taken into account by the planning module if there is a large amount of precipitation. The surrounding traffic may also be important for planning. For example, extrinsic parameters may provide information about nearby vehicles or objects so that the planning module may consider such information in its respective plan. Extrinsic parameters may include information about these nearby vehicles/objects, e.g., whether the nearby vehicle is a large truck or a bicycle, which may also affect how planning decisions are made. Additionally, events that occur along the road on which the vehicle is located may also affect the planning. For example, for obvious reasons, it may also be important information for the planning module whether the vehicle is currently on a road in the school zone or whether there is ongoing construction along the road on which the vehicle is currently located.
Extrinsic performance parameters may be continuously obtained and updated over time to enable the planning module to adapt its decisions in real time based on external conditions. In some cases, extrinsic performance parameters may also be predicted. For example, if the vehicle is traveling westward on the road in the afternoon, it can be predicted that there will be sun glare. Although the extrinsic performance parameters of such predictions may not be real-time information, they will help the planning module (e.g., path planning module) make the appropriate decisions. For example, if the intended destination of the vehicle is in the northwest direction and there are roads available both to the west and to the north at that time, knowing that if there is sun glare if walking to the west in the evening, the path planning module 550 may accordingly decide to first select the northward road at that time and later select the westward road after the sun goes down the hill to avoid sun glare (more safety). Such predicted extrinsic performance parameters may be determined based on other information, such as the current location of the vehicle and the predetermined destination of the vehicle.
With performance parameters (both intrinsic and extrinsic), the vehicle becomes able to perceive intrinsic and extrinsic performance related limitations by itself, which can be very important in planning. FIG. 7 illustrates an exemplary high-level system diagram of a mechanism 700 for generating self-aware performance parameters, according to an embodiment of the present teachings. In this illustrated embodiment, the mechanism 700 includes a local context determination unit 730 and a self-awareness performance parameter generator 740. Based on, for example, information about the current location of the vehicle and/or the destination to which the vehicle is heading, the local context determination unit 730 will collect local information of where the vehicle is located and/or is to be located (i.e., where the vehicle is currently located and where the vehicle is to be located on the way to the destination). For example, the self-awareness performance parameter generator 740 will continuously generate both intrinsic and extrinsic performance parameters based on information about the vehicle and local context information determined from, for example, the current and future locations of the vehicle.
To facilitate the self-performance awareness parameter generator 740 to generate extrinsic performance parameters, the local context determining unit 730 may retrieve information stored in the map configuration 750 and the road context configuration 760 based on the current location 720 and the destination information 710. The local context information relating to the road may include ambient or context information of the road on which the vehicle is currently located and/or the road on which the vehicle will be located later. For example, the map configuration 750 may provide information about roads from a current location to a predetermined destination, while the road background configuration 760 may provide some known or static information about characteristics associated with the roads (e.g., height, steepness, tortuosity, etc. of the various roads). These static information collected about the road may then be used by the self-performance awareness parameter generator 740.
Road conditions may change over time. For example, the road may become iced or slippery due to changes in weather conditions. Background information about such dynamic changes of the road may be continuously obtained separately, for example, by the self-performance awareness parameter generator 740, and used to generate extrinsic performance parameters reflecting real-time conditions. As will be discussed below with reference to fig. 8 with respect to the self-performance awareness parameter generator 740, the current location and origin-destination information may both be transmitted to the self-performance awareness parameter generator 740 so as to collect real-time information about road conditions therefrom to determine extrinsic performance parameters.
To generate the intrinsic vehicle performance information, information related to the vehicle may be accessed from the vehicle information storage 750. The vehicle information storage 750 may store vehicle parameters configured at the time of manufacture of the vehicle, such as whether the vehicle has cruise control or a particular type of sensor. The memory 750 may also subsequently update information related to the vehicle-internal parameters. Such subsequent updates may be generated as a result of, for example, vehicle maintenance or repair or even real-time observed updates. In the discussion below with reference to fig. 8, the self-performance awareness parameter generator 740 also includes mechanisms for: which continuously collects any dynamic updates of vehicle-related parameters that are consistent with the actual intrinsic performance of the vehicle.
FIG. 8 illustrates an exemplary high-level system diagram of a self-performance perceptual parameter generator 740 in accordance with an embodiment of the present teachings. In this illustrated embodiment, the self-awareness parameters generator 740 includes a local context information processor 810, a situational parameter determiner 820, a self-awareness parameters updater 830, and various updaters that continuously and dynamically collect different aspects of information relevant to making vehicle decisions. These dynamic information updaters include, for example, a vehicle performance parameter updater 860-a, a weather sensitive parameter updater 860-b, a traffic sensitive parameter updater 860-c, an orientation sensitive parameter updater 860-d, road sensitive parameter updaters 860-e, … …, and a time sensitive parameter updater 860-f.
In some operating embodiments, upon receiving local context information from the local context determination unit 730, the local context information processor 810 processes the received information and, for example, extracts information about the current path on which the vehicle is located and sends the information to the self-awareness performance parameter updater 830. Such information about the current path may include the steepness or curvature of the path, or other types of static information, such as the height and orientation of the path. The contextual parameter determiner 820 receives the current location 720 and, for example, separates the location and time information and sends the information to the self-aware performance parameter identifier 830 so that it can use the information to identify the precise time and location-specific performance parameters.
With information about the vehicle location and the current time, the self-awareness performance parameter updater 830 may access the intrinsic performance model 840 and/or the extrinsic performance model 850 to retrieve performance-related parameter values that are characteristic of the current location and time. In certain embodiments, the intrinsic performance module 840 may be configured to specify the type of parameter related to the intrinsic performance of the vehicle and its current value. Similarly, the extrinsic performance model 850 may be configured to specify the types of parameters and their current values that have an effect on the vehicle's operating capabilities.
In operation, in order to maintain the values of the parameters at current values, the intrinsic and extrinsic performance models (840 and 850) may regularly trigger the updaters (860-a, … …, 860-f) to collect real-time information and update the values of the corresponding parameters based on the real-time information so collected. For example, the intrinsic performance model 840 may be configured with mechanisms to: which actuates the vehicle performance parameter updater 860-a to collect updated information regarding the intrinsic performance of the vehicle. Such a mechanism may specify different modes of triggering. For example, it may be based on a regular schedule, e.g. daily or hourly. It may also specify that it is to be triggered by some external event, such as a signal received from a service shop or from a sensor on board the vehicle that detects that some functional state of a vehicle component has changed. In this case, the vehicle performance parameter updater 860-a may receive real-time vehicle information from the sensors and update the values/states of the relevant performance parameters in the intrinsic performance model to reflect the real-time state of the vehicle. For example, during vehicle operation, headlights or brakes may become disabled. Such real-time detected information may be collected by the vehicle performance parameter updater 860-a and used to update the information stored in the intrinsic performance parameter storage 840. Such updated information about the vehicle may then be used by the self-awareness performance parameter generator 840 to generate intrinsic performance parameters.
Similarly, the extrinsic performance model 850 may be configured to specifically specify an update mechanism for updating different types of extrinsic performance parameters. The update mechanism may specify updates that are scheduled on a regular basis, or that are triggered by certain events. Different types of extrinsic performance parameters may be configured to be updated based on different trigger mechanisms. For example, the update may be done regularly, e.g. every few minutes, for weather-related extrinsic performance parameters or extrinsic performance parameters that may be closely related to weather (e.g. visibility in the vicinity of the vehicle). Similarly, traffic sensitive parameters, such as the actual allowable speed, often as a direct result of traffic conditions, may also be updated regularly. Different types of parameters, although all regularly updated, may have different update schedules, which may range from every few seconds to every few minutes or hours.
On the other hand, certain extrinsic performance-related parameters may be made when certain events occur. For example, for orientation sensitive parameters (e.g., whether sun glare is present), an update may be triggered when the vehicle is traveling in a particular direction. If the direction of vehicle travel changes from north to northwest at some afternoon time, this may trigger the orientation sensitive parameter updater 860-d to collect information about and update the situation regarding sun glare. In some cases, the update may indicate the absence of sun glare, for example, when the weather is a cloudy day. In some cases, the update may indicate the presence of sun glare. In either case, such orientation-sensitive information is then used to update the values of corresponding extrinsic performance parameters stored externally in performance parameter memory 850. Similarly, an update of a time-sensitive parameter (e.g., due to vehicle visibility at the time of day) may be triggered based on the detected location, the time zone of the location, and the time of day at a particular time of day. In some embodiments, the updating of certain performance parameters may also be triggered by events related to the detected updating of other performance parameter values. For example, a road-sensitive parameter update, such as wet road conditions, may be triggered when a weather condition update indicates that the weather is beginning to rain or snow.
In the illustrated embodiment, the vehicle performance parameter updater 860-a receives static vehicle information from the memory 750 and dynamic vehicle information updates from real-time vehicle information feeds (which may come from a variety of sources). Examples of such sources include dealers, vehicle maintenance sites, on-vehicle sensors reporting component status changes, or other sources. The weather sensitive parameter updater 860-b may receive dynamic weather updates and updates of other weather sensitive performance parameters, such as precipitation, visibility, fog, or any other parameter that is weather-related and potentially affects vehicle operation. Weather-related information may come from a variety of data sources that feed real-time data.
The traffic sensitive parameter updater 860-c may receive dynamic traffic reports and other information relating to traffic that may affect vehicle operation. Examples include the degree of traffic congestion (which may be used to determine whether a vehicle path needs to be re-planned) or the time of an event that has caused traffic congestion (to infer how long the delay will last to determine whether to re-plan a path). Traffic or traffic-related information may be received from one or more sources for real-time data feeds. The orientation sensitive parameter updater 860-d may be configured to collect information along the road in the direction of the vehicle. Such orientation sensitive information may include sun glare in a particular direction (e.g., east or west), or any potential situation in the direction of the road on which the vehicle is located (e.g., a landslide situation ahead of the road). Similarly, once triggered, the road-sensitivity parameter updater 860-e may collect information regarding a variety of roads or road conditions from one or more real-time information feed sources with respect to vehicle location. Such information may relate to the road (e.g., open, closed, detour, school district, etc.) or its condition (e.g., wet, icy, flooded, construction, etc.). The time sensitive parameter updater 860-f may be configured to collect real-time data from a data source in real-time that is time dependent. For example, the visibility of a road may depend on the time of day in the time zone in which the vehicle is located.
The collected real-time data may then be used to update the intrinsic performance model 840 and/or the extrinsic performance model 850. Such update data may be time stamped. The self-aware performance parameter updater 830 can then access both the intrinsic and extrinsic performance models 840 and 850 to determine the relevant performance parameters and their updated values. The derived intrinsic/extrinsic performance parameters may then be output so that they can be used by the various planning modules shown in FIG. 5. In particular, the self-awareness performance parameters 510 thus generated are used by the path planning module 550 for path planning, as will be discussed with reference to fig. 10-13. The self-awareness performance parameters are also used by the motion planning module 560 to personalize the motion plan, which will be disclosed below with reference to fig. 14-19. The self-awareness performance parameters are also used by the lane planning module 570 for lane control, which will be described in detail with reference to fig. 20-22.
Fig. 9 is a flow chart of an exemplary process of the self-awareness performance parameter generator 740 according to an embodiment of the present teachings. First, local context information is received at 910, location and time information is extracted at 920, which is used by different updaters to obtain information feeds from different sources relating to various aspects of intrinsic and extrinsic performance at 930. The information thus obtained is then used by different updaters at 940 to update the intrinsic performance parameters 840 and the extrinsic performance parameters 850. Based on the current location, time, and received local context information, the self-awareness performance parameter updater 830 then identifies a plurality of intrinsic and extrinsic performance parameters 510 that are relevant to the vehicle at the current time, to update the intrinsic/extrinsic performance parameters at 940, and to generate updated performance parameters at 950. The so updated intrinsic/extrinsic performance parameters 510 are then output at 960.
The self-awareness performance parameters thus dynamically collected will be used in a variety of vehicle behavior planning operations, including path planning, motion planning, and lane-dependent vehicle behavior planning. For example, in human driving, the selection of a route to a destination is often made taking into account factors captured by self-perceived performance parameters. For example, a human driver may select a path to a desired destination based on, for example, what the vehicle is equipped with or can do (intrinsic performance parameters). If the vehicle is in a situation where steep roads cannot be handled well, such roads need to be avoided. In addition, the human driver may also consider other factors, such as the weather of the day, the conditions of the roads considered, events (extrinsic performance parameters) planned or known for a particular time of day. For example, if one road is pointing west and the sun is going to go down a hill at that time, there may be too much glare, so it is better to go another alternative road. For safety and reliability purposes, the autonomous vehicle should also take these intrinsic and extrinsic properties into account for path selection during path planning.
Conventional path planning methods often employ some cost function (cost function) to minimize the cost of the selected path. For example, conventional path planning takes into account, for example, optimization of distance traveled, minimization of time required to reach a destination, or minimization of fuel used to reach a destination. In some instances, traditional approaches may also take into account traffic conditions when optimizing costs, e.g., high traffic paths may reduce speed, resulting in increased time and fuel to reach a destination. These optimization functions often assume that all vehicles can handle all paths in the same way, and that all paths can be handled equally well. Such assumptions are often not true, so when autonomous vehicles apply such planning schemes, they often find it impossible or even in some cases dangerous. The present teachings are directed to achieving safe, practical, reliable path planning that is adaptive to varying intrinsic and extrinsic performance-related parameters.
As shown in fig. 5, the planning module 450 takes into account the self-awareness performance parameters 510 when implementing different planning tasks, including the path planning module 550, the motion planning module 560, and the lane planning module 570. Referring now to fig. 10-13, details regarding the path planning module 550 are provided. FIG. 10 illustrates an exemplary high-level system diagram of a path planning module 550 according to an embodiment of the present teachings. The purpose of the path planning module 550 is to plan a path based on a desired destination in a way that is self-aware, both in terms of intrinsic and extrinsic performance. In contrast, conventional path planning techniques primarily consider criteria such as shortest distance, shortest time, maximum utilization of highways/local roads, and the like, without considering dynamic intrinsic performance parameters and real-time extrinsic performance parameters.
In this illustrated embodiment, the path planner module 550 includes a path selection preference determiner 1030 and a global path planner 1020. The path selection preference determiner 1030 determines preferences to be considered in selecting a path. The global path planner 1020 selects an appropriate path based on a variety of information including the self-aware performance parameters 150. In some embodiments, the path planning activity may be triggered based on the illustrated path planning trigger signal. When actuated, the global path planner 1020 may collect various types of dynamic information related to the current path planning operation. For example, the global path planner 1020 may rely on information about the origin/current location and the desired destination. Planning is performed with respect to the origin/current location and the destination. The destination information may be determined in different ways. For example, it may optionally be received from the driver/occupant via the interface unit 1010.
The global path planner 1020 may also use the real-time data 480 as input and plan the path accordingly. As discussed with reference to fig. 4B, the real-time data includes information related to real-time vehicle-related information (location), information about observed occupants within the vehicle, … …, and road characteristics. Such real-time data provides the ambient information needed for path planning. The global path planner 1020 also receives self-aware performance parameters 510, which inform the planner of what is possible given the dynamic intrinsic and extrinsic circumstances at the time of planning. For example, the intrinsic performance parameters may indicate that the vehicle is currently unable to travel quickly due to certain mechanical issues, so the global path planner 1020 may take this into account in order to plan a path that, for example, involves primarily local roads and may pass through certain auto repair shops. Similarly, the extrinsic performance parameters may indicate that the sun glare is quite intense in the north of the vehicle's current location, so the global path planner may be based on this information to avoid nearby paths located in the north before the sun goes down a hill. The real-time data 480 and the self-awareness performance parameters 510 provide information to the global path planner 1020 to enable it to plan an appropriate path given conditions such as the current time, the current vehicle location, the current weather, the current occupant conditions, and the current road conditions.
The global path planner 1020 may also take into account preferences to be applied in path planning. Such preferences may be specified by the driver/occupant via the user interface unit 1010 (which may be communicated to the global path planner 1020), or may be obtained via other means (see the disclosure below with reference to fig. 12). The information stored in the routing preference configuration 1050 may also be accessed and considered when considering the preferences to be applied. Such a routing preference configuration may specify certain general preferences in routing under different scenarios, e.g. avoiding steep/curved roads in rain/snow scenarios, avoiding lanes at night, avoiding very few roads at gas stations, etc. The global path planner 1020 may pass the relevant information received from the real-time data 480 and the self-awareness performance parameters 510 to the path selection preference decider 1030, which in turn may be used by the path selection decider 1030 to retrieve a particular path selection preference configuration from 1050. For example, if snow is now falling (from the real-time data 480) and the vehicle is not having a snow tire (from the intrinsic performance parameters 510), such dynamic information may be forwarded from the global route planner 1020 to the route selection preference decider 1030 such that a selection preference profile associated with such dynamic scenarios may be retrieved from the route selection preference profile 1050 (e.g., avoiding steep/curved roads) and sent back to the global route planner 1020 such that it can be relied upon in selecting an appropriate route.
In order to determine an appropriate path, in addition to knowing the selection preferences, the global path planner 1020 may also need to know additional information about the road, such as what paths are available from the vehicle's current location to a predetermined destination. In addition, the map/road configuration 1060 may also store characteristic information about each available road/path for each available path. Such characteristic information of the road/path may include, but is not limited to, geometric characteristics such as the nature of the road/path (freeway or non-freeway), the dimensions of the road/path, the steepness/curvature, the condition of the road/path, and the like. In planning, the global path planner 1020 may first determine available roads/paths between the current location of the vehicle to the desired destination. To select an appropriate path to the destination, for such available roads/paths, their characteristic information may also be accessed by the global path planner 1020, such that the selection may be made based on such characteristic information.
With information about available roads/paths and characteristic information about these available roads/paths, the global path planner 1020 may then select an appropriate path to the destination by matching the path selection preferences determined by the path selection preference determiner 1030 with the characteristic information of the available roads/paths. Details regarding the global path planner 1020 are provided with reference to fig. 12-13.
As discussed previously, the global path planner 1020 selects a planned path based on dynamic information from different sources, including the real-time data 480 and the self-learned performance parameters 510. In addition, since the vehicle may be moving, or the destination may change over time, the vehicle's current location and destination may change over time, as may real-time data 480 and self-awareness performance parameters 510. When such information changes, it may affect the planned global path. For example, as the current location changes, the real-time data associated with the current location may also change, for example, from good weather associated with the previous location to a rainy condition associated with the current location. This in turn may lead to a change in path selection preferences and, ultimately, a change in the selected path. Thus, the global path planner 1020 may interact with the path selection preference decider 1030 in a bi-directional manner and in a dynamic manner. The global path planner 1020 may then actuate the path selection preference decider 1030 whenever a change may make it necessary to re-determine the path selection preferences exists, in order to modify or re-generate the preferences to be used by the global path planner 1020 to determine the appropriate path in a given situation.
FIG. 11 is a flowchart of an exemplary process for path planning module 550, according to an embodiment of the present teachings. Information regarding the vehicle destination and optionally information regarding preferences is received at 1110. The real-time data 480 and the self-awareness performance parameters 510 are received by the global path planner 1020 at 1120, and various information related to the current scene or situation of the vehicle may then be identified from the received real-time data and self-awareness performance parameters at 1130. Based on the relevant information about the current scene, preferences specific to the current scene are determined at 1140. To plan a path, the global path planner 1020 accesses information regarding available roads/paths based on the current location and the desired destination, as well as characteristic information for such available paths/paths, at 1150. At 1160, the global path planner 1020 selects an appropriate path for the current situation based on the particular preferences determined based on the current scenario and the road/scenario information.
FIG. 12 illustrates an exemplary high-level system diagram of a global path planner 1020 according to an embodiment of the present teachings. In this illustrated embodiment, the global path planner 1020 includes a self-aware performance parameter analyzer 1205, an intrinsic performance based filter generator 1210, and a path selection engine 1230. Optionally, the global path planner 1020 also includes a destination updater 1225 for dynamically determining and updating the current destination. In the illustrated embodiment, the global path planner 1020 also optionally includes a mechanism for personalizing driver/occupant preferences for use in selecting a path. The routing preference determiner 1030 will determine a preference related to selecting a route based on the particular situation in which the vehicle is currently located (which is different from obtaining personalized preferences for a particular driver/occupant).
As illustratively shown, an optional mechanism for determining personalized preferences includes an occupant driving data analyzer 1245, a preference personalization module 1250, and an occupant preference determiner 1240. In operation, the occupant driving data analyzer 1245 receives as input the recorded human driving data 430 and analyzes or learns from such data to understand path preferences related to a particular driver/occupant. For example, from the recorded human driving data 430, it may be learned that a particular driver prefers to travel on a local road rather than on a highway, or historically to choose to use a highway at night, even if this involves a much longer distance. The preferences of all drivers associated with the vehicle may also be learned. For example, multiple people (a husband, wife, and child) may be associated with the vehicle, i.e., any one of the people may operate the vehicle. The occupant driving data analyzer 1245 may learn from the recorded human driving data 430 various types of information associated with such drivers' driving behavior, which may enable the preference personalization module 1250 to establish personal preferences for each such individual upon receiving such driving behavior information.
Upon receiving information from the occupant driving data analyzer 1245 regarding individual drivers, the preference personalization module 1250 may then generate personalized preferences in routing. Such path-related preferences may not only reflect path selection, but also represent path selection preferences under different circumstances (e.g., a particular time frame of day, season, location, etc.). Such preferences established for each individual driver may be stored in the memory 1265. At the time of route planning, the occupant preference determiner 1240 receives the real-time data 480 and, based on various information in the real-time data 480 (e.g., month/day/time, occupant information, regional weather, etc.), the occupant preference determiner 1240 may access relevant preferences from the route selection preferences memory 1265 that can be applied in the current route planning. For example, if the real-time data indicates that the driver is a particular person, and the current time is 7 pm in 1 month: 45, etc., the occupant preference determiner 1240 may identify 1265 personalized route preferences related to the current particular driver that are relevant to the season of the year and the particular time frame (e.g., the driver may prefer to travel on the highway in the winter). The personalized routing preferences so identified may then be sent to the routing engine 1230 so that the personalized preferences of the driver/occupant in the routing can be taken into account in determining which route to select.
As shown in fig. 12, the routing engine 1230 may also use the preferences inferred by the routing preferences determiner 1030 as input for its routing operations. In some embodiments, the routing engine 1230 may rely on preferences from 1030 without regard to the personalized preferences of the driver, i.e., it may rely in its routing solely on the preferences identified by the routing preferences determiner 1030.
The path selection engine 1230 may also receive self-awareness performance parameters 510 when selecting a path that is appropriate for the current situation. In the illustrated embodiment, the self-awareness performance parameter analyzer 1205 separates the extrinsic performance parameters and the intrinsic performance parameters and transmits the extrinsic performance parameters to the routing engine 1230 so that extrinsic conditions associated with the current situation in which the vehicle is located can be taken into account in routing. For example, the extrinsic performance parameters may indicate that there is an ongoing construction on path 7, and path selection engine 1230 may consider this and avoid path 7. However, if the destination is currently set as school on route 7 and the driver's habit is to pick up children from school at the current time of day (e.g., 3:30 PM), the routing engine 1230 may choose to take route 7 on all things considered.
Similarly, intrinsic performance parameters may also be taken into account when selecting an appropriate path. In this illustrated embodiment, the intrinsic performance parameters are fed to an intrinsic performance based filter generator 1210, which may generate different filters 1215 based on the intrinsic performance parameters, such that such filters may be used by the path selection engine to filter out paths that are not appropriate given the intrinsic performance parameters. For example, if the intrinsic performance parameters indicate that the vehicle does not have a snow tire, any steep and/or curved path may not be appropriate in snow.
The routing engine 1230 selects a route based on both the current location of the vehicle tracked by the current location updater 1235 and the destination tracked by the destination updater 1225. In some cases, the changed current location and destination may trigger the routing engine 1230 to actuate the routing preference decider 1030 to re-evaluate preferences in routing given the changes.
FIG. 13 is a flowchart of an exemplary process of global path planner 1020 according to an embodiment of the present teachings. At 1310, self-awareness performance parameters are received. The intrinsic performance parameters are used to generate an intrinsic performance based filter at 1320 so that a particular path can be filtered out due to the incompatibility given the intrinsic conditions of the vehicle. Extrinsic performance parameters are extracted from the received self-perceived performance parameters at 1330. Meanwhile, real-time data 480 is continuously received at 1340, and recorded human driving data is received at 1350. Such data is then used to determine personalized routing preferences at 1360 related to the current driver, current situation, and current time. At 1370, the self-perceived performance parameters and/or driver personalized preferences may then be used to select an appropriate route taking into account all factors. At 1380, the selected path is output.
Path planning according to the present teachings allows for various types of information to be considered in path planning, such as real-time data and self-learned performance parameters, such that the planned path adapts to the then-current vehicle conditions (via intrinsic performance parameters), the then-current dynamic environment in which the vehicle is located (via dynamic data and extrinsic performance parameters), occupant characteristics determined based on, for example, dynamically updated real-time data (see fig. 4B), and occupant personalization preferences. Similarly, such information may also be used in other types of planning operations, adapting planned vehicle activities to real-time situations, being personalized based on individual preferences, and allowing the behavior of the vehicle to be more like a human driver. More details are provided below with reference to fig. 14-19 regarding personalized adaptive motion planning.
Human drivers control their vehicle motion in a comfortable manner. In most cases, human drivers also notice the feedback or reaction of the occupants sitting with them in the vehicle and reacting to the vehicle motion. For example, certain human drivers may prefer to start and stop a vehicle smoothly. Some human drivers who often start and stop vehicles very suddenly may adjust their driving when observing that an occupant seated in the vehicle reacts in a particular manner. Such human behavior may play an important role in automotive vehicles. In general, it has been recognized that driving behavior varies from person to person, and how such behavior is adjusted when others are present in the same vehicle may also vary from person to person.
Traditionally, automated vehicles may employ such a planning model: which is trained to capture characteristics of the human driving behavior of the general population. Such generic models do not customize the planning method based on individual driver/occupant preferences or intentions. The present teachings are directed to providing personalized motion planning based on knowledge of the driver/occupant and dynamic observation of the driver/occupant's response to vehicle motion.
FIG. 14A illustrates an exemplary high-level system diagram of a motion planning module 560 according to an embodiment of the present teachings. In this illustrated embodiment, the motion planning module 560 is directed to personalized, anthropomorphic, adaptive motion planning, i.e., the motion of the vehicle is planned according to, for example, general and personal preferences (which may include what is known as occupant preferences and what the occupant reacts or feeds back to the current motion of the vehicle). A motion planning module 560 according to the present teachings may include a generic motion planner 1450 and an occupant motion accommodator 1460. The motion planning module 560 may plan vehicle motion based on a variety of considerations, including real-time conditions in which the vehicle is located (e.g., on a curved road, rainy days, dimly lit, etc.), vehicle conditions (via intrinsic performance parameters), and personal preferences of occupants within the vehicle (known preferences, or dynamically determined based on observed driver feedback). Given these considerations, vehicle motion may be planned based on a motion planning model (which may be invoked in a manner appropriate to different scenarios). The motion planning model may comprise different models suitable for the current given situation.
FIG. 14B illustrates an exemplary type of motion planning model according to an embodiment of the present teachings. In the illustrated embodiment, the motion planning model may include a generic motion planning model (1450 in fig. 14A), a subcategory model (1480 in fig. 14A), or a personalized model (1430 in fig. 14A). The universal motion planner 1450 may be a preference-based model, or an impact-based model (see fig. 14B). The preference-based model may be configured to specify preferred vehicle motion in different scenarios based on general knowledge about vehicle operation. For example, when roads are slippery or icy, planning slower movements without sharp turns is preferred. The impact-based model may specify which types of motions may result in which types of impacts, and such specification may be used to guide motion planning to achieve or avoid a particular impact.
In contrast to the generic model, the subcategory model for motion planning may be for a vehicle subcategory or a driver/occupant subcategory. For example, a subcategory model may be for a sports car, and another subcategory model may be provided for a van. Additionally, a sub-category model may be for teenager drivers, another sub-category model may be for long people. The individual subcategory models are adjusted and specified so that the motion planning for the matching subcategory can be performed more accurately. According to the present teachings, the motion planning model may also include personalized models such as: it may include individual models, each of which may specify preferences of each individual in terms of vehicle motion. For example, an occupant individual preference model may specify that the occupant prefers smooth vehicle motion, and another occupant individual preference model may specify some different preference. Such generic, subcategory, and individual models for motion planning may be derived based on recorded human driving data, so motions planned based on such models are more human-like.
Returning to fig. 14A, in operation, to implement personalized, humanoid and adaptive movement planning, the movement planning module 560 receives multiple types of information and uses different movement planning models. The received information includes the planned path from the path planning module, ambient environment information 420, real-time data 480, and self-awareness performance parameters 510. Based on the real-time data 480 and the self-awareness performance parameters 510, the universal motion planner 1450 determines the vehicle's condition (e.g., rain, darkness, etc.) and invokes the appropriate universal motion planning model accordingly at 1440 to derive the universal motion planning information. In certain embodiments, the universal motion planner 1450 may also determine the relevant vehicle and/or occupant subcategories, such that the associated subcategory motion planning modules may be retrieved from 1480 and used for motion planning. The universal motion planning module 1440 may specify a universal motion planning strategy, for example, if it is a snowy day or the vehicle is on a curved road, it may be preferable to make the vehicle move more slowly and stably. Each subcategory model may be provided as a generic motion planning strategy specifically designated for a subcategory (e.g., one type of vehicle, such as a sports car, or a subset of occupants, such as a long person).
The motion planned by the universal motion planner 1450 (based on the universal motion planning model and/or the subcategory motion planning model) may be further adjusted or adapted according to personalized preferences. In the illustrated embodiment, this is accomplished by occupant motion adapter 1460. Different ways of adapting the planned movement to meet the personalized preferences are also possible. If the identity of the occupant is known, the relevant individual occupant model for that occupant may be retrieved from 1430, and the specific preferences in vehicle motion may be used to determine how to implement the personalized motion plan. For example, an individual model for a particular occupant may indicate that the occupant prefers a smooth ride without risk.
Another way to implement personalized motion planning is to adaptively adjust the motion planning based on dynamically observed information. As previously discussed with reference to fig. 4B, the real-time data 480 includes information related to occupant characteristics, which may be occupant conditions, … …, and/or occupant reaction cues. Occupant condition may refer to the mental, physical, and functional state of the occupant. The information to be used in the personalized motion plan may also include other types of data collected about the situation. The occupant observation analyzer 1420 may collect various types of information, extract relevant indications, and then send such indications to the occupant motion adaptor 1460 so that such dynamic and personalized information can be taken into account in the motion planning. Details regarding the occupant observation analyzer 1420 are provided with reference to fig. 15-16.
FIG. 14C illustrates an exemplary type of observations collected for inclusion in a motion plan, according to an embodiment of the present teachings. The observation may include explicit expressions from, for example, the occupant, such as voice or text input (which may explicitly indicate what the occupant wants). For example, the occupant may call "fast Point! "or" I am about to be late! "or" I really arrive on time. "these detected definitions can be relied upon in the motion planning. The observation may also include detected scenes, which may indicate something in the motion plan. The context information may include the events involved (which may indicate an emergency faced by the occupant), the current status of the occupant (e.g., age, known health, etc.), the time of day (which may suggest a particular task at that time for the occupant (e.g., picking up a child from school) that requires a particular level of safety). The observations may also include observed physical reactions of the occupants that may be considered relevant to the movement plan. For example, sensors within the vehicle may capture any data that may indicate the occupant's mood, the occupant's body voice, or the occupant's intonation, all of which may reflect the occupant's desire to respond to current vehicle motion. For example, the occupant may look uncomfortable or even exhibit anxiety, which may indicate that the vehicle motion is too rough for the occupant. A sharp occupant tone may indicate the same thing. A particular physical activity may also suggest a particular reaction of the occupant to the movement of the vehicle. For example, if the occupant is dozing off, yawning, appearing drowsy, or reading, the occupant may be indicated as being comfortable with vehicle motion. On the other hand, if the occupant is observed to be looking at the watch all the time, this may indicate that the occupant feels that the vehicle is moving too slowly.
According to the present teachings, in addition to personalized motion planning (e.g., not only with respect to subcategories, but also with respect to individuals), motion planning can also be adapted to current situations described with, for example, self-awareness performance parameters and real-time situations such as weather, road conditions, etc. The occupant motion adapter 1460 receives extrinsic performance parameters from 1410 and plans the motion accordingly. For example, if the extrinsic performance parameters indicate the presence of sun glare or fogging, the movement may be planned accordingly (e.g., slowed down).
FIG. 15 illustrates an exemplary high-level system diagram of an occupant observation analyzer 1420, according to an embodiment of the present teachings. In the embodiment shown here, an occupant observation analyzer 1420 is provided for obtaining dynamic preferences of the occupant in terms of vehicle motion, so that the motion plan can be adapted to personal preferences. The dynamic preferences of the occupants are derived based on an analysis of occupant response cues for the current vehicle motion, observed via different sensors. The example occupant observation analyzer 1420 includes a sensor actuator 1500, a plurality of in-situ sensors 1510, an occupant detector 1520, an occupant feature detector 1540, a vision-based reaction cue estimator 1580, an auditory-based reaction cue estimator 1590, an occupant expression detector 1560, an occupant context detector 1570, and a user reaction generator 1595.
An occupant observation analyzer 1420 is provided to determine occupant reaction or feedback to the current vehicle motion to determine if the vehicle motion needs to be adjusted. For example, if the occupant reaction indicates that the occupant is unpleasant to the current vehicle motion, the adjustment may be made accordingly in the motion plan. Occupant responses will be inferred based on different cues, including visual, auditory, textual, or background scenes.
In certain embodiments, the sensor actuator 1500 actuates the in situ sensor 1510 to detect an occupant reaction. The presence sensor 1510 includes a plurality of sensors, including a visual sensor, an audible sensor, an infrared sensor, … …, or a communication sensor, etc., which enable detection of any expression of the occupant. For example, the vision sensors included in the presence sensor 1510 may include multiple spatially distributed (within the vehicle) camera devices capable of capturing, processing, and fusing images of a scene from multiple viewpoints into some form of more useful individual image/video. For example, a visual sensor may capture gestures or facial expressions of an occupant, which may be used to infer the occupant's response. The field sensor may be selectively actuated. For example, at night, the vision sensor may not work well in order to accurately observe the occupant's reaction, in which case the infrared sensor may be activated instead.
As shown in fig. 14C, a variety of body responses can be observed and used to analyze occupant response cues. The occupant detector 1520 receives the sensor data and detects an occupant based on the occupant detection model 1530 detection may be based on visual or auditory information. Thus, the occupant detection model 1530 may include both visual and auditory models associated with an occupant, and may be invoked separately to detect an occupant based on a single model data, or both to detect an occupant based on both visual and auditory features. For example, the occupant detection models 1530 may include facial recognition models, which may be used to detect occupants based on video or image data from one or more vision sensors. The occupant detection model 1530 may also include a speaker-based occupant detection model by which an occupant may be identified based on his or her voice.
Upon detection of an occupant, sensor data may be continuously fed to the occupant characteristics detector 1540 to detect a variety of occupant behavior characteristics, which may include visual and audible. For example, a particular body language may be detected that may reveal that the occupant is doing a particular thing, such as sleeping (dozing), reading, yawning, or looking at the watch frequently. Such detected occupant characteristics may also include audible characteristics. For example, the occupant characteristics detector 1540 may detect that the occupant is saying "slowing down. "visual and auditory cues may be detected simultaneously, which reveal consistent response cues. For example, the occupant may always look at the watch and say "fast Point! "
Occupant characteristics may be detected based on the visual and auditory feature detection model 1550. Such a module may guide the occupant characteristics detector 1540 in detecting which characteristics and provide a corresponding model for each characteristic to be detected that can be used to detect the characteristic. The models may be personalized in the sense that the features to be detected may depend on the occupant. For example, if the occupant is known to be dumb, there is no reason to detect the audible features associated with the occupant. These feature detection modules may be adaptive such that once they are trained and configured on-board the vehicle, they may be configured to receive either planned updates or dynamic updates, so that the model adapts to changing conditions.
The detected visual characteristics of the occupant are then sent to a vision-based reactive cue estimator 1580, which can then estimate the reactive cues of the occupant based on such visual cues. For example, if it is detected that the occupant is looking at the table, the vision-based reaction estimator 1580 may be a reaction cue that: the occupant is not happy with the vehicle speed and becomes impatient. Such inferred cues may also be derived based on a personalized visual feature model, for example in 1550, which may be used to determine whether such behavior (look-up table) represents a particular reaction cue associated with this particular occupant (which may or may not be dependent on this person).
Similarly, detected acoustic features of the occupant are sent to an acoustic-based response cue estimator 1590, which then can estimate occupant response cues based on such acoustic features. For example, if the occupant is detected to be snoring, the auditory-based response cue estimator 1590 may estimate that the occupant is comfortable or at least not disinclinable to the current vehicle motion. Such inferred cues may also be derived based on a personalized auditory feature model, such as in 1550, which may be used to determine whether such behavior is indicative of particular reaction cues for this particular occupant.
To estimate the occupant's response, visual-based and auditory-based response cue estimators 1580 and 1590 may be used to estimate the occupant's emotional state. For example, from the body language observed by the occupant (e.g., restlessness or looking at vomit), it may indicate that the occupant feels discomfort, which may be clue to his/her reaction to the vehicle movement. In addition, the tone of the occupant when saying "fast spot" or "slow down" can also be used to estimate the degree of anxiety of the occupant, which is a clue how much the occupant is unhappy. Such a presumed emotional state may be used to assess the severity of the occupant's reaction to the current vehicle motion and may be used to guide whether and/or how to adjust the motion plan.
In addition to the observed physical characteristics, other parameters may be used to infer whether the current vehicle motion is acceptable. For example, the observation source may be an input entered directly by the occupant via some sort of communication interface within the vehicle (e.g., a touch screen display). The occupant may input via the in-vehicle display interface that he/she wants the vehicle to move more smoothly. This may be detected by the occupant expression detector 1560 via different communication sensors, which may be textual or auditory.
As discussed previously, the scene in which the occupant is currently located may also affect how the motion should be planned. Occupant scene detector 1570 is configured to detect any scene parameter that may be relevant to a motion plan. For example, if it is known that each afternoon is at 3: 30pm to 4: between 30pm (time of day), the vehicle is used to pick up children from school (task on hand), which may place restrictions on the sport program. That is, the planned movement may need to be safety-based. Once detected, such a limit may be configured to override a presumed desire to want faster in order to ensure the safety of the child. Other context-related factors, such as occupant health and age, may also be observed. Such scenario parameters may be used to avoid certain detected occupant desires if (by the occupant model 1535) it is observed that the occupant is long and suffering from misconception. For example, if the current vehicle is already moving quickly and the occupant continues to demand even faster, the motion planning module may use such information to make appropriate motion planning decisions given the age of the occupant and known health conditions.
The various occupant reaction cues detected by the visual/auditory based reaction cue estimators 1580 and 1590, occupant expression detector 1560, and occupant context detector 1570 are then sent to the user reaction generator 1595 where the different detected parameters are selected and integrated to generate an estimated user reaction and sent to the occupant motion adapter 1460 so that the motion planned by the generic motion planner 1450 can be adapted according to the observed dynamic user reaction to the current vehicle motion.
FIG. 16 is a flow chart of an exemplary process for an occupant observation analyzer 1420, according to an embodiment of the present teachings. To collect observations associated with the occupant, appropriate sensors are actuated at 1610. Information from the actuated sensor is processed 1620. To determine the physical behavior of the occupant, the occupant is detected at 1630 based on the occupant detection model 1530. Once the identity of the occupant is confirmed, different types of features associated with the occupant may be obtained. At 1640, any express presence from the occupant is detected. Scene parameters associated with the occupant are detected at 1660. The unambiguous expressions thus collected from the occupant and the scene parameters relating to the occupant are then sent to the user response generator 1595.
The visual/auditory characteristics of the occupant are detected at 1650 and used to infer visual and auditory response cues at 1670 and 1680, respectively, which are then also sent to the occupant response generator 1595. The different types of information thus collected (from 1640, 1660, 1670, and 1680) are then all used by occupant response generator 1595 to generate the presumed user response at 1690.
Returning to fig. 14, the estimated user response output by the occupant observation analyzer 1420 is sent to the occupant motion adaptor 1460, so the real-time occupant response to the current vehicle motion may be taken into account in determining how to adapt the planned motion based on dynamic feedback from the occupant.
FIG. 17 is a flowchart of an exemplary process for motion planning module 560 according to one embodiment of the present teachings. At 1710 and 1720, real-time data 480 and self-awareness performance parameters are received, respectively. Self-perceived performance parameters are processed at 1730 and are divided into intrinsic and extrinsic performance parameters. Based on the real-time data and the intrinsic performance parameters, the universal motion planner 1450 generates planned motions for the vehicle at 1740. Such planning motions are generated based on the generic motion planning model and any applicable subcategory motion planning modules 1480.
Thus, to personalize the movement plan, the generic planned movement may be adapted based on personalization information, which may include both known personal preferences and dynamically observed occupant reactions to the current vehicle movement. To accomplish this, based on the individual occupant model 1430, known occupant preferences are identified at 1750. Additionally, at 1760, dynamic occupant reaction/feedback is estimated based on information collected from different sources/sensors. Personal preferences, either known or dynamically inferred, are then used to personalize the planned movement, for example, by adapting the movement based on the general information planning at 1770. Such personalized planning movement is then output as planning movement 530 at 1780.
As discussed with reference to fig. 14A, a variety of models are used for model planning, some are generic, some are semi-generic (sub-category models are semi-generic), and some are personalized. In addition to personalization and adaptability, the motion planning scheme disclosed herein also aims to make motions in a more humanlike manner. Adaptation to occupant dynamics may be part of it. In some embodiments, the models used by the motion planning module 560 may also be generated to capture humanoid behavior so that the planned motion 530 will be more humanoid when they are applied in motion planning.
FIG. 18 illustrates an exemplary high-level system diagram of a motion planning model training mechanism 1800 for generating these models, according to an embodiment of the present teachings. In this illustrated embodiment, the Motion Planning Model Training Mechanism (MPMTM)1800 includes a data pre-processing portion and a model training portion. The data pre-processing section includes a subcategory training data classifier 1820, an individual training data extractor 1830, and an observation segmenter 1850. The model training portion includes model training engine 1810 and independent influence model training engine 1840.
The recorded human driving data 430 is used to train the model so that the model can capture more humanoid motion planning related characteristics. To train the generic motion planning model 1440, the received recorded human driving data is sent to the model training engine 1810, and the trained model is stored as the generic model planning model 1440. To obtain the subcategory motion planning model 1480, the recorded human driving data 430 is classified by subcategory training data segmenter 1820 into a training data set for the subcategory and fed to the model training engine 1810 for training. For each subcategory model, the appropriate set of subcategory training data is applied to arrive at the corresponding subcategory model, and the thus trained subcategory model is then stored at 1480. Similarly, to obtain individual occupant models 1430 for motion planning, the recorded human driving data may be processed to generate different training sets, one for each individual, by an individual training data extractor 1830 and used by the model training engine 1810 to derive individual occupant models describing preferences for the corresponding individuals.
In addition to individual preferences, the individual occupant models 1430 may also include models describing the effects of vehicle motion on individual occupants observed by occupant reactions or feedback. The observed reaction/feedback may be positive or negative and may be used to influence how the movement should be planned for the occupant in the future. FIG. 19 illustrates the different types of reactions observed and their role in model training, according to one embodiment of the present teachings. For example, occupant reactions/feedback that may be used to train the impact-based model may include negative or positive impacts. The negative reaction of an occupant to a particular planned movement (negative reinforcement) can be captured in the model, so similar movements can be avoided for this particular occupant in the future. Similarly, observed positive reactions or positive reinforcement to the planned movement may also be captured in the model for future movement planning. Some responses may be neutral, which may also be captured by individual occupant models.
To obtain an impact-based model for an individual, real-time data 480, which captures occupant characteristics in terms of occupant behavior, vision, auditory cues and their conditions (including mental, physical and functional states during vehicle motion), may be segmented on an individual basis, and the data so segmented may then be used to derive a model describing how particular motions affect the occupant. In certain embodiments, mechanism 1800 includes an observation classifier 1850 that segments real-time data 480 according to individual occupants and feeds such segmented training data sets to an independent impact model training engine 1840 to derive individual impact models. The individual impact model thus derived is then stored as part of the individual occupant model 1430.
Returning to fig. 5, the planning module 440 also includes a lane planning module 570 that may be used for lane following and lane changing as shown in fig. 20A. Lane following may refer to behavior that remains within the lane while the vehicle is moving. Lane change may refer to a behavior of moving from a lane where the vehicle is currently located to an adjacent lane while the vehicle is moving. Lane planning may refer to planning vehicle behavior in terms of lane following or lane changing.
FIG. 20B illustrates exemplary types of behavior associated with lane following according to one embodiment of the present teachings. As shown, there are multiple lanes (2010, 2020, 2030), and vehicles in each lane may follow in their own lane. The lane following behavior of an individual vehicle may differ from case to case. For example, as shown, the behavior of the vehicle may be to stay in the center of the lane when the vehicle is simply trying to stay in the lane without turning. This is shown in fig. 20B with respect to vehicles within lanes 2010 and 2020. This may be referred to as normal behavior 2040. When the vehicle in the lane 2030 needs to turn right, for example, as shown at 2050 in fig. 20B, the behavior of the vehicle in the lane 2030 may be different. For example, instead of remaining in the center of the lane 2030, the vehicle in the lane may be steered to the right of the lane before turning, e.g., to make turning safer and easier. Similarly, lane following behavior may also be different when the vehicle is about to turn left. The lane planning module 570 is configured to capture lane following behavior under different circumstances, e.g., via modeling, so that the autonomous vehicle can be controlled in a natural and human-like manner.
On the other hand, a lane change may involve vehicle behavior that moves from one lane to an adjacent lane while the vehicle is moving. Different occupants may exhibit different lane change behavior. For safety reasons, lane change behaviour may be promising for different situations. Lane planning in lane change is to plan vehicle movements about a lane in a safe, natural, human-like, personalized manner.
FIG. 20C illustrates exemplary types of lane change related behavior according to an embodiment of the present teachings. Shown are different lane change behaviors, i.e., changing from the current lane 2020 to the lane to its left (lane 2010), and changing from the current lane 2020 to the lane to its right (lane 2030). With respect to lane changing from lane 2020 to lane 2010, different lane change behaviors may be described in terms of (1) how fast the change is made, and (2) how the vehicle moves to the next lane. For example, as shown in fig. 20B, three scenarios of moving to lane 2010 are shown, which are left lane change behavior 12060, left lane change behavior 22070, and left lane change behavior 32080. Each representing a different speed of movement to the vehicle 2010. Through action 2060, the vehicle moves fastest to lane 2010. With act 2080, the vehicle moves slowest to lane 2010. The speed of moving to lane 2010 through action 2070 is centered. Similarly, when the vehicle moves from lane 2020 to its right lane (2030), there may also be different lane change behaviors, such as right lane change behavior 12065, right lane change behavior 22075, and right lane change behavior 2085, as shown in fig. 20B.
In addition to the speed at which the vehicle moves to the next lane, the lane change behavior may also differ in how the vehicle moves to the next lane. As also shown in fig. 20B, when the vehicle is to move from lane 2020 to lane 2010 by using left lane change behavior 12060, there are different behaviors used by the vehicle to jog into lane 2010, such as by traveling along straight line 2061, by traveling along curve 2062 (first jogging, then straight (right out) the vehicle), or by traveling along curve 2063 (first jogging toward the edge of lane 2020, looking, then jogging when ready). Thus, with regard to lane changes, decisions regarding vehicle behavior may be made at different levels.
Different drivers/occupants may exhibit different lane planning (including lane following and lane changing) behavior, and in some cases, the same driver/occupant may behave differently under different circumstances. For example, if no one is on the street, the driver may decide to cut into the next lane quickly at the time of a lane change. In the event of a crowded street, the same driver may be more careful to decide to spend time slowing down to the next lane. The lane planning module 570 is configured to learn different human behaviors from case to case and use the knowledge/model thus learned to obtain a lane plan in autonomous driving.
Smooth and predictable lane following and lane changing behavior is a key aspect of providing a human-like driving experience in autonomous vehicles. This can be particularly difficult when there is significant ambient noise in the camera images and/or video captured during vehicle operation. Conventional methods rely on computer vision to detect lanes by detecting travelable areas on the fly. Some use the end-to-end image raw pixels for vehicle control signal prediction. Such conventional methods cannot use the available manual driving data collected, so they often produce harsh planning and control, are susceptible to environmental changes, and ultimately, limit the ability to satisfactorily operate the vehicle.
The present teachings use lane detection models and lane planning models for lane planning and control. Both models are trained based on a large amount of training data, some labeled, and some as collected. For lane detection, a lane detection model is obtained using training data with labeled lanes to derive a supervised model for lane detection. Such a supervised model would be trained using a set of a large amount of training data that covers a wide range of environmental conditions to ensure the representativeness and robustness of the training model.
For lane planning, in order to achieve a humanoid lane planning behavior, a large amount of human driving data is collected and used to train a lane control model that, when used for lane planning, exhibits a humanoid behavior when maneuvering a vehicle. While the lane detection model and the lane planning model are trained separately, in operation, the two sets of models are used in a cascaded manner for reasoning to produce robust behavior in a humanoid mode of operation under various types of environments or conditions. In some embodiments, the present teachings may be configured to be further personalized when human driving data is classified according to individual drivers, so as to generate a personalized human-like lane planning model. With such a personalized people-like lane planning model, an autonomous vehicle can operate in lane planning/control in an adaptive manner depending on who the occupants in the vehicle are.
FIG. 21 illustrates an exemplary high-level system diagram of a lane planning module 570, according to an embodiment of the present teachings. In the illustrated embodiment, the lane planning module 570 includes two model training engines 2110 and 2140 for training the lane detection model 2120 and the lane planning model 2150, respectively. The thus trained model is then used in a cascaded manner in a lane plan by the driving lane detector 2130 and the driving lane planning unit 2160. As discussed above, the lane detection model 2120 is a supervised model and is trained using training data with labeled lanes. Such supervised training data is processed and used by the driving lane detection model training engine 2110 to obtain a driving lane detection model 2120.
In some embodiments, the lane detection model 2120 may correspond to a generic model, capturing characteristics of lane detection under different circumstances. In some embodiments, the lane detection model 2120 may include different models, each of which may be used to provide a model of detecting a lane under specific different circumstances. For example, some models may be used to detect lanes under normal road conditions, some may be used to detect lanes when the road is wet, some may be used to detect lanes when the road is glare or reflective, and some may even be used to infer lanes when the road is covered by, for example, snow or other types of visually obstructing objects. The lane detection model may also provide separate models for different types of vehicles. For example, some vehicles have a high center of gravity, so a camera that captures images of the ground in front of the vehicle may be mounted at a high position relative to the ground. In this case, the lane detection model for these vehicles may be different from the lane detection model for vehicles whose cameras are installed at a closer level to the ground plane. Various types of models may be trained using suitable tagged training data relating to the corresponding scenario.
To achieve human-like lane planning behavior in autonomous driving, the driving lane planning model training engine 2140 uses the recorded human driving data 430 as input and learns human-like behavior in terms of lane planning. As discussed above, such human driving data may be collected from a wide range of drivers/situations/conditions in order to learn and capture characteristics of a wide range of human driving behaviors in lane planning/control by the driving lane planning model training engine 2140. In some embodiments, the driving lane planning model training engine 2140 may optionally use some supervised training data with labeled lanes as input, e.g., as seeds or some small data set, to make learning converge faster.
Based on the recorded human driving data 430, the driving lane planning model training engine 2140 may learn and/or train models for lane following and lane changing. In some embodiments, a generic model for generic human behavior in 2150 may be derived for each of lane following and lane changing. In certain embodiments, the lane planning model training engine 2140 may also learn and/or train multiple models for lane planning, each of which may be used for different known situations, such as lane following or lane changing for a particular subset of the general population, or for particular different driving environment scenarios (wet roads, dimly lit, congested roads). These models for a subset of the general population may also be stored in 2150.
The human-like lane control model 2150 may also be personalized and stored in 2150, and when multiple models are to be derived via training, lane human driving data that satisfies conditions associated with the various different models may be extracted and used to train the models. For example, a lane planning (including lane following and lane changing) model for lane related behavior exhibited when driving on a congested road may be learned based on human driving data related to lane driving behavior on the congested road. The model for lane planning may also be personalized. To enable personalization, the driving lane planning model training engine 2140 may derive models for individual occupants (e.g., for each of lane following and lane changing) based on past driving data of the occupants. Optionally, information from the profile associated with the occupant may also be used in learning to obtain a model that more accurately reflects occupant preferences.
The different types of lane planning/control models so obtained may then be stored in the driving lane control model memory 2150. In certain embodiments, different models for different situations may be organized and cataloged for easy identification and quick access in real time during vehicle operation. In some embodiments, the driving lane detection model training engine 2110 and the driving lane planning model training engine 2140 may be located remotely from the vehicle, learning may be done in a centralized manner, that is, they may run based on training data from different sources, learning and updating may be actuated regularly. The trained models may be sent to distributed vehicles. In certain embodiments, the personalized model for lane planning may be updated locally in each vehicle based on locally acquired data.
Training via the 2110 and 2140 engines may be accomplished by any learning mechanism, including artificial neural networks, deep learning networks, and the like. Depending on the type and number of models to be obtained, each training engine may include a variety of sub-training engines, each for a particular model (set of models) for a particular purpose, and each may be configured and implemented differently in order to arrive at the most efficient model. In addition to learning, the respective training engines (2110 and 2140) may also include a preprocessing mechanism (not shown) for processing training data prior to use by the learning mechanism to derive the training models. For example, it may include a data segmentation mechanism that segments the received training data into discrete groups, each of which may be used to train a specific model for a particular situation, e.g., the driving lane plan model training engine 2140 may be configured to derive a generic model for the general population, a personalized model for the driver/occupant of the vehicle, a model for lane planning in daytime lighting conditions, a model for lane planning in nighttime lighting conditions, a model for lane planning in wet road conditions, a model for lane planning in snow conditions. In this case, the preprocessing mechanism may then first group the received recorded human driving data 430 into different sets, one for each model of the plan, so that the training engine may then use the appropriate training data set to learn the appropriate model. The model may be continuously updated as new training data arrives. The updating of the model can be realized by relearning based on the received whole data (batch mode) or by incremental mode (elementary mode).
Once the models (including the lane detection model 2120 and the driving lane control model 2150) are generated, they are used to plan lane-related behavior for the autonomous vehicle in a humanoid and, in some cases, personalized manner. As previously discussed, in operation, the obtained driving lane detection model 2120 and the driving lane control model 2150 are applied in a cascaded manner. In the illustrated embodiment, when the vehicle is on a road, sensors mounted in the vehicle take pictures/videos of the road on which the vehicle is currently traveling and send such sensor data to the driving lane detector 2130. In addition to the sensor data, the driving lane detector 2130 may also receive the self-perceived performance parameters 510. Via the self-perceived performance parameters, the driving lane detector 2130 may determine various types of information, such as road conditions, vehicle performance, etc., in order to determine how this may be done in an appropriate manner. For example, if it is at night of the day (which may be indicated externally in the performance parameters), the driving lane detector 2130 may proceed to invoke a lane detection model trained to detect lanes in dark light conditions to achieve reliable performance.
The driving lane detector 2130 estimates a segment of the lane from the sensor data and optionally the estimated vehicle position using a suitably invoked lane detection model. The thus estimated lane segments and vehicle positions are then sent to a driving lane planning unit 2160, where a suitable driving lane planning model is then applied in a cascaded manner for planning the lane control behavior of the vehicle.
As previously discussed, lane planning includes both lane following and lane changing. In operation, lane planning involves either controlling the behavior of the vehicle in the course of a vehicle or controlling the behavior of the vehicle in a lane change. When the vehicle is moving, the running context may provide some indication as to whether a lane following or lane change plan is required. For example, if the vehicle needs to exit, it may first need to enter the exit lane from the current lane that is not leading to the exit. In this case, a lane change is implied, so the task involved in the lane planning is for a lane change. In some embodiments, the occupant of the vehicle may also provide explicit lane control decisions to indicate a lane change, for example, by turning on a turn signal. In some embodiments, the indication of the lane change may also come from the vehicle itself, e.g., the engine may be somewhat problematic, so the autonomous driving system may send a lane control decision signal to the driving lane planning unit 2160 indicating that a lane change is to be prepared so the vehicle may move to an emergency lane. Under normal circumstances, without any indication to enter the lane change mode, the vehicle may assume a default mode for lane following.
To perform lane planning, the driving lane planning unit 2160 receives various types of information from different sources (e.g., detected lanes, estimated vehicle location, lane planning decisions, self-awareness performance parameters 510) and proceeds to lane planning accordingly. For example, if the lane control decision signal indicates that the current task is for lane following, a model for lane following will be retrieved and used for planning. If the current task is a lane change, then a model for the lane change will be used.
Similar to the driving lane detector 2130, the driving lane planning unit 2160 may invoke a generic lane planning model from 2150 for planning. It may also invoke different lane planning models suitable for the current situation in order to enhance performance. As discussed earlier, the self-awareness performance parameters 510 provide both intrinsic and extrinsic performance parameters, which may be indicative of weather conditions, road conditions, etc., that may be used by the driving lane planning unit 2160 to invoke the appropriate lane planning model for planning. For example, if the current task is for lane following with an impending right turn, the human-like human model for the occupant at the right turn event from the current lane may be taken from 2150 and used to plan vehicle behavior on how to jog into position in the current right lane and then make a right turn.
On the other hand, if the current task is lane change, the lane control decision indicates that a lane is to be changed to the left of the current lane, and the self-perceived performance parameters indicate heavy rain and road flooding, then driving lane planning unit 2160 may appropriately access a lane planning model trained for planning lane change behavior on very wet roads. In some embodiments, these tasks may also be accomplished using a general lane change model. Based on the selected model for the current task, the driving lane planning unit 2160 generates planned lane controls, which can then be sent to the vehicle control module 450 (fig. 4A) so that the planned lane control behavior can be achieved.
The driving lane planning unit 2160 may also perform personalized lane planning. In some embodiments, the current in-vehicle occupant may be known, for example, via driver/occupant information sent to the lane planning unit 2160 or via detection of an occupant (not shown now) from sensor data. Upon receiving such information about the occupant, the traveling lane planning unit 2160 may appropriately invoke a lane control model suitable for the occupant. The customized model so invoked may be a model for the subgroup to which the occupant belongs, or may be a model personalized for the occupant. Such a customized model can then be used to control how lane planning is performed in a personalized manner.
Fig. 22 is a flow chart of an exemplary process for the lane planning module 570, according to an embodiment of the present teachings. To obtain a lane detection model, training data with tagged lanes is first received at 2210, and the thus received supervisory data is then used to obtain via training a driving lane detection model at 2230. On the other hand, to obtain a driving lane planning model, the recorded human driving data and optionally individualized profile information are received at 2220 and used to obtain a lane planning model via training at 2240. Once the models are obtained, they can be dynamically updated based on new incoming training data (now shown).
During operation, while the vehicle is moving, sensors on the vehicle acquire sensor data that includes an image of the road ahead of the existing lane. Such sensor data is received at 2250 and used at 2260 to detect a lane ahead of the vehicle based on a lane detection model. Optionally, the relative position of the vehicle may also be estimated. The thus detected lane and optionally the estimated vehicle position may then be sent to a driving lane planning unit 2160. In the driving lane planning unit 2160, various types of information are received at 2270, including lane control decisions, detected lanes, and self-awareness performance parameters. Such information is used to determine the lane planning model to be used so that lane planning may be implemented at 2280 based on a suitably selected lane planning model.
By learning from human driving data, the learned lane plan model captures the characteristics of human behavior in the lane plan, so that the vehicle can be controlled in a humanoid manner when such a model is used in autonomous driving. In addition, by personalizing the lane planning model further based on relevant driving data of the occupant/driver, the lane planning behavior of the vehicle can be controlled in a manner familiar and comfortable to the occupant/driver in the vehicle.
Referring to fig. 5-22, details of the planning module 440 with respect to path planning, motion planning, and lane planning are disclosed. The outputs of the planning module 440 include the planned path 520 from the path planning module 550, the planned motion 530 from the motion planning module 560, and the planned lane control 540 from the lane planning module 570 (see fig. 5). Such output may be sent to different portions of the autonomous vehicle in order to perform the planned vehicle behavior. For example, the planned path 520 may be sent to a vehicle portion (e.g., a built-in GPS) responsible for guiding the vehicle in terms of path control. The planned motion 530 and the planned lane control 540 may be sent to the vehicle control module 450 (in fig. 4), so planned vehicle behavior with respect to the motion and lane control may be executed on the vehicle via the vehicle control module 450.
When motion and lane control is planned to achieve humanoid behavior, the vehicle control module 450 aims to transmit the planned actions. In accordance with the present teachings, the vehicle control module 450 also aims to learn how to control the vehicle based on knowledge of aspects of how the vehicle is acting or responding to different control signals in different situations so that the vehicle can be controlled to achieve desired effects, including planned vehicle behavior. Traditional methods apply machine learning based control and derive vehicle dynamics models from classical mechanisms that often fail to model the many cases that occur in the real world. As a result, poor performance often results, and in some cases, dangerous results may result. While some conventional approaches are designed to learn vehicle dynamics from historical data via, for example, a mental network, the vehicle dynamics can be learned in common scenarios, in some cases such systems make erroneous predictions that are substantial and unpredictable, which can be fatal in real life.
The present teachings disclose a method that enables accurate simulation and vehicle operational safety. Instead of learning the vehicle dynamics model directly from historical data, the classical mechanics model is used as a strut model and learns how to adjust the prediction results from historical data. In addition, the limits on the adjustments to be made are explicitly specified as a way to prevent significant deviation from the predicted outcome of the normal case.
FIG. 23A illustrates a system diagram of a conventional method for generating vehicle control signals. To determine the vehicle control signals needed to control the vehicle to achieve a particular target motion, a vehicle kinematics model 2310 is provided and used by a Vehicle Kinematics Model (VKM) vehicle control signal generator 2320 based on the target motion and information about the current vehicle state. For example, if the current vehicle state is 30 miles per hour, and the target motion reaches 40 miles per hour within the next 5 seconds, the VKM vehicle control signal generator 2320 uses such information to determine what vehicle control will be applied based on the vehicle kinematics model 2310 such that acceleration enables the vehicle to achieve the target motion. The method shown in FIG. 23A is based on a conventional vehicle kinematics model 2310, which is merely a mechanical dynamics model.
FIG. 23B illustrates a high-level system diagram of the vehicle control model 450 of FIG. 4A in accordance with an embodiment of the present teachings the vehicle control module 450 disclosed herein is directed to providing the ability to generate vehicle control signals that may enable human-like driving behavior for an autonomous vehicle.
In the case where the H L VC model 2330 is created, when the human-like vehicle control unit 2340 receives information about target motion and current vehicle state, it generates human-like vehicle control signals, based on the H L VC model 2330, about real-time conditions (depicted by real-time data 480) associated with the vehicle.
For example, the H L VC sub-model may relate to a sub-population that prefers cautious driving, so the model may be derived based on training data that is training data in the recorded human driving data 430 from the corresponding sub-population that exhibits cautious driving records.
Details regarding the human-like vehicle control unit 2340 are disclosed below with reference to fig. 24-29 fig. 24 illustrates an exemplary internal high-level architecture of the human-like vehicle control unit 2340, including a human-like vehicle control model generator 2410 and a human-like vehicle control signal generator 2420 the human-like vehicle control model generator 2410 uses the recorded human driving data 430 as input and uses this information to learn and train the H L VC model 2330, exemplary types of data extracted from the recorded human driving data 430 for training may include, for example, vehicle control data and vehicle states applied to the vehicle, which may include vehicle states before and after the vehicle control data is applied.
The data to be used to derive the H L VC model 2330 may also include environmental data that describes the surrounding conditions under which the vehicle control data reaches the corresponding vehicle state.
To generate a human-like vehicle control signal, vehicle control signal generator 2420 obtains real-time data 480 and uses this data in invoking H L VC model 2330 to generate a human-like vehicle control signal, real-time data 480 including information about the vehicle's surroundings as the desired target movement is achieved As shown in the above example, the target movement may be accelerating the vehicle from a current speed of 30 miles per hour to 40 miles per hour within 5 seconds.
FIG. 25 is a flow chart of an exemplary process of a human-like vehicle control unit 2340 in accordance with an embodiment of the present teachings, in order to generate an H L VC model 2330, recorded human driving data is received at 2510 to obtain training data, which is used in the training process at 2520 to derive an H L VC model 2330 at 2530.
The information obtained by the humanoid vehicle control signal generator 2420 may then be applied to the H L VC model 2330 to generate humanoid vehicle control signals from the H L VC model 2330 at 2570. at personalization, one or more specific H L VC submodels appropriate to the situation may be invoked and used to generate personalized humanoid vehicle control signals.
FIG. 26 illustrates an exemplary high-level system diagram of a human-like vehicle control model generator 2410, in accordance with an embodiment of the present teachings, in the illustrated embodiment, the human-like vehicle control model generator 2410 includes a training data processing unit 2610, a VKM vehicle control prediction engine 2630, and a vehicle control model learning engine 2640. the training data processing unit 2610 uses recorded human driving data 430 as input, which is processed to generate training data 2620 to be used to train an H L VC model 2330. the recorded human driving data 430 may include environmental data 2620-1, vehicle status data 2620-2, … …, and current vehicle control data 2620-3. the environmental data 2620-1 may include information such as road conditions, e.g., road slope, cornering angle, surface smoothness condition, road wetness, etc. the environmental data may also include information related to restrictions on the vehicle, e.g., speed limits, time of day, season, location, etc. such environmental data may be used as background information in training, the vehicle control model generator 2410 may obtain information for each training vehicle behavior model in a different set of training behavior models, such that the training data may be used to classify the training data as training data corresponding to different training data for each training vehicle behavior subgroup VC model 23383.
The vehicle state data 2620-2 may include information that depicts the state of the vehicle including, for example, vehicle position, vehicle speed, vehicle roll/pitch/heading angle, and steering angle of the vehicle, among others. The vehicle control data 2620-3 may provide information that depicts controls applied to the vehicle, such as brakes applied with a particular force, steering applied by rotating the steering wheel with a particular angle, or a throttle.
According to the present teachings, instead of training H L VC model 2330 to directly generate vehicle control signals, the present teachings combine or fuse conventional kinematic model-based prediction methods with learning models generated by learning from human driving data, in terms of how to adjust vehicle control signals predicted using conventional kinematic models, such that adjustments result in humanoid vehicle control behavior.
In learning the H L VC model 2330, vehicle state data 2620-2 and vehicle control data 2620-3 are provided to a VKM vehicle control prediction engine 2630 to predict the motion achieved due to the control exercised VKM vehicle control prediction engine 2630 performs predictions based on vehicle kinematics model 2310 (e.g., via conventional mechanical dynamics methods) to generate VKM based prediction signals, as shown in FIG. 26. VKM based predictions are then sent to a vehicle control model learning engine 2640, which will be combined with other information from training data 2620 for learning.
As shown, the vehicle control model learning engine 2640 may be triggered by a model update signal when it is actuated, the vehicle control model learning engine 2640 invokes the training data processing unit 2610 and the VKM vehicle control prediction engine 2630 to initiate the training process.
FIG. 27 is a flow chart of an exemplary process for a human-like vehicle control model generator 2410 in accordance with an embodiment of the present teachings, recorded human driving data 430 is first received at 2710, the received human driving data is processed at 2720 to obtain training data, certain training data is used at 2730 to generate VKM based predictions based on a traditional vehicle kinematics model 2310 for learning and fusion based training, various aspects of the training data are identified at 2740 and used at 2750 to train the H L VC model 2330, after convergence, the H L VC model 2330 is created at 2760.
As discussed herein, the human-like vehicle control signal generator 2420 is directed to generating human-like vehicle control signals based on the H L VC model 2330 for a particular target movement such that the vehicle exhibits human-like vehicle control behavior when the human-like vehicle control signals are used to control the vehicle.
In operation, upon receiving a target motion, the human-like vehicle control signal, the VKM vehicle control signal inference engine 2810 obtains the current state of the vehicle and generates VKM based vehicle control signals based on the vehicle kinematics model 2310 As discussed herein, the purpose of using conventional methods to generate inferential vehicle control signals based solely on the vehicle kinematics model 2310 is to initially provide purely mechatronic-based inferential vehicle control signals in order to achieve human-like behavior in vehicle control that achieves the target motion, VKM based vehicle control signals based on the inferential VKM will be further used as input to a H L VC model based fusion unit 2830, where VKM based vehicle control signals are used as raw inferential results that will be fused with H L VC based methods so that the VKM based vehicle control signals can be adjusted according to a learned H L VC model 2330.
Upon receiving the target motion, the H L VC model-based fusion unit 2830 may actuate the background data determiner 2820 to obtain any information about the vehicle surroundings the background data determiner 2820 receives the real-time data 480 and extracts relevant information, such as environmental data or occupant data, etc., and sends it to the H L VC model-based fusion unit 2830, based on the target motion, the current vehicle state, the background information about the vehicle surroundings, and VKM-based vehicle control signals inferred using the conventional vehicle kinematics model 2310, the H L VC model-based fusion unit 2830 accesses the H L VC model 2330 based on such input data to obtain fused human-like vehicle control signals.
As discussed herein, the H L VC model 2330 may be created by learning the differences between VKM model-based predictions and observations from recorded human driving data 430. As such, what the H L VC model 2330 captures and learns may correspond to adjustments to be made to VKM-based vehicle control signals to achieve human-like behavior As previously discussed, to minimize risk in vehicle control due to VKM-based vehicle control signals, due to the learning process that may produce overfitting, particularly when the training data includes outliers, human-like vehicle control signal generator 2420 may also optionally include preventative measures, as shown in FIG. 28, by limiting adjustments to VKM vehicle control signals based on certain fusion limits 2840 in order to minimize risk in vehicle control due to VKM-based vehicle control signals.
In some embodiments, information about an occupant in the vehicle may also be extracted from the real-time data 480 and may be used to access a personalized H L VC submodel associated with the occupant, which may be an H L VC submodel for the group to which the occupant belongs or an H L VC submodel that is fully personalized for the occupant.
FIG. 29 is a flow chart of an exemplary process of a human-like vehicle control signal generator 2420 in accordance with an embodiment of the present teachings, target motion information and vehicle state data is first received 2910 based on the target motion and vehicle state, a vehicle kinematics model 2310 is accessed at 2920 and used to infer a VKM vehicle control signal at 2930 this control signal based on mechanical dynamics model inference is sent to a fusion unit 2830 based on an H L VC model to obtain a fused human-like vehicle control signal, a background data determiner 2820 receives real-time data 480 at 2940 and extracts relevant information about the vehicle at 2950. Using the background information and the VKM vehicle control signal, a fusion unit 2830 based on an H L VC model infers a human-like vehicle control signal based on an H L VC model at 2960. the human-like vehicle control signal so inferred is then output at 2970 such that human-like vehicle control that achieves the target motion can be achieved in a human-like manner.
FIG. 30 illustrates an architecture of a mobile device that may be used to implement particular systems embodying the present teachings. Such mobile devices 3000 include, but are not limited to, smart phones, tablets, music players, handheld game consoles, Global Positioning System (GPS) receivers, and wearable computing devices (e.g., glasses, wristwatches, etc.), or in any other modality. The mobile device 3000 in this example includes: one or more Central Processing Units (CPUs) 3040; one or more Graphics Processing Units (GPUs) 3030; a memory 3060; a communication platform 3010, e.g., a wireless communication module; a memory 3090; one or more input/output (I/O) devices 3050; a display or projector 3020-a for vision-based presentation; and one or more multimodal interface channels 3020-b. The multi-modal channels may include auditory channels or other media channels for signaling or communication. Any other suitable components, including but not limited to a system bus or a controller (not shown), may also be included in the mobile device 3000. As shown in fig. 30, a mobile operating system 3070 (e.g., iOS, Android, windows phone, etc.) and one or more applications 3080 may be loaded from a memory 3090 into a memory 3060 for execution by the CPU 3040.
To implement the various modules, units, and functions thereof described in this disclosure, a computer hardware platform may be used as a hardware platform for one or more of the elements described herein. The hardware elements, operating system, and programming languages of such computers are conventional in nature, and it is assumed that those skilled in the art are sufficiently familiar with them to adapt these techniques to the present teachings presented herein. A computer with user interface elements may be used to implement a Personal Computer (PC) or other type of workstation or terminal device, but the computer may also operate as a server if suitably programmed. It is believed that one skilled in the art is familiar with the structure, programming, and general operation of such computer devices, and thus the drawings may be self-explanatory.
FIG. 31 illustrates an architecture of a computing device that can be used to implement a particular system embodying the present teachings. This particular system implementing the present teachings has a functional block diagram of a hardware platform that includes user interface elements. The computer may be a general purpose computer or a special purpose computer. Both of which can be used to implement a particular system for use with the present teachings. Such a computer 3100 may be used to implement any of the components or aspects of the present teachings as described herein. Although only one such computer is shown for convenience, the computer functions associated with the present teachings described herein may be implemented in a distributed fashion across several similar platforms to spread the processing load.
For example, the computer 3100 includes a COM port 3150 connected to a network connected thereto to facilitate data communication. The computer 3100 also includes a Central Processing Unit (CPU)3120 in the form of one or more processors for executing program instructions. An exemplary computer platform includes: an internal communication bus 3110; different forms of program memory and data memory, such as a disk 3170, Read Only Memory (ROM)3130 or Random Access Memory (RAM)3140, are used for various data files to be processed and/or communicated by the computer and possibly program instructions to be executed by the CPU. Computer 2600 also includes I/O components 3160 that support input/output streams in the form of different media between the computer and other components herein (e.g., interface components 3180). An exemplary type of interface element may correspond to different types of sensors 3180-a configured on an autonomous vehicle. Another type of interface element may correspond to a display or projector 3180-b for vision-based communication. There may also be additional components for other multimodal interface channels, such as: an auditory device 3180c for audio-based communication; and/or, component 2680-d for signaling, e.g., a signal to cause a vehicle component (e.g., a vehicle seat) to vibrate, based on the communication. Computer 3100 can also receive programming and data via network communications.
Thus, embodiments of the methods of the present teachings as outlined above may be implemented in a program. Program aspects of the present technology may be viewed as an "article of manufacture" or "article of manufacture" typically in the form of executable code and/or associated data carried on or implemented in a machine-readable medium. Tangible, non-transitory "memory" type media include any or all of memory or other memory for a computer, processor, etc., or associated modules thereof, such as various semiconductor memories, tape drives, disk drives, etc., that may provide storage for software programming at any time.
All or a portion of the software may sometimes be transmitted over a network, such as the internet or various other telecommunications networks. For example, such a transfer may enable loading of software from one computer or processor into another (e.g., from a management server or search engine operator's host or other enhanced advertisement server onto a hardware platform of a computing environment or other system implementing the computing environment or similar functionality associated with the present teachings). Thus, another type of medium that can carry software elements includes optical, electrical, and electromagnetic waves, for example, used through physical interfaces between local devices, through wired and optical fixed networks, through various air links. The physical elements carrying such waves (e.g., wired or wireless links, optical links, etc.) are also considered to be media carrying software. As used herein, unless limited to a tangible "storage" medium, terms such as a computer or machine "readable medium" refer to any medium that participates in providing instructions to a processor for execution.
Thus, a machine-readable medium may take many forms, including but not limited to, tangible storage media, carrier wave media, or physical transmission media. Non-volatile storage media include any storage device, such as optical or magnetic disks, such as any computer, etc., which may be used to implement the system shown in the figures or any component thereof. Volatile storage media includes dynamic memory, such as the main memory of such computer platforms. Tangible transmission media include: coaxial cables, copper wire and fiber optics, including the wires that comprise a bus within a computer system. Carrier-wave transmission media can take the form of electrical or electromagnetic signals, or acoustic or light waves such as those generated during Radio Frequency (RF) and Infrared (IR) data communications. Common forms of computer-readable media therefore include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any other optical medium, punch cards, paper tape, any other physical storage medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, a link or cable carrying such a carrier wave, or any other medium from which a computer can read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a physical processor for execution.
It will be apparent to those skilled in the art that the present teachings are applicable to numerous modifications and/or enhancements. For example, although the implementation of the various components described above may be implemented in a hardware device, it may also be implemented as a software-only solution, for example installed on an existing server. Additionally, the teachings disclosed herein may be implemented as firmware, a firmware/software combination, a firmware/hardware combination, or a hardware/firmware/software combination.
While the present teachings and/or other examples have been described above, it will be appreciated that various modifications may be made thereto, and that the subject matter disclosed herein may be implemented in various forms and examples, and that the present teachings may be applied in numerous applications, only some of which have been described herein. The appended claims are intended to claim any and all such applications, modifications and variations that fall within the true scope of the present teachings.

Claims (21)

1. A method implemented on a computer having at least one processor, memory, and a communication platform for path planning for an autonomous vehicle, comprising:
obtaining information about an origin position and a destination position, wherein the destination position is a place to which the autonomous vehicle is to drive;
identifying one or more available paths between the origin location and the destination location;
obtaining a self-awareness performance model instantiated based on the one or more available paths, wherein the self-awareness performance model predicts the operating performance of the autonomous vehicle based on the one or more available paths; and
a planned path for the autonomous vehicle between the origin location and the destination location is selected from the one or more available paths based on the self-awareness performance model.
2. The method of claim 1, wherein the self-awareness performance model includes an intrinsic performance model specifying at least one intrinsic performance parameter that limits the operational capability of the autonomous vehicle due to conditions internal to the autonomous vehicle and an extrinsic performance model specifying at least one extrinsic performance parameter that limits the operational capability of the autonomous vehicle due to conditions external to the autonomous vehicle.
3. The method of claim 2, wherein the self-aware performance model comprises any one of a parametric model, a descriptive model, a probabilistic model, and combinations thereof.
4. The method of claim 1, wherein the self-awareness performance model is dynamically updated to generate an updated self-awareness performance model, wherein the updated self-awareness performance model reflects a scene with which the autonomous vehicle is currently associated.
5. The method of claim 4, wherein the updating of the self-awareness performance model is triggered by an event comprising a scheduled time, the origin location being updated, the destination location being updated, the one or more available paths being updated, and a request to update the self-awareness performance model being received.
6. The method of claim 2, wherein the selecting step comprises:
identifying a set of candidate paths from the one or more available paths based on an intrinsic performance model;
determining preferences of occupants within the autonomous vehicle in terms of a path taken by the autonomous vehicle to a destination location; and
a planned path is identified from the set of candidate paths based on an extrinsic performance model and the preferences of the occupant.
7. The method of claim 6, wherein determining the preference comprises:
obtaining recorded human driving data, the data including driving data associated with the occupant; and
generating a preference for the occupant that is personalized based on driving data associated with the occupant.
8. A machine-readable non-transitory medium having data recorded thereon for path planning for an autonomous vehicle, wherein the data, once read by a machine, causes the machine to perform:
obtaining information about an origin position and a destination position, wherein the destination position is a place to which the autonomous vehicle is to drive;
identifying one or more available paths between the origin location and the destination location;
obtaining a self-awareness performance model instantiated based on the one or more available paths, wherein the self-awareness performance model predicts the operating performance of the autonomous vehicle based on the one or more available paths; and
a planned path for the autonomous vehicle between the origin location and the destination location is selected from the one or more available paths based on the self-awareness performance model.
9. The medium of claim 8, wherein the self-awareness performance model includes an intrinsic performance model specifying at least one intrinsic performance parameter that limits the operational capability of the autonomous vehicle due to conditions internal to the autonomous vehicle and an extrinsic performance model specifying at least one extrinsic performance parameter that limits the operational capability of the autonomous vehicle due to conditions external to the autonomous vehicle.
10. The medium of claim 9, wherein the self-aware performance model comprises any one of a parametric model, a descriptive model, a probabilistic model, and combinations thereof.
11. The medium of claim 8, wherein the self-awareness performance model is dynamically updated to generate an updated self-awareness performance model, wherein the updated self-awareness performance model reflects a scene with which the autonomous vehicle is currently associated.
12. The medium of claim 11, wherein the updating of the self-awareness performance model is triggered by an event comprising a scheduled time, the origin location being updated, the destination location being updated, the one or more available paths being updated, and a request to update the self-awareness performance model being received.
13. The medium of claim 9, wherein the selecting step comprises:
identifying a set of candidate paths from the one or more available paths based on an intrinsic performance model;
determining preferences of occupants within the autonomous vehicle in terms of a path taken by the autonomous vehicle to a destination location; and
a planned path is identified from the set of candidate paths based on an extrinsic performance model and the preferences of the occupant.
14. The medium of claim 13, wherein determining the preference comprises:
obtaining recorded human driving data, the data including driving data associated with the occupant; and
generating a preference for the occupant that is personalized based on driving data associated with the occupant.
15. A system for path planning for an autonomous vehicle, comprising:
an interface unit configured to obtain information about an origin position and a destination position, wherein the destination position is a place where an autonomous vehicle is to drive;
a global path planner configured to identify one or more available paths between an origin location and a destination location; and
a path selection engine configured to:
obtaining a self-awareness performance model instantiated based on the one or more available paths, wherein the self-awareness performance model predicts the operating performance of the autonomous vehicle based on the one or more available paths; and
a planned path for the autonomous vehicle between the origin location and the destination location is selected from the one or more available paths based on the self-awareness performance model.
16. The system of claim 15, wherein the self-awareness performance model includes an intrinsic performance model specifying at least one intrinsic performance parameter that limits the operational capability of the autonomous vehicle due to conditions internal to the autonomous vehicle and an extrinsic performance model specifying at least one extrinsic performance parameter that limits the operational capability of the autonomous vehicle due to conditions external to the autonomous vehicle.
17. The system of claim 16, wherein the self-awareness performance model comprises any one of a parametric model, a descriptive model, a probabilistic model, and combinations thereof.
18. The system of claim 15, wherein the self-awareness performance model is dynamically updated to generate an updated self-awareness performance model, wherein the updated self-awareness performance model reflects a scene with which the autonomous vehicle is currently associated.
19. The system of claim 18, wherein the updating of the self-awareness performance model is triggered by an event comprising a scheduled time, the origin location being updated, the destination location being updated, the one or more available paths being updated, and a request to update the self-awareness performance model being received.
20. The system of claim 16, wherein the global path planner comprises:
an occupant preference determiner configured to determine preferences of occupants within the autonomous vehicle in terms of a path taken by the autonomous vehicle to a destination location; and
a path selection engine configured to
Identifying a set of candidate paths from the one or more available paths based on an intrinsic performance model, an
A planned path is identified from the set of candidate paths based on an extrinsic performance model and the preferences of the occupant.
21. The system of claim 20, wherein the global path planner further comprises:
an occupant driving data analyzer configured to analyze recorded human driving data, the data including driving data associated with the occupant;
a preference personalization module configured to generate personalized routing preferences for the occupant; and
an occupant preference determiner configured to generate a preference of the occupant personalized based on driving data associated with the occupant.
CN201780097474.4A 2017-12-18 2017-12-18 Method and system for self-performance aware path planning in autonomous vehicles Pending CN111433565A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2017/058086 WO2019122953A1 (en) 2017-12-18 2017-12-18 Method and system for self capability aware route planning in autonomous driving vehicles

Publications (1)

Publication Number Publication Date
CN111433565A true CN111433565A (en) 2020-07-17

Family

ID=66993160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780097474.4A Pending CN111433565A (en) 2017-12-18 2017-12-18 Method and system for self-performance aware path planning in autonomous vehicles

Country Status (3)

Country Link
EP (1) EP3727979A4 (en)
CN (1) CN111433565A (en)
WO (1) WO2019122953A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112508195A (en) * 2020-11-19 2021-03-16 华南师范大学 Artificial intelligence ethical rule revision-based ethical simulation experiment method and robot
CN115601971A (en) * 2022-11-12 2023-01-13 广州融嘉信息科技有限公司(Cn) Park self-adaptive vehicle scheduling and parking intelligent control method based on neural network

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100030466A1 (en) * 2008-08-01 2010-02-04 Environmental Systems Research Institute, Inc. System and Method for Hybrid Off-Board Navigation
EP2369299A1 (en) * 2010-03-24 2011-09-28 Sap Ag Navigation device and method for predicting the destination of a trip
US8634980B1 (en) * 2010-10-05 2014-01-21 Google Inc. Driving pattern recognition and safety control
GB201608120D0 (en) * 2016-01-20 2016-06-22 Mahindra Reva Electric Vehicles Private Ltd A method and system for trip planning for vehicles with limited on-board energy
US20170146362A1 (en) * 2015-11-19 2017-05-25 GM Global Technology Operations LLC Method and apparatus for fuel consumption prediction and cost estimation via crowd-sensing in vehicle navigation system
CN106989752A (en) * 2016-01-20 2017-07-28 马亨德拉雷瓦电动汽车有限公司 The method and system of route is planned the vehicle with limited vehicle-mounted energy
US20170262790A1 (en) * 2016-03-11 2017-09-14 Route4Me, Inc. Complex dynamic route sequencing for multi-vehicle fleets using traffic and real-world constraints
US20170267256A1 (en) * 2016-03-15 2017-09-21 Cruise Automation, Inc. System and method for autonomous vehicle driving behavior modification

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120271500A1 (en) * 2011-04-20 2012-10-25 GM Global Technology Operations LLC System and method for enabling a driver to input a vehicle control instruction into an autonomous vehicle controller
US20150166069A1 (en) * 2013-12-18 2015-06-18 Ford Global Technologies, Llc Autonomous driving style learning

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100030466A1 (en) * 2008-08-01 2010-02-04 Environmental Systems Research Institute, Inc. System and Method for Hybrid Off-Board Navigation
EP2369299A1 (en) * 2010-03-24 2011-09-28 Sap Ag Navigation device and method for predicting the destination of a trip
US8634980B1 (en) * 2010-10-05 2014-01-21 Google Inc. Driving pattern recognition and safety control
US20170146362A1 (en) * 2015-11-19 2017-05-25 GM Global Technology Operations LLC Method and apparatus for fuel consumption prediction and cost estimation via crowd-sensing in vehicle navigation system
GB201608120D0 (en) * 2016-01-20 2016-06-22 Mahindra Reva Electric Vehicles Private Ltd A method and system for trip planning for vehicles with limited on-board energy
CN106989752A (en) * 2016-01-20 2017-07-28 马亨德拉雷瓦电动汽车有限公司 The method and system of route is planned the vehicle with limited vehicle-mounted energy
US20170262790A1 (en) * 2016-03-11 2017-09-14 Route4Me, Inc. Complex dynamic route sequencing for multi-vehicle fleets using traffic and real-world constraints
US20170267256A1 (en) * 2016-03-15 2017-09-21 Cruise Automation, Inc. System and method for autonomous vehicle driving behavior modification

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112508195A (en) * 2020-11-19 2021-03-16 华南师范大学 Artificial intelligence ethical rule revision-based ethical simulation experiment method and robot
CN112508195B (en) * 2020-11-19 2022-06-21 华南师范大学 Artificial intelligence ethical rule revision-based ethical simulation experiment method and robot
CN115601971A (en) * 2022-11-12 2023-01-13 广州融嘉信息科技有限公司(Cn) Park self-adaptive vehicle scheduling and parking intelligent control method based on neural network
CN115601971B (en) * 2022-11-12 2023-11-10 广州融嘉信息科技有限公司 Park self-adaptive vehicle dispatching and parking intelligent control method based on neural network

Also Published As

Publication number Publication date
WO2019122953A1 (en) 2019-06-27
EP3727979A4 (en) 2021-08-04
EP3727979A1 (en) 2020-10-28

Similar Documents

Publication Publication Date Title
CN111433087B (en) Method and system for human-like vehicle control prediction in autonomous vehicles
CN111465824A (en) Method and system for personalized self-aware path planning in autonomous vehicles
CN111448118A (en) Method and system for personalized driving lane planning in autonomous vehicles
CN111433101A (en) Method and system for personalized motion planning in autonomous vehicles
CN111433103B (en) Method and system for adaptive movement planning based on occupant reaction to movement of vehicle in an autonomous vehicle
CN110573978A (en) Dynamic sensor selection for self-driving vehicles
CN111433566A (en) Method and system for human-like driving lane planning in an autonomous vehicle
CN111433565A (en) Method and system for self-performance aware path planning in autonomous vehicles
US11886202B2 (en) Method and system for switching between local and remote guidance instructions for autonomous vehicles
CN117416343A (en) Active state estimation and response to school bus in automatic driving system

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40031030

Country of ref document: HK

WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200717

WD01 Invention patent application deemed withdrawn after publication