Robust control techniques with time-varying Markov processes

DE202025103391U1Active Publication Date: 2025-10-02ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE202025103391
Authority / Receiving Office
DE · DE
Patent Type
Utility models
Current Assignee / Owner
Filing Date
2025-06-18
Publication Date
2025-10-02
Estimated Expiration
2035-06-30

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A computing environment comprising at least one processing unit and a memory, wherein the memory contains instructions that, when executed by the processing unit, cause the processing unit to perform the following: Configuring a model of a control system that contains a dynamic system and a controller, the model takes into account uncertainties in the duration of data processing and / or data transmission in the control system, and where the model contains a linear Markov jump system that describes the system dynamics of the control system with a plurality of Markov modes, where each Markov mode describes an operating mode of the controller; where configuring the control system model includes: Determining the matrix elements of a Markov transition matrix of the linear Markov jump system between the plurality of operating modes of the controller, wherein at least one of the matrix elements of the Markov transition matrix is ​​known a priori and / or wherein at least one of the matrix elements of the Markov transition matrix is ​​unknown and time-varying; and where a set of at least one of the matrix elements of the Markov transition matrix is ​​unknown and its conditional values ​​are time-invariant; Design a controller for the control system using the configured model.
Need to check novelty before this filing date? Find Prior Art

Description

background

[0001] Controlling systems with uncertain temporal effects can be a challenging task. Examples of temporal effects include uncertain delays due to varying communication and computation times. A sensor-controller-actuator chain, in particular, can be sensitive to temporal uncertainties. An uncertain delay or latency in this chain can, for example, lead to a time lag between the calculation of a control signal and its application to an actuator.

[0002] These temporal effects can be important for local controllers (with local control loops) and for distributed controllers (with distributed control loops) when a processing unit of the controller and a controlled system (with the sensors and actuators of the controller) are located at different locations (the processing unit of the controller is remote from the controlled system).

[0003] An actual latency of the sensor-controller-actuator chain may be stochastic in nature (i.e., it may be uncertain) due to several effects, e.g.: random transmission delay in the channel from the sensor to the controller's processing unit and in the channel from the controller's processing unit to the actuator, e.g., due to large distances between the two components or time-varying traffic over a network connecting the two, non-deterministic (i.e., uncertain) delays due to data processing and transmission in the sensor modules, varying computation time in the controller's processing unit, non-deterministic delays due to interference from other higher-priority processes, and many more.

[0004] These temporal effects can degrade the performance of the feedback controller if they are not actively compensated. In the worst case, the temporal effects can also lead to an unstable closed-loop control system.

[0005] The present disclosure proposes techniques that may mitigate these timing effects in controllers in some situations. Summary of the invention

[0006] A first aspect of the present disclosure relates to a computing environment having at least one processing unit and a memory, wherein the memory contains instructions that, when executed by the processing unit, cause the processing unit to execute a method comprising configuring a model of a control system having a dynamic system and a controller. The model takes into account uncertainties in the timing of data processing and / or data transmission in the control system (e.g., timing overruns on the actuator). The model comprises a linear Markov step system that describes the system dynamics of the control system (e.g., the effect of missed deadlines on the actuator side) with a plurality of Markov modes. Each Markov mode describes an operating mode of the controller (e.g.,a mode of operation geared towards a specific number of consecutive deadline misses in the past). Configuring the model of the control system includes determining the matrix elements of a Markov transition matrix (the matrix elements are also referred to as "elements" in the present disclosure) of the linear Markov jump system between the multiple modes of operation of the controller. At least one of the matrix elements of the Markov transition matrix is ​​known a priori and / or at least one of the matrix elements of the Markov transition matrix is ​​unknown and time-varying. A set of at least one of the matrix elements of the Markov transition matrix is ​​unknown, and its conditional values ​​are time-invariant (e.g., the elements divided by the total probability mass of the matrix elements in the set). These elements are also referred to as "unknown and time-invariant" in the present disclosure.The method further comprises designing a controller for the control system using the configured model.

[0007] A second aspect of the present disclosure relates to a computer program including instructions that, when executed by a processing unit, cause the processing unit to perform the actions of the method for designing or updating a controller for a dynamic system according to the first aspect.

[0008] The techniques of the first and second aspects of the present disclosure may, in some examples, have one or more of the following advantages.

[0009] First, controllers that account for uncertainties in the timing of data processing and / or data transmission can be designed more efficiently. For example, a smaller number of observations of the control system (e.g., field data) may be required to derive the unknown elements of the Markov transition matrix, e.g., to achieve stability.

