Trajectory selection for controlling autonomous vehicles
By introducing a trajectory planner and a trajectory control module into the autonomous vehicle and selecting a trajectory that meets a specific threshold for control, the problem that autonomous vehicles cannot determine the trajectory under certain environmental conditions is solved, and more efficient and convenient vehicle control is achieved.
Patent Information
- Application Number
- CN202111577256.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-14
- Filing Date
- 2021-12-22
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2041-12-22
AI Technical Summary
The autonomous vehicle cannot determine the trajectory to be followed under certain external environmental conditions, resulting in vehicle control being returned to the human driver or the vehicle being stopped, and the trajectory control is unpleasant or inconvenient.
Multiple trajectories are provided to the trajectory control module through the trajectory planner module. The trajectory control module determines trajectory parameters (such as curvature, lateral acceleration and longitudinal acceleration) and compares these parameters with corresponding thresholds, selecting alternative trajectories that meet all thresholds for controlling autonomous vehicles.
Reducing the number of times the vehicle control is returned to a human driver, providing an autonomous vehicle control method that is pleasant and convenient for human passengers.
Smart Images

Figure CN114763158B_ABST
Abstract
Description
[0001] The technical field generally relates to control of autonomous vehicles. In particular, the present specification relates to systems and methods for controlling an autonomous vehicle by selecting a motion trajectory from a plurality of trajectories. Background Art
[0002] Autonomous vehicles are typically designed to follow a predetermined trajectory of motion. A trajectory of motion may generally be referred to as a trajectory. When following a trajectory, an autonomous vehicle relies on input data, in particular sensor inputs relating to the vehicle's environment, the vehicle's current position and the route destination. The autonomous vehicle dynamically determines the trajectory to be followed by the vehicle based on the input data. However, under certain external conditions, i.e. caused by the vehicle's environment, the autonomous vehicle may not be able to determine the trajectory to be followed and control of the vehicle is handed back to the human driver of the vehicle, or the vehicle is stopped, i.e. brought to a so-called safe state. Other conditions may result in controlling and moving the vehicle's trajectory in an unpleasant or inconvenient manner.
[0003] Therefore, it is desirable to provide systems and methods for controlling autonomous vehicles that reduce the amount of vehicle control being handed back to a human driver. In addition, it is desirable to provide systems and methods that can control autonomous vehicles in a manner that is pleasant and convenient for human passengers.
[0004] Furthermore, other desirable features and characteristics of the present disclosure will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background. Summary of the invention
[0005] A method for controlling an autonomous vehicle is provided. In one embodiment, the method includes providing a first trajectory to a trajectory control module of the autonomous vehicle by a trajectory planner module; determining parameters of the first trajectory by the trajectory control module, wherein the parameters include at least one of a curvature of the first trajectory, a lateral jerk of the first trajectory, and a longitudinal jerk of the first trajectory; comparing at least one parameter of the first trajectory with a corresponding threshold value, such as a specific threshold value for each parameter, by the trajectory control module; obtaining at least one alternative trajectory by the trajectory control module; determining parameters of each of the at least one alternative trajectory by the trajectory control module; comparing at least one parameter of the alternative trajectory with a corresponding threshold value by the trajectory control module; indicating that the first trajectory is invalid by the trajectory control module in response to at least one parameter of the first trajectory exceeding the corresponding threshold value, otherwise selecting the first trajectory by the trajectory control module for controlling the autonomous vehicle; selecting one of the alternative trajectories that meets all the threshold values for controlling the autonomous vehicle by the trajectory control module in response to the first trajectory being invalid; and controlling the autonomous vehicle to follow the selected trajectory by the trajectory control module.
[0006] In one embodiment, the method further includes determining, by the trajectory control module, a convenience value for each valid trajectory, wherein the convenience value is a sum of differences between a value of each parameter and a corresponding threshold; and selecting, by the trajectory control module, a trajectory with a highest convenience value for controlling the autonomous vehicle.
[0007] In another embodiment, the method further includes, in response to two or more trajectories having similar or equal convenience values, selecting, by the trajectory control module, one of the trajectories having similar or equal convenience values according to a priority order.
[0008] In another embodiment, obtaining, by the trajectory control module, at least one alternative trajectory includes obtaining, by the trajectory control module, a first alternative trajectory from a sensor of the autonomous vehicle.
[0009] In another embodiment, the step of obtaining at least one alternative trajectory by the trajectory control module includes obtaining, by the trajectory control module, boundary information of the drivable area from sensors of the autonomous vehicle; and determining, by the trajectory control module, the second trajectory based on the boundary information of the drivable area.
[0010] In another embodiment, the method further includes transforming, by the trajectory control module, each trajectory to include a waypoint having coordinates; and determining parameters of the trajectory using the coordinates.
[0011] In another embodiment, the method further includes escalating, by the trajectory control module, control of the autonomous vehicle to a driver of the autonomous vehicle in response to no trajectory satisfying the corresponding threshold.
[0012] In another embodiment, the method further includes sending feedback by the trajectory control module to the trajectory planner module in response to at least one parameter of the first trajectory exceeding a corresponding threshold.
[0013] In another embodiment, the method further includes updating, by the trajectory planner module, the first trajectory and providing the updated first trajectory to the trajectory control module.
[0014] In another embodiment, the method further includes comparing, by the trajectory control module, at least one parameter of the updated first trajectory with a corresponding threshold; in response to at least one parameter of the updated first trajectory exceeding the corresponding threshold, indicating, by the trajectory control module, that the first trajectory is invalid, otherwise selecting, by the trajectory control module, the updated first trajectory for controlling the autonomous vehicle; in response to the updated first trajectory being invalid, obtaining, by the trajectory control module, at least one alternative trajectory; determining, by the trajectory control module, a parameter of each of the at least one alternative trajectory; comparing, by the trajectory control module, at least one parameter of the alternative trajectory with a corresponding threshold; and selecting, by the trajectory control module, one of the alternative trajectories that meets all the thresholds for controlling the autonomous vehicle.
[0015] An autonomous vehicle includes a controller having a trajectory planner module and a trajectory control module. The trajectory planner module provides a first trajectory to the trajectory control module. The trajectory control module determines parameters of the first trajectory, wherein the parameters include at least one of a curvature of the first trajectory, a lateral jerk of the first trajectory, and a longitudinal jerk of the first trajectory. The trajectory control module compares at least one parameter of the first trajectory with a corresponding threshold value, for example, with a specific threshold value for each parameter. The trajectory control module obtains at least one alternative trajectory. The trajectory control module determines parameters of each of the at least one alternative trajectory. The trajectory control module compares at least one parameter of the alternative trajectory with a corresponding threshold value. In response to at least one parameter of the first trajectory exceeding the corresponding threshold value, the trajectory control module indicates that the first trajectory is invalid, otherwise the trajectory control module selects the first trajectory to control the autonomous vehicle. In response to the first trajectory being invalid, the trajectory control module selects one of the alternative trajectories that meets all the threshold values for controlling the autonomous vehicle. The trajectory control module controls the autonomous vehicle to follow the selected trajectory.
[0016] In one embodiment, the trajectory control module determines a convenience value for each valid trajectory, and the convenience value is the sum of the differences between the value of each parameter and the corresponding threshold. The trajectory control module selects the trajectory with the highest convenience value for controlling the autonomous vehicle.
[0017] In another embodiment, the trajectory control module, in response to two or more trajectories having similar or equal convenience values, selects one of the trajectories having similar or equal convenience values according to a priority order.
[0018] In another embodiment, an autonomous vehicle includes a sensor that detects an environment of the autonomous vehicle and provides a first alternative trajectory to a trajectory control module based on the detected environment.
[0019] In another embodiment, the sensor determines boundary information of the drivable area and provides the boundary information to the trajectory control module. The trajectory control module determines the second trajectory based on the boundary information of the drivable area.
[0020] In another embodiment, the trajectory control module transforms each trajectory to include waypoints having coordinates. The trajectory control module uses the coordinates to determine parameters of the trajectory.
[0021] In another embodiment, the trajectory control module escalates control of the autonomous vehicle to a driver of the autonomous vehicle in response to no trajectory satisfying a corresponding threshold.
[0022] In another embodiment, in response to at least one parameter of the first trajectory exceeding a corresponding threshold, the trajectory control module sends feedback to the trajectory planner module.
[0023] In another embodiment, the trajectory planner module updates the first trajectory and provides the updated first trajectory to the trajectory control module.
[0024] In another embodiment, the trajectory control module compares at least one parameter of the updated first trajectory to a corresponding threshold value. In response to at least one parameter of the updated first trajectory exceeding the corresponding threshold value, the trajectory control module indicates that the first trajectory is invalid, otherwise it selects the updated first trajectory to control the autonomous vehicle. In response to the updated first trajectory being invalid, the trajectory control module obtains at least one alternative trajectory, determines a parameter of each of the at least one alternative trajectory, compares at least one parameter of the alternative trajectory to a corresponding threshold value, and selects one of the alternative trajectories that satisfies all of the threshold values for controlling the autonomous vehicle. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Exemplary embodiments will be described below with reference to the following drawings, wherein like reference numerals represent like elements, and in which:
[0026] Figure 1 is a schematic diagram of an autonomous vehicle;
[0027] Figure 2 is a schematic diagram of a communication network interconnecting infrastructure entities and autonomous vehicles;
[0028] Figure 3 is a schematic diagram of an autonomous driving system implemented by a controller of an autonomous vehicle;
[0029] Figure 4 is a schematic diagram of a controller having a trajectory planner module and a trajectory control module according to an embodiment;
[0030] Figure 5 is a schematic diagram of data flow between a sensing device, a trajectory planner module, a trajectory control module, and actuators of an autonomous vehicle according to one embodiment;
[0031] Figure 6 is a schematic diagram of steps of a method for controlling an autonomous vehicle according to an embodiment;
[0032] Figure 7 is a schematic diagram of steps of a method for controlling an autonomous vehicle according to an embodiment;
[0033] Figure 8 is a schematic diagram of steps of a method for controlling an autonomous vehicle according to an embodiment; and
[0034] Fig. 9 is a schematic diagram of steps of a method for controlling an autonomous vehicle according to an embodiment. DETAILED DESCRIPTION
[0035] The following detailed description is merely exemplary in nature and is not intended to limit application and use. In addition, it is not intended to be bound by any express or implied theory presented in the previous technical field, background technology, invention content or the following detailed description. As used herein, the term "module" refers to any hardware, software, firmware, electronic control component, processing logic and / or processor device, which is used alone or in any combination, including but not limited to: application-specific integrated circuits (ASICs), electronic circuits, processors (shared, dedicated or grouped) and memories that execute one or more software or firmware programs, combinational logic circuits and / or other suitable components that provide the functions.
[0036] Embodiments of the present disclosure may be described herein in terms of functions and / or logic block components and various processing steps. It should be understood that such block components may be implemented by any number of hardware, software and / or firmware components configured to perform a specified function. For example, embodiments of the present disclosure may employ various integrated circuit components, such as storage elements, digital signal processing elements, logic elements, lookup tables, etc., which may perform various functions under the control of one or more microprocessors or other control devices. In addition, those skilled in the art will appreciate that embodiments of the present disclosure may be practiced in conjunction with any number of systems, and the systems described herein are merely exemplary embodiments of the present disclosure.
[0037] For the sake of brevity, conventional techniques related to signal processing, data transmission, signaling, control, and other functional aspects of the system (as well as the various operating components of the system) are not described in detail herein. In addition, the connecting lines shown in the various figures included herein are intended to represent example functional relationships and / or physical connections between various elements. It should be noted that many alternative or additional functional relationships or physical connections may exist in the embodiments of the present disclosure.
[0038] refer to Figure 1 , a vehicle 10 according to various embodiments is shown. The vehicle 10 generally includes a chassis 12, a body 14, front wheels 16, and rear wheels 18. The body 14 is disposed on the chassis 12 and substantially encloses the components of the vehicle 10. The body 14 and the chassis 12 may together form a frame. The wheels 16 and 18 are each rotatably coupled to the chassis 12 near a corresponding corner of the body 14.
[0039] In various embodiments, the vehicle 10 is an autonomous vehicle. The autonomous vehicle 10 is, for example, a vehicle that is automatically controlled to transport passengers from one location to another. The vehicle 10 is depicted as a passenger car in the illustrated embodiment, but it should be understood that any other vehicle including motorcycles, trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), ships, aircraft, etc. can also be used. In an exemplary embodiment, the autonomous vehicle 10 is a level 2 or higher automation system. Level 2 automation systems represent "partial automation". However, in other embodiments, the autonomous vehicle 10 can be a so-called level 3, level 4, or level 5 automation system. Level 3 automation systems represent conditional automation. Level 4 systems represent "high automation" and refer to the driving mode-specific performance of the autonomous driving system in all aspects of dynamic driving tasks, even when the human driver does not respond appropriately to the intervention request. Level 5 systems represent "full automation" and refer to the full-time performance of the autonomous driving system in all aspects of dynamic driving tasks under all road and environmental conditions that the human driver can manage.
[0040] As shown, the autonomous vehicle 10 generally includes a propulsion system 20, a transmission system 22, a steering system 24, a braking system 26, a sensor system 28, an actuator system 30, at least one data storage device 32, at least one controller 34, and a communication system 36. In various embodiments, the propulsion system 20 may include an internal combustion engine, an electric motor such as a traction motor, and / or a fuel cell propulsion system. The transmission system 22 is configured to transmit power from the propulsion system 20 to the wheels 16 and 18 according to a selectable speed ratio. According to various embodiments, the transmission system 22 may include a step-by-step transmission, a continuously variable transmission, or other suitable transmissions. The braking system 26 is configured to provide braking torque to the wheels 16 and 18. In various embodiments, the braking system 26 may include friction brakes, wire control brakes, regenerative braking systems such as electric motors, and / or other suitable braking systems. The steering system 24 affects the position of the wheels 16 and 18. Although depicted as including a steering wheel for illustrative purposes, in some embodiments contemplated within the scope of the present disclosure, the steering system 24 may not include a steering wheel.
[0041] The sensor system 28 includes one or more sensing devices 40a-40n that sense observable conditions of the external environment and / or the internal environment of the vehicle 10. The sensing devices 40a-40n may include, but are not limited to, radar, lidar, global positioning system, optical camera, thermal camera, ultrasonic sensor, and / or other sensors. The actuator system 30 includes one or more actuator devices 42a-42n that control one or more vehicle features, such as, but not limited to, the propulsion system 20, the transmission system 22, the steering system 24, and the braking system 26. In various embodiments, vehicle features may also include interior and / or exterior vehicle features, such as, but not limited to, doors, trunks, and cabin features, such as air, music, lighting, etc. (not numbered).
[0042] The communication system 36 is configured to wirelessly transmit information to and from other entities 48, such as, but not limited to, other vehicles ("V2V" communications), infrastructure ("V2I" communications), remote transportation systems, and / or user devices (see Figure 2 In an exemplary embodiment, the communication system 36 is a wireless communication system configured to communicate via a wireless local area network (WLAN) using the IEEE 802.11 standard or by using cellular data communications. However, additional or alternative communication methods, such as dedicated short-range communication (DSRC) channels, are also considered within the scope of the present disclosure. A DSRC channel refers to a one-way or two-way short-range to medium-range wireless communication channel designed specifically for automotive use and for a corresponding set of protocols and standards.
[0043] Data storage device 32 stores data for automatically controlling autonomous vehicle 10. In various embodiments, data storage device 32 stores a defined map of the navigable environment. In various embodiments, the defined map may be predefined by a remote system and obtained from the remote system (see Figure 2 Detailed description is provided below.) For example, the defined map may be assembled by a remote system and transmitted to the autonomous vehicle 10 (wirelessly and / or by wire), and stored in the data storage device 32. It will be appreciated that the data storage device 32 may be part of the controller 34, a separate part from the controller 34, or a part of the controller 34 and a separate system.
[0044] The controller 34 includes at least one processor 44 and a computer readable storage device or medium 46. The processor 44 can be any custom or commercially available processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor of several processors associated with the controller 34, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, any combination thereof, or any device generally used to execute instructions. The computer readable storage device or medium 46 can include volatile and non-volatile storage in, for example, read-only memory (ROM), random access memory (RAM), and keep-alive memory (KAM). KAM is a persistent or non-volatile memory that can be used to store various operating variables when the processor 44 is powered off. The computer readable storage device or medium 46 can be implemented using any of a variety of known storage devices, such as PROM (programmable read-only memory), EPROM (electrically programmable PROM), EEPROM (electrically erasable PROM), flash memory, or any other electrical, magnetic, optical, or combination storage device capable of storing data, some of which represent executable instructions, used by the controller 34 when controlling the autonomous vehicle 10.
[0045] The instructions may include one or more separate programs, each of which includes an ordered list of executable instructions for implementing logical functions. When executed by processor 34, these instructions receive and process signals from sensor system 28, perform logic, calculations, methods, and / or algorithms for automatically controlling components of autonomous vehicle 10, and generate control signals transmitted to actuator system 30 to automatically control components of autonomous vehicle 10 based on the logic, calculations, methods, and / or algorithms. Although in Figure 1 Only one controller 34 is shown, but embodiments of autonomous vehicle 10 may include any number of controllers 34 that communicate via any suitable communication medium or combination of communication mediums and collaborate to process sensor signals, execute logic, calculations, methods and / or algorithms, and generate control signals to automatically control features of autonomous vehicle 10.
[0046] Generally, according to one embodiment, autonomous vehicle 10 includes a trajectory planner module 82 (see Figure 4 ) and trajectory control module 84 (see Figure 4) of a controller 34. The trajectory planner module provides a first trajectory to a trajectory control module. The trajectory control module determines parameters of the first trajectory, wherein the parameters include at least one of a curvature of the first trajectory, a lateral jerk of the first trajectory, and a longitudinal jerk of the first trajectory. The trajectory control module compares at least one parameter of the first trajectory with a corresponding threshold, for example, with a specific threshold for each parameter. The trajectory control module obtains at least one alternative trajectory. The trajectory control module determines parameters of each of the at least one alternative trajectory. The trajectory control module compares at least one parameter of the alternative trajectory with a corresponding threshold. When at least one parameter of the first trajectory exceeds the corresponding threshold, the trajectory control module indicates that the first trajectory is invalid, otherwise the trajectory control module selects the first trajectory to control the autonomous vehicle. When the first trajectory is invalid, the trajectory control module selects one of the alternative trajectories that meets all thresholds for controlling the autonomous vehicle. The trajectory control module controls the autonomous vehicle to follow the selected trajectory.
[0047] In one embodiment, the controller 34 implements the trajectory planner module and the trajectory control module as logic functions. Alternatively, the trajectory planner module and the trajectory control module can be implemented on separate and different processors, such as microcontrollers, etc. The trajectory planner module and the trajectory control module are configured to perform a method for controlling the autonomous vehicle 10. The method includes providing a first trajectory to a trajectory control module of the autonomous vehicle 10 by a trajectory planner module; determining parameters of the first trajectory by the trajectory control module, wherein the parameters include at least one of the curvature of the first trajectory, the lateral acceleration of the first trajectory, and the longitudinal jerk of the first trajectory; comparing at least one parameter of the first trajectory with a corresponding threshold value, such as a specific threshold value for each parameter, by the trajectory control module; obtaining at least one alternative trajectory by the trajectory control module; determining parameters of each of the at least one alternative trajectory by the trajectory control module; comparing at least one parameter of the alternative trajectory with a corresponding threshold value by the trajectory control module; when at least one parameter of the first trajectory exceeds the corresponding threshold value, indicating that the first trajectory is invalid by the trajectory control module, otherwise selecting the first trajectory by the trajectory control module for controlling the autonomous vehicle; when the first trajectory is invalid, selecting one of the alternative trajectories that meets all the threshold values by the trajectory control module for controlling the autonomous vehicle; and controlling the autonomous vehicle to follow the selected trajectory by the trajectory control module.
[0048] Reference now Figure 2 In various embodiments, reference is made to Figure 1 The described autonomous vehicle 10 may be adapted for use in the context of a taxi or shuttle system in a particular geographic area (e.g., a city, a school or business campus, a shopping mall, an amusement park, an event center, etc.), or may simply be managed by a remote system. For example, the autonomous vehicle 10 may be associated with a remote autonomous vehicle-based transportation system. Figure 2An exemplary embodiment of an operating environment, shown generally at 50, is shown that includes an autonomous vehicle-based remote transportation system 52 associated with one or more autonomous vehicles 10a-10n, as shown in reference Figure 1 In various embodiments, operating environment 50 also includes one or more user devices 54 that communicate with autonomous vehicle 10 and / or remote transportation system 52 via communication network 56 .
[0049] The communication network 56 supports the required communications between the devices, systems, and components supported by the operating environment 50 (e.g., via tangible communication links and / or wireless communication links). For example, the communication network 56 may include a wireless carrier system 60, such as a cellular telephone system including a plurality of cell towers (not shown), one or more mobile switching centers (MSCs) (not shown), and any other network components required to connect the wireless carrier system 60 to a land communication system. Each cell tower includes transmit and receive antennas and a base station, and the base stations from different cell towers are connected to the MSC directly or through intermediate equipment such as a base station controller. The wireless carrier system 60 can implement any suitable communication technology, including, for example, digital technologies such as CDMA (e.g., CDMA2000), LTE (e.g., 4G LTE or 5G LTE), GSM / GPRS, or other current or emerging wireless technologies. Other cell tower / base station / MSC arrangements are also possible and can be used with the wireless carrier system 60. For example, the base stations and cell towers can be co-located, or they can be located remotely from each other, each base station can be responsible for a single cell tower, or a single base station can serve various cell towers, or various base stations can be connected to a single MSC, to name just a few possible arrangements.
[0050] In addition to including the wireless carrier system 60, a second wireless carrier system in the form of a satellite communication system 64 may be included to provide one-way or two-way communications with the autonomous vehicles 10a-10n. This may be accomplished using one or more communication satellites (not shown) and uplink transmission stations (not shown). One-way communications may include, for example, satellite radio services, where programming content (news, music, etc.) is received by a transmitter station, packaged for upload, and then sent to a satellite, which broadcasts the programming to subscribers. Two-way communications may include, for example, satellite telephone services, which use satellites to relay telephone communications between the vehicle 10 and the station. A satellite telephone may be used in addition to or in lieu of the wireless carrier system 60.
[0051] A land communication system 62 may also be included, which is a conventional land-based telecommunication network connected to one or more landline telephones and connecting the wireless carrier system 60 to the remote transportation system 52. For example, the land communication system 62 may include a public switched telephone network (PSTN), such as a network used to provide hardwired telephone, packet-switched data communications, and Internet infrastructure. One or more segments of the land communication system 62 may be implemented using a standard wired network, fiber optic or other optical network, cable network, power line, other wireless network (e.g., WLAN), or a network providing broadband wireless access (BWA), or any combination thereof. In addition, the remote transportation system 52 need not be connected via the land communication system 62, but may include a wireless telephone device so that it can communicate directly with a wireless network, such as the wireless carrier system 60.
[0052] Although Figure 2 Only one user device 54 is shown in the figure, but embodiments of the operating environment 50 can support any number of user devices 54, including multiple user devices 54 owned, operated, or otherwise used by one person. Each user device 54 supported by the operating environment 50 can be implemented using any suitable hardware platform. In this regard, the user device 54 can be implemented in any common form factor, including but not limited to: a desktop computer; a mobile computer (e.g., a tablet computer, a laptop computer, or a netbook computer); a smart phone; a video game device; a digital media player; a piece of home entertainment equipment; a digital camera or video camera; a wearable computing device (e.g., a smart watch, smart glasses, smart clothing); or the like. Each user device 54 supported by the operating environment 50 is implemented as a computer-implemented or computer-based device having the hardware, software, firmware, and / or processing logic required to perform the various techniques and methods described herein. For example, the user device 54 includes a microprocessor in the form of a programmable device, which includes one or more instructions stored in an internal memory structure and is applied to receive binary input to create binary output. In some embodiments, the user device 54 includes a GPS module capable of receiving GPS satellite signals and generating GPS coordinates based on these signals. In other embodiments, the user device 54 includes cellular communication functionality such that the device performs voice and / or data communications over the communication network 56 using one or more cellular communication protocols, as discussed herein. In various embodiments, the user device 54 includes a visual display, such as a touch screen graphical display or other display.
[0053] The remote transportation system 52 includes one or more backend server systems that may be cloud-based, web-based, or resident on a specific campus or geographic location served by the remote transportation system 52. The remote transportation system 52 may be operated by a live advisor, an automated advisor, or a combination of both. The remote transportation system 52 may communicate with user devices 54 and autonomous vehicles 10a-10n to schedule rides, dispatch autonomous vehicles 10a-10n, etc. In various embodiments, the remote transportation system 52 stores account information, such as subscriber authentication information, vehicle identifiers, profile records, behavioral patterns, and other relevant subscriber information.
[0054] According to a typical use case workflow, a registered user of the remote transportation system 52 may create a ride request via a user device 54. The ride request will typically indicate the passenger's desired pickup location (or current GPS location), desired destination location (which may identify a predefined vehicle stop and / or a user-specified passenger destination), and a pickup time. The remote transportation system 52 receives the ride request, processes the request, and dispatches a selected one of the autonomous vehicles 10a-10n (when and if an autonomous vehicle is available) to pick up the passenger at the specified pickup location and at an appropriate time. The remote transportation system 52 may also generate and send a suitably configured confirmation message or notification to the user device 54 to let the passenger know that the vehicle is on the way.
[0055] It will be appreciated that the subject matter disclosed herein provides certain enhanced features and functionality for what may be considered a standard or baseline autonomous vehicle 10 and / or autonomous vehicle-based remote transportation system 52. To this end, the autonomous vehicle and autonomous vehicle-based remote transportation system may be modified, enhanced, or supplemented to provide additional features as described in more detail below.
[0056] According to various embodiments, the controller 34 implements Figure 3 An automated driving system (ADS) 70 is shown. That is, appropriate software and / or hardware components of the controller 34 (eg, the processor 44 and the computer-readable storage device 46 ) are used to provide an automated driving system 70 for use in conjunction with the vehicle 10 .
[0057] In various embodiments, the instructions for the autonomous driving system 70 may be organized by function or system. Figure 3 As shown, the autonomous driving system 70 may include a computer vision system 74, a positioning system 76, a guidance system 78, and a vehicle control system 80. It will be appreciated that in various embodiments, instructions may be organized into any number of systems (e.g., combined, further divided, etc.), as the present disclosure is not limited to this example.
[0058] In various embodiments, the computer vision system 74 synthesizes and processes sensor data and predicts the presence, location, classification, and / or path of objects and environmental features of the vehicle 10. In various embodiments, the computer vision system 74 may combine information from multiple sensors, including but not limited to cameras, lidar, radar, and / or any number of other types of sensors. The computer vision system 74 may also be referred to as a sensor fusion system because it fuses input from several sensors.
[0059] The positioning system 76 processes the sensor data and other data to determine the location of the vehicle 10 relative to the environment (e.g., local location relative to a map, precise location relative to a road lane, vehicle heading, speed, etc.). The guidance system 78 processes the sensor data and other data to determine a path to be followed by the vehicle 10. The vehicle control system 80 generates control signals for controlling the vehicle 10 according to the determined path.
[0060] In various embodiments, the controller 34 implements machine learning techniques to assist in the functions of the controller 34 , such as feature detection / classification, obstacle mitigation, route traversal, mapping, sensor integration, ground truth determination, etc.
[0061] The vehicle control system 80 is configured to transmit vehicle control outputs to the actuator system 30. In an exemplary embodiment, the actuators 42 include steering control, shift control, throttle control, and brake control. The steering controller can, for example, control the steering system 24, such as Figure 1 As shown. The shift control can be controlled, for example, as follows Figure 1 The throttle control can, for example, control the propulsion system 20, such as Figure 1 Braking control can be, for example, controlled as follows Figure 1 The wheel brake system 26 is shown.
[0062] Figure 4 The controller 34 is shown as an example having a trajectory planner module 82 and a trajectory control module 84. It should be understood that except for reference Figure 1 and Figure 3 In addition to the other functional blocks described, modules 82 and 84 may be implemented by controller 34. Controller 34 and modules 82 and 84 execute programmable instructions to implement the method steps described herein with reference to one or more embodiments.
[0063] Generally, trajectory planner module 82 determines a trajectory that serves as a planned movement path or trajectory for autonomous vehicle 10. The movement path is provided by trajectory planner module 82 to trajectory control module 84, and trajectory control module 84 controls actuator system 30 and / or individual actuator devices 42a-42n of autonomous vehicle 10 to follow the path.
[0064] However, the trajectory provided by trajectory planner module 82 may, under certain conditions, provide a trajectory that is less convenient than an alternative trajectory for the occupants of autonomous vehicle 10. The methods described herein enable trajectory control module 84 to compare several available trajectories and select a trajectory that meets certain criteria (parameters of the trajectory) to be convenient or most convenient for the occupants of autonomous vehicle 10.
[0065] The trajectory control module 84 compares the parameters of the trajectory with the thresholds to determine which trajectory is more convenient or most convenient. The thresholds may be predetermined values for the autonomous vehicle 10 and each parameter, i.e., one threshold for curvature, another threshold for longitudinal jerk, and another threshold for lateral jerk. Other parameters may be considered. When at least one parameter of the first trajectory exceeds a corresponding one of these thresholds, the first trajectory is considered invalid because the first trajectory is considered inconvenient for the passengers of the autonomous vehicle 10. For this case, the trajectory control module 84 is configured to evaluate whether the alternative trajectory meets the predetermined parameters and select an alternative trajectory that meets the parameters, i.e., does not exceed the corresponding threshold. The autonomous vehicle 10 is then controlled based on the selected alternative trajectory. The trajectory control module 84 compares the curvature of the trajectory with the curvature threshold, the lateral jerk (derivative of lateral acceleration) with the lateral jerk threshold, and the longitudinal jerk (derivative of longitudinal acceleration) with the longitudinal jerk threshold. When one of these parameters exceeds the corresponding threshold, the corresponding trajectory is considered invalid. Otherwise, the trajectory is considered valid.
[0066] In one embodiment, trajectory control module 84 selects the trajectory with the highest convenience value to control autonomous vehicle 10. When multiple trajectories are available, trajectory control module 84 selects the trajectory whose actual parameters are the most convenient, i.e., the sum of the differences between the threshold and the parameter values is the highest value of all available trajectories. Typically, when the actual parameters of a trajectory are farthest from the threshold, the trajectory is considered to be the most convenient because the trajectory has the smallest curvature, the smallest lateral jerk, and the smallest longitudinal jerk. In another embodiment, when multiple trajectories are equally convenient for the passengers of autonomous vehicle 10, trajectory control module 84 selects one of the trajectories based on a predetermined priority order.
[0067] Figure 5 An exemplary data flow between sensing devices 40a, 40b, trajectory planner module 82, trajectory control module 84, and actuator system 30 is shown. Sensing device 40a may be a sensor that detects the environment of autonomous vehicle 10, including objects and a drivable area, such as one of a camera, radar, or lidar. Sensing device 40b may be a sensor that detects one or more states of autonomous vehicle 10, such as values indicating acceleration in the x, y, and z directions; roll, pitch, and yaw motion; wheel speeds of some or all of the vehicle's wheels; steering wheel angle; steering wheel speed.
[0068] The sensing device 40a provides the sensed data (e.g., objects and drivable areas, lane marking offsets, heading, curvature, road geometry) to the trajectory planner module 82 and provides the trajectory to the trajectory control module 84. When the sensing device 40a is a camera, it particularly provides the vehicle position relative to the lane in the vehicle reference frame. The sensing device 40b provides information about the state of the autonomous vehicle 10 to the trajectory planner module 82 and the trajectory control module 84. The trajectory planner module 82 implements the functions of perception, planning and positioning. Based on the data received from the sensing devices 40a, 40b, the trajectory planner module 82 determines the trajectory and provides it to the trajectory control module 84. The trajectory control module 84 can determine another trajectory based on the data received from the sensing devices 40a, 40b, and compare all the trajectories (the first trajectory received from the trajectory planner module 82, the second trajectory received from the sensing device 40a, and the third trajectory determined by the trajectory control module 84) with a threshold. The trajectory can be a polynomial, a trapezoidal acceleration curve, or a B-spline curve. The trajectory control module selects a trajectory that meets the criteria and controls the actuator system 30 to follow the selected trajectory.
[0069] In one embodiment, the trajectory control module transforms each trajectory into a waypoint with coordinates, and uses the coordinates to determine the parameters of the trajectory (i.e., curvature, longitudinal jerk, lateral jerk, and possibly other parameters). Basically, the trajectories can be compared based on position and heading. The trajectory control module transforms each trajectory into a waypoint with at least two dimensions (x, y). The waypoints and thresholds are then used to evaluate the validity of the trajectory, i.e., when the parameters are above or below a predetermined corresponding threshold.
[0070] In another embodiment, when the trajectory provided by trajectory planner module 82 exceeds at least one threshold, trajectory control module 84 sends feedback to trajectory planner module 82. In other words, trajectory control module 84 notifies trajectory planner module 82 that the first trajectory is invalid (one of the parameters of the first trajectory exceeds an allowed or predetermined threshold) and cannot be used by trajectory control module 84 to control autonomous vehicle 10.
[0071] Typically, the trajectory control module 84 can evaluate and select trajectories in a predetermined order. For example, the trajectory provided by the trajectory planner module 82 is first evaluated and selected when valid. Other trajectories are considered only when the first trajectory provided by the trajectory planner module is invalid. This method is based on the basic assumption that the trajectory provided by the trajectory planner module 82 is usually the best trajectory under normal circumstances. Therefore, it is preferred to control the autonomous vehicle 10 based on the trajectory provided by the trajectory planner module 82. However, when the trajectory provided by the trajectory planner module 82 is invalid, the trajectory control module 84 selects an alternative trajectory (e.g., a trajectory provided by the sensing device 40a or a trajectory determined by the trajectory control module 84) in a short time. For example, when the first trajectory is invalid, the trajectory control module 84 does not use the first trajectory and notifies the trajectory planning module 82 that the first trajectory is invalid. The trajectory control module 84 selects an alternative trajectory for controlling the vehicle. The trajectory planner module 82 determines the updated first trajectory and provides it to the trajectory control module 84. Now, trajectory control module 84 repeats the previous steps and compares the updated first trajectory (and the alternative trajectory) to the threshold and again selects the best option for controlling autonomous vehicle 10 so as to meet the predetermined convenience criteria for the passengers of autonomous vehicle 10. Thus, trajectory control module 84 evaluates multiple trajectories so as to be able to select one of these trajectories before returning control to the vehicle driver. This approach reduces the number of times control is returned to the human driver of autonomous vehicle 10.
[0072] Trajectory control module 84 may receive more than three trajectories to select from. Thus, the example with the three trajectories outlined above is considered non-limiting. In addition to the above trajectories, trajectory control module 84 may determine a safe stop trajectory that stops autonomous vehicle 10. The safe stop trajectory may be a quick stop when the operator or driver does not react, or may be more gradual when the situation is determined to be less urgent.
[0073] In one embodiment, all of the above-mentioned trajectories are always available to trajectory control module 84. The normal trajectory used to control the autonomous vehicle is the first trajectory provided by trajectory planner module 82. When trajectory control module 84 determines that the first trajectory is invalid (i.e., its parameters exceed at least one threshold value of curvature, lateral acceleration, longitudinal jerk), it evaluates alternative trajectories (second trajectory, third trajectory, etc.), as long as one of the alternative trajectories is considered valid. The valid trajectory is then used to control autonomous vehicle 10.
[0074] Therefore, when the first trajectory provided by the trajectory planner module 82 is invalid, the trajectory control module 84 selects an alternative trajectory and controls the autonomous vehicle 10 based on the alternative trajectory instead of returning control to the driver of the autonomous vehicle 10. Once the trajectory planner module 82 updates the first trajectory, the trajectory control module 84 evaluates the updated first trajectory and uses it when it meets the validity criteria (i.e., the trajectory control module 84 compares the first trajectory with a threshold value). When the first trajectory provided by the trajectory planner module 82 is not feasible within a predetermined amount of time (e.g., 10 seconds or more), the controller 34 will notify the driver and require the driver to take control of the vehicle. Therefore, the trajectory control module 84 only uses the alternative trajectory during a limited period of time, during which no valid trajectory from the trajectory planning module 82 is available. However, the alternative trajectory enables the trajectory control module 84 to still control the autonomous vehicle 10 without requiring the driver to take control.
[0075] The method described herein allows control of an autonomous vehicle 10 that can check and determine whether to follow a trajectory provided by the trajectory planner module 82, compensate for it by selecting an alternate trajectory, or escalate to the driver as a last resort when no trajectory meets certain predetermined criteria. Primarily, the trajectory control module 84 uses alternate trajectories in order to continue operation and does not return control to the driver unless and only when any trajectory is deemed invalid. When the trajectory planner module 82 sends a trajectory, the trajectory control module 84 first determines the validity of the trajectory and does not strictly follow it. When the trajectory is deemed invalid, the trajectory control module 84 determines the validity of the alternate trajectory and selects a trajectory to control the autonomous vehicle.
[0076] Rather than strictly following the trajectory, the trajectory control module 84 runs trajectory diagnostics for curvature, lateral, and longitudinal jerk and sets a flag if one of these estimates exceeds a threshold.
[0077] A trajectory is invalid when one or more of the following criteria are met: the actuator system 30 does not have the ability to execute the trajectory; the trajectory causes vehicle instability due to tire force saturation, slippery road surface, etc.; the trajectory has an adverse effect on the passenger experience. Thresholds are set accordingly to define when a trajectory is invalid.
[0078] Figures 6 to 9 An implementation of a method for controlling autonomous vehicle 10 according to several exemplary embodiments is shown by way of example.
[0079] Figure 6The start of the method is shown. At 100, the method starts. Then, at 101, the trajectory control module 84 obtains a trajectory. The trajectory control module 84 may obtain a trajectory from the trajectory planner module 82, obtain one or more trajectories from a sensing device based on sensed data or data received from an auxiliary source, and / or the trajectory control module 84 generates a safe stop trajectory. At 102, the trajectory control module 84 verifies whether all trajectories are valid. In the event that not all trajectories are valid, the method continues at 104 and control engagement is not allowed. The method proceeds to 100. When all trajectories are valid at 102, control engagement is verified at 106. When control is not engaged, control engagement is allowed at 108 and the method proceeds to 100. When control is engaged at 106, the method proceeds to Figure 7 . refer to Figure 6 The steps described ensure that the method starts with an effective trajectory at this early stage.
[0080] exist Figure 7 In the example, at 110, the method verifies whether the trajectory is valid. The details of this verification are shown in Figure 7 , and will be described in more detail below. When the trajectory is valid at 110, the method proceeds to 120, and the trajectory control module 84 instructs the actuator system 30 to follow a valid trajectory, such as the first trajectory. When the trajectory is invalid at 110, it is verified at 122 whether the vehicle is stopped. When the vehicle is stopped, at 124, the steering wheel angle rate is set to zero and the brakes are commanded to a stop state. Otherwise, when the vehicle is not stopped at 122, the trajectory control module 84 commands the autonomous vehicle 10 to follow an alternative trajectory, such as the second trajectory.
[0081] Now, further reference Figure 7 , details of the verification process of whether the trajectory is valid are provided at 110. At 111, the current and predicted values of the driving curvature, lateral acceleration, longitudinal acceleration (and optionally other parameters of the trajectory) are calculated. At 112, it is verified whether the difference between the current driving curvature value and the predicted curvature value is greater than a threshold. When the difference is not greater than the threshold, at 113, the corresponding trajectory is indicated as valid. Otherwise, when the difference is greater than the threshold, the curvature flag is set at 114, and it is checked at 115 whether the longitudinal jerk is greater than the threshold. When the longitudinal jerk is not greater than the threshold, it is indicated at 116 that the trajectory is valid. Otherwise, when the longitudinal jerk is greater than the threshold at 115, it is checked at 117 whether the curvature flag is set. When the curvature flag is not set, the jerk flag is set at 118. Otherwise, when the curvature flag is set, the trajectory control module 84 sends feedback to the trajectory planning module 82 at 119 and indicates that the trajectory is invalid at 120.
[0082] It should be understood that the validity of the trajectory can be verified by additionally considering several other parameters not explicitly mentioned in this description. Each parameter is compared with a respective threshold value.
[0083] Figure 8 1 shows how trajectory control module 84 prioritizes multiple trajectories. When all trajectories are valid at 126, trajectory control module 84 uses a first trajectory, typically received from trajectory planning module 82, at 130. When not all trajectories are valid at 126, it is verified at 128 whether the first trajectory is valid. When the first trajectory is valid at 128, it is used at 130. Otherwise, it is verified at 132 whether the second trajectory is valid. When the second trajectory is deemed valid at 132, it is used to control autonomous vehicle 10 at 134. Otherwise, when the second trajectory is deemed invalid at 132, a third trajectory is used at 136.
[0084] Fig. 9 Shown in Figure 7 and Figure 8 How the method proceeds after the steps shown. At 138, it is verified whether the selected trajectory is equal to the last trajectory. When this is true, control of the autonomous vehicle 10 continues at 142. Otherwise, at 140, the trajectory control module 84 generates a path from the current position to the new trajectory, and control continues at 142. At 144, the method ends.
[0085] Although at least one exemplary embodiment has been presented in the foregoing detailed description, it should be understood that there are a large number of variations. It should also be understood that one or more exemplary embodiments are merely examples and are not intended to limit the scope, applicability, or configuration of the present disclosure in any way. On the contrary, the foregoing detailed description will provide a convenient roadmap for implementing one or more exemplary embodiments to those skilled in the art. It should be understood that various changes may be made to the functions and arrangements of the elements without departing from the scope of the present disclosure as set forth in the attached claims and their legal equivalents.
Claims
1. A method for controlling an autonomous vehicle, the method comprising the following steps: providing, by a trajectory planner module, a first trajectory to a trajectory control module of the autonomous vehicle; determining, by the trajectory control module, parameters of the first trajectory, wherein the parameters include at least one of a curvature of the first trajectory, a lateral jerk of the first trajectory, and a longitudinal jerk of the first trajectory; comparing, by the trajectory control module, at least one parameter of the first trajectory with a corresponding threshold; obtaining, by the trajectory control module, at least one alternative trajectory; determining, by the trajectory control module, parameters for each of the at least one alternative trajectory; comparing, by the trajectory control module, at least one parameter of the alternative trajectory with a corresponding threshold; In response to at least one parameter of the first trajectory exceeding a corresponding threshold, indicating, by the trajectory control module, that the first trajectory is invalid, otherwise selecting, by the trajectory control module, the first trajectory for controlling the autonomous vehicle; In response to the first trajectory being invalid, selecting, by the trajectory control module, one of the alternative trajectories that satisfies all thresholds for controlling the autonomous vehicle; The autonomous vehicle is controlled by the trajectory control module to follow the selected trajectory.
2. The method according to claim 1, further comprising: determining, by the trajectory control module, a convenience value for each valid trajectory, wherein the convenience value is a sum of differences between a value of each parameter and a corresponding threshold; The trajectory having the highest convenience value is selected by the trajectory control module for controlling the autonomous vehicle.
3. The method according to claim 2, further comprising: In response to two or more trajectories having similar or equal convenience values, one of the trajectories having the similar or equal convenience values is selected by the trajectory control module according to a priority order.
4. The method according to claim 1, in, The step of obtaining at least one alternative trajectory by the trajectory control module comprises: A first alternative trajectory is obtained by the trajectory control module from sensors of the autonomous vehicle.
5. The method according to claim 4, in, The step of obtaining at least one alternative trajectory by the trajectory control module comprises: The trajectory control module obtains boundary information of a drivable area from sensors of the autonomous vehicle; and A second trajectory is determined by the trajectory control module based on the boundary information of the drivable area.
6. The method according to claim 1, further comprising: transforming each trajectory by the trajectory control module to include waypoints having coordinates; and The coordinates are used to determine parameters of the trajectory.
7. The method according to claim 1, further comprising: In response to at least one parameter of the first trajectory exceeding a corresponding threshold, feedback is sent by the trajectory control module to the trajectory planner module.
8. The method according to claim 7, further comprising: The first trajectory is updated by the trajectory planner module, and the updated first trajectory is provided to the trajectory control module.
9. The method according to claim 8, further comprising: comparing, by the trajectory control module, at least one parameter of the updated first trajectory with a corresponding threshold; In response to at least one parameter of the updated first trajectory exceeding a corresponding threshold, indicating, by the trajectory control module, that the first trajectory is invalid, otherwise selecting, by the trajectory control module, the updated first trajectory for controlling the autonomous vehicle; In response to the updated first trajectory being invalid, obtaining, by the trajectory control module, at least one alternative trajectory; determining, by the trajectory control module, parameters of each of the at least one alternative trajectory; comparing, by the trajectory control module, at least one parameter of the alternative trajectory with a corresponding threshold; One of the alternative trajectories that satisfies all thresholds is selected by the trajectory control module for controlling the autonomous vehicle.
10. An autonomous vehicle comprising a controller having a trajectory planner module and a trajectory control module, in, The trajectory planner module is configured to provide a first trajectory to the trajectory control module; wherein the trajectory control module is configured to determine a parameter of the first trajectory, wherein the parameter comprises at least one of a curvature of the first trajectory, a lateral acceleration of the first trajectory, and a longitudinal jerk of the first trajectory; Wherein, the trajectory control module is configured to compare at least one parameter of the first trajectory with a corresponding threshold value; Wherein, the trajectory control module is configured to obtain at least one alternative trajectory; wherein the trajectory control module is configured to determine parameters of each of the at least one alternative trajectory; wherein the trajectory control module is configured to compare at least one parameter of the alternative trajectory with a corresponding threshold; wherein the trajectory control module is configured to, in response to at least one parameter of the first trajectory exceeding a corresponding threshold, indicate that the first trajectory is invalid, otherwise the trajectory control module selects the first trajectory to control the autonomous vehicle; wherein the trajectory control module is configured to, in response to the first trajectory being invalid, select one of the alternative trajectories that meets all thresholds for controlling the autonomous vehicle; The trajectory control module is configured to control the autonomous vehicle to follow a selected trajectory.
Citation Information
Patent Citations
Vehicle trajectory planning method and device, intelligent driving domain controller and intelligent vehicle
CN111123933A
Speed-dependent required lateral clearence for autonomous vehicle path planning
CN111213100A
Cited By
Multi-scene driving behavior identification system based on minimum action quantity principle
CN121959188A