VEHICLE CONTROL SYSTEMS AND METHODS

The vehicle control system uses MPC to stabilize autonomous vehicles by determining actuator commands that correct deviations in heading and position, addressing the inefficiencies of existing ESC systems and enhancing stability and efficiency.

DE102021110868B4Active Publication Date: 2025-10-30GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE102021110868
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-10-16
Filing Date
2021-04-28
Publication Date
2025-10-30
Estimated Expiration
2041-04-28

AI Technical Summary

Technical Problem

Existing ESC systems in autonomous vehicles lack efficient methods to stabilize the vehicle on a desired trajectory using predictable vehicle motion information in a processing-efficient manner.

Method used

A vehicle control system that integrates model predictive control (MPC) to determine actuator commands, including differential brake commands, based on planned trajectory data and current vehicle states to correct deviations in heading and position, using a vehicle stability and motion control function that minimizes differences in heading, trajectory, and other factors.

Benefits of technology

Enhances lateral vehicle stabilization by optimizing vehicle motion and ensuring safe, efficient maneuvers, reducing the need for additional electronic control units and improving passenger comfort.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A vehicle control system (10) for a vehicle (100) with front and rear wheels and brakes for each wheel, comprising: at least one processor (1044) in operational communication with an actuator system (1030) of the vehicle (100), wherein the actuator system (1030) comprises steering, drive and braking systems, wherein the at least one processor is configured to execute program instructions, wherein the program instructions are configured to cause the at least one processor (1044) to do the following: Receiving planned trajectory data for the vehicle (100) from a trajectory planning module, wherein the planned trajectory data includes planned vehicle position data and planned vehicle course data at discrete future times; Receiving current vehicle position data and current vehicle course data from a data acquisition system; Determining actuator command data (50) based on a vehicle stability and motion control function, wherein the vehicle stability and motion control function has the planned trajectory data, the current vehicle position data and the current vehicle heading data as inputs, has the actuator command data (50) as an output and uses a model that predicts vehicle motion, including the prediction of vehicle heading data and the prediction of vehicle position data; wherein the actuator command data (50) contain steering and drive commands and wherein the actuator command data (50) contain differential braking commands for each brake of the vehicle to correct any difference between the planned vehicle course and at least one of the actual vehicle course data and the predicted vehicle course data; and Output of the control command data to the control system, wherein the vehicle stability and motion control function aggregates the course term and the trajectory term over a finite number of time iterations, where: a first temporal iteration of the course term is determined based on a difference between the planned vehicle course data and the current vehicle course data; a first temporal iteration of the trajectory term is determined based on a difference between planned vehicle position data and current vehicle position data; Future temporal iterations of the course terms will be determined based on a difference between the planned vehicle course data and the predicted vehicle course data; Future time iterations of the trajectory terms will be determined based on a difference between planned vehicle position data and predicted vehicle position data; where the model that predicts vehicle movement uses actuator command data output from a previous time iteration as input to the model to predict the vehicle position and vehicle course.
Need to check novelty before this filing date? Find Prior Art

Description

INTRODUCTION

[0001] The present disclosure relates generally to vehicles with differential braking for lateral stability control and in particular to methods and systems for determining differential brake actuator commands in an autonomous vehicle.

[0002] Electronic Stability Control (ESC) systems are a powerful safety feature for modern vehicles. ESC systems help the driver maintain control of the vehicle under challenging road conditions, during difficult maneuvers, and when the driver's reactions or abilities vary. ESC systems are a computer-based technology that detects and reduces lateral vehicle skidding. An ESC system detects a loss of steering input and then brakes each wheel individually to steer the vehicle in accordance with the driver's steering inputs. More precisely, electronic stability control (ESC) systems work by individually applying the wheel brakes to induce a yaw moment in the vehicle, thus improving stability and handling.In order for the ESC system to accomplish this, the ESC system uses motion sensors to analyze what the vehicle is actually doing and what the vehicle "should" be doing under ideal circumstances based on the steering input.

[0003] Some ESC instruments include a steering wheel position sensor, a lateral accelerometer, wheel speed sensors, a yaw rate sensor, brake and throttle input sensors, and an on / off switch. Control is managed by an electronic control unit (ECU) and a hydraulic control unit (HCU). The ESC system can actuate both wheel brake pressure and the engine throttle to influence the vehicle's dynamics. Some ESC systems compare the driver's intended actions—steering, braking, and / or other maneuvers—with the vehicle's response. Such comparisons may use variables such as steering angle, yaw rate, lateral acceleration rate, and / or various other variables. The vehicle's ESC system can then apply the brakes, reduce excess engine power, and / or take other corrective actions.

[0004] Some designs for autonomous vehicles (AVs) propose retaining an existing ESC system as a separate module from an AV motion control module. This means that the ESC system receives as inputs the steering commands issued by the AV motion control module and the vehicle motion data captured by a sensing system, so that no significant change to the ESC system is required compared to conventional, human-driver-based ESC systems.

[0005] Accordingly, it is desirable to provide techniques for stabilizing an autonomous vehicle on a desired trajectory and to utilize predictable vehicle motion information to provide improved lateral vehicle stabilization. It is also desirable to provide methods, systems, and vehicles that utilize such techniques in a processing-efficient manner. Furthermore, other desirable features and characteristics of the present invention will be evident from the following detailed description and the appended claims, in conjunction with the accompanying drawings and the preceding technical field and background.

[0006] DE 10 2004 023 546 A1 discloses a method for lane keeping and a lane keeping system for a vehicle, in which the reference lane is determined and compared with the current direction of travel. If the vehicle leaves the reference lane, a corrective yaw moment is generated to counteract the departure. This is achieved by individual wheel torques, which are adjusted based on a determined target torque distribution to achieve the desired feedback effect on the vehicle's steering system.

