CONTROL DEVICE FOR A VEHICLE
The control device addresses scalability and processing load issues in autonomous vehicles by managing state variables through a transition process and intermediate control model, enabling smooth task switching and reducing load.
Patent Information
- Application Number
- DE102022207763
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-09-28
- Filing Date
- 2022-07-28
- Publication Date
- 2025-07-17
- Estimated Expiration
- 2042-07-28
AI Technical Summary
Existing vehicle control systems face challenges in scalability and increased processing load when adding new tasks, particularly in autonomous driving vehicles, due to the need for reconstructing the entire control system and managing a large number of state variables, which can lead to potential collisions during task switching.
A control device that manages state variables within allowable ranges by executing a transition process to ensure they are within predetermined limits before switching tasks, using an intermediate control model that expands the state space temporarily to accommodate both tasks, thereby reducing processing load.
Enables smooth task switching in vehicles by maintaining state variables within allowable ranges, reducing processing load, and ensuring scalability without increasing the overall control system complexity.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND OF THE INVENTIONField of the invention
[0001] The present disclosure relates to a control device for a vehicle. Description of the state of the art
[0002] When controlling the movement of a vehicle, it is necessary to cause the vehicle to perform tasks sequentially, switching between tasks to achieve a goal, such as "reaching a destination." When the vehicle is an autonomous vehicle, the tasks described above may include, for example, "driving straight," "changing lanes," and the like. Accordingly, it is necessary to construct a control system that can perform a variety of tasks in a control device for a vehicle.
[0003] It is also conceivable to construct a giant control system that encompasses all the tasks to be performed by the vehicle, such as the control system. However, when constructing such a control system, the entire control system must be reconstructed whenever a new task is added, and low scalability becomes a problem. Furthermore, since the number of state variables used in the control becomes very large, the processing load of the control device may increase.
[0004] As a method for solving the above-mentioned problems, JP 2020-175886 A describes a method for modularizing the processing content of a task to be individually executed as the control system for each task, and selecting and executing the module corresponding to the task. JP 2020-529664 A describes a method for preparing a plurality of sub-controllers for task execution in advance and activating and operating the sub-controller selected according to the type of task, and the like.
[0005] If the control system is configured to switch depending on the task to be executed, it becomes easy to add a new task, and therefore the scalability problem described above can be solved. Since the control system can be as small as necessary to execute the corresponding task, the processing load of the control device can also be reduced.
[0006] However, depending on the vehicle's environment and the task conditions, switching the control system may be difficult. For example, if the task to be performed by the autonomous vehicle is switched from "straight ahead" to "lane change," if the lane change is initiated immediately, a collision between the vehicles may occur depending on the position of another vehicle traveling in the target lane.
[0007] It is also conceivable to construct a control system that includes both "straight-ahead driving" and "lane change" to avoid this problem. However, in this case, the number of control systems to be prepared in advance becomes very large, and the processing load of the control device also increases.
[0008] US 10 860 023 B2 describes controlling a vehicle by generating a sequence of intermediate goals, including specific goals, additional specific goals, and optional goals, from a travel route for a prediction horizon. The feasibility of each intermediate goal is tested using a first motion model of the vehicle and a first motion model of the traffic, by reaching the intermediate goal by satisfying the traffic conditions and movement capabilities of the vehicle. After reaching the IG, a next goal of the specific goals and the additional specific goals can also be reached.Using a second vehicle motion model and a second traffic motion model, a trajectory is calculated for each possible intermediate destination, and each calculated trajectory is compared using a numerical value determined by a cost function, and the satisfaction of the constraints on the vehicle's motion and the vehicle's interaction with the road and traffic is determined.
[0009] The object of the present disclosure is to provide a control device that can reduce an increase in processing load while enabling a smooth switching of a task to be performed by a vehicle. SUMMARY OF THE INVENTION
[0010] This object is achieved by a control device according to patent claim 1.
[0011] The permissible ranges within which the value of the "shared state variable" described above should be maintained differ between the execution time of the first task and the execution time of the second task. Consequently, it is conceivable that the value of the state variable, which is within the permissible range at the execution time of the first task, may be outside the permissible range when switching to the second task.
[0012] However, in the control device of the above-described configuration, the value of a "commonly included state variable" is brought within the predetermined range permitted at the time of execution of the second task by executing the transition process. Since switching to the second task occurs after such a state is established, none of the state variables are outside the permissible range when switching the task. This makes it possible to smoothly perform the switching of the task to be executed by the vehicle.
[0013] At the time of execution of the transition process, the number of state variables included in the control model may increase. However, since the increase in state variables or the like is only temporary, the processing load on the control device is suppressed on average.
[0014] According to the present disclosure, a control device is provided that can suppress an increase in processing load while enabling a smooth switching of the task to be performed by the vehicle. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram schematically showing a configuration of a control device according to a present embodiment as a block diagram; Fig. 2 is a diagram explaining the switching of a state space; Fig. 3 is a diagram explaining the switching of a state space; and Fig. 4 is a flowchart showing a flow of processes executed by the control device according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0015] The present embodiment will be described below with reference to the accompanying drawings. To facilitate understanding of the explanation, the same components in the respective drawings are denoted by the same reference numerals as far as possible, and redundant explanations are omitted.
[0016] A control device 10 according to the present embodiment is configured as a device for controlling an operation of a vehicle. As a vehicle that is an object to be controlled, for example, a vehicle traveling on a road, a drone flying in the air, and the like can be cited. A case where the vehicle is an autonomous driving vehicle will be described below, but a type of vehicle that is the object to be controlled is not particularly limited.
[0017] Fig. 1 is a diagram schematically showing the configuration of the control device 10 as a block diagram. In Fig. 1 also shows blocks representing a vehicle 20, which is an object to be controlled, and the like. The vehicle 20 is a vehicle configured as an autonomously driving vehicle capable of driving autonomously without being dependent on driver operation. The control device 10 is responsible for all driving operations necessary to make the vehicle 20 drive, but may also be responsible for only some of the necessary driving operations.
[0018] The control device 10 according to the present embodiment is configured as a computer system including a CPU, a ROM, a RAM, and the like, and the entire control device 10 is mounted on the vehicle 20. However, the configuration of the control device 10 is not limited to such a configuration. For example, a function of the control device 10 described below can be realized by a plurality of computer systems performing interactive communication with each other. Further, all or some of the functions of the control device 10 can be configured to be realized by a cloud server installed at a location other than that of the vehicle 20.
[0019] As in Fig. 1, the control device 10 includes a common control unit 100, a task module unit 120, a control execution unit 130, a storage unit 140, an environment understanding unit 150, and a self-position estimation unit 160 as functional blocks.
[0020] The common control unit 100 is a unit that jointly controls an entire process performed by the control device 10 and functions as a so-called "supervisor." The common control unit 100 sets a target to be achieved by the vehicle 20 according to a request or the like input from, for example, a passenger, and sets a plurality of tasks that should be executed sequentially to achieve the target.
[0021] In the above description, an "input request" is, for example, a destination of the vehicle 20. In this case, the "goal achieved by the vehicle 20" is to cause the vehicle 20 to reach the destination. Furthermore, "a variety of tasks that should be performed sequentially to achieve the destination" includes, for example, driving straight, changing lanes, and the like.
[0022] In an example in Fig. 1, a route plan generation unit 111 and a lane plan generation unit 112 are provided as blocks accompanying the common control unit 100. The route plan generation unit 111 is a unit that generates a route plan, which is a plan indicating which route the vehicle 20 should take to travel from a current location to a destination, according to the destination specified by the passenger. The route plan generation unit 111 generates a route plan according to a request from the common control unit 100.
[0023] The route layer created in the route planning creation unit 111 is transmitted to the lane plan creation unit 112. The lane plan creation unit 112 is a unit that creates a lane plan, which is a plan indicating which lane (traffic lane) the vehicle 20 should travel in each part of the route specified in the route plan. The created lane plan is transmitted to the common control unit 100.
[0024] The common control unit 100 realizes the travel of the vehicle 20 along the above lane plan by, for example, causing the vehicle 20 to execute necessary tasks sequentially while switching the necessary tasks. The common control unit 100 transmits action instructions to corresponding units of the task module unit 120, which are described below, and thereby causes the corresponding units to execute corresponding tasks.
[0025] The task module unit 120 is a unit that causes the vehicle 20 to execute tasks based on the above-described action instructions transmitted from the common control unit 100. In the present embodiment, the processes required to execute the tasks are divided and modularized for each of the tasks, and the task module unit 120 is a collection of the modules. Fig. 1, the reference numerals "121" to "125" are assigned to the respective blocks that represent the modules. For example, a block with the reference numeral "121" stands for a module that causes the vehicle 20 to execute the task "drive straight." A block with the reference numeral "122" stands for a module that causes the vehicle 20 to execute the task "change lane." The task module unit 120 has many modules, as described above, but in Fig. 1 shows only some of the modules.
[0026] For example, when the vehicle 20 is instructed to execute the "lane change" task sequentially after the "straight ahead" task, the common control unit 100 first sends an action command to the block designated by reference numeral "121" and instructs the vehicle 20 to execute the "straight ahead" task through the block. Next, the common control unit 100 transmits an action command to the block designated by reference numeral "122" and instructs the vehicle 20 to execute the "lane change" task through the block.
[0027] The control execution unit 130 is a unit that executes the control required to cause the vehicle 20 to execute the task, specifically, the model prediction control. The respective blocks of the task module unit 120 input control conditions required to execute the corresponding tasks to the control execution unit 130. The control conditions include routes on which the vehicle 20 is to travel, a speed range that the vehicle 20 is to maintain, a positional relationship with the other vehicles, and the like. The control execution unit 130 generates a control model that formulates a task and executes model prediction control using the control model, so that control corresponding to the input control conditions is performed.As described later, the control model includes state equations about the state of the vehicle 20 and its environment, an evaluation function for selecting an optimal operation scope, and the like.
[0028] The control execution unit 130 includes a model generation unit 131 and a task processing unit 132. The model generation unit 131 is a unit that performs a process of generating the control model that formulates the task to be executed by the vehicle 20. The task processing unit 132 is a unit that performs model prediction control using the control model generated by the model generation unit 131, thereby performing the process of causing the vehicle 20 to execute the task. Specific contents of the processes executed in each of the model generation unit 131 and the task processing unit 132 will be described later.
[0029] In Fig. 1, a block designated by reference numeral "40" represents an interface for notifying the passenger of the vehicle 20 of information. For example, a touch panel or the like installed in a vehicle cabin can be used as such an interface. Through the interface, the control device 10 can inform the passenger of a driving situation, a driving route, and the like of the vehicle 20. The information about which the passenger is notified can be processed by the control execution unit 130, as shown in Fig. 1, but may also be transmitted by a unit other than the control execution unit 130.
[0030] The storage unit 140 is a non-volatile storage device provided in the control device 10 and is, for example, an HDD or SSD. The storage unit 140 contains three databases consisting of a model pool 141, an evaluation function pool 142, and a constraint pool 143.
[0031] The model pool 141 is a database in which a plurality of model elements used when the model generation unit 131 generates a control model are stored. The evaluation function pool 142 is a database in which a plurality of evaluation functions used at the time of model prediction control execution are stored. The constraint pool 143 is a database in which a plurality of constraints at the time of model prediction control execution are stored. The information stored in each of the databases is read by the model generation unit 131 as needed and used as an element for generating the control model. Information other than that described above can also be stored in the storage unit 140.
[0032] A block that Fig. 1, designated by reference numeral "30," simply represents an environment (situation) that changes moment by moment during the travel of the vehicle 20. This block will also be referred to as "environment 30" hereinafter. The information indicating the environment 30 is measured by various sensors, such as cameras and radar devices, mounted on the vehicle 20 and input to the control device 10 as information required for control, for example. Part of the information indicating the environment 30 may be acquired from surrounding vehicles through vehicle-to-vehicle communication or from infrastructure installed in the road through communication.
[0033] The environment understanding unit 150 is a unit that receives input of the above-described information indicative of the environment 30. The environment understanding unit 150 acquires various states in the vehicle 20 and the surrounding environment by properly processing the information. Some of the "states" acquired by the environment understanding unit 150 are input to the control execution unit 130 and supplied to the model prediction control executed by the task processing unit 132. Further, information indicative of some of the "states" acquired by the environment understanding unit 150 is also input to the self-position estimation unit 160.
[0034] The self-position estimation unit 160 is a unit that estimates a current traveling position of the vehicle 20 based on the information input from the environment understanding unit 150. The traveling position estimated by the self-position estimation unit 160 is input to the common control unit 100. This allows the common control unit 100 to properly perform a process (specifically, task switching) required to cause the vehicle 20 to reach a destination while detecting the current traveling position of the vehicle 20.
[0035] A specific process executed by the control device 10 will be described. An example of the case where the vehicle 20 is caused to execute "straight-ahead driving" and "lane change" in the order will be described below. The "straight-ahead driving" task executed first will be referred to as the "first task" hereinafter, and the "lane change" task executed subsequently will be referred to as the "second task" hereinafter. A combination of the first task and the second task may be different from the above.
[0036] When the vehicle 20 is instructed to perform one of the tasks, the model generation unit 131 generates the control model that formalizes the task in advance. The control model includes a state equation, for example, as shown in Expression (1) below. [Expression 1] x˙=f(x,u)
[0037] In equation (1), "x" is a state vector with a plurality of state variables as elements. The type and number of state variables contained in "x" are determined according to the task. In this example, at the execution time of the first task, a state equation is formulated in which x v1 , as shown in equation (2) below, is a state vector. At an execution time of the second task, a state equation is formulated in which x v2 , as shown in equation (2), is the state vector. [Expression 2] xV1=[x1x2x3x4] , xV2=[x1x2x5x6]
[0038] In this example, x v1 a state vector with four state variables consisting of the elements x1, x2, x3 and x4. A state space expressed as a region in which x v1can change, ie a state space of the control model used at the execution time of the first task, is also referred to as “first state space” in the following.
[0039] In this example, x v2 a state vector with four state variables consisting of x1, x2, x3 and x6 as elements. The state space, which is expressed as a region in which x v2 can change, ie a state space of the control model used at the execution time of the second task, is also referred to as “second state space” in the following.
[0040] Each of the state variables such as x1 and x2 is a parameter that expresses a state that should be considered at the time of execution of the model prediction control. When the vehicle that is an object to be controlled is the vehicle 20 as in the present embodiment, the state variables may include, for example, a following distance from another preceding vehicle, a distance along a lateral direction to a white line indicating a lane boundary, a position of another vehicle traveling in an adjacent lane, and the like.
[0041] The number of elements of x v1 and the number of elements of x v2 are each greater than four, but for simplicity, an example is described for the case where each of the numbers of elements is four as above.
[0042] In equation (1), "f" on the right side is a function indicating a relationship between "x," the state vector, and "u," representing an operation amount. When the vehicle that is an object to be controlled is the vehicle 20 as in the present embodiment, the operation amount "u" may include, for example, a steering angle, an accelerator opening degree, and the like. "u" is a scaler, but may also be a vector.
[0043] When the vehicle 20 is caused to execute a task, the task processing unit 132 predicts a change in the state vector "x" corresponding to the operation amount "u" using the state equation of Equation (1). An evaluation value is calculated using an evaluation function with respect to the obtained change in the state vector "x". The task processing unit 132 calculates the change in the state vector and the evaluation value thereof with respect to each of the plurality of operation amounts "u" and takes the operation amount "u" that makes the evaluation value the smallest as an actual operation amount. The task processing unit 132 causes the vehicle 20 to execute the task while executing the control of repeating the above process in each control period, that is, the model prediction control.
[0044] With reference to Fig. 2 describes the control that is executed at a time when switching from the first task to the second task. Fig. 2 shown axis X A is an axis that specifies a state space expressed by state variables that can only be expressed in x v1 of x v1 and x v2 are included, ie two state variables of x3 and x4. Note that X A is actually a two-dimensional state space, but in Fig. 2 is schematically represented as a uniaxial state space.
[0045] One in Fig. 2 shown axis X B is an axis that specifies a state space expressed by state variables that can only be expressed in x v2 of x v1 and x v2 are included, ie two state variables of x5 and x6. Note that X B is actually a two-dimensional state space, but in Fig. 2 is schematically represented as a uniaxial state space.
[0046] One in Fig. 2 shown axis X C is an axis that indicates a state space expressed by state variables that are present in both x v1 as well as in x v2 are included, ie two state variables of x1 and x2. Note that X C is actually a two-dimensional state space, but in Fig. 2 is schematically represented as a uniaxial state space. Since the first task and the second task are executed sequentially, the common state variables always exist in both tasks.
[0047] In Fig. 2, the first state space (x1, x2, x3, x4) described above is represented by an X A -X C -plane. Likewise, the second state space (x1, x2, x5, x6) described above is expressed by an X B -X C -level.
[0048] During the execution time of the first task, the respective state variables in the state vector x v1 are included, along the plane X A -X C , which represents the first state space. A thick line with the reference symbol “SP1” in Fig. 2 illustrates a range that is permissible in the first state space with respect to the respective state variables that change during the execution time of the first task. A range within the range in the first state space is also referred to as "permissible range SP1" hereinafter. When the vehicle 20 is caused to execute the first task, the model generation unit 131 formulates a predetermined constraint such that the state vector x v1 does not deviate from the permissible range SP1, and includes this in the control model with the state equation of expression (1). This changes the state vector x v1 along the X A -XC -level within the Fig. 2 when the task processing unit 132 causes the execution of the first task using the control model.
[0049] During the execution time of the second task, the respective state variables contained in the state vector x v2 are included, along the plane X B -X C , which represents the second state space. A thick line drawn in Fig. 2, denoted by the reference symbol "SP2," represents a range that is permissible in the second state space with respect to the respective state variables that change during the execution time of the second task. A range within the range in the second state space is also referred to below as "permissible range SP2." When the vehicle 20 is caused to execute the second task, the model generation unit 131 formulates a predetermined constraint such that the state vector x v2 does not deviate from the permissible range SP2, and includes this in the control model by adding it to the state equation of equation (1). This changes the state vector x v2 along the X B -X C -level within the Fig. 2 when the task processing unit 132 causes the execution of the second task using the control model.
[0050] When either the first task or the second task is executed, x1 and x2, which are the state variables along the X axis C are used in model prediction control. However, as is obvious when comparing the allowable range SP1 and the allowable range SP2, the allowable range for x1 and the like in the execution time of the first task and the allowable range for x1 and the like in the execution time of the second task are different from each other. For example, if x1 is the state variable indicating the position of another vehicle traveling in the adjacent lane, the allowable range of x1 becomes relatively large in the execution time of the first task, which is "travel straight," while the allowable range of x1 becomes relatively small in the execution time of the second task, which is "change lanes" (for the purpose of avoiding a collision).
[0051] In Fig. 2, “BD” represents an upper limit along the X axis C in the permissible range SP2. Such an upper limit is actually set for each x1 and x2 individually, but in Fig. For simplicity, BD is shown in Figure 2 as the common upper limit of x1 and x2.
[0052] One in Fig. State ST1 shown in Figure 2 represents a state within the feasible region SP1 of the first state space and a state located on the upper side of BD. When the first task is executed in state ST1, the state variables x1 and x2 are in a state deviating from the feasible region SP2 at this time. If the task is switched and the execution of the second task begins immediately, there is a possibility that an adverse event may occur, such as a collision with another vehicle.
[0053] Therefore, the task processing unit 132 of the control device 10 according to the present embodiment is configured to execute a transition process, which is a process to change values of the state variables (ie, state variables x1 and x2 on the X axis) C ) which are commonly included in both the first state space and the second state space, within a predetermined range (ie, within the allowable range SP2 on the lower side of BD) allowed in the execution time of the second task, and thereafter start to cause the vehicle 20 to execute the second task.
[0054] Here, a state space containing both the first state space and the second state space, that is, the state space with six state variables consisting of x1, x2, x3, x4, x5, and x6 as elements, is also referred to as the “third state space.” If a state vector changing in the third state space is “x v3 “ is, x v3 as expressed in equation (3) below. [Expression 3] xV3=[x1x2x3x4x5x6]
[0055] In Fig. 2, a region designated by the reference symbol "SP32" represents a region in which elements such as x1 lie in both the permissible region SP1 and the permissible region SP2 in the third state space described above. Such a region of the third state space is also referred to below as "permissible region SP32." When the transition process described above is executed, the state vectors indicating the states of the vehicle 20 and its surroundings change from state ST1 to a state ST3 in Fig. 2. Since state ST3 lies within the permissible range SP32, state ST3 is on a lower side of BD than described above. Thus, state variables x1 and x2 fall on the X axis. C by executing the transition process into the admissible region SP2.
[0056] After the transition process is executed, thereby bringing the state to state ST3, none of the state variables deviates from the permissible range SP2 even if the vehicle 20 is caused to begin execution of the second task. Accordingly, the transition to the second task is performed smoothly and safely. After that, the state of the vehicle 20 and the like enters state ST2 at level X. A -X C (i.e. the second state space).
[0057] A specific procedure for the transition process will be established with reference to Fig. 3. Each of the Fig. 3 shown X A , X B , X C , SP1, SP2, ST1 and ST3 is the same as that in Fig. 2 shown.
[0058] An example will be described of a case where a switching request to the second task is transmitted from the common control unit 100 when the vehicle 20 is caused to execute the first task and the state of the vehicle 20 and the like is the state ST1. At this time, a control signal transmitted to the control execution unit 130 from the task module unit 120 switches to "lane change" of the second task from "straight ahead" of the first task.
[0059] Equation (4) below is an evaluation function used to calculate an evaluation value J in the model prediction control at the execution time of the first task. At the execution time of the first task, the task processing unit 132 causes the vehicle 20 to execute the first task while performing model prediction control so that a value of the evaluation value J calculated using Equation (4) becomes minimal. [Expression 4] J=J1+P1
[0060] The first term J1 on the right side of Equation (4) is a term for calculating an index indicating a quantity of energy consumed by the vehicle 20, which is a term expressed as a function of a value of a state vector or the like at each time point of a prediction horizon. By calculating the evaluation function through the equation including J1, it is possible to reduce the energy consumption of the vehicle 20 that accompanies the execution of the first task. A function other than the above-mentioned one may also be used as the evaluation function. For example, the above J1 can be formulated as a term for calculating an index (vibration energy and the like) indicating discomfort in driving the vehicle 20.
[0061] The second term P1 on the right-hand side of equation (4) is a term indicating a constraint on the execution time of the first task, which is a term expressing the constraint in the form of a penalty function. Fig. The permissible range SP1 shown in Figure 3 is determined by the penalty function. If some of the state variables deviate from the permissible range SP1, P1 is calculated as a large value.
[0062] As described above, in the evaluation function pool 142 of the storage unit 140, many candidates for the evaluation function used in the execution time of the model prediction control are stored. In the constraint condition pool 143, many candidates for the constraint conditions in the execution time of the model prediction control are stored. Before starting the first task, the model generation unit 131 formulates the evaluation function as Equation (4) by selecting and using the evaluation function and constraint condition that are appropriate and meet the purpose from the candidates described above, and generates a control model using the evaluation function and the state equation of Equation (1).
[0063] The same applies to the second task. Before starting the second task, the model generation unit 131 selects a suitable candidate according to the purpose to formulate an evaluation function as in Equation (5) below, and generates a control model using the evaluation function and the state equation of Equation (1). In Equation (5), J2 is a term for calculating an index indicating a size or the like of the consumption energy of the vehicle 20, and P2 is a term indicating a constraint in the execution time of the second task. The Fig. The permissible range SP2 shown in Figure 3 is determined on the basis of the penalty function P2. [Expression 5] J=J2+P2
[0064] During the switching time from the first task to the second task, the model generation unit 131 formulates the second task according to Equation (5) and generates a control model. However, the task processing unit 132 does not immediately execute the model prediction control using the control model.
[0065] The model generation unit 131 formulates the second task as described above to generate the control model, and generates a control model that changes the state vectors in the third state space. The control model is also referred to as an "intermediate control model" hereinafter. The model generation unit 131 sets the constraint so that the state vectors change only in some areas of the third state space instead of the entire third state space, and generates the above intermediate control model in a form that includes the constraint.
[0066] An area that Fig. 3, designated by the reference symbol "SP31," represents the above-described "some regions," that is, a region in which the state vectors may change during the execution time of the model prediction control using the intermediate control mode. This region is also referred to as the "allowable region SP31" hereinafter. A constraint defining the allowable region SP31 in this way is formulated by the model generation unit 131 during the generation time of the intermediate control model. In the Fig. 3, the permissible range SP31 is a range obtained by extending the permissible range SP1 to one side of the permissible range SP2 along the axis X B The permissible range SP31 can be a different range than that of the Fig. 3, if it is a region that may include locations where the state vectors change during the execution time of the transition process. For example, the entire third state space may be defined as the admissible region SP31.
[0067] The model generation unit 131 formulates, for example, an evaluation function shown in Equation (6) as part of the intermediate control model. In Equation (6), the first term J3 on the right is a term similar to the terms J1 and J2 described above, which is a term for calculating an index indicating the magnitude of the energy consumption of the vehicle 20. The second term P2 on the right is the same as P2 in Equation (5). In other words, P2 is a penalty function indicating a constraint on the execution time of the second task. [Equation 6] J=J3+P2
[0068] Before switching to the second task, the task processing unit 132 performs model prediction control using the intermediate control model including the constraint as follows. At this time, the state vectors change to a range on the lower side of BD due to the influence of the penalty function P2. Fig. 3. Thus, the values (x1, x2) of the state variables contained in both the first state space and the second state space change so that they fall within the permissible range SP2, which is permissible at the execution time of the second task. The state ST3 in Fig. 2 and Fig. Figure 3 shows the state vectors after switching to the lower side of BD.
[0069] When the task processing unit 132 performs the model prediction control using the intermediate control model including the penalty function P2, the state vectors change to the area on the lower side of BD in Fig. 3 as described above. Accordingly, when the task processing unit 132 performs model prediction control using the intermediate control model described above, the process of adjusting the values of the state variables (x1, x2) commonly included in both the first state space and the second state space within a predetermined range allowed at the execution time of the second task, that is, the "transition process" described above, is executed in parallel. When the control is performed using the intermediate control model, the transition process is performed as a result because the model generation unit 131 includes the predetermined constraint in the intermediate control model in advance. The "constraint" is the penalty function P2 included in the evaluation function of Equation (5) used at the execution time of the second task as described above.
[0070] When the state vectors transition to state ST3, the task processing unit 132 starts model prediction control using the control model that formulates the second task. At this time, the task to be executed by the vehicle 20 is switched from the first task to the second task. This prevents the state variables x1 and x2 from deviating from the allowable range SP2 due to the switching, and makes it possible to perform the task switching smoothly and safely.
[0071] The allowable range SP31 at the execution time of the model predictive control using the intermediate control model can be referred to as a range of the state space temporarily expanded by relaxing the constraint from the allowable range SP1 at the execution time of the first task. In the present embodiment, it is possible to execute the transition process to bring the state variables into the predetermined range by calculating the evaluation value J using the penalty function P2 while executing the model predictive control in the state space expanded as follows.
[0072] The flow of a specific process executed by the control device 10 to realize the task switching as described above will be explained with reference to a flowchart in Fig. 4. A series of processes that occur in Fig. 4 are executed by the control device 10 at a time when the signal instructing the start of execution of the first task is transmitted from the common control unit 100.
[0073] In the first step S01, a process of detecting the first task, which is an initial task, is performed based on the signal transmitted from the common control unit 100 via the task module unit 120. In this example, the control device 10 detects the first task and a control content required therefor based on a control command transmitted via the control unit 121 in FIG. Fig. 1 block (go straight ahead) is entered.
[0074] In step S02 following step S01, a process of formulating the first task is executed by the model generation unit 131. As described above, the model generation unit 131 formulates the first task in a format including the state equation of Equation (1) and the evaluation function of Equation (4), thereby generating a control model. The control model generated here, that is, the control model generated by formulating the first task, is hereinafter also referred to as the "first control model."
[0075] In step S03 following step S02, the task processing unit 132 starts the model prediction control using the first control model and starts causing the vehicle 20 to execute the first task. As described above, at this time, the state vectors change along the X A -X C -level (ie the first state space) in Fig. 2. Since the first control model contains the constraint consisting of the penalty function P1, the state vectors change within the feasible range SP1.
[0076] In step S04 following step S03, it is determined whether or not there is a switching request to another task from the first task currently being executed. If there is no change in the task requested by the common control unit 100, the process from step S03 and the following step is executed again, and the execution of the first task continues in the vehicle 20. If the task requested by the common control unit 100 is switched to the other task, the flow proceeds to step S05.
[0077] In step S05, a process for detecting the second task, which is the next task, is performed based on the signal transmitted from the common control unit 100 via the task module unit 120. In this example, the control device 10 detects the second task and a control content required therefor based on the control command input via the block (lane change) shown in Fig. 1 is provided with the reference number 122.
[0078] In step S06 following step S05, a process of formulating the second task is executed by the model generation unit 131. As described above, the model generation unit 131 formulates the second task in the format including the state equation of Equation (1) and the evaluation function of Equation (5), thereby generating the control model. The control model generated here, that is, the control model generated by formulating the second task, is hereinafter also referred to as a "second control model." In this way, when task switching by the common control unit 100 is required to generate the second control model, the model generation unit 131 formulates the second task after switching. However, the model prediction control using the second control model is not started at this time.
[0079] In step S07 following step S06, the processing of generating the intermediate control model is executed by the model generating unit 131. As described above, the intermediate control model is a control model that changes the state vectors within the allowable range SP31 in the third state space.
[0080] In step S08 following step S07, the task processing unit 132 starts the model prediction control using the intermediate control model. As described above, at this time, the state vectors change from state ST1 to state ST3 on the lower side of the boundary BD, within the Fig. 3. The reason why the state vectors change in this way is that the evaluation function of the intermediate control model includes the penalty function P2. The above-described process performed in step S08 corresponds to the "transition process" in the present embodiment.
[0081] In step S09 following step S08, it is determined whether the respective values of the state variables (ie, the state variables x1 and x2 on the X axis) C ) that are jointly contained in both the first state space and the second state space fall into the region on the lower side of BD or not. In other words, it is determined whether the state vectors in the Fig. 2 shown permissible range SP32 or not.
[0082] If the respective values of the state variables x1 and x2 fall within the range on the lower side of the boundary BD, the flow proceeds to step S10. Otherwise, the process from step S08 and the following step is executed again.
[0083] In step S10, model prediction control is started using the second control model generated in step S06. This smoothly and safely switches the task to be performed by the vehicle 20 to the second task.
[0084] By performing the above processes, the control device 10 can cause the vehicle 20 to execute various types of tasks sequentially. In the execution time of each of the tasks, a minimum control model corresponding to the task is generated, and model predictive control using the control model is performed. Since redundancy of the control system including many tasks is not required, the load on the control device 10 can be reduced compared to the conventional art. When a new task is to be added as the task to be executed by the vehicle 20, a new software module can be added to the task module unit 120. In this way, the control device 10 has sufficient expandability (scalability). Even if the executable tasks increase, the control system, such asthe state space, is therefore not huge, so that the processing load on the control device 10 does not increase.
[0085] When switching the task to be executed by the vehicle 20, model prediction control is performed using the intermediate control model, thus executing the transition process. In the intermediate control model, the state space is expanded to the third state space containing both the first and second state spaces. Therefore, the number of state variables and the like included in the control model increases, and the processing load on the control device increases. However, since the increase in processing load is temporary during the execution time of the transition process, the processing load on the control device is reduced on average.
[0086] The formulation of the first task in step S02 and the formulation of the second task in step S06 in Fig. 4 can be performed at times when the respective steps are processed, but they can also be performed in advance at earlier times before these times.
[0087] In other words, at a time point before the request for task execution is issued from the common control unit 100, the control model formulating each of the tasks is generated in advance, and the control model may be stored in the storage unit 140. The same applies to the generation of the intermediate control model in step S07.
[0088] In this case, in step S02 or the like in Fig.4, the existing control model can be read from the storage unit 140 and used. Thus, in each of steps S02, S06, and S07, the reading of the existing control models from the storage unit 140 is also included in the process of "generating" the control model by the model generation unit 131.
[0089] The present embodiment has been described so far with reference to the specific examples. However, the present disclosure is not limited to these specific examples. These specific examples, to which those skilled in the art appropriately add design changes, are also included in the scope of the present disclosure as long as the features of the present disclosure are included. The respective elements included in the aforementioned specific examples, as well as their arrangements, conditions, and shapes, etc., are not limited to those shown here and can be appropriately changed. The combination of the respective elements included in the aforementioned specific examples can be appropriately changed as long as no technical contradiction occurs.
[0090] The control device and control method described in the present disclosure may be implemented by one or more dedicated computers provided by configuring a processor programmed to execute one or more functions embodied by a computer program and a memory. The control device and control method described in the present disclosure may be implemented by a dedicated computer provided by configuring a processor with one or more dedicated hardware logic circuits.The control device and control method described in the present disclosure may be implemented by one or more dedicated computers configured by a combination of a processor programmed to perform one or more functions and a memory, as well as a processor having one or more hardware logic circuits. The computer program may be stored in a computer-readable, non-transferable, tangible recording medium as an instruction to be executed by a computer. The dedicated hardware logic circuit and the hardware logic circuit may be implemented by a digital circuit or an analog circuit having a plurality of logic circuits.
Claims
[1] A control device (10) which is a control device for a vehicle (20), comprising: a model generation unit (131) that generates a control model that formulates a task to be performed by the vehicle; and a task processing unit (132) that causes the vehicle to execute the task by performing model prediction control using the control model, wherein when the task to be performed by the vehicle is switched from a first task to a second task, assuming that a first state space is a state space of the control model used at an execution time of the first task, a second state space is a state space of the control model used at an execution time of the second task, the first state space contains a plurality of state variables (x1, x2, x3, x4), the second state space contains a plurality of state variables (x1, x2, x5, x6), there are state variables (x3, x4) that are only contained in the first state space, and there are state variables (x5, x6) that are only contained in the second state space, the task processing unit (132) starts causing the vehicle to execute the second task after executing a transition process, which is a process of bringing a value of a state variable (x1, x2) commonly included in both the first state space and the second state space into a predetermined range allowed at the execution time of the second task. [2] The control device (10) according to claim 1, wherein when the task to be performed by the vehicle is switched from the first task to the second task, it is assumed that a third state space is a state space that contains both the first state space and the second state space the model generation unit (131) generates an intermediate control model which is the control model that changes a state vector in at least a part of the third state space, and the task processing unit (132) executes the transition process while performing model prediction control using the intermediate control model. [3] The control device (10) according to claim 2, wherein the model generation unit (131) includes a predetermined constraint in the intermediate control model so that the transition process is executed by the task processing unit. [4] The control device (10) according to claim 3, wherein the model generation unit (131) includes a penalty function included in an evaluation function used as the constraint at the execution time of the second task in the intermediate control model. [5] The control device (10) according to any one of claims 1 to 4, further comprising a storage unit (140) in which a model element used in generating the control model is stored.
Citation Information
Patent Citations
Automatic operation control device
JP2020175886A
Systems and methods for safe decision making of autonomous vehicles
US10860023B2
JP002020175886A
US000010860023B2