Track control system for vehicle
By monitoring and correcting vehicle errors through a trajectory control architecture, the problem of inaccurate path tracking in existing technologies has been solved, enabling real-time tracking and correction of vehicles on the path and improving the real-time adaptability of active safety features.
Patent Information
- Application Number
- CN202410882309.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-07
- Filing Date
- 2024-07-03
- Publication Date
- 2025-11-07
AI Technical Summary
Existing vehicle control systems struggle to effectively track and correct errors in vehicle paths, especially when they are not fixed in time or space, leading to inaccurate path tracking.
The trajectory control architecture monitors the vehicle's active safety features and trajectory, identifies errors, compares them with stored trajectory history, adjusts vehicle performance elements to correct errors, and utilizes data processing hardware and memory hardware to achieve real-time tracking and correction.
It improves the vehicle's real-time tracking and correction capabilities on the path, ensuring that the vehicle travels along the predetermined trajectory, reducing errors, and enhancing the real-time adaptability of active safety features.
Smart Images

Figure CN120902755A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to trajectory control systems for vehicles. BACKGROUND
[0002] The information provided in this section is for the purpose of generally presenting the context of the disclosure. The work of the presently named inventors, to the extent the work is described in this section, as well as aspects of the description that can not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
[0003] Vehicles often include control systems that monitor various executions of the vehicle. However, such control systems can have difficulty tracking a path of the vehicle as the path is often not fixed in time or space. Many control systems rely on camera or radar systems to update the path, which can have difficulty identifying errors between the vehicle and the path. Accordingly, there is a need to improve control systems to improve error tracking of the vehicle relative to the path. SUMMARY
[0004] In some aspects, a computer-implemented method, when executed by data processing hardware, causes the data processing hardware to perform operations. The operations include monitoring, by a trajectory control architecture of a controller, a trajectory of at least one active safety feature and a vehicle, tracking, by the trajectory control architecture, an error of the trajectory, and comparing the tracked error to a trajectory history stored on the controller. The operations further include adjusting, via the trajectory control architecture, a performance element of the vehicle based on the comparison of the tracked error and the trajectory history, and monitoring the trajectory of the vehicle based on the adjusted performance element.
[0005] In some examples, the error can include at least one of a tracking error and a trajectory error. The operations can include determining, via the trajectory control architecture, at least one of a large tracking error and a large trajectory error based on a maneuver phase. In some cases, determining the large tracking error and the large trajectory error can include comparing the maneuver phase to an error threshold of the trajectory control architecture. Optionally, the maneuver phase can include one or more of an initial phase, a reverse steering phase, and a steady phase. The operations can further include planning a new trajectory at a future time step based on the time step and the trajectory history. In some configurations, the tracking error can include identifying the tracking error based on the trajectory history and a current position. Optionally, planning the new trajectory can include comparing a historical trajectory window to a future trajectory point. The operations can include determining the trajectory error based on the comparison between the historical trajectory window and the future trajectory point.
[0006] In other aspects, a system includes data processing hardware and memory hardware in communication with the data processing hardware. The memory hardware stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations. The operations include monitoring, by a trajectory control architecture of a controller, at least one active safety feature and a trajectory of a vehicle, tracking, by the trajectory control architecture, an error of the trajectory, and comparing the tracking error to a trajectory history stored on the controller. The operations also include adjusting, via the trajectory control architecture, a performance element of the vehicle based on the comparison of the tracking error and the trajectory history, and monitoring the trajectory of the vehicle based on the adjusted performance element.
[0007] In some examples, the error can include at least one of the tracking error and the trajectory error. The operations can also include determining, via the trajectory control architecture, at least one of a large tracking error and a large trajectory error based on a maneuver phase. In some cases, determining the large tracking error and the large trajectory error can include comparing the maneuver phase to an error threshold of the trajectory control architecture. Optionally, the maneuver phase can include one or more of an initial phase, a counter-steering phase, and a steady phase. The operations can include planning a new trajectory at a future time step based on the time step and the trajectory history. In some configurations, the tracking error can include identifying the tracking error based on the planned new trajectory and the trajectory history. In other examples, planning the new trajectory can include comparing a historical trajectory window to a future trajectory point. The operations can also include determining the trajectory error based on the comparison between the historical trajectory window and the future trajectory point.
[0008] In further aspects, a computer-implemented method, when executed by data processing hardware, causes the data processing hardware to perform operations. The operations include monitoring, by a trajectory control architecture of a controller, at least one active safety feature and a trajectory of a vehicle, tracking, by the trajectory control architecture, one of a trajectory error and a tracking error of the trajectory, and planning a new trajectory at a future time step based on the time step and a trajectory history. The operations also include comparing the tracking error and the historical trajectory window to a future trajectory point, adjusting, via the trajectory control architecture, a performance element of the vehicle based on the planned new trajectory and the comparison of the tracking error and the trajectory history to the future trajectory point, and monitoring the trajectory of the vehicle based on the adjusted performance element.
[0009] In some examples, the operations can include determining, via the trajectory control architecture, at least one of a large tracking error and a large trajectory error based on a maneuver phase. BRIEF DESCRIPTION OF DRAWINGS
[0010] The drawings described herein are for illustrative purposes only of selected configurations and are not intended to limit the scope of the present disclosure.
[0011] Figure 1 is a schematic view of a vehicle equipped with a trajectory control system according to the present disclosure;
[0012] Figure 2 is an exemplary block diagram of a trajectory control system according to the present disclosure;
[0013] Figure 3 is another exemplary block diagram of a trajectory control system according to the present disclosure;
[0014] Figure 4 is a schematic diagram of a vehicle trajectory and identification of tracking error by a trajectory control system according to the present disclosure;
[0015] Figure 5 is another schematic diagram of a vehicle trajectory and identification of trajectory error by a trajectory control system according to the present disclosure;
[0016] Figure 6 is an exemplary block diagram of a trajectory control system according to the present disclosure;
[0017] Figure 7 is another exemplary block diagram of a trajectory control system according to the present disclosure; and
[0018] Figure 8 is an exemplary flow diagram of a trajectory control system according to the present disclosure.
[0019] In all of the drawings, like reference numerals refer to like parts throughout the several views. DETAILED DESCRIPTION
[0020] Example configurations will now be described with reference to the drawings. Example configurations are provided so that the present disclosure will be thorough, and will fully convey the scope to those who are skilled in the art. Specific details are set forth in order to provide a thorough understanding of the example configurations. It will be apparent to one skilled in the art, however, that the example configurations can be practiced without these specific details, that numerous implementation specific decisions can be made to the example configurations, and that the specific details and the example configurations do not limit the scope of the present disclosure in any way.
[0021] The terminology used herein is for the purpose of describing particular example configurations only and is not intended to be limiting. As used herein, the singular forms "a," "an," and "the" can be intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms "comprises," "comprising," "including," and "having," are inclusive and therefore specify the presence of stated features, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order
[0022] When an element or layer is referred to as being “on”, “engaged to”, “connected to”, “attached to” or “coupled to” another element or layer, it can be directly on, engaged, connected, attached or coupled to the other element or layer, or intervening elements or layers can be present. In contrast, when an element is referred to as being “directly on”, “directly engaged to”, “directly connected to”, “directly attached to” or “directly coupled to” another element or layer, there are no intervening elements or layers present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between”, “adjacent” versus “directly adjacent”, etc.). As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0023] The terms first, second, third, etc. can 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 are only used to distinguish one element, component, region, layer or section from another element, component, region, layer or section. Terms such as “first”, “second” and other numerical terms do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the example configurations.
[0024] In this application, including the following claims, the term module can be replaced by the term circuit. The term “module” can refer to, be part of, or include an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog / digital discrete circuit; a digital, analog, or mixed analog / digital integrated circuit; a combination of
[0025] 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 is inclusive of a single processor executing portions of code from multiple modules. The term group processor is inclusive of a processor executing some or all code from one or more modules in combination with additional processors. The term shared memory is inclusive of a single memory storing some or all code from multiple modules. The term group memory is inclusive of a memory storing some or all code from one or more modules in combination with additional memory. The term memory can be a subset of the term computer- readable medium. The term computer-readable medium does not include transitory propagating signals and electromagnetic signals per se, and can be considered tangible, non-transitory memory. Non-limiting examples of non-transitory memory include tangible computer- readable medium including non-volatile memory, magnetic memory, and optical memory.
[0026] The apparatus and methods described in this application can be implemented in, partially or wholly, by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions stored on at least one non-transitory, tangible computer-readable medium. The computer programs can also include and / or rely on stored data.
[0027] A software application (i.e., a software resource) can refer to computer software that causes a computing device to perform a task. In some examples, a software application can be referred to as an “application program,” an “app,” or a “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 gaming applications.
[0028] A non-transitory memory can be a physical device that is used to temporarily or permanently store a program (e.g., a sequence of instructions) or data (e.g., program state information) for use by a computing device. A non-transitory memory can be a 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 for firmware, such as a boot program). 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 or optical disks.
[0029] These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and / or object-oriented programming language, and / or in assembly / machine language. 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., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0030] Various implementations of the systems and techniques described here can be realized in digital electronic and / or optical circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0031] The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not 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 by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
[0032] To provide for interaction with a user, one or more aspects of the disclosure can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube), LCD (liquid crystal display), or touch screen, for displaying information to the user and optionally a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device used by the user; for example, by sending web pages to a web browser on a user’s client device in response to requests received from the web browser.
[0033] References Figures 1-5The trajectory control system 10 includes a controller 12 configured with a trajectory control architecture 14. The trajectory control system 10 is integrated as part of the vehicle 100 and communicatively couples the controller 12 with a microcontroller 102 and advanced driver assistance systems 110 of the vehicle 100. The trajectory control system 10 is configured to provide real-time tracking of a trajectory 16 of the vehicle 100 and real-time adaptation of the advanced driver assistance systems 110 in response to execution by the trajectory control architecture 14. For example, the trajectory control architecture 14 can detect an error 18 and communicate with the microcontroller 102 to execute a mitigation function 104 in response to the error 18, which will be described in more detail below.
[0034] The advanced driver assistance systems 110 of the vehicle 100 include active safety features 112 and a sensor system 114 that cooperates with the active safety features 112. The active safety features 112 can include, but are not limited to, assistive evasive steering, lane keep assist, and lane centering. While some advanced driver assistance systems 110 can provide a hands-free experience for the driver, the active safety features 112 are used to supplement active driver control of the vehicle 100. The trajectory control architecture 14 advantageously helps oversee and execute real-time corrective actions of the active safety features 112 of the advanced driver assistance systems 110. For example, the trajectory control architecture 14 is configured to adjust performance factors 106 executed by the microcontroller 102 of the vehicle 100 based on a comparison of the tracking error 18 and a trajectory history, as described in more detail herein. In some examples, the adjustment can be a tightening or dampening of steering control of the performance factors 106 in response to a detected error 18 relative to the trajectory 16, as described in more detail below. In response, the trajectory control architecture 14 monitors the trajectory 16 of the vehicle 100 based on the adjusted performance factors 106.
[0035] The vehicle 100 utilizes the advanced driver assistance systems 110 to execute the active safety features 112. For example, the vehicle 100 can be at least partially operated by the advanced driver assistance systems 110 such that the active safety features 112 can assist the driver in operating the vehicle 100. The trajectory control architecture 14 is configured for the controller 12 to have an active supervisory mode when the active safety features 112 are active. Thus, the trajectory control architecture 14 can be operable such that the active safety features 112 can assist the driver in operating the vehicle 100 when one or more of the active safety features 112 are operable. For example, the trajectory control architecture 14 is automatically operable and applied as long as any level of the active safety features 112 are active.
[0036] In some examples, a driver of the vehicle 100 can operate the vehicle 100 by applying a certain level of torque, and the active safety feature 112 assists the driver. In other examples, the driver does not apply torque, and the active safety feature 112 is activated and performs operational functions of the vehicle 100. For example, the active safety feature 112 can include lane centering, where the vehicle 100 is controlled by the advanced driver assistance system 110, the driver is present and alert. In either example, when the active safety feature 112 is active, the controller 12 executes the trajectory control architecture 14 to oversee and further assist the active safety feature 112.
[0037] Referring to Figures 2-6 The trajectory control architecture 14 is executed by the data processing hardware 20 of the controller 12. The controller 12 also includes memory hardware 22 in communication with the data processing hardware 20. The memory hardware 22 stores instructions that, when executed on the data processing hardware 20, cause the data processing hardware 20 to perform the operations set forth herein. The trajectory control architecture 14 utilizes, at least in part, a trajectory history 24 stored on the memory hardware 22 to identify the error 18. The trajectory history 24 receives the trajectory 16 at individual time steps 26 and stores the historical trajectory 16 for reference by the trajectory control architecture 14, as described herein. For example, the trajectory control architecture 14 is configured to identify the error 18 based at least in part on a comparison of the trajectory history 24, the time steps 26, and the trajectory 16.
[0038] The error 18 can include at least one of a tracking error 18a and a trajectory error 18b. The tracking error 18a can be defined as a lateral position difference between a current position 28 of the vehicle 100 and a planned position 30 at the current time step 26 based on the trajectory 16 from a previous time step 26. The trajectory error 18b is similar to the tracking error 18a in that the trajectory error 18b is also a function of the trajectory 16. However, the trajectory error 18b looks at a shorter historical window of time steps 26 and trajectories 16. For example, the trajectory error 18b utilizes a historical trajectory window 32 stored as part of the trajectory history 24, while the tracking error 18a utilizes the trajectory history 24 in its entirety.
[0039] The trajectory control architecture 14 can perform at least one of a relative vehicle pose calculation 40 and an ego trajectory interpolation 42 when identifying the error 18. The relative vehicle pose calculation 40 is performed by the trajectory control architecture 14 that evaluates a comparison of the trajectory history 24 to the current vehicle position 28. For example, the relative vehicle pose calculation 40 can be used to identify the tracking error 18a by evaluating a performance metric 44 of the vehicle 100 relative to the trajectory 16. The performance metric 44 can be a function of the trajectory history 24, a path deviation integral (i.e., the trajectory error 18b), a trajectory error variance, a heading deviation integral (i.e., the tracking error 18a), and a tracking error variance. The trajectory control architecture 14 can also perform the ego trajectory interpolation 42, which can be a function of the performance metric 44 and the historical trajectory window 32. Each of the relative vehicle pose calculation 40, the ego trajectory interpolation 42, and the performance metric 44 contribute to the trajectory control architecture 14 identifying the error 18 and determining whether the trajectory control system 10 should adjust the advanced driver assistance system 110.
[0040] Figure 4 and 5 An exemplary trajectory 16 is shown in comparison to a lag trajectory 50 and a related error 18. For example, Figure 4 An example determination of the tracking error 18a by the trajectory control system 10 is shown. The trajectory control system 10 determines the tracking error 18a at different time steps 26 t1 -26 t3 A desired longitudinal position (x), a desired lateral position (y), and a desired heading (ψ) of the vehicle 100 are identified to identify a current vehicle position 28 in comparison to a planned vehicle position 30 relative to each of the lag trajectory 50 and the trajectory 16. For example, the longitudinal position (x) can be calculated using the following exemplary equation:
[0041]
[0042] where (δt) is a duration of the time step 26, (ω z,i ) is a yaw rate of the i-th time step, (v x,t ) is a longitudinal velocity of the t-th time step, and (v y,t ) is a lateral velocity of the t-th time step. The lateral position (y) can be calculated using the following exemplary equation that uses similar variables as used in the exemplary longitudinal position (x) equation above:
[0043]
[0044] Figure 5An example of trajectory error 18b is shown, with the vehicle 100 depicted in solid line at current vehicle position 28 and in dashed line at lag vehicle position 52. The trajectory control system 10 monitors the current trajectory 16 and identifies the lag trajectory 50 by evaluating the historical trajectory window 32. For example, the trajectory control system 10 determines the incremental changes in longitudinal position (x) and lateral position (y) between the current vehicle position 28 and the lag vehicle position 52 via the trajectory control architecture 14. The trajectory control system 10 obtains the lateral distance (b) of the current trajectory 16 at a predetermined trajectory point 54, which corresponds to the lateral distance between the trajectory 16 and the centerline of the vehicle 100 at a known look-ahead longitudinal distance (a) in the current trajectory 16. The trajectory control architecture 14 can then calculate the trajectory error 18b based on the lateral position difference (Ay) between the current trajectory 16 and the lag vehicle position 52 at the same look-ahead point. For example, the following is an exemplary equation that can be used to calculate the trajectory error 18b:
[0045]
[0046] where, is the trajectory error 18b and (5) is the lateral position of the lag trajectory look-ahead.
[0047] Referring again to Figures 2-6 , the trajectory 16 of the vehicle 100 is updated at each respective time step 26 based on data received from the advanced driver assistance system 110. In some examples, the advanced driver assistance system 110 can include the sensor system 114 described above, such that the trajectory control architecture 14 can update the trajectory 16 based on data from the advanced driver assistance system 110. The sensor system 114 can include cameras and active safety sensors configured as part of the vehicle 100 and disposed along a body 116 of the vehicle 100. For example, the sensor system 114 can capture or otherwise detect whether a curve is present in the roadway. In response, the trajectory control architecture 14 can update the trajectory 16 to turn according to the curvature of the roadway. In other examples, the trajectory control architecture 14 can detect that the vehicle 100 is moving through a lane change, such that the trajectory 16 can be updated to reflect the new lane.
[0048] Accordingly, the trajectory control architecture 14 continually updates the trajectory 16 in real-time and is configured to compare the planned vehicle position 30 to the current vehicle position 28. For example, the trajectory control architecture 14 is configured to perform a comparison of the planned vehicle position 30 and the current vehicle position 28 based on the trajectory history 24. If there is a difference between the comparison, such that there is an incremental error 18, the trajectory control architecture 14 can perform a tracking error calculation to identify a tracking error 18a. It is contemplated that the trajectory control architecture 14 can evaluate different quantities or metrics to identify the tracking error 18a, including but not limited to a sum of the tracking error 18a over a sliding time window (i.e., the trajectory history 24), an integral of the tracking error 18a. The following are exemplary equations (a)-(d) that the trajectory control architecture 14 can use to determine the tracking error 18a, denoted as (e Y ):
[0049]
[0050] Each of the above exemplary equations (a)-(d) can be used to determine whether the vehicle 100 is experiencing poor tracking control, and whether the trajectory control architecture 14 needs to perform an adjustment or correction to the trajectory control system 10 based on the tracking error 18a. For example, the tracking error 18a can be a result of a sudden lane change and corresponding corrective maneuver that caused the vehicle 100 to be in a current position 28 that is different from the planned position 30. However, the trajectory control architecture 14 can identify via one or more of the above equations (a)-(d) that no further action is needed to return the vehicle 100 to an additional predicted position 30 along the trajectory 16. As further described below, the trajectory control architecture 14 can identify various maneuver phases 60, and can determine, for example, that the vehicle 100 is in a reverse steering phase 62 of the maneuver phase 60 that caused the tracking error 18a, but by further monitoring identifies that the vehicle 100 has entered a stable phase 64 with a reduced tracking error 18a. Accordingly, the trajectory control architecture does not perform an additional adjustment or correction at this time.
[0051] With respect to trajectory error 18b, trajectory control architecture 14 evaluates historical trajectory window 32, rather than the overall or larger scale trajectory history 24. As described above, trajectory 16 is defined in longitudinal and lateral space, and is defined by a series of trajectory points 54 directly in front of vehicle 100. In trajectory control architecture 14, trajectory points 54 can have a value of zero (0) as vehicle 100 is traveling on trajectory 16, and can transition to non-zero values (i.e., one (1), two (2), three (3), etc.) as vehicle 100 moves away from or deviates from trajectory 16. For example, vehicle 100 can approach an adjacent lane, such as during a lane change maneuver away from trajectory 16. Trajectory control architecture 14 is configured to plan trajectory points 54 based on a determined distance. For example, trajectory control architecture 14 can plan a new trajectory 16 at a future time step 26a corresponding to planned trajectory points 54 based on time steps 26.
[0052] In some cases, when planning a new trajectory 16, trajectory control architecture 14 can compare historical trajectory window 32 to future planned trajectory points 54. If trajectory points 54 change as vehicle 100 progresses along trajectory 16, trajectory control architecture 14 evaluates trajectory points 54 with respect to historical trajectory window 32 to determine if there is a trajectory error 18b. Thus, trajectory control architecture 14 can determine trajectory error 18b based on a comparison of historical trajectory window 32 and future trajectory points 54. For example, trajectory control architecture 14 tracks errors 18 of trajectory 16 and identifies trajectory error 18b based on planned new trajectory 16 and historical trajectory window 32. Below are exemplary equations (e)-(h) that trajectory control architecture 14 can use to determine trajectory error 18, denoted as (k Y ):
[0053]
[0054]
[0055] Trajectory control architecture 14 continuously monitors potential tracking error 18a and trajectory error 18b to determine whether to execute mitigation function 104, as described below. The determination of whether to execute mitigation function 104 in response to error 18 can be performed as part of classifier comparison 36. For example, if vehicle 100 is in the process of a sharp lane change, the likelihood of error 18 is high. However, as vehicle 100 progresses through maneuver phase 60, trajectory control architecture 14 is configured to expect that a steady phase 64 will be achieved, and error 18 will approach zero (0). Due to potential errors 18 that can occur at different maneuver phases 60, maneuver phases 60 are segmented, and each is assigned an error threshold 70.
[0056] Accordingly, when determining and evaluating the error 18, the trajectory control architecture 14 also evaluates the maneuver phase 60. For example, the maneuver phase 60 can include, but is not limited to, an initial phase 66, the reverse steering phase 62 described above, and a stabilization phase 64. The maneuver phase 60 is used as part of the classifier comparison 36 that segments the maneuver phase 60 into each of the different phases 62-66. Once the classifier comparison 36 segments the maneuver phase 60, an error threshold 70 is assigned to each phase 62-66. The error threshold 70 can be stored in the memory hardware 22.
[0057] Although described herein as having three (3) different phases, the maneuver phase 60 can be segmented into more than 3 phases or less than 3 phases. Each phase 60 has a planning metric, and the trajectory control architecture 14 is configured to identify whether the relevant metric has been exceeded and / or whether the metric is deviated. If the metric has been exceeded, the trajectory control architecture 14 determines that the error 18 is relevant to the maneuver phase 60. The metric is predefined within the trajectory control architecture 14 and can be used to predict subsequent phases 62-66 based on the maneuver phase 60.
[0058] Once the error 18 is identified, the trajectory control architecture 14 can perform the classifier comparison 36. As described herein, the trajectory control architecture 14 uses the classifier comparison 36 to determine whether to communicate with the microcontroller 102 to perform the mitigation function 104. The mitigation function 104 can be classified as no intervention 120, mitigation 122, and disengage 124. The trajectory control architecture 14 utilizes the classifier comparison 36 to determine whether the error 18 should result in the microcontroller 102 performing one of the mitigation functions 104. The controller 12 can communicate the error 18 and the classifier comparison 36 with the microcontroller 102, and the microcontroller 102 can identify which mitigation function 104 to apply. For example, the classifier comparison 36 can reflect that the error 18 is a result of the reverse steering phase 62, which can trigger the no intervention 120 mitigation function 104. The no intervention 120 mitigation function 104 indicates that the trajectory 16 is accurate and no further action is needed.
[0059] The trajectory control architecture 14 can determine at least one of a large tracking error 18a and a large trajectory error 18b based on the maneuver phase 60 through the classifier comparison 36. The trajectory control architecture 14 determines the large tracking and trajectory errors 18a, 18b by comparing the maneuver phase 60 to the error threshold 70 to confirm a high error 18. If a large error 18 is confirmed, the trajectory control architecture 14 communicates with the microcontroller 102 to perform one of the mitigation 122 or disengage 124 mitigation functions 104.
[0060] For example, if the error 18 based on the classifier comparison 36 indicates intervention, the microcontroller 102 can execute the mitigation 122 function 104. The mitigation 122 causes the microcontroller 102 to execute the calculations of the trajectory control architecture 14 to correct and reposition the vehicle 100 along the trajectory 16. If the error 18 is far from the trajectory 16 and the classifier comparison 36 indicates that the vehicle 100 remains outside of the stable phase 64, the microcontroller 102 can execute the disengagement 124 mitigation function 104. The disengagement 124 causes the microcontroller 102 to alert the driver that the feature is disengaging and can disengage the active safety feature 112.
[0061] Referring to Figure 8 An exemplary flowchart of the trajectory control system 10 is shown. At step 300, at least one active safety feature 112 of the vehicle 100 and the trajectory 16 are monitored. The trajectory control architecture 14 tracks one of the trajectory error 18b and the tracking error 18a of the trajectory 16 at 302 and plans a new trajectory at a future time step 26a based on the time step 26 and the trajectory history 24 at 304. The trajectory control architecture 14 compares the tracking error 18a and the historical trajectory window 32 to the future trajectory point 54 at 306 and adjusts the performance element 106 of the vehicle 100 based on the planned new trajectory 16 and the comparison of the tracking error 18 and the trajectory history 24 to the future trajectory point 54 at 308. At 310, the trajectory control system 10 continues to monitor the trajectory 16 of the vehicle 100 based on the adjusted performance element 106.
[0062] Referring again to Figures 1-8 The trajectory control system 10 advantageously assists in maneuvering the vehicle 100 when the active safety feature 112, which is part of the advanced driver assistance system 110, is activated. The functionality of the trajectory control system 10 to track the trajectory 16 in real-time allows for real-time adjustment of the active safety feature 112. Thus, potential lag or continuous deviation is prevented and the active safety feature 112 is improved for the purpose of correcting any potential error 18 identified and tracked along the trajectory 16. The trajectory control architecture 14 advantageously improves the ability of the controller 12 to execute real-time monitoring, tracking, and adjustment of the trajectory control system 10.
[0063] A number of implementations have been described. Nevertheless, it will be understood that various modifications can be made without departing from the spirit and scope of this disclosure. Accordingly, other implementations are within the scope of the following claims.
[0064] The foregoing description has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Individual elements or features of a specific configuration are generally not limited to the specific configuration, but are interchangeable with others in appropriate cases, even if not specifically shown or described herein. This way the variations can be made. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.
Claims
1. A computer-implemented method that, when executed by data processing hardware, causes the data processing hardware to perform operations comprising: monitoring, via a trajectory control architecture of a controller, at least one active safety feature and a trajectory of a vehicle; tracking, via the trajectory control architecture, an error of the trajectory; comparing the tracking error to a trajectory history stored on the controller; adjusting, via the trajectory control architecture, a performance element of the vehicle based on the comparison of the tracking error and the trajectory history; and monitoring the trajectory of the vehicle based on the adjusted performance element.
2. The method of claim 1, wherein, The error comprises at least one of a tracking error and a trajectory error.
3. The method of claim 1, further comprising determining, by the trajectory control architecture, at least one of a large tracking error and a large trajectory error based on a maneuver phase.
4. The method of claim 3, wherein, Determining the large tracking error and the large trajectory error comprises comparing the maneuver phase to an error threshold of the trajectory control architecture.
5. The method of claim 4, wherein, The maneuver phase comprises one or more of an initial phase, a reverse steering phase, and a steady phase.
6. The method of claim 1, further comprising planning a new trajectory at a future time step based on the time step and the trajectory history.
7. The method of claim 6, wherein, The tracking error comprises identifying a tracking error based on the trajectory history and a current position.
8. The method of claim 6, wherein, Planning the new trajectory comprises comparing a historical trajectory window to a future trajectory point.
9. The method of claim 8, further comprising determining a trajectory error based on the comparison between the historical trajectory window and the future trajectory point.
10. A vehicle comprising a controller configured to perform the method of claim 1.