[0007] DE 10 2005 018 486 A1 relates to a method for assisting the driver of a vehicle by automatically controlling the vehicle's course. For this purpose, a reference trajectory is determined along which the vehicle is to be moved. The deviation of the vehicle's position from the reference trajectory is determined, and a corrective yaw moment is generated to counteract the deviation. This is achieved by individually controlling the wheel torques at the wheels of the driven axle, preferably by individual wheel braking.

[0008] DE 10 2018 120 841 A1 discloses an autonomous vehicle control system that includes a perception module of a spatial monitoring system, which monitors the vehicle's spatial environment. A method for evaluating vehicle dynamics includes determining a desired trajectory, which incorporates vehicle positions such as x and y coordinates and direction. Based on this trajectory, vehicle control commands such as steering angle, acceleration, and braking are determined. The actual vehicle states are recorded, and an estimated trajectory is determined based on them. The trajectory error between the desired and the estimated trajectory is calculated and monitored over a time horizon, thereby determining an initial operating state of the vehicle. DESCRIPTION

[0009] The object of the invention is to provide improved lateral vehicle stabilization. This object is achieved by the subject matter according to claim 1. Further developments are described in the dependent claims.

[0010] In one aspect, a vehicle control system is provided for a vehicle. The vehicle includes front and rear wheels and brakes for each wheel. A processor is in operational communication with the vehicle's actuator system. The actuator system includes steering, drive, and braking systems. The processor executes program instructions. The program instructions cause the processor to receive planned trajectory data for the vehicle from a trajectory planning module. The planned trajectory data includes planned vehicle position data and planned vehicle heading data at discrete future times. Actual vehicle position data and actual vehicle heading data are received from a data acquisition system. Actuator command data are determined based on a vehicle stability and motion control function.The vehicle stability and motion control function takes planned trajectory data, current vehicle position data, and current vehicle heading data as inputs, actuator command data as output, and uses a model to predict vehicle motion, including predicting vehicle heading and position data. The actuator command data includes steering and drive commands. Additionally, the actuator command data includes differential brake commands for each brake of the vehicle to correct any difference between the planned vehicle heading and the current and / or predicted vehicle heading data. The actuator command data is output to the actuator system.

[0011] In embodiments, the vehicle stability and motion control function includes a course concept that represents a difference between the planned vehicle course data and the actual vehicle course data and / or the predicted vehicle course data, and a trajectory concept that represents a difference between the planned vehicle position data and the actual vehicle position data and / or the predicted vehicle position data.

[0012] In embodiments, the determination of the actuator command data is based on the vehicle stability and motion control function and includes minimizing the vehicle stability and motion control function, including the course and trajectory orientems.

[0013] In some embodiments, the function for stability and motion control of the vehicle is part of an MPC (Model Predictive Control) algorithm.

[0014] In embodiments, the vehicle stability and motion control function aggregates the course term and the trajectory term over a finite number of time iterations. A first time iteration of the course term is determined based on a difference between the planned vehicle course data and the current vehicle course data. A first time iteration of the trajectory term is determined based on a difference between the planned vehicle position data and the current vehicle position data. Future time iterations of the course terms are determined based on a differential between planned vehicle course data and predicted vehicle course data. Future time iterations of the trajectory terms are determined based on a difference between the planned vehicle position data and the predicted vehicle position data.

[0015] In embodiments, the model that predicts vehicle movement uses actuator command data output from a previous time iteration as input to the model in order to predict the vehicle position and vehicle course.

[0016] In embodiments, the vehicle stability and motion control function includes a term for the rate of change of actuator commands, which represents a rate of change of the actuator command data.

[0017] In embodiments, the function for stability and motion control of the vehicle includes a term for passenger comfort, which is a reversal of passenger comfort.

[0018] In embodiments, the vehicle stability and motion control function includes a yaw rate term that represents a difference between a planned yaw rate and at least one difference between an actual yaw rate and a predicted yaw rate.

[0019] In embodiments, the vehicle stability and motion control function includes a term for lateral velocity and a term for lateral acceleration. The lateral velocity term represents the difference between a planned lateral velocity and an actual lateral velocity and / or a predicted lateral velocity. The lateral acceleration term represents the difference between a planned lateral acceleration and an actual lateral acceleration and / or a predicted lateral acceleration.

[0020] In embodiments, the determination of the actuator command data is carried out by solving the vehicle stability and motion control function using quadratic programming.

[0021] In another aspect, a procedure for controlling a vehicle is provided. The vehicle includes front and rear wheels and brakes for each wheel. The procedure is executed by a processor and comprises the following steps: Planned trajectory data for the vehicle is received from a trajectory planning module. The planned trajectory data includes planned vehicle position data and planned vehicle course data at discrete future times. Actual vehicle position data and actual vehicle course data are received from a vehicle acquisition system. Actuator command data is determined based on a vehicle stability and motion control function.The vehicle stability and motion control function takes planned trajectory data, current vehicle position data, and current vehicle heading data as inputs, actuator command data as output, and uses a model to predict vehicle motion, including predicting vehicle heading and vehicle position data. The actuator command data includes steering and drive commands, as well as differential brake commands for each brake on the vehicle, to correct any difference between the planned vehicle heading data and the current vehicle heading data and / or the predicted vehicle heading data. The actuator command data is output to the actuator system.

[0022] In embodiments, the vehicle stability and motion control function includes a course concept that represents a difference between the planned vehicle course data and the actual vehicle course data and / or the predicted vehicle course data, and a trajectory concept that represents a difference between the planned vehicle position data and the actual vehicle position data and / or the predicted vehicle position data.

[0023] In embodiments, determining the actuator command data based on the vehicle stability and motion control function involves minimizing the vehicle stability and motion control function, including the course and trajectory orientations.