[0010] Second (and related to the first advantage), a controller can be designed less conservatively compared to some state-of-the-art solutions. In other words, given that only a subset of the elements of the Markov transition matrix is ​​learned from the data, a smaller region of the entire probability simplex can be considered in a single learning phase of the controller.

[0011] Third, the techniques of the present disclosure allow time-varying elements of the Markov transition matrix and still provide probabilistic stability guarantees (e.g., a mean square stability guarantee or other stability guarantee).

[0012] A "probability simplex" is a mathematical space in which each point represents a probability distribution between a finite number of mutually exclusive events (i.e., a total probability mass is distributed between the finite number of mutually exclusive events). In the present disclosure, the mutually exclusive events are transitions from a first Markov mode to another Markov mode at a given time (including a transition to the first Markov mode, i.e., remaining in the first Markov mode).

[0013] A "control system" comprises a dynamic system and a controller. It is a dynamic system in which the controller acts on the dynamic system (in other words, the dynamic system and the controller form a combined unit). The "dynamic system with a controller" forms the "control system." Short description of the figures Fig. 1 is a flowchart illustrating the techniques of the present disclosure. Fig. 2 shows a probability simplex according to the techniques of the present disclosure. Fig. 3 is a schematic representation of an environment for performing the techniques of the present disclosure. Fig. 4(a) and Fig. Figure 4(b) shows experimental data comparing a controller design without and with a-priori known matrix elements of the Markov transition matrix. Detailed description

[0014] Fig. Figure 1 is a flowchart illustrating the techniques of the present disclosure. The left column (I) illustrates a method for designing or updating a controller for a dynamic system. For illustrative purposes, the techniques of the present disclosure are described in part by describing method steps. The environment and computer program recited in the claims may be configured to perform the respective methods.

[0015] The method includes configuring 101 a model of the control system and designing 103 a controller for the dynamic system. In some examples, the model is a discrete-time model of the controlled system. Additionally or alternatively, the model may be a linear dynamic model of the controlled system.

[0016] In some examples, the feedback controller may be a state controller. In these examples, a control value is selected based on the state of the controlled plant, and the model is a state-space model of the controlled plant.

[0017] In some examples, a design goal for feedback controllers is to stabilize a dynamic system at a specific operating point.

[0018] The model accounts for uncertainties in the timing of data processing and / or data transmission within the control system. The model includes a linear Markov step system that describes the system dynamics of the control system with a variety of Markov modes. Each Markov mode describes an operating mode of the controller (e.g., an operating mode that is geared towards a specific number of consecutive deadline misses in the past).

[0019] In some examples, the controller is a switching controller that switches between different controller configurations for the different Markov modes. In other words, the feedback controller has a set of parameters for each Markov mode. A corresponding set of parameters (e.g., a set of feedback matrices) is used when the Markov chain is in the corresponding Markov mode.

[0020] In alternative examples, the controller is a static controller configured to control the dynamic system in all Markov modes (i.e., a common controller). In other words, the controller has a single common set of parameters (e.g., a single feedback matrix) for all Markov modes.

[0021] Configuring the control system model with the controller involves determining the matrix elements of a Markov transition matrix of the linear Markov-step system. The matrix elements quantify the probability of a transition between the controller's multiple operating modes. For example, a first element of the Markov transition matrix can quantify the probability of a transition from a first Markov mode to the first Markov mode (i.e., the system with the controller remains in the first Markov mode), a second element of the Markov transition matrix can quantify the probability of a transition from the first Markov mode to a second Markov mode, a third element of the Markov transition matrix can quantify the probability of a transition from the first Markov mode to a third Markov mode, and so on.

[0022] At least one of the matrix elements of the Markov transition matrix is ​​known a priori (e.g., more than 2 or more than 10 matrix elements) and / or at least one of the matrix elements of the Markov transition matrix is ​​unknown and time-varying (e.g., more than 2 or more than 10 matrix elements). In other words, the unknown and time-varying elements are not known a priori and change their value during the temporal evolution of the system.

[0023] In some examples, the matrix elements include more than one a priori known matrix element and more than one matrix element that is unknown and time-varying.

[0024] A set of at least one of the matrix elements of the Markov transition matrix is ​​unknown, and its conditional values ​​are time-invariant. The conditional values ​​can be conditional values ​​with respect to a total probability mass of the matrix elements in the set (i.e., the probability mass distributed among the matrix elements of the set). In other words, the total probability mass of the set of elements, called unknown and time-invariant matrix elements, is not known a priori and can vary over time, while the individual elements of the set divided by the total probability mass of the set are unknown but time-invariant.

[0025] The Markov transition matrix can be time-inhomogeneous. This means that the Markov transition matrix can be constant over time.

