Control device and method for controlling a vehicle and non-volatile computer-readable memory
Patent Information
- Application Number
- DE112017003517
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-07-14
- Filing Date
- 2017-06-08
- Publication Date
- 2025-07-10
- Estimated Expiration
- 2037-06-08
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The invention relates to the control of the movement of motor vehicles and in particular to the control of a vehicle such that it follows a desired trajectory. [Technical background]
[0002] In advanced driver assistance (ADA) and autonomous driving (AD) features, a control system guides the vehicle to achieve desired objectives. Examples of such objectives include maintaining the current lane, changing lanes, avoiding obstacles, or driving to a specific location while enforcing traffic laws.
[0003] The goal can be represented as a path or trajectory that the vehicle must follow. The trajectory can be generated, for example, by a decision-making process, a path planner, or a navigation system. To actually reach the set goal, the vehicle must be controlled to follow the generated trajectory. For example, the vehicle controller (VC) can receive the trajectory from a supervisory controller (SC) and decide on the steering commands that cause the vehicle to follow the trajectory.The vehicle control commands (VC commands) are received by the actuator controller (AC), for example, in the electrically assisted steering module, and implemented by the corresponding electromechanical devices, resulting in a change in the vehicle's motion, causing the vehicle to follow the supervisory control trajectory (SC trajectory). To achieve this, various components or layers of the vehicle control system, such as the SC, VC, and AC, must be properly coordinated so that they work together toward a common goal. For example, each higher layer must consider the behavior of the lower layer in its calculations. This coordination is generally difficult.
[0004] When coordinating SC and VC, for example, there is no guarantee that the vehicle can execute the SC trajectory precisely. One reason for this may be that the SC uses a simplified model of vehicle motion to generate the trajectory, which ignores phenomena such as longitudinal and lateral slip, road friction, or road gradient in order to perform trajectory calculations more quickly. Another reason may be that external factors such as tire wear, different distances between the front and rear axles and the center of mass, etc., are present, which may be unknown or not taken into account in the SC. Therefore, there is a need for cooperative control of different vehicle components with the common goal of moving the vehicle along a desired trajectory. [0004a]
[0005] The document DE 10 2015 221 626 A1 describes a method which comprises determining a guidance reference curve along which the vehicle is to be guided. The method further comprises determining a linearization reference curve such that the linearization reference curve meets higher continuity requirements than the guidance reference curve. Furthermore, the method comprises determining initial values for a plurality of state variables of the vehicle relative to the linearization reference curve. Furthermore, the method comprises determining a trajectory based on the initial values, on the basis of the guidance reference curve, and on a model of the vehicle's dynamics. Determining the trajectory comprises determining a quality function which takes into account a deviation of the trajectory from the guidance reference curve. [Summary of the invention]
[0006] The present invention is defined in the independent claims. Individual embodiments of the present invention are specified in the dependent claims. Some embodiments are based on the insight that the realization of the vehicle's movement according to a trajectory depends on the objective of the movement. The vehicle's movement realized according to the trajectory must, for example, satisfy an implementation or performance measure (M) that depends on the current objective of the movement. In some situations, for example, the vehicle does not have to follow the desired trajectory exactly; rather, the maximum difference between the actual trajectory of the vehicle and the target trajectory of the vehicle must be below a threshold value.Some embodiments are based on the understanding that such a performance measure may arise from the actual practical conditions of the vehicle control, but it may also be taken into account while generating the desired trajectory as the movement goal. For example, if the movement is aimed at maintaining the lane, all possible desired trajectories must maintain a safety distance from the edge of the lane that is equal to or greater than a threshold. Similarly, if the movement goal is collision avoidance, all possible desired trajectories must maintain a safety distance from an obstacle that is equal to or greater than a threshold.
[0007] The performance measure M to be maintained while controlling the vehicle along the target trajectory is tied to the type of target trajectory permissible for creation. The creation of the target trajectory and the control of the vehicle are not merely sequential processes, but mutually dependent. For example, if the target trajectory is created by a supervisory control unit (SC) and the movement of the vehicle along the target trajectory is controlled by a vehicle control unit (VC), the interaction of SC and VC can contain a mutually dependent dependency. If the SC creates a target trajectory that satisfies a property P, the VC can control the vehicle while maintaining the performance measure M.
[0008] Some embodiments are based on the insight that such interdependence is complicated by the need to use different motion models for creating the target trajectory and for controlling the vehicle according to the target trajectory. For example, a longer time horizon must be considered for creating the target trajectory. Using a complex physical model to calculate the vehicle's motion over the extended future horizon is computationally difficult. However, if the target trajectory is known, controlling the vehicle according to the target trajectory can only consider the next control step or a near future horizon. Furthermore, controlling the vehicle must be more precise than the process of creating the trajectory.
[0009] For this purpose, some embodiments use different motion models for creating the target trajectory and for controlling the vehicle according to the target trajectory. For example, a first motion model used by the SC to create the target trajectory to be followed is simpler than a second motion model used by the VC to control the vehicle. An order of the second model used by the VC is, for example, higher than an order of the first model used by the SC. The order of a model can be defined, for example, by a number of state variables in the model. The use of different models simplifies the computational effort of the ADA or AD system, but complicates the creation of interdependencies between the SC and VC.
[0010] Some embodiments are based on the insight that the interdependence of the different models of SC and VC can be achieved by imposing constraints on the models. For example, the requirement to comply with the performance measure M can be converted into constraints that affect the state of the vehicle and / or the second model used by the VC. Specifically, such constraints can describe that the current state of the vehicle satisfies the performance measure M and that there is a corresponding control action that changes the current state of the vehicle without violating the performance measure M, while the position on the target trajectory also changes. In this way, the constraints guarantee that the movement of the vehicle always satisfies the performance measure M.Some embodiments are based on the insight that, due to discrepancies between the first and second models, such constraints for the state of the vehicle cannot always be determined. For this purpose, some embodiments apply an additional constraint to a first motion model of the SC, which can limit the number of possible SC-generated target trajectories and thus can serve as property P.
[0011] For this purpose, some embodiments select a first constraint for a target trajectory of the vehicle and select a control-invariant set that links states of the first model with states of the second model. The first constraint and the control-invariant set are determined such that, for each combination of states within the control-invariant subset, there is at least one control action on the second model that keeps the state of the second model within the control-invariant set for each change in the state of the first model that satisfies the first constraint. The first constraint and the control-invariant set establish a mutual dependency in that, if the SC creates a target trajectory that satisfies the first constraint, i.e., property P, the VC can control the state of the vehicle such that it remains within the control-invariant set, i.e.,the performance measure M is met.
[0012] Accordingly, one embodiment discloses a method for controlling a vehicle. The method comprises: selecting a first vehicle motion model and a second model of the vehicle's motion from a memory, wherein an order of the second model is higher than an order of the first model, wherein the order of a model is a number of state variables in the model;Selecting a first constraint for the first model for moving a vehicle along a desired trajectory of the vehicle from the memory, and selecting a control-invariant set that links states of the first model to states of the second model, wherein for each combination of states within the control-invariant subset, there is at least one control action on the second model that keeps the state of the second model within the control-invariant set for each change in the state of the first model that satisfies the first constraint; Determining a portion of the desired trajectory that satisfies the first constraint using the first model;Determining a sequence of commands for moving the vehicle along the portion of the desired trajectory using the second model, such that the sequence of commands maintains the sequence of states of the second model and a sequence of states of the first model determined by the portion of the desired trajectory within the control-invariant subset; and controlling the vehicle using at least one command from the sequence of commands. The steps of the method are performed using a processor operatively connected to the memory.
[0013] Another embodiment discloses a control device for controlling a vehicle, comprising: a memory for storing a first vehicle motion model, for storing a second model of the motion of the vehicle, wherein an order of the second model is higher than an order of the first model, wherein the order of a model is a number of state variables in the model, for storing a first constraint for the first model for moving a vehicle along a desired trajectory of the vehicle, and for storing a control-invariant set linking states of the first model to states of the second model, wherein for each combination of the states within the control-invariant subset there is at least one control action on the second model that keeps the state of the second model within the control-invariant set for each change in the state of the first model that satisfies the first constraint;a monitoring control unit for determining a portion of the desired trajectory that satisfies the first constraint using the first model; a vehicle control unit for determining a sequence of commands for moving the vehicle along the portion of the desired trajectory using the second model, such that the sequence of commands maintains the sequence of states of the second model and a sequence of states of the first model determined by the portion of the desired trajectory within the control-invariant subset; and an actuator control unit for controlling the vehicle using at least one command from the sequence of commands.
[0014] A further embodiment discloses a non-transitory computer-readable memory embodying a processor-executable program for carrying out the method, comprising: selecting a first vehicle motion model and a second model of the motion of the vehicle from the memory, wherein an order of the second model is higher than an order of the first model, wherein the order of a model is a number of state variables in the model;Selecting a first constraint for the first model for moving a vehicle along a desired trajectory of the vehicle from the memory, and selecting a control-invariant set that links states of the first model to states of the second model, wherein for each combination of the states within the control-invariant subset, there is at least one control action on the second model that keeps the state of the second model within the control-invariant set for each change in the state of the first model that satisfies the first constraint; Determining a portion of the desired trajectory that satisfies the first constraint using the first model;Determining a sequence of commands for moving the vehicle along the portion of the desired trajectory using the second model, such that the sequence of commands maintains the sequence of states of the second model and a sequence of states of the first model determined by the portion of the desired trajectory within the control-invariant subset; and controlling the vehicle using at least one command from the sequence of commands. [Brief description of the drawings] [ Fig. 1] Fig. 1 is a schematic diagram of a vehicle having a controller utilizing principles of some embodiments of the invention; [ Fig. 2] Fig. 2 is a block diagram of the control unit of Fig. 1 according to an embodiment of the invention; [ Fig. 3] Fig. 3 is a schematic view of the layers of the control device according to an embodiment of the invention; [ Fig. 4A] Fig. 4A illustrates one of the various principles of vehicle control according to some embodiments of the invention; [ Fig. 4B] Fig. 4B illustrates another of the various vehicle control principles according to some embodiments of the invention; [ Fig. 5A] Fig. 5A is a block diagram of a method for controlling a vehicle according to an embodiment of the invention; [ Fig. 5B] Fig. 5B is a schematic diagram of a cooperative controller according to an embodiment of the invention; [ Fig. 6] Fig. 6 is a schematic representation of a relationship between the desired trajectory and a second model of the movement of the vehicle according to an embodiment of this invention; [ Fig. 7] Fig. 7 is an example of a two-dimensional projection of the possible region defined by various constraints according to embodiments of the invention; [ Fig. 8A] Fig. 8A is a block diagram of a method for controlling operation of a vehicle according to some embodiments of the invention; [ Fig. 8B] Fig. 8B is a block diagram of a method for selecting the command to control the vehicle according to an embodiment of the invention; [ Fig. 9] Fig. 9 is a schematic representation of some principles used by some embodiments of the invention underlying the determination of the control-invariant set; [ Fig. 10] Fig. 10 is a block diagram of a method for selecting the control-invariant set according to different embodiments of the invention; [ Fig. 11] Fig. 11 is a block diagram of a method for selecting the control-invariant set according to different embodiments of the invention; [ Fig. 12] Fig. 12 is a schematic representation of an effect of the method of Fig. 11 in relation to the procedure of Fig. 10; and [ Fig. 13] Fig. 13 is a block diagram of a vehicle control method according to an embodiment of the invention. [Description of embodiments]
[0015] Fig. 1 is a schematic representation of a vehicle 101 having a controller 102 that utilizes principles of some embodiments of the invention. As used herein, the vehicle 101 may be any type of wheeled vehicle, such as a passenger car, a bus, or an off-road vehicle. The vehicle 101 may also be an autonomous or semi-autonomous vehicle. For example, some embodiments control the movement of the vehicle 101. The movement is, for example, lateral movement of the vehicle controlled by a steering system 103 of the vehicle 101. In one embodiment, the steering system 103 is controlled by the controller 102. Additionally or alternatively, the steering system 103 may be controlled by a driver of the vehicle 101.
[0016] The vehicle may also include an internal combustion engine 106, which may be controlled by the controller 102 or by other components of the vehicle 101. The vehicle may also include one or more sensors 104 for sensing the external environment. Examples of sensors 104 include rangefinders, radars, lidars, and cameras. The vehicle 101 may also include one or more sensors 105 for sensing its current motion variables and internal status. Examples of sensors 105 include global positioning systems (GPS), accelerometers, inertial measurement units, gyroscopes, shaft encoders, torque sensors, displacement sensors, pressure sensors, and flow sensors. The sensors provide information to the controller 102. The vehicle may be equipped with a transceiver 106 that enables communication capabilities of the controller 102 via wired or wireless communication channels.
[0017] Fig. 2 shows a block diagram of the control unit 102 according to an embodiment of the invention. The control unit 102 includes a processor 201 connected to a memory 202, for example, a non-transitory computer-readable medium. In some implementations, the memory 202 includes a first portion 211 for storing information about the vehicle and a second portion 212 for storing a program for controlling the vehicle. The first portion 211 of the memory 202 can store, for example, a first vehicle motion model and a second model of the vehicle's motion. In various embodiments, an order of the second model, for example, a number of state variables in the model, is higher than an order of the first model.These embodiments are based on the insight that different motion models must be used to create the target trajectory and to control the vehicle according to the target trajectory. For example, a long time horizon must be considered when creating the target trajectory. Using a complex physical model to calculate the vehicle's motion over the extended future horizon is computationally difficult. However, if the target trajectory is known, the vehicle control according to the target trajectory can only consider the next control step or a near future horizon. Furthermore, the vehicle control must be more precise than the process of creating the trajectory.In some embodiments, for this purpose, the controller 102 generates the trajectory using the first, i.e., simplified, motion model, while controlling the vehicle according to the trajectory using the second, more complicated motion model.
[0018] The second section 212 of the memory 202 may have a program embodied thereon, executable by the processor 201, for carrying out a method for controlling the vehicle 101. The processor 201 may be a computing device capable of performing calculations and may include one or more physical devices of the same or different types. Additionally or alternatively, the processor 201 may include multiple computing devices, for example, microprocessors. The memory 202 may equally be a logical memory and / or a non-volatile computer-readable storage medium capable of storing information and may include one or more physical information storage means of the same or different types.The calculations performed by processor 201 are instructed by the program stored in the second section of memory 212 and use the vehicle information stored in the first section of memory, 211, the information about vehicle 101 obtained from sensors 105, and the information about the environment 203 obtained from sensors 104. The computational activity of processor 201 results in instructions 204 that change the movement of the vehicle.
[0019] The program executed by processor 201 activates certain functionalities of vehicle 101. Operation of processor 210 may, for example, activate special advanced driver assistance (ADA) features, such as lane keeping or collision avoidance, or may activate autonomous driving (AD) of vehicle 101. During each of these operations, the program executed in processor 201 aims to achieve specific driving objectives, such as staying in the lane, avoiding an obstacle, or driving to a specific location. The objectives are achieved by appropriately influencing the movement of vehicle 101. The software program executed by processor 201 may be logically divided into multiple modules. In one embodiment, the program executed by the processor comprises at least two modules arranged in a layered sequence such that the output of one layer is an input to the next layer.In the present usage, layering means the specification of layers or logical controllers of the control unit 102 and allows the division of the control into different phases that require different information.
[0020] Fig. Figure 3 shows a schematic representation of the layers of the control unit 102 according to an embodiment of the invention. In this embodiment, the control unit 102 comprises three control layers. The target position of the vehicle's movement is represented as a path or target trajectory 311 that the vehicle must follow according to the movement target. The target trajectory is created by a supervisory control unit (SC) 301. The methods used by the SC to create the target trajectory include, for example, various decision-making and path planning techniques. The target trajectory created by the SC is provided to a vehicle control unit (VC) 302, which calculates commands 312 for the actuating system, such as the steering system 103 or the combustion engine, to influence the movement of the vehicle so that it follows the trajectory 311.The VC commands 312 are received by the actuator control unit (AC) 303, for example in the electrically assisted steering module, and implemented by the corresponding electromechanical devices, resulting in actions 313 that change the movement of the vehicle such that the vehicle follows the trajectory.
[0021] Dividing the program providing advanced driver assistance and autonomous driving into multiple logical controllers or layers can be advantageous due to the computational and information technology requirements of the controller. Each layer must access different information at different speeds and produce results of varying complexity at different speeds. However, the presence of multiple layers complicates the achievement of the overall goal, as the various logical controllers must be properly coordinated. For example, each higher layer must consider the behavior of the lower layer when performing its calculations.
[0022] Some embodiments are based on the understanding that the movement of the vehicle following the trajectory must satisfy a performance measure (M) that depends on the current objective of the movement. The vehicle does not have to follow the desired trajectory exactly; only the maximum difference between the actual trajectory of the vehicle and the desired trajectory of the vehicle must be below a threshold value, for example, 50 cm. Some embodiments are based on the understanding that such a performance measure, ie, in this example, the maximum difference of 50 cm, can result from the actual practical conditions of the vehicle control, but can also be taken into account while generating the desired trajectory for the movement objective.For example, if the objective of the movement is to stay in the lane, all possible target trajectories must maintain a safety distance from the edge of the lane that is equal to or greater than the threshold, for example, 50 cm. Similarly, if the objective of the movement is to avoid a collision, all possible target trajectories must maintain a safety distance from an obstacle that is equal to or greater than a threshold, such as 50 cm.
[0023] The performance measure M that must be maintained while the vehicle is steered along the target trajectory is therefore tied to the type of target trajectory that is permissible for creation. The creation of the target trajectory and the control of the vehicle along the target trajectory are not merely sequential but mutually dependent processes. For example, if the target trajectory is created by the SC 301 and the movement of the vehicle along the target trajectory is controlled by the VC 302, the interaction of SC and VC can contain a mutually dependent dependency in which, if the SC creates a target trajectory that satisfies a property P 322, the VC can control the vehicle such that the performance measure M 321 is satisfied. In other words, in order to guarantee M 321, the SC restricts the trajectories so that they fall into a specific class P 322.
[0024] For this purpose, one embodiment of the invention determines the class of trajectories P 322 that can be created by the SC 301, considering the performance measure M 321, builds the VC 302 that guarantees M for a trajectory in P, restricts the SC to only create trajectories in P, and operates the VC to ensure compliance with M throughout the operation of the vehicle. In another embodiment of the invention, coordination between the VC and the AC is also enabled.
[0025] Fig. 4A and Fig. 4B show a basic representation of vehicle control according to some embodiments of the invention. These examples relate to an ADA function of obstacle avoidance by steering. On a roadway with shoulders 401 and lane division 405, as in Fig. 4A, an obstacle 402 in the current lane 403 requires the vehicle to change to the other lane 404. The performance measure M is a given constraint 411 on the maximum difference between the trajectory generated by the SC 412 and the vehicle movement 413 generated by applying the VC's commands. If the VC guarantees the measure M, the SC knows that the actual vehicle movement will be within a width range 414 around the SC trajectory. By ensuring a minimum distance of M 414 to the obstacle, the SC guarantees the avoidance of the collision. In contrast, if the SC, as in Fig. 4B, not taking into account that the VC is controlling a vehicle and that the actual movement of the vehicle deviates from the SC trajectory, the SC may create a trajectory 422 that does not collide, but the actual vehicle movement 423 ultimately leads to the collision due to the difference between the ideal movement considered in the SC and the actual vehicle movement.
[0026] Some embodiments are based on the insight that such interdependence is complicated by the need to use different motion models for generating the target trajectory and for controlling the vehicle according to the target trajectory. For example, a long time horizon must be considered for generating the target trajectory. Using a complex physical model to calculate the vehicle's motion over the extended future horizon is computationally difficult. However, if the target trajectory is known, controlling the vehicle according to the target trajectory can only consider the next control step or a near future horizon. Furthermore, controlling the vehicle must be more precise than the process of generating the trajectory.
[0027] For this purpose, some embodiments use different motion models for creating the target trajectory and for controlling the vehicle according to the target trajectory. For example, a first motion model used by the SC for creation is simpler than a second motion model used by the VC for controlling the vehicle, i.e., an order of the second model used by the VC is higher than an order of the first model used by the SC. In the present usage, the order of a model is a number of state variables in the model. The use of different models simplifies the computational requirements of the vehicle control, but complicates the creation of interdependencies between the SC and the VC.
[0028] Some embodiments are based on the insight that the interdependence of the different models of SC and VC can be achieved by imposing various constraints on the models. For example, the requirement to comply with the performance measure M can be converted into constraints on the state of the vehicle and / or the second model used by the VC. Specifically, such constraints can stipulate that the current state of the vehicle satisfies the performance measure M and that there is a corresponding control action that changes the current state of the vehicle without violating the performance measure M. In such a way, the constraints guarantee that the movement of the vehicle always satisfies the performance measure M.Some embodiments are based on the insight that, due to discrepancies between the first and second models, such constraints for the state of the vehicle cannot always be determined. Thus, some embodiments impose an additional constraint on a first motion model of the SC, which can limit the number of possible SC-generated target trajectories and thus serve as property P.
[0029] For example, some embodiments select a first constraint for the first model moving on a target trajectory of the vehicle and select a control-invariant set that links states of the first model to states of the second model. The first constraint and the control-invariant set are determined such that for each combination of states lying within the control-invariant subset, there is at least one control action on the second model that maintains the state of the second model within the control-invariant set for each change in the state of the first model that satisfies the first constraint. The first constraint and the control-invariant set establish a mutual dependency in that if the SC creates a target trajectory such that the first model moving on the target trajectory satisfies the first constraint, i.e.the property P is satisfied, that VC can control the state of the vehicle in such a way that it remains within the control-invariant set, ie satisfies the performance measure M.
[0030] Fig. 5A shows a block diagram of a method for controlling a vehicle 101 according to an embodiment of the invention. The method may be executed by a processor, such as processor 201. Additionally or alternatively, the method may be stored on a non-transitory computer-readable storage medium as a program embodied therein, such that a processor-executable program performs the method.
[0031] The method selects 510 from a memory, for example, from memory 202, a first model 515 of the vehicle motion and a second model 517 of the vehicle motion. Typically, the first model is simpler than the second model. For example, an order of the second model 517 is higher than an order of the first model 515. In present usage, the order of a model is a number of state variables in the model. The first model is used to represent the motion of the vehicle moving, for example, exactly, along the desired trajectory; the second model of the vehicle motion is used to represent the motion of the vehicle under the influence of the VC.The method also selects 520 from the memory a first constraint 525 for the first model of the movement of the vehicle traveling on the target trajectory and a control-invariant set 527 that links states of the first model to states of the second model. The control-invariant set 527 is determined such that for each combination of states within the control-invariant set, there is at least one control action on the second model that keeps the state of the second model within the control-invariant set for each change in the state of the first model that satisfies the first constraint 525.
[0032] The states of the first model may, for example, include the position of the vehicle at any point in time and the yaw rate of the vehicle while precisely following the desired trajectory. The values of the state variables of the first model may fluctuate within the limits specified by the first constraint. The first constraint may, but need not, limit one of the state variables of the first model. In one embodiment, the first constraint determines, for example, transitions between the states of the first model. Examples of the first constraint include, but are not limited to, a constraint related to a change in a curvature of the movement along the desired trajectory and a constraint related to a change in a yaw rate for the transition of the first model along the desired trajectory.The state variables of the second model include the lateral offset from the desired trajectory, the lateral velocity, the trajectory-related alignment error, and the yaw rate during movement according to the VC control actions. The state variables of the first and second models can be identical or different. The state variables can be selected according to the vehicle's performance metrics. For example, the vehicle's performance behavior can be, individually or in combination, reducing the vehicle's lateral acceleration, reducing the vehicle's yaw rate, reducing the lateral offset from the desired trajectory, and reducing the steering wheel actuator power.
[0033] The state variables of the control-invariant set contain the states of the first and second models. Since the states of the control-invariant set comprise a relationship, for example, error limits, between the movement of the first model along the trajectory and the state of the vehicle determined by the second model within the context of the VC-side motion control, the control-invariant set links states of the first model with states of the second model according to this relationship. The values of the control-invariant set can be determined in advance, for example, based on the objective of the movement and the performance measure M. The structure of the control-invariant set guarantees that the performance measure M is met as long as the corresponding state of the second model of the vehicle and the first model of the vehicle's movement is within the control-invariant set.
[0034] Some embodiments assume that it is not always possible to generate such a control-invariant set for all possible trajectories generated by the simplified first motion model. To this end, the first constraint limits the variations of the target trajectory according to the first model of the motion of the vehicle traveling along this target trajectory to enable the creation of such a control-invariant set. For example, one embodiment selects the largest value of the first constraint that allows for a non-empty control-invariant set. Additionally or alternatively, one embodiment decreases the value of the first constraint while simultaneously increasing the size of the control-invariant set.For this purpose, the first constraint can be considered as a balancing factor between a number of possible variations of the target trajectory and the size of the control-invariant set, which determines the number of permissible control actions of the VC.
[0035] The method next determines 530, using the first model 515, a portion of the desired trajectory 535 that satisfies the first constraint 525, and determines 540, using the second model 517, a sequence of commands 545 for moving the vehicle along the portion of the desired trajectory 535 such that the sequence of commands maintains the sequence of states of the second model 517 and a sequence of states of the first model 515 determined by the portion of the desired trajectory within the control-invariant subset 527. The method controls 550 the vehicle 101 using at least one command 545 from the sequence of commands.
[0036] For example, for the target trajectories that satisfy property P, one can determine a feasible combination of state conditions of the trajectory and current state conditions of the vehicle, resulting in a condition range R, i.e., the control-invariant set 527, that must be satisfied by the future state conditions of the vehicle and by the current trajectory. Since the future state conditions of the vehicle depend on the current state conditions of the vehicle and the vehicle commands applied to the vehicle, the state conditions R also determine the valid commands for the vehicle.
[0037] Fig. 5B shows a schematic representation of a cooperative controller according to an embodiment of the invention. In the monitoring control unit SC 301, the initially generated target trajectory, which is provided, for example, by a path planning module T 502 based on the current vehicle information 515, is modified 501 such that it belongs to the class of trajectories that satisfy the property P, and the modified trajectory 511 is provided to the vehicle control unit VC 302. In the VC, a control unit C 503 uses the vehicle information 515, the modified trajectory 511, and a range R 504 of permissible combinations of state conditions of the trajectory and current state conditions of the vehicle to determine the vehicle commands 512, which are provided to the actuator control unit AC 303.Using the current vehicle information 515 and the vehicle command 512, the AC generates physical actions 513 for the vehicle 101 that change the movement of the vehicle 514, so that the performance measure M 505 is always reported as true 516 by the movement of the vehicle 514 for the modified trajectory 512, ie, is satisfied. Exemplary first movement models
[0038] In some embodiments, the SC generates clocked trajectories that describe the desired position of the vehicle at specific times. The clocked trajectories may, for example, contain information about the sequence of position vectors (p x , p y) of the vehicle at specific times. However, the information about such a trajectory must be expanded with additional information about the movement of the vehicle traveling along this trajectory. The SC thus generates additional information about the movement of the vehicle on the target trajectory based on a first model of the movement of the vehicle traveling exactly on this trajectory. According to the SC trajectory, the first model of the vehicle's movement determines, for example, not only the target position (p x , p y ) of the vehicle, but also the orientation θ and the yaw rate ω as well as the longitudinal velocity ν at time t according to p˙x(t)=v(t)cosθ(t) p˙x(t)=v(t)cosθ(t) θ˙(t)=ω(t)=v(t)r(t)=v(t)κ(t) where r is the curve radius, κ is the curvature of the path. Given a current position and orientation as well as a longitudinal velocity, the yaw rate determines the future position. The yaw rate can be ω(t)=fω(xr,x˙r,ur) be defined, where: x r and u r are the internal state variable and the input value of a system creating the trajectory. The internal state determines the current state condition of the first model when the SC trajectory is followed exactly. The input value determines the forced change in the state condition of the first model for continued exact trajectory of the SC trajectory.
[0039] Examples of motion models that satisfy equation (2) are x˙r=A¯rxr+B¯rur ω=Crxr or the even more simplified form ω˙=ur, which corresponds to the motion of an ideal vehicle, represented as a particle moving exactly on the SC trajectory.
[0040] In general, the differential equations in (3), (4) can be converted to difference equations, where the solution occurs at discrete times, denoted by index k and separated by equally long time intervals T s separated from each other, since this form is more favorable for the determination process in a microprocessor, resulting in xr(k+1)=Arxr(k)+Brur(k) yr(k)=ω(k)=Crxr(k) and yr(k)=xr(k)=ω(k)=xr(k)+Tsur(k) result.
[0041] Since the movements that a vehicle can perform are limited by mechanical and safety considerations, the trajectories created by the SC can also be restricted. In particular, the restrictions of the SC trajectories can be set to ensure that the first model, for example (5), (6), constraints xr∈Xr,ur∈Ur fulfilled, where X r and U r are suitable sets that determine the permissible values for the state and input of the first model moving on the SC trajectory and that can, for example, model constraints on yaw rate and yaw acceleration: ωr min≤ωr≤ωr max ω˙r min≤ω˙r≤ω˙r max Exemplary second movement models
[0042] Fig. Figure 6 shows a schematic representation of a relationship between the desired trajectory and a second model of the vehicle's motion according to an embodiment of the invention. The desired trajectory can be represented by a reference frame 602, in which the x-axis extends along the trajectory and the y-axis is perpendicular to the trajectory, and which moves along the path 601 at a given speed according to the first vehicle motion model. In this case, the second model of the motion of the vehicle controlled by the VC can be represented as the difference between the frame 603 attached to the vehicle's center of mass, in which the x-axis extends along the vehicle and the y-axis extends along the vehicle's width, and the frame 602.In particular, when the vehicle and the reference frame 602 are moving at identical speeds, the difference between the frame 602 and the frame 603 is equal to the difference 604 of the component along the y-axis of 602 and the difference between the orientation angles of the frames 603, 602. Whenever the difference 604 is zero, the vehicle is actually moving along the desired trajectory.
[0043] The movement represented as a deviation from the target trajectory is thus ddt[e1e˙1e2e˙2]=[01000−Cf+CrmvCf+Crm−Cflf−Crlrmv00010−Cf−CrIxvCf−CrIx−Cfl f2+Crlr2Ixv][e1e˙1e2e˙2]+[0Cfm0CflfIx]δ+[0−Cflf−Crlrmv−v0−Cflf2+Crlr2Ixv]ω where: e1, e2 are the errors at lateral distance 604 and alignments between 603, 602, δ is the steering angle and m, I z are vehicle mass and inertia along the vertical axis, C f , C r are the tire stiffnesses front and rear, and ℓ f, No. r are the distances of the front and rear axles from the center of mass. Note that the vehicle state change depends on the yaw rate of the trajectory, since the yaw rate of the trajectory sets the reference frame 602 in motion, which changes the difference between the reference frame 602 and the vehicle frame 603.
[0044] The vehicle is also subject to mechanical and safety constraints, which can be modeled as constraints on the variables of the vehicle's motion. The representation of the vehicle's motion can be done at discrete points in time, denoted by index k, separated by equally long time intervals T s are separated from each other, and to generate the vehicle model the steering increment Δu can be specified: x(k+1)=Ax(k)+BΔu(k)+Dω(k) where: x=[xeup],xe=[e1e˙1e2e˙2],up(k)=ue(k−1)=δ(k−1),Δu(k)=δ(k)−δ(k−1) and x is the state of the vehicle, i.e. the current state condition of the vehicle, and Δu is the command input to the vehicle chosen by the VC.
[0045] The vehicle-related constraints are defined as x∈X,Δu∈U where: X, U are suitable sets that determine the permissible values for the state and input of the vehicle and that model, for example, constraints for the maximum steering and yaw rate error between the vehicle and the trajectory, as well as for the error between the vehicle and the trajectory: e˙2min≤e˙2≤e˙2max δmin≤δ≤δmax e1min≤e1≤e1max Trajectory property and performance measure
[0046] Based on the models for the SC trajectory and the vehicle, the performance measure M can be determined by the constraints on the vehicle 12, including, among other things, the maximum lateral error between the position of the vehicle and the position of the SC trajectory. The properties P that the trajectory generated by the SC must satisfy are defined by the general update equation (2), for example, as expression (5) or (6), and by the constraints (7). The constraints of the property P define the control-invariant set 527 in some embodiments.
[0047] For example, one embodiment determines the control-invariant set as a region R of the combined space of SC trajectory states x r and vehicle states x, such that for all combinations of SC trajectory states and vehicle states in R, (x, x r) ∈ R, the constraints for the SC trajectory states and for the vehicle states are fulfilled, x ∈ X, x r ∈ X r , and for each combination of SC trajectory states and vehicle states in R, (x, x r ) ∈ R, there exists an input Δu ∈ U such that for all SC trajectory inputs u r ∈ U r , so that the next SC trajectory state in X r is the next vehicle state in X. The invention also determines a selection for X r , so that the region R is not empty. Starting from the region R, this invention determines a design for the VC in which values of the steering δ are determined for each trajectory that satisfies the property P such that the performance measure M is always achieved. Control-invariant set
[0048] In some embodiments, the control-invariant set R is determined with respect to the first model of the motion of the vehicle moving along the desired trajectory (5) and with respect to the second model of the motion of the vehicle moving under the influence of the VC control (10). The control-invariant set is a subset of the possible region defined by the states of the second model of the vehicle moving under the influence of the VC control that satisfy equation (12) and by the states of the first model of the vehicle moving along the desired trajectory that satisfy equations (7), where Δu ∈ U is considered the control input and u r ∈ U r is considered a disorder.
[0049] Fig. Figure 7 shows an example of a two-dimensional projection of the feasible region 710 defined by various constraints according to embodiments of the invention. For linear equations (5), (10) subject to linear constraints that define polyhedral sets in (7), (12), the feasible region is a multidimensional polytope in the space of the vehicle's states and the states of the desired trajectory, determined by hyperplanes represented by linear inequalities.
[0050] Due to the dynamic nature of the system, the mere fact that the states of the first model of the vehicle's motion and the second model of the vehicle's motion are in the possible range at a given time is no guarantee that they will be the same for every selection of u r ∈ U ralso be maintained within the possible range at the next time. For example, the states of the second model of the vehicle's movement and the first model of the vehicle's movement 720 may be possible for a single iteration, but all control actions 721-724 on the second model of the vehicle's movement during the next iteration may cause the second model of the vehicle's movement to be outside the possible range 510.
[0051] Some embodiments of the invention are based on a further implementation in which it is possible to select a subset 715 of the possible range such that, starting from any state of the vehicle within this subset, there is a control action that maintains the state of the second model of the vehicle's movement within the subset for all permissible future states of the first model of the vehicle's movement. For a state such as state 730, for example, within subset 715 and within all possible control actions 731-734 executable by the control unit, there is at least one control action 734 that maintains the state of the second model of the vehicle's movement and trajectory within subset 715.
[0052] Accordingly, if a control action is selected to control the operation such that the states of the second vehicle motion model and the first vehicle motion model remain within this particular subset 715 of the possible range, and the possible range is also generated according to equations (5), (7), there is a guarantee that the vehicle will follow the desired trajectory with the bounded error defined by the performance measure, and each future state of the vehicle will always allow at least one possible control action. In this case, the subset 715 is the control-invariant set used by some embodiments of the invention.The selection of the control action can be done, for example, by optimizing a cost function that represents the movement of the vehicle depending on constraints defined by the particular subset 715 of the possible region, as opposed to optimizing within the possible region 710 itself. The subset 715 referred to here is the control-invariant set that links states of the first model to states of the second model.
[0053] Fig. 8A shows a block diagram of a method 801 for controlling an operation of a vehicle according to some embodiments of the invention. The method can be executed by a processor 201 of the controller 102. The method determines 810 a possible range 710 of a state of the vehicle and a state of the desired trajectory, defined by constraints 804. In one implementation, the constraints 804 include constraints for the second model of the vehicle's motion and constraints for the first model of the vehicle's motion, as defined in equations (7), (12).Next, the method selects 820 the range R as a control-invariant set 815 as a subset of the possible range such that, starting from a state of the second model of the vehicle's motion lying within the subset, there is a control action that maintains the state of the second model of the vehicle's motion within the subset for a next state of the first model of the vehicle's motion and selects 830 a control action 840 to control operation such that the state of the vehicle remains within the subset. In one embodiment, selecting includes optimizing a cost function 835 representing the operation of the vehicle subject to constraints defined by the subset range 715. The cost function is iteratively optimized over a fixed time horizon to generate a current iteration command 840.
[0054] The optimization of step 830 can, for example, be formulated as an optimization problem that optimizes vehicle performance subject to constraints that include a combination of the future state of the second vehicle motion model and the first element from the sequence of states of the first model belonging to the control-invariant set. Examples of vehicle performance behavior include reducing the vehicle's lateral acceleration, reducing the vehicle's yaw rate, reducing the lateral offset from the desired trajectory, and reducing the steering wheel drive power. By solving the optimization problem, a command or command sequence for advantageously moving the vehicle can be generated.
[0055] In some embodiments, all steps of the method of Fig. 8A during vehicle operation. In alternative embodiments, steps 810, 820 are performed prior to vehicle operation, and the cost function 835 or other control action selection principles are determined prior to vehicle operation. Some operations may be performed either in a microprocessor or on a general computing device such as a desktop computer, laptop, or engineering workstation. The results of step 820 and the cost function 835 are programmed into the memory 202 of the microprocessor 201, and step 830 is the only step repeatedly executed during vehicle operation.
[0056] Fig. 8B shows a block diagram of a method 899 for selecting 830 the command 840 according to an embodiment of the invention. Such a method can be executed during vehicle operation. The method 899 selects 850 a possible command 855 that satisfies physical constraints on the movement of the vehicle defined by the possible range 810. The method estimates 860 a transition of the second vehicle motion model from a current state to a future state 865 according to the command and selects 870 the possible command 855 as the command 840 for controlling the vehicle if a combination of the future state of the second vehicle motion model and the first element from the sequence of states of the first vehicle motion model belongs to the control-invariant set 815. Otherwise, the method selects 880 a different possible command and repeats the estimating and selecting steps.
[0057] For example, the possible command 855 is a command 732 of Fig. 7. This command moves the state of the second model of the vehicle's movement out of the control-invariant set 732. For this purpose, the method 899 selects 880 a deviating command. For example, the deviating possible command may be selected to reduce a distance between the future state determined by the deviating possible command and the edge of the control-invariant set. The next deviating command may, for example, be command 733. Such a command also moves the state of the vehicle out of the control-invariant set 715, so the method 899 selects another deviating command until such a new command keeps the state of the second model of the vehicle's movement in the control-invariant set. An example of such a command is command 734. Determining the control-invariant set
[0058] Fig. 9 illustrates the principles behind the determination of the subset 715 used by some embodiments of the invention. For example, one embodiment determines the control-invariant set R as a subset 715 of the set of states for the second model of the vehicle's motion and the first model of the vehicle's motion according to equations (5), (10) depending on the constraints for disturbances u given by equations (7), (12). r ∈ U r the SC trajectory. The possible set 710 of the state of the second vehicle motion model and the state of the first vehicle motion model is Xf={(x,xr):x∈X,xr∈Xr}.
[0059] In this example, the state of the vehicle 902 and the state of the desired trajectory 903 define a point in (x,r) 901 in the possible range 710. Given the permissible set 904 of inputs for the state of the first model of the vehicle's movement Cur(xr)={ur:Arxr+Brur∈Xr} The future state of the second vehicle motion model and the future state of the first vehicle motion model can be located anywhere in the polyhedron 907 delimited by the segments 905, 906. The control unit can thus perform a control action such that the future state of the second model of the motion of the vehicle 902 remains in the segment 910, so that the combination of the future state of the second vehicle motion model and the future state of the first vehicle motion model remains in the polyhedron 907.
[0060] If the quantity C x,r907 is such that there is always a control action that keeps the state of the second model of the movement of the vehicle and the state of the first model of the movement of the vehicle 901 for the entire permissible value range of the next states of the first model of the movement of the vehicle 904 in the set 907 R={(x,r):∃Δu∈U,Ax+BΔu+DCrxr∈X,∀ur∈U,Arxr+Brur∈Xr}, so it is possible (Ax+BΔu+DCrxr∈X,Arxr+Brur)∈R , which ensures that the vehicle and performance constraints, such as tracking error bounds, are met. In particular, this procedure can be repeated in a subsequent step, as the update states lie further within R, which recursively guarantees the enforcement of the constraints.
[0061] Fig. Figure 10 shows a block diagram of a method for selecting the range R according to one embodiment by iteratively performing a calculation of a backward reachable set until an end condition is met. The calculation of the backward reachable set eliminates from the current possible range all states for which there is no control that keeps the state of the second model of the vehicle's motion within the possible range for all subsequent states of the first model of the vehicle's motion.
[0062] The calculation of the backward reachable set initializes 1001 in a step k = 0 a current possible set 1001 as a possible range 510, Ω0={(x,r)∈Xf} then determines 1002 a backward reachable set of the states of the second model of the movement of the vehicle and the first model of the movement of the vehicle with transition possibility to the current possible set for all values of the permissible reference input according to Ωk+1=Pre(Ωk,Cur(xr))∩Ωk, where: Pre(Ωk,Cur(xr))={(x,r):∃Δu∈U,(Ax+BΔu+DCrxr,Arxr+Brur)∈Ωk,∀ur∈Cur(xr)}
[0063] The calculation of equation (19) removes the states of the backward reachable set for which there is no control action that keeps the second model of the vehicle's motion and the first model of the vehicle's motion in the current possible set for all permissible values of the SC trajectory input.
[0064] In step 1003, the calculation checks whether the backward reachable set is equal to the current reachable set, i.e. Ω k+1 == Ω kIf 1004 is the backward reachable set, the control-invariant set 715 is reached, the computation ends and R = Ω k . In some embodiments, the test 1003 operates as the final condition, which describes that the backward reachable set is equal to the current possible set when a difference between the backward reachable set and the possible set is below a threshold.
[0065] Otherwise, the backward reachable set is used as the current possible set in the next iteration (k = k + 1) of the calculation. The calculation of the backward reachable set after Fig. 10 results in the largest existing robust control-invariant set. However, since the set of admissible trajectory inputs depends on the states of the target trajectory, the control-invariant set is in some cases not a single convex polyhedron, but a group of convex polyhedra, which makes the use of such a subset in a real-time control difficult. Furthermore, the calculation of the backward reachable set according to Fig. 10 computationally intensive and can take a considerable amount of time, for example days or even months.
[0066] Fig. Figure 11 shows a block diagram of an alternative method that determines the control-invariant set R, which is slightly smaller than the largest control-invariant set of Fig. 10, but a single convex polyhedron. The method of Fig. 11 is also much faster and can determine the control-invariant set within minutes and / or hours, for example.
[0067] The method first determines 1100 a feasible set of possible future states of the first model according to constraints for the first model that includes the first constraint. The feasible set can be determined, for example, from equation (5), satisfying equation (7), which in turn has invariance for equations (5), (7). C*={xr:∃ur∈Ur,Arxr+Brur∈C*} and the corresponding set of inputs dependent on the state of the first model that keep the state of the trajectory in this set: Cur∗(xr)={ur:Arxr+Brur∈C*}
[0068] Then the initialization 1101 of the method follows by calculating a first set of possible states of the first model and possible states of the second model, for example according to Ω¯0={(x,xr):x∈X,xr∈Xr} and by calculating a second set formed by an intersection of the first set with the admissible set, for example according to Ω0=Ω¯0∩(ℝn×Cd∗).
[0069] Then follows the iteration 1108 of the method, where in a current iteration a third set is calculated by backward reachability calculation of the first set 1102, while only the first constraint is taken into account, ie other constraints are ignored Ω˜k+1={(x,xr):∃Δu∈U,(Ax+BΔu+DCrxr,Arxr+Brur)∈Ω¯k,∀ur∈Ur}.
[0070] The procedure then updates 1103 the first set to an intersection of the first set and the third set Ω¯k+1=Ω¯k+1∩Ω¯k and updates 1104 the second set to an intersection of the updated first set and the feasible set Ωk+1=Ω¯k+1∩(ℝn×Cd*).
[0071] The intersection of the current second set and a vehicle-independent feasible trajectory set is defined as a complete space in the x-related dimensions and as the largest set of trajectory states in the x r -associated dimensions.
[0072] The procedure determines 1105 the control-invariant set R = Ω k as an updated second set if a difference 1106 between the updated second set and the second set updated in a previous iteration falls below a threshold, for example Ωk+1=Ωk.
[0073] Otherwise, the iterations continue. At completion, R is represented as a single convex polyhedron in the space of states of the second model of the motion of the vehicle x and states of the first model of the motion of the vehicle x r shown. R={(x,xr): HxRx+HrRxr≤KR}
[0074] Fig. 12 shows an effect of the method of Fig. 11 in relation to the procedure of Fig. 10. Since the dependence of the trajectory input u r from the state of the first model of the movement of the vehicle x r is ignored in certain parts of the calculations, the method used by Fig. 11 is less than the quantity 1201 determined by the method of Fig. 10, but the subset 1201 is a single convex polyhedron, while the subset 1202 has a larger convex polyhedron 1203 and several smaller convex polyhedra 1204 at the edges, the union of which is not convex. Determining the property of the target trajectory
[0075] If the results obtained with the procedures described by Fig. 10 or Fig. 11 is an empty set, then it is not possible to achieve the performance measure M for all trajectories satisfying the property P, where M is represented by the constraints (12) and P is represented by equation (5) and the constraints (7). For this purpose, some embodiments update the property P or the performance measure M, or their combination. For example, one embodiment determines the largest value of the first constraint that allows for a non-empty control-invariant set. Another embodiment balances the value of the first constraint with the size of the control-invariant set, for example, reducing the value of the first constraint while increasing the size of the control-invariant set.
[0076] Some embodiments are based on the insight that the control-invariant set R can be used to determine the property P and / or the performance measure M. For example, it is possible to xr∈σ1Xr, ur∈σ2Ur where σ1 and σ2 are two non-negative scaling coefficients. Then, one can search for the values of σ1 and σ2 that provide a non-empty region R and optimize a cost function dependent on σ1 and σ2 maxσ1,σ2 J(σ1,σ2) maxσ1,σ2 J(σ1,σ2)
[0077] An example of the cost function can be the weighted value of the scaling components that approximate the range of states and inputs of the SC trajectory that satisfy (7) J(σ1,σ2)=w1σ1+ω2σ2
[0078] In particular, in the case where equation (5) is described by equation (6) and the constraints in (7) are described by (8), an embodiment can set the yaw rate constraints (8a) based on the permissible maximum yaw rate that the vehicle can reach according to (10), (12) and determine the maximum yaw acceleration imposed by the trajectory (8b) by solving maxσ2 σ2 st ω˙rmin=−ω˙rmin=σ2ω˙rv R≠0 determine, which results in the property P as the largest class of trajectories with limited yaw rate according to (8a) for which the vehicle modeled as (10) can satisfy the performance measure M modeled by (12).
[0079] A similar operation can be performed by leaving equation (7) unchanged and changing equation (12) to x∈σ1X, Δu∈σ2U and solving minσ1,σ2 J(σ1,σ2) if R≠0, where, for example, the cost function J is as in (30) to determine the optimal performance measure M that can be achieved for trajectories within P. Designing the vehicle control system according to trajectory properties and performance measures
[0080] After determining the control-invariant set R, some embodiments determine that the VC function that satisfies M for a trajectory in P. Starting from the control-invariant set R for any given vehicle state x and trajectory state x r is, for example, the set of inputs that can be applied to guarantee, for all future times M for any trajectory that satisfies P, Ru(x,xr)={Δu∈U:(Ax+BΔu+DCrxr,Arxr+Bur)∈R, ∀ur∈Ur,Arxr+Brur∈Xr}
[0081] The vehicle control system can be designed to use a steering increment Δu as Δu∈Ru(x,xr) and the steering command as δ(k)=δ(k−1)+Δu(k) certainly.
[0082] The vehicle control system can in particular be designed to select the steering increment Δu that minimizes a specific performance target, such as minΔu J(Δu,x,xr) st Δu∈Ru(x,xr), where, for example, J is a quadratic function of the next state of the second model of the vehicle's motion and the control effort, J(u,x,xr)=(Ax+BΔu+DCrxr)'W1(Ax+BΔu+DCrxr)+Δu'W2Δu, where W1, W2 are matrix weights.
[0083] In some embodiments, the SC generates a time-ahead trajectory for some steps and thus the VC can optimize the control action not only for the current steps, but also for N>1 future steps by solving min{Δu(h)}h=kk+N−1s.t. J({Δu(h)}h=kk+N−1,{x(h)}h=kk+N,{xr(h)}h=kk+N)x(k+h+1)=Ax(k+h)+BΔ u(k+h)+DCrxr(k)(x(k+h+1),xr(k+h1))∈R,Δu(k+h),xr(k+h)∈R,h=0,...N−1 where, for example, J({Δu(h)}h=kk+N−1,{x(h)}h=kk+N,{xr(h)}h=kk+N)=∑h=kk+N−1x(h))'W1x(h)+Δu(h)'W2Δu(h) or J({Δu(h)}h=kk+N−1,{x(h)}h=kk+N,{xr(h)}h=kk+N)=∑h=kk+N−1(Ax(h)+BΔu(h)+DCxr(h))'W1(Ax(h)+BΔu(h)+DCxr(h))+Δu'W2Δu and the constraint (x(k+h+1),xr(k+h+1))∈R,h=0,...N−1 ensures that the performance measure M is satisfied for all future times given a P-compliant trajectory. The control actions determined by solving (14) can be applied in whole or in part until the VC has to recalculate the control actions, so that the VC operates with a receding horizon.
[0084] Fig. Figure 13 shows a block diagram of a VC control method according to an embodiment in which the system operates with such a horizon shift. At each control cycle, the vehicle state and the SC trajectory along a future prediction horizon of length N are acquired 1301 by the VC, and the control problem (39) is solved 1302. The first element of the resulting input sequence solution Δu(k) is used 1303 to calculate the steering command δ(κ), which is transmitted 1304 to the AC for application to the vehicle. The VC then waits 1305 for the next control cycle, during which the sequence is repeated. Command calculation
[0085] The calculation of the control command by the VC can be performed in several ways. Using equation (35), a simple search can be performed, which involves a random selection of Δu followed by a check of the satisfaction of equation (35) and, in case of a negative answer, a repetition of the process until the Δu satisfying equation (35) is selected. For the cases where a cost function is optimized, such as (37), (39), since the equations in (5), (10) are linear, for the case where equations (7), (12) are determined by linear constraints and are thus convex polyhedra, the search obtained by the method in Fig. 11, R is also a convex polyhedron, and thus equations (37), (39) can be solved by calculating the solution of a convex quadratic program restricted by constraints minΔU ΔU'QpΔU+F'ΔU st GpΔU≤Kp, where matrices Q p, G p and vectors F p , K p can be constructed using equations (5), (7), (10), (12), (27b). One implementation formulates equations (37), (39) as a convex quadratic program (43), since the resulting from the method of Fig. 11 resulting region R is the convex polyhedron (27b). Using the method in Figure (10), for example, it is difficult to formulate equations (37), (39) as a convex quadratic program (43).
[0086] The above-described embodiments of the present invention may be implemented in various ways. For example, the embodiments may be implemented using hardware, software, or a combination thereof. When implemented in software, the software code may be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed across multiple computers. These processors may be implemented as integrated circuits (ICs) with one or more processors in an integrated circuit component. However, a processor may be implemented using circuitry in any suitable format.
[0087] Where ordinal numbers such as "first" or "second" are used in the claims to modify a claim element, this does not imply any priority, prioritization, or order of one claim element over any other claim element or over the chronological order of performance of the acts of a method, but is used only as a designation to distinguish one claim element of a particular name from another element of the same name (except for the use of the ordinal number), and so to distinguish the claim elements.
Claims
[1] A method for controlling a vehicle (101), comprising: Selecting (510) a first model (515) of movement of vehicle (101) and a second model (517) of the movement of the vehicle (101) from a memory (202), wherein an order of the second model (517) is higher than an order of the first model (515), wherein the order of a model is a number of state variables in the model; Selecting (520) a first constraint (525) for the first model (515) of the movement of the vehicle (101) for movement on a desired trajectory (535) of the vehicle (101) from the memory (202), and selecting (520) a control-invariant set (527) that links states of the first model (515) with states of the second model (517), wherein for each combination of the states within the control-invariant subset there is at least one control action on the second model (517) that keeps the state of the second model (517) within the control-invariant set (527) for each change in the state of the first model (515) that satisfies the first constraint (525); Determining (530) a part of the target trajectory (535) using the first model (515) such that the first constraint (525) is satisfied; Determining (540) a sequence of commands (545) for moving the vehicle (101) along the part of the desired trajectory (535) using the second model (517), such that the sequence of commands (545) keeps the sequence of states of the second model (517) and a sequence of states of the first model (515) determined by the part of the desired trajectory (535) within the control-invariant subset; and Controlling (550) the vehicle (101) using at least one command (545) from the sequence of commands (545), wherein the steps of the method are carried out using a processor (201) operatively connected to the memory (202); characterized by Determining a feasible set of states of the first model (515) possible in a future according to constraints for the first model (515) containing the first constraint (525); iteratively determining the control-invariant set (527) starting from initial values of a first set of possible states of the first model (515) and possible states of the second model (517) and a second set formed by an intersection of the first set with the admissible set, wherein a current iteration comprises: Constructing a third set by backwardly calculating the first set taking only the first constraint into account (525); Updating the first set to an intersection of the first set and the third set; Updating the second set to an intersection of the updated first set and the feasible set; and determining the control-invariant set (527) as the updated second set if a difference between the updated second set and the second set updated during a previous iteration falls below a threshold. [2] The method of claim 1, further comprising: iteratively determining the control-invariant subset using a backward-reachable-set computation starting from a possible set, where each iteration comprises: Determining the backwardly reachable set such that for each state within the backwardly reachable set there is at least one control action that keeps the state of the second model (517) within the possible set for each change in the state of the first model (515) that satisfies the first constraint (525); and Replacing the feasible set with the backward reachable set, iterating until a termination condition is met. [3] The method of claim 2, wherein the termination condition specifies that a difference between the backward reachable set and the possible set is below a threshold. [4] A method for controlling a vehicle (101), comprising: Selecting (510) a first model (515) of movement of vehicle (101) and a second model (517) of the movement of the vehicle (101) from a memory (202), wherein an order of the second model (517) is higher than an order of the first model (515), wherein the order of a model is a number of state variables in the model; Selecting (520) a first constraint (525) for the first model (515) of the movement of the vehicle (101) for movement on a desired trajectory (535) of the vehicle (101) from the memory (202), and selecting (520) a control-invariant set (527) that links states of the first model (515) with states of the second model (517), wherein for each combination of the states within the control-invariant subset there is at least one control action on the second model (517) that keeps the state of the second model (517) within the control-invariant set (527) for each change in the state of the first model (515) that satisfies the first constraint (525); Determining (530) a part of the target trajectory (535) using the first model (515) such that the first constraint (525) is satisfied; Determining (540) a sequence of commands (545) for moving the vehicle (101) along the part of the desired trajectory (535) using the second model (517), such that the sequence of commands (545) keeps the sequence of states of the second model (517) and a sequence of states of the first model (515) determined by the part of the desired trajectory (535) within the control-invariant subset; and Controlling (550) the vehicle (101) using at least one command (545) from the sequence of commands (545), wherein the steps of the method are carried out using a processor (201) operatively connected to the memory (202); characterized by Selecting (850) a possible command (855) that satisfies physical constraints for the movement of the vehicle (101); Estimating (860) a transition of the vehicle (101) from a current state to a future state according to the command (855); and Selecting (870) the possible command (855) as the command for controlling the vehicle (101) if a combination of the future state (865) of the vehicle (101) and the first element from the sequence of states of the first model (515) belongs to the control-invariant set (527); and otherwise Selecting (880) a different possible command and repeating the steps of estimating and selecting (850, 860). [5] The method of claim 4, wherein the different possible instruction is selected to reduce a distance between the future state determined by the different possible instruction and the boundary of the control-invariant set (527). [6] A method according to any one of claims 1 to 5, further comprising: Formulating an optimization problem that optimizes a performance of the vehicle (101) subject to constraints that include a combination of the future state of the vehicle (101) and the first element from the sequence of states of the first model (515) belonging to the control-invariant set (527); and Selecting the sequence of commands for moving the vehicle (101) by solving the optimization problem. [7] The method of claim 6, wherein the performance of the vehicle (101) is one or a combination of reducing lateral acceleration of the vehicle (101), reducing yaw rate of the vehicle (101), reducing lateral offset from the desired trajectory (535), and reducing steering wheel drive power. [8] The method of any one of claims 1 to 7, wherein the first constraint (525) does not restrict one of state variables of the first model (515). [9] Method according to one of claims 1 to 8, wherein the first constraint (525) determines transitions between the states of the first model (515). [10] Method according to one of claims 1 to 9, wherein the first constraint (525) comprises one or a combination of a constraint for a change in a curvature of the desired trajectory (535) and a constraint for a change in a yaw rate of the transition of the first model (515) along the desired trajectory (535). [11] A method according to any one of claims 1 to 10, further comprising: Determine the largest value of the first constraint (525) that allows a non-empty control-invariant set. [12] The method of claim 11, further comprising: Reducing the value of the first constraint (525) while increasing the size of the control-invariant set (527). [13] Control device for controlling a vehicle (101), comprising: a memory (202) for storing a first model (515) of movement of the vehicle (101), for storing a second model (517) of the movement of the vehicle (101), wherein an order of the second model (517) is higher than an order of the first model (515), wherein the order of a model is a number of state variables in the model, for storing a first constraint (525) for the first model (515) for moving along the desired trajectory (535) of the vehicle (101), and for storing a control-invariant set (527) that links states of the first model (515) to states of the second model (517), wherein for each combination of the states within the control-invariant subset there is at least one control action on the second model (517) that, for each change in the state of the first model (515) that satisfies the first constraint (525), changes the state of the second model (517) within the control-invariant set (527); a monitoring control device (301) for determining a part of the target trajectory (535) satisfying the first constraint (525) using the first model (515); a vehicle control unit (302) for carrying out the method according to one of claims 1 to 12; and an actuator control device (303) for controlling the vehicle (101) using at least one command from the sequence of commands. [14] Non-volatile computer-readable memory (202) embodying a program executable by a processor (201) for carrying out the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Method for determining a vehicle trajectory along a reference curve
DE102015221626A1
Cited By
Estimating speed profiles
US12709270B2