[0024] In some embodiments, the function for stability and motion control of the vehicle is part of a model predictive control (MPC) algorithm.

[0025] In embodiments, the vehicle stability and motion control function aggregates the course term and the trajectory term over a finite number of time iterations. A first time iteration of the course term is determined based on a difference between the planned vehicle course data and the current vehicle course data. A first time iteration of the trajectory term is determined based on a difference between the planned vehicle position data and the current vehicle position data. Future time iterations of the course terms are determined based on a differential between planned vehicle course data and predicted vehicle course data. Future time iterations of the trajectory terms are determined based on a differential between planned vehicle position data and predicted vehicle position data.The model that predicts vehicle movement uses actuator command data output from a previous time iteration as input to predict the vehicle's position and course.

[0026] The vehicle stability and motion control function includes a term for the rate of change of actuator commands, which represents a rate of change of the actuator command data.

[0027] In embodiments, the function for stability and motion control of the vehicle includes a term for passenger comfort, which is a reversal of passenger comfort.

[0028] In embodiments, the vehicle stability and motion control function includes a yaw rate term that represents a difference between a planned yaw rate and an actual yaw rate and / or a predicted yaw rate.

[0029] In embodiments, the vehicle stability and motion control function includes a term for lateral velocity and / or a term for lateral acceleration. The lateral velocity term represents a difference between a planned lateral velocity and an actual lateral velocity and / or a predicted lateral velocity. The lateral acceleration term represents a difference between a planned lateral acceleration and an actual lateral acceleration and / or a predicted lateral acceleration.

[0030] In another aspect, a vehicle is provided. The vehicle includes front wheels, rear wheels, brakes for each wheel, an actuator system comprising steering, drive, and braking systems, and a sensing system. A processor is in operational communication with the actuator system and the sensing system. The processor executes program instructions. The program instructions cause the processor to receive planned trajectory data for the vehicle from a trajectory planning module. The planned trajectory data includes planned vehicle position data and planned vehicle course data at discrete future times. Actual vehicle position data and actual vehicle course data are received from the sensing system. Actuator command data are determined based on a vehicle stability and motion control function.The vehicle stability and motion control function takes planned trajectory data, current vehicle position data, and current vehicle heading data as inputs, actuator command data as output, and uses a model to predict vehicle motion, including predicting vehicle heading and vehicle position data. The actuator command data includes steering and drive commands and differential brake commands for each brake of the vehicle to correct any difference between the planned vehicle heading and the current and / or predicted vehicle heading data. The actuator command data is output to the actuator system. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The exemplary embodiments are described below in conjunction with the following drawing figures, where identical numbers denote identical elements, and where: Fig. Figure 1 is a functional block diagram showing an autonomous vehicle with a vehicle stability and motion control module according to various embodiments; Fig. Figure 2 is a data flow diagram illustrating an autonomous driving system that includes the vehicle stability and motion control module in accordance with various embodiments; Fig. Figure 3 is a diagram of a vehicle control system including the vehicle stability and motion control module according to various embodiments; Fig. Figure 4 is a schematic representation of a planned trajectory from a trajectory planning module of the vehicle control system, in accordance with an exemplary embodiment; Fig. Figure 5 is a flowchart that illustrates a vehicle control procedure for controlling the autonomous vehicle in accordance with various embodiments. DETAILED DESCRIPTION

[0032] The following detailed description is merely exemplary and is not intended to limit applications and uses. Furthermore, there is no intention to be bound by any express or implied theories presented in the preceding technical field, background, summary, or the detailed description that follows. As used herein, the term module refers to an application-specific integrated circuit (ASIC), an electronic circuit, a processor (common, dedicated, or as a group), and memory executing one or more software or firmware programs, a combinational logic circuit, and / or other suitable components providing the described functionality.

[0033] Embodiments of the present disclosure can be described herein in the form of functional and / or logical block components and various processing steps. It should be noted that such block components can be implemented by any number of hardware, software, and / or firmware components configured to perform the specified functions. For example, an embodiment of the present disclosure may employ various integrated circuit components, such as memory elements, digital signal processing elements, logic elements, lookup tables, or the like, which can perform a variety of functions under the control of one or more microprocessors or other control devices.Furthermore, the person skilled in the art will understand that embodiments of the present disclosure can be practiced in connection with any number of systems, and that the systems described here are merely exemplary embodiments of the present disclosure.

[0034] For the sake of brevity, conventional techniques relating to signal processing, data transmission, signaling, control, and other functional aspects of the systems (and the individual operating components of the systems) are not described in detail here. Furthermore, the connecting lines shown in the various figures included herein are intended to represent exemplary functional relationships and / or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may exist in an embodiment of this disclosure.

[0035] With reference to Fig. 1 is a vehicle control system, generally represented by 10, connected to a vehicle 1010 in accordance with various embodiments. In general, the vehicle control system 10 combines an ESC with an AV motion controller in a single controller / brain to increase stability and reduce costs. Such a flat control architecture ensures optimal coordination of all actuators in a single control solution and stabilizes the vehicle on a desired path by making optimal use of available resources (including tire forces, steering, engine torque, brakes, etc.). In embodiments, the vehicle control system 10 uses a model predictive control (MPC) architecture for autonomous driving, which incorporates future virtual driver commands.Future driver commands are predictable because they are part of the MPC problem formulation, unlike unpredictable future human steering commands. This allows lateral stability to be achieved with greater efficiency and smoothness. In the embodiments described here, the desired yaw rate and speed are known in advance of the vehicle in the form of a trajectory determined by a route planning module. In some embodiments, controlled skidding is possible during extreme maneuvers, facilitated by the fact that, unlike conventional ESC systems, the vehicle control system 10 has all the necessary information about the trajectory and the vehicle state. The vehicle control system 10 incorporates a multi-input, multi-output (MIMO) controller (e.g., an MPC) for integrated vehicle motion and ESC control.One advantage of using the MPC framework is that it ensures optimal and safe maneuvers, at least in part due to MPC's ability to optimize a given performance index (e.g., passenger comfort) in real time while taking into account constraints (especially obstacle avoidance and stability limitations). Furthermore, combining motion and stability control in a single controller can reduce costs by requiring fewer additional electronic control units (ECUs).