[0026] In some examples, determining the at least one unknown and time-invariant element of the Markov transition matrix comprises learning the set of the at least one unknown and time-invariant element from observations of the control system (e.g., data for the control system, which may be measured data for any test design or prototype of the control system, or the control system in a test environment or in the field, where the data may be simulated data or synthesized data). In some examples, the observations of the control system include information about observed Markov modes of the control system.

[0027] In some examples, learning the set of at least one unknown and time-invariant element from the observations of the control system may include defining and updating a conditional empirical probability distribution for the unknown elements of the Markov transition matrix (e.g., set of time-invariant elements). Additionally or alternatively, learning the set of at least one unknown and time-invariant matrix element from observations of the control system may include determining a Markov mode-dependent sample size (e.g., how often the controller was observed in a particular Markov mode).

[0028] In some examples, learning the set of at least one unknown and time-invariant matrix element of the Markov transition matrix comprises iteratively updating 105 values ​​of the set of at least one unknown and time-invariant matrix element. For example, learning the set of at least one unknown and time-invariant matrix element of the Markov transition matrix may comprise parsing the observations and updating a conditional empirical probability distribution for the set of unknown elements of the Markov transition matrix and / or the Markov mode-dependent sample sizes for each observation.

[0029] In some examples, specifying the matrix elements of the Markov transition matrix involves defining a subset (here also called the "ambiguity set") of the entire probability simplex spanned by the elements of the Markov transition matrix. In some examples, the subset may be a strict subset. However, in other examples, the entire probability simplex is used, e.g., when there is a small number of observations. Specifying the unknown matrix elements involves restricting the probability space for the unknown matrix elements to the strict subset. In other words, the strict subsets / ambiguity sets cover only a portion (a small part) of the entire space of possible values ​​for the elements of the transition matrix. Fig. Figure 2 shows a probability simplex 200 according to the techniques of the present disclosure. For simplicity, we assume a Markov transition matrix with three Markov modes or states ("1," "2," and "3"). Fig. Figure 2 shows the probability simplex for the transitions 201, 202, 203 from a first Markov mode (“1”) to one of the three Markov modes of the controller. Furthermore, it is assumed that the probability for a transition from the first Markov mode to the third Markov mode (“p13”) is known a priori (e.g., zero in the example of Fig. 2). This means that the probability mass is distributed between the elements that quantify a probability of transitioning from the first Markov mode to the first Markov mode or to the second Markov mode, which in the present example are unknown and time-invariant (the point 206 marks the true distribution). Theoretically, both elements could accumulate the entire probability mass. However, using the techniques of the present disclosure, the ambiguity set can be reduced to a proper subset of the theoretical probability range. This subset, or ambiguity set 205, is in Fig. 2 is represented by a line (subset 204 is an ambiguity set / subset determined for the case where p13 is not known a priori). Star 207 indicates an estimated distribution for the two elements.

