Agile adaptive control
By using a cloud-based agile adaptive control algorithm to update adaptive design parameters in real time, the problem of insufficient responsiveness of autonomous vehicles in rapidly changing environments is solved, thereby improving the control accuracy and safety of the vehicle.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GM GLOBAL TECHNOLOGY OPERATIONS LLC
- Filing Date
- 2025-02-10
- Publication Date
- 2026-06-19
AI Technical Summary
Existing autonomous vehicle control systems are not responsive enough in rapidly changing environments, resulting in suboptimal maneuver responses that affect the safety and performance of autonomous vehicles.
The cloud-based agile adaptive control algorithm is adopted. By receiving vehicle planning data and vehicle data, it updates adaptive design parameters in real time, generates control commands, and realizes agile learning and control of the vehicle.
It improves the responsiveness and control accuracy of autonomous vehicles in dynamic environments, enhancing the overall safety and performance of autonomous vehicles.
Smart Images

Figure CN122232661A_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to agile adaptive control algorithms for vehicle control. Background Technology
[0002] The information provided in this section is for the purpose of presenting the general context of this disclosure. The work of the currently named inventors, to the extent described in this section, and in respect of aspects that may not otherwise qualify as prior art at the time of filing, is neither expressly nor implicitly acknowledged as prior art to this disclosure.
[0003] This disclosure generally relates to agile adaptive control algorithms for vehicle control. Typically, in the development of autonomous vehicles, control systems are crucial for ensuring safe and efficient navigation. Currently, these systems rely on a combination of sensor inputs, including cameras, light detection and ranging (LiDAR), radar, and Global Positioning System (GPS), to generate real-time data about the vehicle's surroundings. This data is processed by complex algorithms to determine the optimal maneuvers required for navigation in various driving scenarios. Control algorithms typically involve multi-layered vehicle parameter learning and adaptation, which allows the system to adjust to different driving conditions and maintain stability. However, methods that provide real-time responsiveness are of particular interest, especially when the learning process is slower than the dynamics of disturbances encountered during driving.
[0004] For example, as vehicles rapidly evolve to incorporate more autonomous features, the need for additional calibration increases. However, any delays in calibration can lead to suboptimal maneuver responses, especially in dynamic environments requiring rapid adjustments. This limitation underscores the importance of developing more agile learning algorithms that can enhance control responsiveness and accuracy by minimizing the parameters required for learning, thereby improving the overall safety and performance of autonomous vehicles. Summary of the Invention
[0005] One aspect of this disclosure provides a computer-implemented method for a cloud-based scalable positioning system, which, when executed on data processing hardware, causes the data processing hardware to perform operations including receiving planning data, including a desired path of a vehicle, as input to an agile adaptive control model, and receiving vehicle data as input to the agile adaptive control model. The operations also include determining, based on the planning data and vehicle data, that the vehicle's position error exceeds a position threshold, and activating an agile learning model of the adaptive control model to update initial adaptive design parameters based on the planning data and vehicle data. The operations further include generating updated adaptive design parameters and using a control model of the adaptive control model to generate control commands based on the updated adaptive design parameters.
[0006] Embodiments of this disclosure may include one or more of the following optional features. In some embodiments, generating updated adaptive design parameters includes calculating a first gain and a second gain of the initial adaptive design parameters. In these embodiments, generating updated adaptive design parameters may further include applying an adaptive filter to the initial adaptive design parameters. Here, the adaptive filter may apply one or more preset vehicle parameters to the first gain and the second gain of the initial adaptive design parameters.
[0007] In some examples, the planning data also includes a hybrid path for the vehicle. In these examples, the hybrid path may include a lateral transition between the vehicle's current trajectory and its desired path. In some implementations, position error indicates the difference between the vehicle's desired path and its current trajectory. In some examples, vehicle data includes one or more of measured steering angles, previous control commands, and initial adaptive design parameters. In some implementations, the agile adaptive control model is configured to generate updated parameters for each vehicle maneuver without additional vehicle calibration. In some examples, control commands are sent to the vehicle's steering controls.
[0008] Another aspect of this disclosure provides a system for cloud-based scalable positioning, the system including data processing hardware and memory hardware in communication with the data processing hardware. The memory hardware stores instructions that, when executed by the data processing hardware, cause the data processing hardware to perform operations, including receiving planning data, including a desired path of a vehicle, as input to an agile adaptive control model, and receiving vehicle data as input to the agile adaptive control model. The operations also include determining, based on the planning data and vehicle data, that the vehicle's position error exceeds a position threshold, and initiating an agile learning model of the adaptive control model based on the planning data and vehicle data to update initial adaptive design parameters. The operations further include generating updated adaptive design parameters and using a control model of the adaptive control model to generate control commands based on the updated adaptive design parameters.
[0009] This aspect may include one or more of the following optional features. In some embodiments, generating updated adaptive design parameters includes calculating a first gain and a second gain of the initial adaptive design parameters. In these embodiments, generating updated adaptive design parameters may further include applying an adaptive filter to the initial adaptive design parameters. Here, the adaptive filter may apply one or more preset vehicle parameters to the first gain and the second gain of the initial adaptive design parameters.
[0010] In some examples, the planning data also includes the vehicle's hybrid path. In some examples, the vehicle data includes one or more of the measured steering angle, previous control commands, and initial adaptive design parameters. In some implementations, the agile adaptive control model is configured to generate updated parameters for each maneuver of the vehicle without additional vehicle calibration.
[0011] Another aspect of this disclosure provides a method for delay masking, which, when executed on data processing hardware, causes the hardware to perform operations including receiving planning data of a vehicle as input to an agile adaptive control model, receiving vehicle data of the vehicle as input to the agile adaptive control model, and initiating an agile learning model of the adaptive control model to update initial adaptive design parameters based on the planning data and vehicle data. The operations also include generating updated adaptive design parameters and using a control model of the adaptive control model to generate control commands based on the updated adaptive design parameters.
[0012] This aspect may include one or more of the following optional features. In some embodiments, generating updated adaptive design parameters includes calculating a first gain and a second gain of the initial adaptive design parameters, and applying an adaptive filter to the initial adaptive design parameters. In these embodiments, the adaptive filter may apply one or more preset vehicle parameters to the first gain and the second gain of the initial adaptive design parameters.
[0013] Details of one or more embodiments of this disclosure are set forth in the accompanying drawings and the following description. Other aspects, features, and advantages will be apparent from the specification, drawings, and claims. Attached Figure Description
[0014] The accompanying drawings described herein are for illustrative purposes only for the selected configurations and are not intended to limit the scope of this disclosure.
[0015] Figure 1 This is a schematic diagram of an example system for Agile Adaptive Control (A2C).
[0016] Figure 2 yes Figure 1 A schematic diagram of an example component of the system.
[0017] Figure 3 Is using Figure 1 An example of vehicle control adjustment in a system.
[0018] Figure 4 Is using Figure 1 An example of vehicle manipulation in a system.
[0019] Figure 5 This is a flowchart illustrating an example layout for the A2C method.
[0020] Figure 6 This is a flowchart illustrating an example layout for the A2C method.
[0021] Throughout the accompanying drawings, corresponding reference numerals indicate the relevant parts. Detailed Implementation
[0022] The example configuration will now be described more fully with reference to the accompanying drawings. The example configuration is provided so that this disclosure will be thorough and will fully communicate the scope of this disclosure to those skilled in the art. Specific details, such as examples of specific components, apparatus, and methods, are set forth to provide a thorough understanding of the configuration of this disclosure. It will be apparent to those skilled in the art that the specific details are not required, the example configuration can be implemented in many different forms, and the specific details and example configuration should not be construed as limiting the scope of this disclosure.
[0023] The terminology used herein is for the purpose of describing particular exemplary configurations only and is not intended to be restrictive. As used herein, the singular articles “a,” “an,” and “the” may be intended to include plural forms as well, unless the context clearly indicates otherwise. The terms “comprising,” “containing,” “including,” and “having” are inclusive and therefore specify the presence of features, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof. Unless specifically identified as an order of execution, the method steps, processes, and operations described herein should not be construed as requiring them to be performed in the specific order discussed or shown. Additional or alternative steps may be employed.
[0024] When an element or layer is referred to as being “on,” “joined to,” “connected to,” “attached to,” or “linked to” another element or layer, it may be directly on, joined to, connected to, attached to, or linked to the other element or layer, or there may be intermediate elements or layers present. Conversely, when an element is referred to as being “directly on,” “directly joined to,” “directly connected to,” “directly attached to,” or “directly linked to” another element or layer, there may be no intermediate elements or layers present. Other terms used to describe relationships between elements should be interpreted in a similar manner (e.g., “between” vs. “directly between,” “adjacent” vs. “directly adjacent,” etc.). As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0025] The terms “first,” “second,” “third,” etc., may be used herein to describe various elements, components, regions, layers, and / or sections. These elements, components, regions, layers, and / or sections should not be limited by these terms. These terms may be used only to distinguish one element, component, region, layer, or section from another. Unless the context clearly indicates otherwise, terms such as “first,” “second,” and other numerical terms do not imply order or sequence. Therefore, without departing from the teachings of the example configuration, the first element, component, region, layer, or section discussed below may be referred to as the second element, component, region, layer, or section.
[0026] In this application, including the following definitions, the term "module" may be replaced by the term "circuit". The term "module" may refer to, be a part of, or include: application-specific integrated circuits (ASICs); digital, analog, or mixed-signal analog / digital discrete circuits; digital, analog, or mixed-signal analog / digital integrated circuits; combinational logic circuits; field-programmable gate arrays (FPGAs); processors (shared, dedicated, or grouped) that execute code; memory (shared, dedicated, or grouped) that stores code executed by the processor; other suitable hardware components that provide the described functionality; or combinations of some or all of the foregoing, such as in a system-on-a-chip.
[0027] The term "code" as used above can include software, firmware, and / or microcode, and can refer to programs, routines, functions, classes, and / or objects. The term "shared processor" covers a single processor that executes some or all of the code from multiple modules. The term "group processor" covers a processor that, in combination with additional processors, executes some or all of the code from one or more modules. The term "shared memory" covers a single memory that stores some or all of the code from multiple modules. The term "group memory" covers memory that, in combination with additional memory, stores some or all of the code from one or more modules. The term "memory" can be a subset of the term "computer-readable medium." The term "computer-readable medium" does not include transient electrical and electromagnetic signals propagating through the medium, and therefore can be considered tangible and non-transitory memory. Non-limiting examples of non-transitory memory include tangible computer-readable media, which include non-volatile memory, magnetic memory, and optical memory.
[0028] The apparatus and methods described in this application can be implemented, in part or in whole, by one or more computer programs executed by one or more processors. The computer program includes processor-executable instructions stored on at least one non-transitory tangible computer-readable medium. The computer program may also include and / or depend on stored data.
[0029] A software application (i.e., a software resource) can refer to computer software that enables a computing device to perform tasks. In some examples, a software application may be referred to as an "application," "app," or "program." Example applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and game applications.
[0030] Non-transitory memory can be a physical device used to temporarily or permanently store programs (e.g., instruction sequences) or data (e.g., program state information) for use by a computing device. Non-transitory memory can be volatile and / or non-volatile addressable semiconductor memory. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electrically erasable programmable read-only memory (EEPROM) (e.g., commonly used in firmware, such as bootloaders). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase-change memory (PCM), and magnetic disks or magnetic tapes.
[0031] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented using high-level procedural and / or object-oriented programming languages and / or assembly / machine languages. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term “machine-readable signal” refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0032] Various implementations of the systems and techniques described herein can be implemented in digital electronic and / or optical circuits, integrated circuits, specially designed ASICs (Application-Specific Integrated Circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementations in one or more computer programs executable and / or interpretable on a programmable system, which includes at least one programmable processor, which may be dedicated or general-purpose, coupled to receive data and instructions from a storage system, at least one input device, and at least one output device, and to transmit data and instructions to the storage system, at least one input device, and at least one output device.
[0033] The processes and logic described in this specification can be executed by one or more programmable processors (also known as data processing hardware) that execute one or more computer programs to perform functions by manipulating input data and generating output. The processes and logic can also be executed by special-purpose logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). Processors suitable for executing computer programs include, for example, both general-purpose microprocessors and special-purpose microprocessors, as well as any one or more processors of any kind of digital computer. Typically, the processor receives instructions and data from read-only memory or random access memory, or both. The basic elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data, or operatively coupled to receive data from or transfer data to one or more mass storage devices, or both. However, a computer does not need to have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Processors and memory may be supplemented by or incorporated into dedicated logic circuitry.
[0034] To provide interaction with a user, one or more aspects of this disclosure can be implemented on a computer having a display device for displaying information to the user, such as a CRT (cathode ray tube), LCD (liquid crystal display) monitor, or touchscreen, and optionally a keyboard and pointing device, such as a mouse or trackball, through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, voice, or tactile input. Furthermore, the computer can interact with the user by sending documents to and receiving documents from the device used by the user; for example, by sending a web page to a web browser on the user's client device in response to a request received from a web browser.
[0035] refer to Figure 1In some embodiments, system 100 includes vehicle 10 and / or a remote system 60 communicating with vehicle 10 via network 40 (e.g., wired or wireless communication). Vehicle 10 and / or remote system 60 execute agile adaptive control (A2C) system 200, which is configured to apply a simplified mathematical model implementing an agile learning algorithm to perform maneuvers of vehicle 10 400 ( Figure 4 This improves vehicle control without requiring additional calibration of vehicle 10. As described in more detail below, instead of relying on multiple layers of vehicle parameters learned and adapted to maintain vehicle control fidelity, A2C system 200 implements A2C model 201, which efficiently learns the errors of vehicle 10 using minimal adaptive design parameters 212, making A2C model 201 mathematically stable with minimal gain scheduling requirements. Notably, A2C model 201 can capture all model and environmental uncertainties associated with vehicle 10 in an effectively linear manner. As used herein, vehicle control can generally refer to lateral control of vehicle 10, longitudinal control of vehicle 10, or any other control aspect indicating maneuvering 400 of vehicle 10. Maneuvering 400 can refer to any movement mode of vehicle 10 (e.g., changing lanes, parallel parking, following a curved path, braking, etc.).
[0036] In the example shown, the A2C system 200 is implemented within vehicle 10. However, the A2C system 200 can be implemented on other computing devices (e.g., computing devices communicating with vehicle 10), such as, but not limited to, smartphones, tablets, smart displays, desktop / laptop computers, smartwatches, smart appliances, or smart glasses / earphones. Additionally or alternatively, the A2C system 200 can be implemented in any other propulsion system, such as, but not limited to, motorcycles, trucks, off-road vehicles, farm equipment, trains, airplanes, etc. Vehicle 10 includes data processing hardware 12 and memory hardware 14 storing instructions that, when executed on the data processing hardware 12, cause the data processing hardware 14 to perform operations. Vehicle 10 also includes one or more sensors 16 configured to capture / receive sensor data of vehicle 10. In some embodiments, the one or more sensors 16 may include one or more remote radar sensors and / or one or more camera sensors capable of capturing image data. Additionally or alternatively, the sensor data may include vehicle data 202 of vehicle 10.
[0037] The remote system 60 (e.g., a server, a cloud computing environment) also includes data processing hardware 62 and memory hardware 64 for storing instructions that, when executed on the data processing hardware 62, cause the data processing hardware 62 to perform operations. In some examples, the cluster 20 across vehicle 10 and the remote system 60 share the execution of the A2C system 200. Figure 1 and Figure 2As shown, the A2C system 200 executing A2C model 201 includes a learning model 210 and a control model 220. The learning model 210 and the control model 220 cooperate to continuously evaluate measured vehicle data 202 and planning data 204 and generate control commands 222 for downstream systems of vehicle 10 (e.g., steering, braking, etc.) implemented during maneuver 400. The learning model 310 may include a monitoring module 230, a gain determiner 240, and a filter module 250. The monitoring module 230, the gain determiner 240, and the filter module 250 cooperate with the control model 220 to generate updated adaptive design parameters 212u for vehicle 10 to determine the control commands 222 when vehicle 10 performs maneuver 400.
[0038] Special Reference Figure 1 and Figure 3 As vehicle 10 moves, A2C system 200 continuously receives vehicle data 202 and planning data 204 characterizing the current maneuvering 400 of vehicle 10. Vehicle data 202 typically refers to the measured steering angle α of vehicle 10 relative to its current trajectory 12, and previously generated control commands 222. n-1 The initial (i.e., most recently calculated) adaptive design parameters 212i of vehicle 10, where n refers to the current time step of system 100. It is worth noting that control commands 222 may include a vector containing the adaptive design parameters 212i of vehicle 10. Planning data 204 typically includes the desired path 208 and the desired hybrid path 206 of vehicle 10. Figure 3 As shown, the desired path 206 can be the path required for vehicle 10 to correct its route from its current trajectory 12 to the desired path 208 that vehicle 10 should travel. As used herein, at any given time step, the lateral difference between the desired path 208 and the desired hybrid path 206 can be referred to as the position error 214 of vehicle 10, while the lateral difference between the current trajectory 12 of vehicle 10 and the desired hybrid path 206 can be referred to as the position offset 216.
[0039] Refer again Figure 2 The monitoring module 230 of the learning model 210 receives vehicle data 202 and planning data 204 as input. Here, the monitoring module 230 may include a configurable position threshold for the vehicle 10. The position threshold can generally refer to a threshold at which the fidelity of the control of the vehicle 10 for a particular maneuver 400 is acceptable. For example, if the vehicle data 202, including the position error 214 of the vehicle 10, indicates that the position error 214 exceeds the position threshold, the monitoring module 230 may generate a trigger 232 to the gain determiner 240 to update the currently implemented initial adaptive design parameters 212i.
[0040] If the vehicle data 202 and planning data 204 indicate that the position error 214 does not exceed the position error threshold, the learning model 210 may not update the initial adaptive design parameters 212i and may continue to use the previously calculated command control 222n-1 in the maneuvering 400 of the vehicle 10. Conversely, when the vehicle data 202 and planning data 204 indicate that the position error 214 exceeds the position threshold, the learning model 210 may generate a trigger 232 for the gain determiner 240 to calculate one or more gains 242 of the vehicle 10. Here, the gain determiner 240 may calculate a first gain 242a and a second gain 242b of the initial adaptive design parameters 212i for the current vehicle data 202 and planning data 204 of the vehicle 10. The first gain 242a and the second gain 242b may be calculated as follows:
[0041] (1)
[0042] (2)
[0043] Where k p,0 Represents the initial adaptive design parameters 212i,k used for the previous time step. p,1 Let represent the initial adaptive design parameters 212i used for the instantaneous time step, and y b This indicates that the position of vehicle 10 is offset by 216.
[0044] Filter module 250 can receive first gain 242a, second gain 242b, initial adaptive design parameters 212i, and previous time step command control 222. n-1 As input, an adaptive filter is applied to the initial design parameters 212i to generate updated adaptive design parameters 212u. Here, the adaptive filter may include one or more preset vehicle parameters, such as a first gain 242a and a second gain 242b applied to the initial adaptive design parameters 212i.
[0045] Brief reference Figure 4The diagram illustrates one or more maneuvers 400a-400d. Each of the maneuvers 400 can be plotted on a graph, where the x-axis represents the position offset 216 and the y-axis represents the measured steering angle α of the vehicle 10. As shown, this results in the maneuvers 400a-400d being plotted as corresponding ellipses. In its execution, the filter module 250 can apply an adaptive filter to the initial adaptive design parameters 212i by finding the offset and slope of each ellipse to generate an alignment fit. In other words, the filter module 250 can apply an adaptive filter to a first gain 242a and a second gain 242b of the initial adaptive design parameters 212i. (Refer to...) Figure 3 The adaptive filter can be calculated as follows:
[0046] (3)
[0047] (4)
[0048] Where 212u1 and 212u0 represent the updated adaptive design parameters 212u, and 212i1 and 212i0 represent the initial adaptive design parameters 212i. b Let g represent the learning gain, g represent the filter gain, and y represent the learning gain. b This indicates that the position offset of vehicle 10 is 216. Here, the learning gain δ and the filter gain g can be preset parameters for vehicle 10.
[0049] The filter module 250 of the learning model 210 can generate updated adaptive design parameters 212u as output, which is then received by the control model 220 as input. Here, the control model 220 can calculate updated control commands 222 based on the updated adaptive design parameters 212u. For example, the control model 220 can calculate the updated control commands 222 as follows:
[0050] (5)
[0051] It is worth noting that when vehicle 10 performs its maneuver 400, A2C model 201 generates updated adaptive design parameters 212u and corresponding updated control commands 222 without additional calibration of vehicle 10. Here, the updated control commands 222 and / or the updated adaptive design parameters 212u can be provided as feedback to downstream navigation applications in vehicle 10, such as steering control or braking.
[0052] Figure 5 A flowchart illustrating an example layout of the operation of the agile adaptive control method 500 for vehicle 10 is provided. See also... Figure 1-4 Description method 500. Data processing hardware (e.g., Figure 1Data processing hardware 12, 62) can execute data stored in memory hardware (e.g., Figure 1 An example arrangement of instructions on the memory hardware (14, 64) to perform the operation of method 500.
[0053] At operation 502, method 500 includes receiving planning data 204, including the desired hybrid path 206 of vehicle 10, as input to agile adaptive control model 202. Method 500 also includes receiving vehicle data 202 of vehicle 10 at operation 504 as input to agile adaptive control model 202. Method 500 further includes, at operation 506, determining, based on the planning data 204 and vehicle data 202, that the position error of vehicle 10 exceeds a position threshold.
[0054] At operation 508, method 500 further includes initiating an agile learning model 210 of the adaptive control model 202 to update the initial adaptive design parameters 212i based on the planning data 204 and vehicle data 202 of vehicle 10. At operation 510, method 500 further includes generating updated adaptive design parameters 212u. Method 500 further includes, at operation 512, using the control model 220 of the adaptive control model 202 to generate control commands 222 based on the updated adaptive design parameters 212u.
[0055] Figure 6 A flowchart illustrating an example layout of the operation of the agile adaptive control method 600 for vehicle 10 is provided. See also... Figure 1-4 Description method 600. Data processing hardware (e.g., Figure 1 Data processing hardware 12, 62) can execute data stored in memory hardware (e.g., Figure 1 An example arrangement of instructions on the memory hardware (14, 64) to perform the operation of method 600.
[0056] At operation 602, method 600 includes receiving planning data 204 of vehicle 10 as input to agile adaptive control model 202. Method 600 also includes receiving vehicle data 202 of vehicle 10 as input to agile adaptive control model 202 at operation 604. At operation 606, method 600 further includes activating agile learning model 210 of adaptive control model 202 to update initial adaptive design parameters 212i based on planning data 204 and vehicle data 202 of vehicle 10. At operation 608, method 600 further includes generating updated adaptive design parameters 212u. Method 600 also includes, at operation 610, generating control commands 222 based on the updated adaptive design parameters 212u using control model 220 of adaptive control model 202.
[0057] Many embodiments have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of this disclosure. Therefore, other embodiments are within the scope of the appended claims.
[0058] The foregoing description has been provided for purposes of illustration and description. It is not intended to be exhaustive or limiting of this disclosure. Elements or features of a particular configuration are generally not limited to that particular configuration, but are interchangeable where applicable and can be used in selected configurations, even if not specifically shown or described. They can also be varied in many ways. Such variations should not be considered as departing from this disclosure, and all such modifications are intended to be included within the scope of this disclosure.
Claims
1. A computer-implemented method, when executed on data processing hardware, causes the data processing hardware to perform operations, the operations including: It receives planning data, including the vehicle's desired path, as input to the agile adaptive control model; The vehicle data is received as input to the agile adaptive control model; Based on the planning data and the vehicle data, it is determined that the vehicle's position error exceeds a position threshold; The agile learning model of the adaptive control model is activated to update the initial adaptive design parameters based on the planning data and the vehicle data; Generate updated adaptive design parameters; and The control model using the adaptive control model generates control commands based on the updated adaptive design parameters.
2. The method according to claim 1, wherein, Generating the updated adaptive design parameters includes calculating a first gain and a second gain of the initial adaptive design parameters.
3. The method according to claim 2, wherein, Generating the updated adaptive design parameters also includes applying an adaptive filter to the initial adaptive design parameters.
4. The method according to claim 3, wherein, The adaptive filter applies one or more preset vehicle parameters to the first gain and the second gain of the initial adaptive design parameters.
5. The method according to claim 1, wherein, The planning data also includes the vehicle's mixed routes.
6. The method according to claim 5, wherein, The hybrid path includes a lateral transition between the vehicle's current trajectory and its desired path.
7. The method according to claim 1, wherein, The position error indicates the difference between the vehicle's desired path and its current trajectory.
8. The method according to claim 1, wherein, The vehicle data includes one or more of the following: The measured steering angle; Previous control commands; and Initial adaptive design parameters.
9. The method according to claim 1, wherein, The agile adaptive control model is configured to generate updated parameters for each maneuver of the vehicle without additional calibration of the vehicle.
10. The method according to claim 1, wherein, The control command is sent to the vehicle's steering control.