[0036] As in Fig. As shown in Figure 1, the vehicle 1010 generally comprises a chassis 1012, a body 1014, front wheels 1016, and rear wheels 1018. The body 1014 is mounted on the chassis 1012 and essentially encloses components of the vehicle 1010. The body 1014 and the chassis 1012 can together form a frame. The wheels 1016-1018 are each rotatably coupled to the chassis 1012 near a corner of the body 1014.

[0037] In various embodiments, the vehicle 1010 is an autonomous vehicle, and the vehicle control system 10 is integrated into the autonomous vehicle 1010 (hereinafter referred to as the autonomous vehicle 1010). The autonomous vehicle 1010 is, for example, a vehicle that is automatically controlled to transport passengers from one place to another. The vehicle 1010 is depicted as a passenger car in the illustrated embodiment, but it should be understood that any other vehicle, including trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), etc., can also be used. In one exemplary embodiment, the autonomous vehicle 1010 is a so-called Level 3, Level 4, or Level 5 automation system. Level 3 automation means that the vehicle can take over all driving functions under certain circumstances. All major functions are automated, including braking, steering, and accelerating.At this level, the driver can completely disengage until the vehicle instructs the driver otherwise. A Level 4 system indicates "high automation" and refers to the driving mode-dependent execution of all aspects of the dynamic driving task by an automated driving system, even if a human driver does not respond appropriately to a request for intervention. A Level 5 system signifies "full automation" and refers to the complete execution of all aspects of the dynamic driving task by an automated driving system under all road and environmental conditions that can be handled by a human driver.

[0038] As shown, the autonomous vehicle 1010 generally comprises a drive system 1020, a transmission system 1022, a steering system 1024, a braking system 1026, a sensor system 1028, an actuator system 1030, at least one data storage device 1032, at least one controller 1034, and a communication system 1036. The drive system 1020 may, in various embodiments, comprise an internal combustion engine, an electric machine such as a traction motor, and / or a fuel cell drive system. The transmission system 1022 is configured to transmit power from the drive system 1020 to the vehicle wheels 1016-1018 according to selectable speed ratios. According to various embodiments, the transmission system 1022 may comprise a continuously variable automatic transmission, a continuously variable transmission, or another suitable transmission. The braking system 1026 is configured to provide a braking torque for the vehicle wheels 1016-1018.The braking system 1026 can, in various embodiments, comprise friction brakes, brake-by-wire, a regenerative braking system such as an electric machine, and / or other suitable braking systems. The steering system 1024 influences the position of the vehicle wheels 1016-1018. While it is shown for illustrative purposes that it includes a steering wheel, the steering system 1024 may, in some embodiments considered within the scope of this disclosure, not include a steering wheel.

[0039] The sensing system 1028 comprises one or more sensing devices 1040a-40n that sense observable conditions of the external environment and / or the internal environment of the autonomous vehicle 1010. The sensing devices 1040a-40n may include, but are not limited to, radars, lidar, global positioning systems, optical cameras, thermal cameras, ultrasonic sensors, and / or other sensors. The actuator system 1030 comprises, but is not limited to, one or more actuator devices 42a-42n that control one or more vehicle functions, such as, but not limited to, the propulsion system 1020, the transmission system 1022, the steering system 1024, and the braking system 1026. In various embodiments, the vehicle features may also include internal and / or external vehicle features, such as doors, a trunk, and cabin features such as air conditioning, music, lighting, etc. (not numbered).

[0040] The communication system 1036 is configured to wirelessly transmit information to and from other units 1048, such as, but not limited to, other vehicles (“V2V” communication), infrastructure (“V2I” communication), remote systems, and / or personal devices. In one exemplary embodiment, the communication system 1036 is a wireless communication system configured to communicate over a wireless local area network (WLAN) using IEEE 802.11 standards or using cellular data communication. However, additional or alternative communication methods, such as a dedicated short-range communication channel (DSRC channel), are also considered within the scope of this disclosure.DSRC channels refer to one- or two-way short- to medium-range wireless communication channels specifically designed for automotive applications, along with a corresponding set of protocols and standards.

[0041] The data storage device 1032 stores data for use in the automatic control of the autonomous vehicle 1010. In various embodiments, the data storage device 1032 stores defined maps of the navigable environment. In various embodiments, the defined maps can be predefined by and obtained from a remote system. For example, the defined maps can be compiled by the remote system and transmitted (wirelessly and / or via cable) to the autonomous vehicle 1010 and stored in the data storage device 1032. As can be seen, the data storage device 1032 can be part of the controller 1034, separate from the controller 1034, or part of the controller 1034 and part of a separate system.

[0042] The controller 1034 comprises at least one processor 1044 and a computer-readable storage device or medium 1046. The processor 1044 can be any custom or commercially available processor, central processing unit (CPU), graphics processing unit (GPU), an auxiliary processor among several processors assigned to the controller 1034, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, any combination thereof, or generally any device for executing instructions. The computer-readable storage medium or media 1046 can include volatile and non-volatile memory, such as read-only memory (ROM), random-access memory (RAM), and keep-alive memory (KAM). KAM is persistent or non-volatile memory that can be used to store various operating variables while the processor 1044 is powered off.The computer-readable storage device(s) 1046 can be implemented using any number of known storage devices, such as PROMs (programmable read-only memory), EPROMs (electrically erasable PROMs), EEPROMs (electrically erasable PROMs), flash memory, or other electrical, magnetic, optical, or combined storage devices capable of storing data, some of which constitute executable instructions used by the controller 1034 in controlling the autonomous vehicle 1010.