[0030] In some examples, defining a subset or ambiguity set of the entire probability simplex spanned by the elements of the Markov transition matrix involves calculating an ambiguity radius for the unknown elements of the Markov transition matrix (e.g., a radius of a ball in an N-dimensional space). The ambiguity radius can quantify a subset of the probability simplex in which the true values ​​for the matrix elements can be found (with a given probability). The strict subset or ambiguity set can be determined using the ambiguity radius (e.g.,a subset of the probability simplex centered around the empirical probability distribution for the unknown elements of the Markov transition matrix with the ambiguity radius, in other words, a ball centered around the empirical probability distribution for the unknown elements of the Markov transition matrix with the ambiguity radius. In some examples, the ambiguity radius can be calculated based on the conditional empirical probability distribution for the unknown elements of the Markov transition matrix.

[0031] The technique may, in some examples, involve determining separate ambiguity radii for the unknown time-invariant and for the unknown time-varying elements of the Markov transition matrix and combining the separate ambiguity radii to obtain a common ambiguity radius.

[0032] In some examples, an upper and lower bound on the elements of the Markov transition matrix for the unknown and time-varying elements are known a priori. In these examples, the empirical probability distribution can be estimated as the mean (or other average) of the upper and lower bounds of the unknown and time-varying elements of the Markov transition matrix. Additionally or alternatively, an ambiguity radius can be specified as the maximum possible deviation from the empirical distribution (e.g., as the maximum of the difference between the upper and lower bounds, scaled by a given factor). In these examples, the elements of the Markov transition matrix do not need to be learned from the observations for the unknown and time-varying elements.

[0033] In some examples, an ambiguity radius can be calculated as the maximum of all ambiguity radii for the unknown matrix elements for a row of the Markov transition matrix. Accordingly, an ambiguity radius can be calculated for each row (where each row specifies the transition probabilities for a particular Markov mode to each Markov mode of the controller). We refer to the rows of the Markov matrix to reflect a standard convention for notating the Markov matrix. Where a different convention is used, a column of the Markov matrix can also be meant (i.e., where each column specifies the transition probabilities from a particular Markov mode to each Markov mode of the controller).

[0034] In some examples, the techniques of the present disclosure include obtaining and using a predetermined confidence level (e.g., obtained from a developer of the controller). The subset (ambiguity subset) may be defined based on the predetermined confidence level. In some examples, the ambiguity radii are calculated based on the confidence level (and, optionally, the number of observations for a particular Markov mode). In some examples, the subset (ambiguity subset) and / or the ambiguity radii are defined such that all possible values ​​of the unknown and time-varying elements are guaranteed to be included in the ambiguity set and that the unknown time-invariant probabilities are included with at least a confidence level-dependent probability.

[0035] In some examples, each of the multiple Markov modes refers to a possible outcome of the uncertain timing effect of the control system including the controller. Additionally or alternatively, the controller's operating modes depend on an uncertain delay in data processing and / or transmission in the control system including the controller. For example, the controller's operating modes may depend on an uncertain delay in data processing and / or transmission in the control system including the controller by considering whether a deadline for generating an update for a control signal of the controller is missed.

[0036] In some examples, each Markov mode describes an operating mode of the control system with the controller that has a certain delay and applies a certain deadline-exceeding strategy (e.g., a strategy for dealing with a situation where data processing and / or transmission in the system with the controller is not completed by a given time or deadline).

[0037] For each periodic control task (here also referred to as a "job") of the controller, deadlines can be set within a predetermined period of time, e.g., to generate an updated control signal for the actuators of the control system. The operation of the feedback controller can comprise a series of tasks (jobs) for consecutive periods of time. During the operation of the feedback controller, different deadline-exceeding strategies can be applied (e.g., the task is not completed at the specified time due to delays in the control system). For example, a first deadline-exceeding strategy can be to continue the execution of the control task. A second deadline-exceeding strategy can involve aborting the control task. The Markov modes can correspond to the application of different deadline-exceeding strategies.Additionally or alternatively, different Markov modes can describe operating modes with a different number of consecutive deadline overruns (e.g., a deadline has been overrun once, twice, or more than twice). For example, a Markov mode can correspond to an operating mode with two consecutive deadline overruns due to delays, in which the control task is continued or aborted at the deadline.

[0038] The definition 103 of a controller for the system using the configured model may include any controller design and synthesis technique taking into account the learned Markov transition matrix. For example, the determined elements of the Markov transition matrix and / or ambiguity radii may be used to synthesize the controller (e.g., the elements of a feedback matrix or controller gain matrix of a state controller). In some examples, the controller design 103 may include the synthesis of a distributionally robust mean-square stability condition and the derivation of a feedback matrix or controller gain matrix. The feedback matrix or controller gain matrix is ​​then implemented in the controller.

[0039] In some examples, configuring the model involves creating the model of the controlled system.

[0040] In other examples, configuring the model involves updating an existing model of the control system. For example, the controller can be active in the control system (e.g., updating the existing model is performed during the controller's runtime). Observations of the system with the controller can be made on the running system with the controller (e.g., observations of a current Markov mode of the controller). The observations can be used to update the model, as explained above, and an updated controller can be generated and subsequently deployed.

[0041] In the following sections, the techniques described above are explained in more detail using a concrete example.

[0042] The control system is modeled as a discrete-time linear dynamic system with a predetermined period T. The control system is sampled with integer multiples of T (kT). The dynamic system can be described by a state-space model. The state-space model can be described, for example, as follows: x(k+1)=Ax(k)+B u(k) x(0)=x0. u(k) is the control signal of the feedback controller at a sampling time. For example, the end of each predetermined time period or interval can be a deadline for a controller control task (a job as defined above), which generates a controller control signal. The control signal u(k) is updated at the actuator at each deadline, i.e., a control signal calculated in the kth interval will be actuated at the beginning of the (k + 1)th interval at the earliest.

[0043] The control system is modeled as a linear Markov-step system with a finite set of Markov modes that depend on a deadline-missing strategy and a number of consecutive deadline misses of a current control job at the end of a sampling period or interval. For each deadline-missing strategy, the corresponding mode-dependent dynamics of the linear Markov-step system are modeled in the following form: x˜(k+1)=Aθ(k)x˜(k)+Bθ(k)u(k), where θ(k) is a possible outcome of a k-th control task (job), e.g., meeting or missing a deadline. x̃ can be an extended vector containing the state x(k) and other auxiliary variables useful for strategy-dependent modeling.

[0044] The Markov transition matrix can model transitions from θ(k) to θ(k+1) using a time-inhomogeneous Markov chain. In the present example, the Markov transition matrix comprises a set of at least one unknown and time-invariant element ((i,j)∈Ju) and at least one a-priori known element ((i,j)∈Jk) and / or at least one unknown and time-varying element ((i,j)∈Jv).

[0045] The unknown and time-varying elements can vary between the a-priori known limits (pi,j(k)∈[pi,j−,pi,j+], where pi,j− and pi,j+ which are the a priori known lower and upper limits).

[0046] One can calculate an empirical probability distribution for the unknown and time-varying and the unknown and time-invariant elements of each row of the Markov transition matrix p⌢i:=[p⌢i,j]j∈Jiuν with Jiuν=Jiu∪Jiν The estimates for the unknown and time-varying elements are defined as the mean of the known bounds (e.g. p⌢ij=1 / 2(pi,j−+pi,j+) ). The unknown probabilities are calculated based on their empirical conditional estimates p⌢i,ju and their estimated total probability mass p⌢iu=1−∑j∈Jikpi,j−∑j∈Jiν1 / 2(pi,j−+pi,j+) appreciated.

[0047] The values ​​for the modified empirical distribution (the elements) can be: p⌢i,j={12(pi,j−+pi,j+),if(i,j)∈Jνp⌢i,ju⋅p⌢iuselse.

[0048] At the beginning of the learning process, all unknown elements are initialized.

[0049] We also have a set of N S ∈ ℕ observed Markov modes of the control system with controller: D={θ(k)}k=0NS−1

[0050] For each Markov mode i, an inverse sample size γ i (k) = 1 / (N i (k) + 1), where N i the observed transitions from Markov mode i to Markov mode j with j∈Jiu The sample size can also be used directly in other examples (using the inverse sample size can simplify the update rules).

[0051] The conditional empirical distribution as well as the mode-dependent inverse sample size can be updated recursively by analyzing the observed data (the unknown and time-invariant elements can be learned based on the observations in an iterative manner), i.e.: p^i:u(k+1)={(1−γi(k))p^i:u(k)+γi(k)eθ(k+1),if θ(k)=i,θ(k+1)∈Jiup^i:u(k),else

[0052] Where e ris called the r-th standard basis vector. After updating the conditional empirical probability distribution, the values ​​of p̂ i: as p^ij=p^iju⋅p^iu for all j∈Jiu updated.

[0053] Next, one can define the Markov mode-dependent ambiguity sets (strict subsets of the probability simplex of the elements) Ai=Δi∩Ci construct: Δi={μi:∈ℝwi|μij≥0,∑j∈Jiuvμij=piuv}, Ci={μi:∈ℝwi|‖μi:−p^i:‖q≤ri(Ni,β)} where piuv=1−∑j∈Jikpij,Δi the scaled probability simplex and Ci the q-norm ball (for q ∈ ℕ ≥1 ) centered around the modified empirical distribution.

[0054] A non-negative ambiguity radius is calculated based on a given confidence level 1 - β ∈ (0,1) and the sample size of transitions from mode i to modes with unknown probabilities N i ∈ ℕ. In some examples we can r i (0, β) = 2 to consider all values ​​of the probability simplex when no data are available. We define the radius such that all possible values ​​of the time-varying probabilities are guaranteed to be included in the ambiguity set and that the true unknown probabilities are included with at least probability 1 - β, i.e. ℙ[pi:∈Ai]≥1−β.

[0055] Depending on the choice of the q-norm, one obtains a different explicit expression for the ambiguity radius, e.g., for q = ∞ the radius is ri=max{riv;riu}, while we for q=1 ri=viriv+qiriu have (v iand q i are the number of unknown and time-varying or unknown and time-invariant matrix elements), where riv=maxj∈Jiv[1 / 2(pij−−pij+)] riu=2(piuv−∑j∈Jivpij−)ln(2 / β)2Ni+maxj∈Jiup^iju∑j∈Jiv1 / 2|pij−−pij+|

[0056] Using the determined ambiguity radii and probabilities, a controller can be designed. In some examples, the controller can be a switching controller that is mean-squared stabilizing for all Markov transition matrices consisting of the known transition probabilities and all distributions defined by the ambiguity set. In alternative examples, the controller can be a joint controller that does not require switching. In some examples, the switching or joint controller can be synthesized through a Lyapunov-type design by solving a set of linear matrix inequalities.

[0057] The methods of the present disclosure may generally be performed as part of a controller design process.

[0058] The present disclosure also relates to methods for implementing a controller in a control system. The middle column (II) of Fig. 1 shows a method for implementing a controller according to the present disclosure.

[0059] The method for implementing a controller includes performing 107 one of the methods for designing or updating a controller for a dynamic system according to the present disclosure and implementing 109 the controller in the control system.

[0060] Implementation can include any step by which a controller is embedded into a specific (technical) system or a precursor of a (technical) system. Implementation can vary depending on the type of (technical) system. For example, implementation can include creating an instance of the system, installing software to create an instance of the specific system, or similar implementation steps. Specific (technical) systems are described below.

[0061] The present disclosure also relates to a method for controlling a dynamic system according to the present disclosure. The right column (III) of Fig. 1 shows a method for controlling a dynamic system with a controller.

[0062] The method for controlling a dynamic system with a controller includes designing or updating 111 a controller for the dynamic system using one of the methods of the present disclosure and controlling 113 the dynamic system with the controller.

[0063] The dynamic system may comprise a vehicle or a plurality of vehicles or a component thereof, a communications system or a component thereof, a building automation system or a component thereof, a robot or a plurality of robots or a component thereof, a household appliance or a plurality of household appliances or a component thereof, an industrial automation system or a component thereof, and / or a power tool or a plurality of power tools or a component thereof.

[0064] In some examples, the method may include using the controller to control a vehicle function, a robot function, a building automation function, a power tool automation function, a home appliance automation function, and / or an industrial automation function. The controller may be configured to control a vehicle function, a robot function, a building automation function, a power tool automation function, a home appliance automation function, and / or an industrial automation function.

[0065] In some examples, the feedback controller may be configured to receive and process sensor data (e.g., for the control tasks described above or below). The sensor data may be generated by any sensors (e.g., cameras, ultrasonic sensors, LIDARs, RADAR sensors, sensors for monitoring translational and / or rotational movements of parts of a system, temperature sensors, sensors for measuring electric, magnetic, or electromagnetic fields, and / or other sensors).

[0066] In some examples, the control system includes one or more sensors (e.g., one or more sensors as described above) and one or more actuators (e.g., one or more actuators that receive a control signal from the controller and act on the dynamic system).

[0067] In one example, the feedback controller may be designed for implementation in a vehicle and / or for controlling a vehicle function (in particular for controlling a driving function) or a function of an ensemble of multiple vehicles.

[0068] The vehicle function may, for example, be a function for autonomous and / or assisted driving. In some examples, the controller may be designed to run on a computer system of a vehicle (e.g., an autonomous, highly automated, or assisted driving vehicle). The computer system may, for example, be implemented locally in the vehicle or (at least partially) in a backend that is communicatively connected to one or more vehicles. For example, the feedback controller may be part of a control unit of one or more vehicles. In some examples, the vehicle or vehicles may include a computer system or computer systems with a communication interface or communication interfaces that enable communication with a backend. The feedback controller may be executed in this backend.In one example, the feedback controller may be configured for lateral and / or longitudinal guidance of the vehicle or vehicles and / or for controlling relative longitudinal and / or lateral distances of the vehicle or vehicles. In examples, the controller may receive speed information or distance information as input data. Alternatively or additionally, the input data may include a relative speed and / or distance between a first vehicle, a second vehicle, a human, and / or a stationary object. Alternatively or additionally, the input data may include variables based on at least one of a steering angle, a heading angle, a yaw rate, a slip angle, and / or a lateral error. Alternatively or additionally, the input data may also include information from a network, such as movement and / or direction information from other vehicles.In examples, this information can be provided via vehicle-to-vehicle communication (V2V communication) or via a backend (V2X communication). Alternatively or additionally, the input data can include a steering speed or target values ​​for acceleration and / or braking.

[0069] In some examples, the controller may be configured for arrangement in a drive control or a drive unit and may be configured and / or serve to control a motor-related function (in particular a motor control).

[0070] The present disclosure also relates to the use of the controller to control one or more robots. The controlled system may be a system with one or more robots (e.g., the movement of one or more robots or one or more parts thereof). The feedback control may therefore be configured to control one or more robots (or a part thereof).

[0071] In other examples, the feedback controller may be arranged in a robot and / or configured to control a robot function (in particular, to control a movement function of a robot). For example, the feedback controller may be a controller for the lateral guidance and / or the longitudinal guidance of the robot or a plurality of robots. In some examples, the feedback controller may be executed on a computer system of a robot. For example, the feedback controller may be implemented locally in the robot or (at least partially) in a backend that is communicatively connected to the robot or a plurality of robots. In some examples, the feedback controller may be executed in a backend. In some examples, the feedback controller may receive speed or distance information as input data.Alternatively or additionally, the input data may include a relative velocity and / or distance between a first robot, one or more other robots, a human, another mobile device, and / or a stationary object. Alternatively or additionally, the input data may include variables based on at least one of a steering angle, an orientation angle, a yaw rate, a slip angle, and / or a side error. Alternatively or additionally, the input data may include information from a network, such as motion and / or direction information from other robots, mobile devices, and / or humans. In examples, this information may be provided through direct communication or through a backend. In one example, an input vector may include a steering velocity or target values ​​for acceleration and / or deceleration.

[0072] The present disclosure also relates to the use of the controller for controlling functions in building automation. The controller can be used to control functions in building automation (e.g., an air conditioning function and / or a lighting function and / or a security function).

[0073] In one example, the controller may be designed for installation in a building and / or for controlling building functions (in particular, for controlling building automation functions). The building function may, for example, be a function for controlling room temperature, lighting, and / or security devices.

[0074] The present disclosure also relates to the use of the controller for controlling industrial automation functions. The specific system may be a system for controlling an industrial automation function (e.g., one or more functions of an industrial manufacturing process or an inspection process, e.g., of an industrial machine).

[0075] The control system of the present disclosure may be a distributed system and / or the controller's processing unit may be located remotely from the system to be controlled. For example, a communications network may be established between the system to be controlled and the controller's processing unit.

[0076] Fig. 3 schematically shows an environment in which the methods according to the present disclosure may be performed. In some examples, the environment is a test or development environment 300 for a controller (e.g., having an interface that allows a user to operate the environment 300). The environment 300 may include one or more computing units (e.g., a computer—in Fig. 3 not shown). Each computing unit may include one or more processors and / or memory. The computing unit may be network-based (e.g., a cloud system or a remote server) and / or distributed. The environment 300 may include a first sub-environment 306 configured to specify the Markov matrix elements (and, e.g., the ambiguity set). The first sub-environment may be configured to perform any of the techniques described above and below in this regard. The environment 300 may include a second sub-environment 304 configured to design the controller (e.g., to design a controller or to update or adapt a controller). The second sub-environment 304 may be configured to perform any of the techniques described above and below in this regard.

[0077] In some examples, the environment 300 is coupled to a running control system 302 that uses a controller of the present disclosure and a dynamic system 312 (e.g., one of the controlled plants described above). The controller may be executed on a processing unit 310. In some examples, the processing unit 310 executing the controller is connected to the dynamic system 312 via a communications network 314 (e.g., the sensor data received from the dynamic system 312 and / or output signals of the controller for actuators acting on the dynamic system 312). In some examples, the communications network 314 introduces uncertain delays (e.g., latencies) into the communication between the controller's processing unit 310 and the dynamic system 312. The controller designs of the present disclosure, in some examples, may address problems caused by these uncertain delays.The control system 302 may additionally include a module 308 for deriving the Markov modes of the controller.

[0078] An interface may be provided between the running control system 302 and the environment 300. The running control system 302 may provide data (e.g., observed Markov modes of the running control system 302) to the environment 300 via this interface. The environment 300 may be configured to adjust the controller using the provided data with the techniques of the present disclosure.

[0079] A computer program is also disclosed that contains instructions that, when executed by a computer system, cause the computer system to perform the methods for designing or updating a controller for a control system according to the present disclosure (or one or more of the upstream or downstream methods or one of the other methods of the present disclosure). The computer program may, for example, be in interpretable or compiled form. It may be loaded (even in part) into the memory of a computer for execution, for example as a bit or byte sequence.

[0080] A computer program product incorporating a computer program of the present disclosure is also disclosed.

[0081] A signal containing and / or encoding a computer program of the present disclosure is also disclosed.

[0082] Fig. 4(a) and Fig. Figure 4(b) shows experimental data comparing a controller design without and with a priori known matrix elements of the Markov transition matrix.

[0083] For the first time in Fig. In the example shown in Figure 4, no time-varying transition probabilities were assumed in order to first demonstrate the performance improvement when using a partially known Markov transition matrix (“structured design” - solid lines in Fig. 4) compared to a completely unknown matrix (“unstructured design” - dashed lines in Fig. 4). Four state controllers were configured, two of which were used as switching ( Fig. 4(a)) and constant controller K ( Fig. 4(b)) were synthesized using the proposed structure-exploiting design approach according to the present disclosure. The unstructured design of the other switching and constant controllers does not require knowledge of the Markov transition matrix. Each controller type was analyzed by synthesizing the respective controllers at different lengths of a total of 40 generated Markov chains, which were used to calculate the ambiguity sets, and then simulating 1000 closed-loop trajectories each with identical initial deviation. Fig. Figure 4 shows the mean control loop costs, including the 0.01 and 0.99 quantiles of the mean costs, for each synthesized (designed) controller, normalized to the costs for a controller with a fully known transition matrix. Only those data points are used for which at least two-thirds of the optimization problems for the synthesis of the respective controller are solvable. It is shown that the introduction of prior knowledge into the controller synthesis can significantly increase controller performance and solvability, and that a similar controller performance with a purely data-based estimation of the Markov matrix can only be achieved with large data sets. For large sample sizes, all controllers converge to optimality to their reference controller, with the reference cost of the switching controller being 3.45 and the reference cost of the constant controller being 3.54. This demonstrates the better performance of the switching controllers not only for small sample sizes, as in Fig.4, but also with large amounts of data. The disadvantage of switching controllers compared to constant controllers, however, is the need to know the Markov mode at the time the control signal is calculated.

Claims

[1] A computing environment comprising at least one processing unit and a memory, the memory containing instructions which, when executed by the processing unit, cause the processing unit to perform the following: Configuring a model of a control system that contains a dynamic system and a controller, the model takes into account uncertainties in the duration of data processing and / or data transmission in the control system, and where the model contains a linear Markov jump system that describes the system dynamics of the control system with a plurality of Markov modes, where each Markov mode describes an operating mode of the controller; where configuring the control system model includes: Determining the matrix elements of a Markov transition matrix of the linear Markov jump system between the plurality of operating modes of the controller, wherein at least one of the matrix elements of the Markov transition matrix is ​​known a priori and / or wherein at least one of the matrix elements of the Markov transition matrix is ​​unknown and time-varying; and where a set of at least one of the matrix elements of the Markov transition matrix is ​​unknown and its conditional values ​​are time-invariant; Design a controller for the control system using the configured model. [2] The environment of claim 1, wherein determining the set of at least one unknown and time-invariant element of the Markov transition matrix comprises learning the at least one unknown and time-invariant element from observations of the control system. [3] The environment of claim 1 or 2, wherein determining the matrix elements comprises defining a strict subset of the entire probability simplex, which is spanned by the elements of the Markov transition matrix, where the determination of the unknown matrix elements includes the limitation of the possibility space for the unknown matrix elements to the strict subset. [4] The environment of claim 2, wherein learning the at least one unknown and time-invariant matrix element of the Markov transition matrix comprises iteratively updating values ​​of the set of the at least one unknown and time-invariant matrix elements. [5] The environment of claim 1, wherein the operating modes of the controller depend on an uncertain delay in data processing and / or transmission in the control system. [6] The environment of claim 5, wherein the operating modes of the controller depend on an uncertain delay in data processing and / or transmission in the control system by taking into account whether a deadline for generating an update for control signals of the controller is missed. [7] The environment of claim 1, wherein the feedback controller is a state controller. [8] The environment of claim 7, wherein the controller is a switching controller that switches between different controller configurations for the different Markov modes, or a controller configured to control the system in all Markov modes. [9] The environment of claim 1, wherein configuring the model comprises updating an existing model or creating the model of the control system. [10] The environment of claim 9, wherein updating the existing model is performed during runtime of the controller. [11] The environment of claim 1, wherein the memory further includes instructions that, when executed by the processing unit, cause the processing unit to perform the following: Designing or updating a controller for a dynamic system according to claim 1; and Control of the dynamic system with the controller. [12] The environment of claim 1 or claim 11, wherein the dynamic system comprises a vehicle, a plurality of vehicles or a component thereof, a communications system or a component thereof, a building automation system or a component thereof, a robot, a plurality of robots or a component thereof, a household appliance, a plurality of household appliances or a component thereof, an industrial automation system or a component thereof, and / or a power tool, a plurality of power tools or a component thereof. [13] A computer program containing instructions which, when executed by a processing unit, cause the processing unit to perform any of the following: to configure a model of a control system that contains a dynamic system and a controller, the model takes into account uncertainties in the duration of data processing and / or data transmission in the control system, and where the model contains a linear Markov jump system that describes the system dynamics of the control system with a plurality of Markov modes, where each Markov mode describes an operating mode of the controller; where configuring the control system model includes: Determination of the matrix elements of a Markov transition matrix of the linear Markov jump system between the plurality of operating modes of the controller, wherein at least one of the matrix elements of the Markov transition matrix is ​​known a priori and / or wherein at least one of the matrix elements of the Markov transition matrix is ​​unknown and time-varying; and wherein a set of at least one of the matrix elements of the Markov transition matrix is ​​unknown and its conditional values ​​are time-invariant with respect to a total probability mass of the matrix elements in the set; Design a controller for the control system using the configured model.