[0043] The instructions can contain one or more separate programs, each comprising an ordered list of executable instructions for implementing logical functions. When executed by the processor 1044, the instructions receive and process signals from the sensing system 1028, perform logic, calculations, methods, and / or algorithms for the automatic control of the components of the autonomous vehicle 1010, and generate control signals for the actuator system 1030 to automatically control the components of the autonomous vehicle 1010 based on the logic, calculations, methods, and / or algorithms. Although in Fig. Where only one control unit 1034 is shown, embodiments of the autonomous vehicle 1010 may include any number of control units 1034 which communicate via any suitable communication medium or combination of communication media and which cooperate to process the sensor signals, perform logic, calculations, methods and / or algorithms and generate control signals to automatically control features of the autonomous vehicle 1010.

[0044] In various embodiments, one or more instructions of the control unit 1034 are embodied in the vehicle control system 10 and, when executed by the processor 1044, implement modules as shown in Fig. 3 described and procedure steps as in Fig. 5 described.

[0045] In various embodiments, this can be Fig. The autonomous vehicle 1010 described may be suitable for use in a taxi or shuttle system within a specific geographic area (e.g., a city, school or business campus, shopping mall, amusement park, event center, etc.) or simply be controlled by a remote system. For example, the autonomous vehicle 1010 may be connected to an autonomous vehicle-based long-distance transportation system. According to an example use case workflow, a registered user can create a ride request via a user device. The ride request typically specifies the desired passenger pick-up location (or current GPS position), the desired destination (which may identify a predefined vehicle stop and / or a user-defined passenger destination), and a pick-up time.A remotely controlled transport system receives the ride request, processes the request and sends a selected autonomous vehicle (if and when one is available) to pick up the passenger at the desired pick-up location and at the appropriate time.

[0046] As can be seen, the item disclosed here offers certain enhanced features and functions compared to what can be considered a standard or basic Autonomous Vehicle 1010. For this purpose, an autonomous vehicle can be modified, improved, or otherwise augmented to provide the additional functions described in more detail below.

[0047] In accordance with various embodiments, the control unit 1034 implements an autonomous driving system (ADS) 1070, as shown in Fig. 2 shown. That is, suitable software and / or hardware components of the control unit 1034 (e.g. processor 1044 and computer-readable storage device 1046) are used to provide an autonomous driving system 1070 that is used in conjunction with the vehicle 1010.

[0048] In various configurations, the instructions of the 1070 autonomous driving system can be organized according to functions or systems. For example, the 1070 autonomous driving system, as shown in Fig. Figure 2 shows a sensor fusion system 1074, a positioning system 1076, a steering system 1078, and a vehicle stability and motion control module 1080. As can be seen, the instructions can be organized in various embodiments in any number of systems (e.g., combined, further subdivided, etc.) since the disclosure is not limited to the examples shown.

[0049] In various embodiments, the sensor fusion system 1074 synthesizes and processes sensor data and predicts the presence, location, classification, and / or path of objects and features in the environment of the vehicle 1010. In various embodiments, the sensor fusion system 1074 can incorporate information from multiple sensors, including but not limited to cameras, lidars, radars, and / or any number of other sensor types.

[0050] The positioning system 1076 processes sensor data along with other data to determine the position (e.g., a local position relative to a map, a precise position relative to a road lane, the vehicle's direction, speed, etc.) of the vehicle 1010 in relation to its environment. The steering system 1078 processes sensor data along with other data to determine a path for the vehicle 1010 to follow. The vehicle stability and motion control module 1080 generates control signals to steer the vehicle 1010 according to the determined path.

[0051] In various embodiments, the Controller 1034 implements machine learning techniques to support the functionality of the Controller 1034, such as feature recognition / classification, obstacle avoidance, route traversal, mapping, sensor integration, ground truth determination, and similar functions.

[0052] The vehicle stability and motion control module 1080 is configured to transmit a vehicle control output to the actuator system 1030. In an exemplary embodiment, the actuators 1042 comprise a steering control, a shift control, a throttle control, and a brake control. The steering control can, for example, control a steering system 1024, as shown in Fig. Figure 1 shows the switching control. The switching control can, for example, control a transmission system 1022, as shown in Fig. Figure 1 shows the throttle valve control. For example, the throttle valve control can control a drive system 1020, as shown in Figure 1. Fig. Figure 1 shows the brake control. The brake control can, for example, control a wheel brake system 1026, as shown in Fig. 1 shown.

[0053] As briefly mentioned above, the autonomous driving system 1070 is included in the vehicle control system 10. The vehicle control system 10, in various embodiments of the present disclosure, integrates ESC and AV motion control into a single controller. That is, the future vehicle trajectory is obtained from a trajectory planning module, which makes it possible to determine and predict the current and future state of the vehicle 1010, as well as current and future actuator commands, using a vehicle motion model. The current and future state of the vehicle comprises the difference between the intended vehicle direction, known from the vehicle trajectory, and the current and predicted vehicle direction.The current and future actuator commands include differential braking, where the brakes on each side of the vehicle 1010's longitudinal centerline, and optionally on each side of the vehicle 1010's lateral centerline, are unequal to provide lateral stability control in the event of potential oversteer ("spin"), understeer ("plow"), or other lateral skidding conditions. A vehicle stability and motion control function is solved to determine actuator commands that simultaneously account for course difference and track difference, based on the vehicle's current and future state and the current and future actuator commands. The determined actuator commands are output to the actuator system 1030.

[0054] The vehicle control system 10 of the present disclosure is, according to an exemplary embodiment, in Fig. Figure 3 is shown in more detail. The vehicle control system 10 comprises a trajectory planning module 12, a vehicle stability and motion control module 14, the sensor fusion system 1074, the positioning system 1076, and the actuator system 1030. The vehicle control system 10 plans a trajectory for the vehicle 1010. The planned trajectory includes at least position and heading data for each time-spaced data point. A vehicle stability and motion control function evaluates the effects of a number of sets of actuator command data on the deviation of the predicted trajectory from the planned trajectory by predicting the vehicle trajectory when a set of actuator commands is followed, using a vehicle motion model.The vehicle control system 10 selects and outputs the set of actuator commands that simultaneously minimizes the deviation of the predicted position from the planned position and the deviation of the predicted course from the planned course, among other terms to be minimized in the vehicle stability and motion control function.

[0055] The trajectory planning module 12 is included as part of the steering system 1078. The sensor fusion system 1076 provides sensor data 28 to the trajectory planning module 12. The sensor data 28 can be generated based on data from the sensor system 1028, which includes one or more cameras 30, a GPS receiver 32, a lidar system 36, an inertial measurement unit 34, and vehicle CAN (Controller Area Network) data 38. The trajectory planning module 12 also receives localization and mapping data from the positioning system 1076, which includes a mapping module 26. The mapping module 26 provides a navigation function for planning a route relative to a map from a starting point to a destination. The positioning system 1076 is capable of locating the vehicle 1010 relative to the route and the map.This localization and mapping data 40 provides a basic route, which the trajectory planning module 12 uses to generate more detailed instructions for autonomous driving. In particular, the trajectory planning module 12 further considers the perceived environment based on the sensor data 28, such as traffic signs, obstacles, traffic, etc. The trajectory planning module 12 outputs planned trajectory data 42 based on the sensor data 28 and the localization and mapping data 40.

[0056] Exemplary planned trajectory data 42 are in Fig. Figure 4 shows a series of waypoints 44 that form the planned trajectory data 42. Each waypoint 44 consists of a data vector containing, for example, position data x, y (in an x- (transverse) direction and a perpendicular y- (longitudinal) direction), heading ψ, yaw rate , ψ̇ (which is a time derivative of the heading), and velocity v. x , v y(in the x and y directions) and acceleration a x , a y (in the x and y directions). Each waypoint can be called the i-th waypoint in the series. Furthermore, in Fig. Figure 4 shows the planned course 46 of vehicle 1010, which represents the direction of movement of vehicle 1010 along the planned trajectory. The current position 48 (and course) of vehicle 1010 can be measured based on sensor data 28 from the positioning system 1076 and is included in the localization and mapping data 40.

[0057] The vehicle stability and motion control module 14 is configured to receive the planned trajectory data 42, process the planned trajectory data 42, and output actuator commands embodied by actuator command data 50. The vehicle stability and motion control module 14 aims to generate the actuator command data 50 in such a way that it follows the planned trajectory as closely as possible, taking into account other factors such as lateral stability, passenger comfort, and actuator constraints. Therefore, the actuator command data 50 need not necessarily cause the vehicle 1010 to follow the exact desired path defined by the planned trajectory data 42. The vehicle stability and motion control module 14 uses a model predictive control (MPC) algorithm 16, which minimizes a vehicle stability and motion control function.The vehicle stability and motion control function comprises a variety of terms representing factors that should be minimized when generating the actuator command data 50, including a course term 18, a trajectory term 20, a passenger comfort term 22, and an actuator command change term 24. The course term 18 represents a difference between the planned course and the actual and predicted course of the vehicle 1010. The trajectory term 20 represents a difference between the planned position and the actual and predicted position of the vehicle 1010. The passenger comfort term 22 represents a smoothness of the predicted vehicle motion. The actuator command change term 24 represents the amount of change in the actuator command data.The vehicle stability and motion control function evaluates each term with respect to many sets of different actuator commands and uses a model of vehicle motion to predict the effects on, for example, the vehicle's course and position as a result of executing a given set of actuator commands. The vehicle stability and motion control function minimizes a total sum of each term over a finite number of time-spaced iterations and selects the set of output commands associated with the minimum, which is output as the actuator command data.

[0058] The MPC algorithm 16 obtains actuator instruction data 50 by repeatedly solving an open-loop finite horizon optimal control problem. The MPC algorithm 16 enables real-time optimization of a given performance index, taking into account a vehicle motion model and constraints on actuators and outputs. The performance index can include at least a difference between the planned and actual / predicted course and a difference between the planned and actual / predicted vehicle position. The vehicle position, course, and other vehicle outputs are predicted using a vehicle motion model, which can be a simplified vehicle dynamics model. Any suitable vehicle motion model capable of predicting at least the vehicle course and vehicle position from a set of actuator instructions can be used.The vehicle model can be a set of standard nonlinear differential equations or another form, such as an RL model. The vehicle motion model can also predict velocity and yaw rate. The MPC algorithm 16 applies constraints to the actuator commands to account for the physical limits of the actuator system 1030 and the planned trajectory. For example, there can be a maximum deviation from the planned trajectory as a constraint, maximum and minimum values ​​for different actuators in the actuator system, maximum rates of change for the actuators, impermissible locations for the vehicle 1010 (e.g., overlap with a perceived obstacle), maximum and / or minimum values ​​for vehicle outputs (e.g., velocity), etc.

[0059] The MPC algorithm 16 aims to find a best control sequence (set of actuator commands) over a future horizon of N time steps of k. At each sampling time, the state x(t) is estimated to minimize a performance index J, which is subject to a vehicle motion prediction model and constraints. The MPC algorithm 16 resolves into a numerical optimization problem that can be solved using quadratic programming. An example function for vehicle stability and motion control used by the MPC algorithm is: J=∑i=1Nwxi(ri−xi)2+∑i=1Nwui(Δui)2 uopt=minuJ

[0060] In Equation 1, the first term represents a difference between the planned vehicle state r1 and the current vehicle state x1 at a given time, and a difference between the planned vehicle state r2 to N and the predicted vehicle state x2 to N at future times. i is the time window for the calculation. The planned vehicle state is available from the trajectory planning module 12 and includes xi, yi, ψ iThe predicted vehicle state is obtained from the vehicle motion model. The second summation term in Equation 1 represents a change in the actuator commands. Accordingly, the MPC algorithm 16 generates the actuator command data 50 to simultaneously account for lateral stability (including a difference between the target and current / predicted course) and the agreement of the current / predicted vehicle position with that specified by the planned trajectory. According to Equation 2, an optimal set of actuator commands uopt is selected such that the cost function J is minimized and output as actuator command data 50. Other terms can be included in the vehicle stability and motion control function J, such as fuel consumption, ride comfort, and any other factor relevant to optimization. For Equations 1 and 2: xk+1=f(xk,uk) yk=g(xk) umin≤uk≤umax ymin≤yk≤ymax

[0061] Equations 3 and 4 represent the model for predicting vehicle motion, and equations 5 and 6 represent the constraints. Equation 3 determines the vehicle state at the next time iteration when a specific set of actuator commands is issued. Equation 4 determines the vehicle output, taking into account a specific vehicle state. u is a set of actuator commands, x is a state of vehicle 1010, and y is an output of vehicle 1010 (e.g., position, velocity, heading, lateral acceleration, etc.). The vehicle stability and motion control function J iterates over all meaningful sets of sequences of actuator commands over the time window of N steps (and thus a sequence of N sets of actuator commands). The function J determines a performance index for each set of actuator commands.The MPC algorithm 16 finds the optimal set and sequence of actuator instructions by minimizing the performance index. After solving the optimization problem represented by equations 1 to 5 for determining an optimal sequence of sets of actuator instructions u(t), u(t+1),..., u(t+N-1), only the first optimal set u(t) is output in the actuator instruction data 50 and applied by the actuator system 1030. The remaining actuator instructions in the sequence are discarded. In one embodiment of the present disclosure, the optimization problem outlined above is solved by quadratic programming.

[0062] The exemplary embodiment of the vehicle control system 10 of Fig. 3 is included in the autonomous driving system 1070. The autonomous driving system 1070 is configured to perform steering and speed control maneuvers, among other possible autonomous driving capabilities, to avoid collisions and to move cooperatively with tracked objects, based in part on the actuator command data 50. In particular, the actuator command data 50 includes differential braking commands to correct lateral stability problems (including spin-out and plow-out) when a planned course deviates from an actual and / or predicted course. The autonomous driving system 1070 executes known computer instructions for autonomous vehicle control through a processor, based in part on the actuator command data 50, as described above in relation to Fig. 2 described.

[0063] Fig. Figure 5 shows a flowchart that describes exemplary process and system aspects of the present disclosure for controlling the vehicle 1010. The steps of the flowchart of Fig. 5 can be implemented by computer program instructions stored on a computer-readable medium and executed by a processor, such as at least one processor 1044. The steps can be implemented, for example, by the steps relating to Fig. The 3 described modules and systems can be executed and can also include further aspects of the related to Fig. 2 include the autonomous driving system 1070 described.

[0064] The flowchart describes an exemplary procedure 200 for controlling the vehicle 1010.

[0065] In step 210, the planned trajectory data 42 are received. This data is generated by the trajectory planning module 12 based on the localization of vehicle 1010 by the positioning system 1076, the perception of the environment by the sensor fusion system 1074, and a desired route from the mapping module 26. The planned trajectory data 42 contains at least position and heading data for vehicle 1010 for each of time steps 1 to N. The planned trajectory data 42 may also contain velocity and acceleration data.

[0066] In step 220, the actuator command data 50 are determined by the vehicle stability and motion control module 14. In one embodiment, the vehicle stability and motion control module 14 computes the vehicle stability and motion control cost function J, which takes as inputs the current position and heading data for the vehicle 1010 from the acquisition system 1028 for time step i=1, the planned trajectory data 42, and the predicted position and heading data for time steps i=2 to N, which can be derived from the vehicle motion prediction models of equations 3 and 4. The vehicle stability and motion control cost function J (equation 1) is minimized to determine an optimal set of actuator commands contained in the actuator command data 50.This means that the vehicle stability and motion control module executes an MPC algorithm 16 that repeatedly solves a finite-horizon optimal control problem in the form of a cost function. This function considers the predicted position and the predicted course difference from the planned position for a given set of actuator commands, subject to a vehicle motion prediction model and constraints on actuator commands and vehicle output. The MPC algorithm 16 can employ quadratic programming to solve the numerical optimization problem represented by the cost function J for vehicle stability and motion control.

[0067] In step 230, the data for the optimal actuator commands 50 are output to the actuator system 1030. If the vehicle stability and motion control module 14 detects a lateral stability problem (implicitly by considering a difference between the planned and predicted vehicle course), this can be corrected, at least partially, by applying differential braking. Therefore, the actuator command data 50 potentially contains different braking commands for the respective brakes assigned to the front left, front right, rear left, and rear right wheels. In step 240, the differential braking is executed by the brake system 1026 based on the actuator command data 50. For example, depending on the type of lateral stability correction required, the braking force can be applied to a front right, front left, rear right, or rear left wheel of the vehicle 1010.

[0068] Although at least one exemplary embodiment has been presented in the preceding detailed description, it should be understood that a large number of variations exist. It should also be appreciated that the exemplary embodiment or embodiments are merely examples and are not intended to limit the scope, applicability, or configuration of the disclosure in any way. Rather, the preceding detailed description is intended to provide the person skilled in the art with practical guidance for implementing the exemplary embodiment or embodiments. It should be understood that various modifications in the function and arrangement of the elements can be made without deviating from the scope of the disclosure as set forth in the appended claims and their statutory equivalents.

Claims

[1] A vehicle control system (10) for a vehicle (100) with front and rear wheels and brakes for each wheel, comprising: at least one processor (1044) in operational communication with an actuator system (1030) of the vehicle (100), wherein the actuator system (1030) comprises steering, drive and braking systems, wherein the at least one processor is configured to execute program instructions, wherein the program instructions are configured to cause the at least one processor (1044) to do the following: Receiving planned trajectory data for the vehicle (100) from a trajectory planning module, wherein the planned trajectory data includes planned vehicle position data and planned vehicle course data at discrete future times; Receiving current vehicle position data and current vehicle course data from a data acquisition system; Determining actuator command data (50) based on a vehicle stability and motion control function, wherein the vehicle stability and motion control function has the planned trajectory data, the current vehicle position data and the current vehicle heading data as inputs, has the actuator command data (50) as an output and uses a model that predicts vehicle motion, including the prediction of vehicle heading data and the prediction of vehicle position data; wherein the actuator command data (50) contain steering and drive commands and wherein the actuator command data (50) contain differential braking commands for each brake of the vehicle to correct any difference between the planned vehicle course and at least one of the actual vehicle course data and the predicted vehicle course data; and Output of the control command data to the control system, wherein the vehicle stability and motion control function aggregates the course term and the trajectory term over a finite number of time iterations, where: a first temporal iteration of the course term is determined based on a difference between the planned vehicle course data and the current vehicle course data; a first temporal iteration of the trajectory term is determined based on a difference between planned vehicle position data and current vehicle position data; Future temporal iterations of the course terms will be determined based on a difference between the planned vehicle course data and the predicted vehicle course data; Future time iterations of the trajectory terms will be determined based on a difference between planned vehicle position data and predicted vehicle position data; where the model that predicts the vehicle movement uses actuator command data output from a previous time iteration as input to the model to predict the vehicle position and vehicle course. [2] Vehicle control system (10) according to claim 1, wherein the vehicle stability and motion control function comprises a course term representing a difference between planned vehicle course data and at least one of the actual vehicle course data and the predicted vehicle course data, and a trajectory term representing a difference between planned vehicle position data and at least one of the actual vehicle position data and the predicted vehicle position data. [3] Vehicle control system (10) according to claim 2, wherein determining the actuator command data based on the vehicle stability and motion control function includes minimizing the vehicle stability and motion control function including the course and trajectory orientems. [4] Vehicle control system (10) according to claim 1, wherein the vehicle stability and motion control function is part of an MPC (Model Predictive Control) algorithm. [5] Vehicle control system (10) according to claim 1, wherein the vehicle stability and motion control function includes an actuator command change term which represents a rate of change of the actuator command data. [6] Vehicle control system (10) according to claim 1, wherein the vehicle stability and motion control function includes a passenger comfort indicator term which is the inverse of passenger comfort. [7] Vehicle control system (10) according to claim 1, wherein the vehicle stability and motion control function includes a yaw rate term that represents a difference between a planned yaw rate and at least one of an actual yaw rate and a predicted yaw rate. [8] Vehicle control system (10) according to claim 1, wherein the vehicle stability and motion control function includes at least one of a lateral velocity term and a lateral acceleration term, wherein the lateral velocity term represents a difference between a planned lateral velocity and at least one of a difference between an actual lateral velocity and a predicted lateral velocity, and wherein the lateral acceleration term represents a difference between a planned lateral acceleration and at least one of a difference between an actual lateral acceleration and a predicted lateral acceleration. [9] Method (200) for steering a vehicle (100) having front and rear wheels and brakes for each wheel, the method comprising: Receiving (210), via at least one processor, planned trajectory data for the vehicle from a trajectory planning module, wherein the planned trajectory data includes planned vehicle position data and planned vehicle course data at discrete future times; Receiving current vehicle position data and current vehicle course data via at least one processor from a vehicle's acquisition system; Determine (220), via at least one processor, of actuator instruction data based on a vehicle stability and motion control function, wherein the vehicle stability and motion control function has the planned trajectory data, the current vehicle position data and the current vehicle heading data as inputs, has the actuator instruction data as an output and uses a model that predicts the vehicle motion, including the prediction of vehicle heading data and the prediction of vehicle position data; wherein the actuator command data (50) contain steering and drive commands and wherein the actuator command data (50) contain differential braking commands for each brake of the vehicle to correct any difference between the planned vehicle course data and at least one of the actual vehicle course data and the predicted vehicle course data; and Output (230) of the control command data to the actuator system (1030), wherein the vehicle stability and motion control function aggregates the course term and the trajectory term over a finite number of time iterations, wherein: a first temporal iteration of the course term is determined based on a difference between the planned vehicle course data and the current vehicle course data; a first temporal iteration of the trajectory term is determined based on a difference between planned vehicle position data and current vehicle position data; Future temporal iterations of the course terms will be determined based on a difference between the planned vehicle course data and the predicted vehicle course data; Future time iterations of the trajectory terms will be determined based on a difference between planned vehicle position data and predicted vehicle position data; where the model that predicts the vehicle movement uses actuator command data output from a previous time iteration as input to the model to predict the vehicle position and vehicle course.

Citation Information

Patent Citations

  • Lane keeping methods and lane keeping systems

    DE102004023546A1

  • Driver assisting method for vehicle, involves determining deviation of vehicle position from reference trajectory and producing yaw momentum for correcting course of vehicle by controlling torque at wheels of vehicle

    DE102005018486A1

  • METHOD AND DEVICE FOR MONITORING AN AUTONOMOUS VEHICLE

    DE102018120841A1