SYSTEM AND METHOD FOR CONTROLLING THE OPERATION OF A SYSTEM SUBJECT TO UNCERTAINTY - Patent application

A data-driven method using empirical quantile functions and robust optimization transforms chance constraints into deterministic constraints, addressing uncertainties in autonomous systems for efficient and safe motion planning.

JP2025536112APending Publication Date: 2025-10-30MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025545447
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-02-10
Filing Date
2023-10-27
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing motion planning systems for autonomous devices face challenges in handling uncertainties due to unmodeled phenomena and sensor limitations, leading to computationally intractable chance-constrained optimization problems that require conservative or resource-intensive reformulations.

Method used

A data-driven approach using empirical quantile functions and robust optimization to transform chance constraints into deterministic constraints, allowing for optimal control of autonomous systems by collecting uncertainty samples and constructing confidence limits to ensure feasibility under unknown uncertainties.

Benefits of technology

This method provides feasible and computationally efficient motion planning by converting chance constraints into deterministic constraints, ensuring safe operation of autonomous vehicles despite unknown uncertainties, without relying on structural assumptions about uncertainty.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025536112000001_ABST
    Figure 2025536112000001_ABST
Patent Text Reader

Abstract

The present disclosure discloses a system and method for controlling the operation of a system affected by uncertainty in an operational variable of the system. The method includes collecting a plurality of samples of the uncertainty of the operational variable, constructing an empirical quantitative function associated with the uncertainty of the operational variable based on the collected plurality of samples, determining confidence limits for the empirical quantitative function to constrain an approximation error between the empirical quantitative function and the true quantitative function, determining an uncertainty set based on the empirical quantitative function constrained by the confidence limits, reformulating chance constraints into deterministic constraints based on the uncertainty set, solving an optimal control problem affected by the deterministic constraints to generate one or more control commands for one or more actuators of the system, and controlling the operation of the system based on the control commands.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE DISCLOSURE This disclosure relates generally to control systems, and more particularly to systems and methods for controlling the operation of a system subject to uncertainty in the system's operating variables. [Background technology]

[0002] Motion planning for autonomous devices (e.g., autonomous vehicles) uses optimization to address the task of minimizing a performance metric that is subject to constraints arising from dynamics, actuator limitations, and environmental limitations. Autonomous devices face uncertainties arising from the physical characteristics of the autonomous device and the environment, sensor limitations, and simplifications of the mathematical models utilized to account for tractability. Optimization under uncertainty is handled using chance-constrained optimization methods. In chance-constrained optimization methods, uncertainty in optimization is accounted for by constraints being satisfied with a certain probability, i.e., by formulating chance constraints that allow for a specified, but non-zero, probability of constraint violation. However, chance constraints are computationally intractable and require approximate formulations.

[0003] To mitigate these problems, chance-constrained optimization methods are reformulated as deterministic optimization methods with deterministic constraints that guarantee the chance constraints are satisfied. To achieve such reformulation, some methods make structure assumptions about the uncertainty or the constraint set f ≤ 0. For example, the uncertainty is assumed to be Gaussian, the constraint set is hyperplanar, or the uncertainty has known mean and covariance, and the constraint set is affine in the uncertainty. Such reformulations are often conservative in practice.

[0004] Furthermore, data-driven approaches to reformulation use the concept of scenarios, posing chance constraints as a set of a finite number of constraints evaluated at available data points for uncertainty. However, data-driven approaches require a convex f, thereby limiting the class of functions considered. Alternatively, data-driven approaches utilize mixed-integer formulations, which can cause serious numerical problems in implementations, or solve a set of separate scenario problems that require significant computational resources.

[0005] Therefore, there is a need for a system and method for solving a chance-constrained optimization problem that optimizes a motion trajectory of an autonomous device subject to unknown uncertainties. Summary of the Invention

[0006] An objective of some embodiments is to solve a chance-constrained optimization problem using data without relying on any structural assumptions about uncertainty. In particular, an objective of some embodiments is to solve a constrained optimization problem that optimizes a motion trajectory under constraints for a system subject to uncertainty, where the uncertainty is unknown and estimated using data collected during the device's current and possibly past operation.

[0007] Systems include, for example, autonomous ground vehicles such as cars or robots in factory automation, aircraft on airport surfaces, and unmanned aerial vehicles such as drones for infrastructure monitoring or inspection. Constraints include, for example, maneuvering the system to always stay within its operating range, maneuvering the system to ultimately reach a desired area, and maintaining a safe distance from obstacles in the environment. Uncertainties in these applications arise from uncertainties due to unmodeled phenomena in the environment and the mathematical models used during control, for example, the effect of friction on the autonomous ground vehicle and the effect of wind on the flight of the unmanned aerial vehicle. Additionally, uncertainties can arise from sensor limitations in sensing the environment.

[0008]

number

[0009] For purposes of explanation, a vehicle is considered to be a system subject to uncertainty. The vehicle may be an autonomous vehicle or a semi-autonomous vehicle. First, multiple samples of uncertainty in vehicle motion variables are collected. For example, in a collision avoidance example, the vehicle motion variables may correspond to bounding box positions around obstacles, and multiple samples of uncertainty in the bounding box positions are collected.

[0010] Furthermore, based on the collected samples, an empirical quantile function associated with the uncertainty of the operational variable is constructed. The quantile function is the inverse of the cumulative distribution function: Φ W The cumulative distribution function of a real-valued random variable w, denoted by (w), is the probability that w takes a value less than or equal to w. Empirical quantile functions approximate the true quantile function of the uncertainty w, since the true quantile function is not available to the user. However, quantile functions approximated using samples are noisy. To mitigate such problems, some embodiments use properties of quantile functions that allow finite-sample guarantees on the quality of the approximation.

[0011] To this end, confidence limits for the empirical quantile function are determined to constrain the approximation error between the empirical quantile function and the true quantile function. In one embodiment, the Dvoretzky-Kiefer-Wolfowitz-Massart inequality is used to constrain the approximation error between the empirical quantile function and the true quantile function using only a finite number of samples. Furthermore, an uncertainty set ε is calculated based on the empirical quantile function constrained by the confidence limits and a user-specified risk threshold δ. The uncertainty set ε includes a subset of values ​​achievable by the uncertainty w.

[0012]

number

[0013]

number

[0014] Furthermore, an optimal control problem subject to deterministic constraints is solved to generate one or more control commands for one or more actuators of the vehicle, such as the steering and / or braking of the vehicle, and the vehicle is controlled based on the control commands for the one or more actuators.

[0015] Accordingly, one embodiment discloses a controller for controlling operation of a system subject to uncertainty in an operational variable of the system, the controller comprising at least one processor and a non-transitory memory storing instructions that, when executed by the at least one processor, cause a feedback controller to collect a plurality of samples of uncertainty in the operational variable, construct an empirical quantile function associated with the uncertainty in the operational variable based on the collected plurality of samples, determine confidence limits for the empirical quantile function to constrain an approximation error between the empirical quantile function and the true quantile function, determine an uncertainty set based on the empirical quantile function constrained by the confidence limits and a user-specified risk threshold, reformulate chance constraints into deterministic constraints based on the uncertainty set, solve an optimal control problem subject to the deterministic constraints to generate one or more control commands for one or more actuators of the system, and control operation of the system based on the control commands for the one or more actuators of the system.

[0016] Accordingly, another embodiment discloses a method for controlling operation of a system subject to uncertainty in an operational variable of the system, the method comprising: collecting a plurality of samples of uncertainty in the operational variable, constructing an empirical quantile function associated with the uncertainty in the operational variable based on the collected plurality of samples, determining a confidence limit for the empirical quantile function to constrain an approximation error between the empirical quantile function and the true quantile function, determining an uncertainty set based on the empirical quantile function constrained by the confidence limit and a user-specified risk threshold, reformulating chance constraints into deterministic constraints based on the uncertainty set, solving an optimal control problem subject to the deterministic constraints to generate one or more control commands for one or more actuators of the system, and controlling operation of the system based on the control commands for the one or more actuators of the system.

[0017] Accordingly, yet another embodiment discloses a non-transitory computer-readable storage medium having embodied thereon a program executable by a processor for performing a method for controlling operation of a system subject to uncertainty in an operational variable of the system, the method including: collecting a plurality of samples of uncertainty in the operational variable, constructing an empirical quantile function associated with the uncertainty in the operational variable based on the collected plurality of samples, determining confidence limits for the empirical quantile function to constrain an approximation error between the empirical quantile function and the true quantile function, determining an uncertainty set based on the empirical quantile function constrained by the confidence limits and a user-specified risk threshold, reformulating chance constraints into deterministic constraints based on the uncertainty set, solving an optimal control problem subject to the deterministic constraints to generate one or more control commands for one or more actuators of the system, and controlling operation of the system based on the control commands for the one or more actuators of the system. [Brief explanation of the drawings]

[0018] [Figure 1A1]FIG. 1 is a block diagram for controlling vehicle operation subject to uncertainty according to some embodiments of the present disclosure. [Figure 1A2] FIG. 1 is a block diagram for controlling vehicle operation subject to uncertainty according to some embodiments of the present disclosure. [Figure 1B] FIG. 1 illustrates a typical autonomous driving scenario, according to some embodiments of the present disclosure. [Figure 1C] 1A-1C illustrate true probability density functions, true cumulative distributions, true quantile distributions, and their data-driven counterparts, according to some embodiments of the present disclosure. [Figure 1D] FIG. 10 illustrates confidence limits for empirical quantile functions, according to some embodiments of the present disclosure. [Figure 1E] FIG. 2 is a block diagram illustrating a controller for controlling the operation of a vehicle, according to some embodiments of the present disclosure. [Figure 2] FIG. 1 illustrates the relationship between chance constraints and deterministic constraints, according to some embodiments of the present disclosure. [Figure 3] FIG. 10 illustrates an exemplary reformulation of chance constraints using half-spaces, according to some embodiments of the present disclosure. [Figure 4A] FIG. 10 illustrates a family of ellipsoids obtained by scaling a user-specified set of ellipsoid templates, according to some embodiments of the present disclosure. [Figure 4B] FIG. 1 illustrates determining an uncertainty set using an ellipsoid, according to some embodiments of the present disclosure. [Figure 4C] FIG. 10 illustrates determining an uncertainty set using a union of ellipsoids, according to some embodiments of the present disclosure. [Figure 5A] FIG. 1 is a schematic diagram illustrating a vehicle including a controller for controlling the vehicle, according to some embodiments of the present disclosure. [Figure 5B] FIG. 2 is a schematic diagram illustrating interactions between a controller and a vehicle controller, according to some embodiments of the present disclosure. [Figure 5C]FIG. 1 is a schematic diagram illustrating motion planning for a vehicle, according to some embodiments of the present disclosure. [Figure 6] FIG. 1 is a schematic diagram illustrating a computing device that can be used to implement the controller and methods of the present disclosure.

[0019] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. The drawings shown are not necessarily to scale, with emphasis generally being placed upon illustrating the principles of embodiments of the present disclosure. Description of the embodiment

[0020] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In other instances, devices and methods are shown only in block diagram form in order to avoid obscuring the present disclosure.

[0021] As used herein and in the claims, when used in conjunction with a list of one or more components or other items, the terms “for example,” “for instance,” and “such as,” as well as the verbs “comprising,” “having,” “including,” and other verb forms thereof, are each to be construed as open-ended, meaning that such a list should not be viewed as excluding other additional components or items. The term “based on” means based at least in part on. Furthermore, it is to be understood that the phraseology and terminology used herein are for purposes of description and should not be viewed as limiting. Any headings used within this description are for convenience only and do not have any legal or restrictive effect.

[0022] 1A1 and 1A2 are block diagrams 100 illustrating a method for controlling a system according to some embodiments of the present disclosure. Systems include, for example, autonomous ground vehicles such as automobiles or robots in factory automation, aircraft on airport surfaces, and unmanned aerial vehicles such as drones for infrastructure monitoring or inspection. For purposes of illustration, a vehicle is considered to be the system that needs to be controlled. The vehicle may be an autonomous vehicle or a semi-autonomous vehicle. The vehicle may be subject to uncertainty. Uncertainty may arise due to unmodeled phenomena in the environment in which the vehicle operates and the mathematical model used during control, e.g., the effect of friction on the vehicle. Additionally, uncertainty may arise from sensor limitations in sensing the environment. Uncertainty arising in an autonomous driving scenario for a vehicle is described below in FIG. 1B.

[0023] FIG. 1B illustrates a typical autonomous driving scenario 115, according to some embodiments of the present disclosure. A controlled vehicle 117 is traveling on a road 119. The vehicle 117 is communicatively coupled to a controller. In some embodiments, the controller is integrated into the vehicle 117. In addition to the vehicle 117, multiple uncontrolled vehicles, such as a car 121a and a car 121b (hereinafter collectively referred to as multiple uncontrolled vehicles 121a and 121b), are traveling on the road 119. The multiple uncontrolled vehicles 121a and 121b act as moving obstacles for the vehicle 117. Additionally, a foreign object, such as a large stone 121c, acts as a static obstacle for the vehicle 117. The multiple uncontrolled vehicles 121a and 121b and the large stone 121c are hereinafter collectively referred to as obstacles 121a, 121b, and 121c.

[0024] Vehicle 117 may include sensors that sense the surrounding environment, such as range finders, radar, lidar, and cameras. Additionally, vehicle 117 may include sensors that sense the vehicle's current momentum and internal state, such as a global positioning system (GPS), accelerometers, inertial measurement units, gyroscopes, shaft rotation sensors, torque sensors, deflection sensors, pressure sensors, and flow sensors.

[0025] The controller collects data from sensors of the vehicle 117 and determines bounding boxes, such as a bounding box 123a, a bounding box 123b, and a bounding box 123c (hereinafter collectively referred to as the bounding boxes 123a, 123b, and 123c) around the obstacles 121a, 121b, and 121c, respectively, based on the collected data. Furthermore, a motion trajectory 125a of the vehicle 117 can be determined based on the bounding boxes 123a, 123b, and 123c. However, due to the detection and processing limitations of the sensors, the bounding boxes 123a, 123b, and 123c are not always accurate. For example, the bounding box 123a is partially located outside the vehicle 121a. Because the bounding boxes 123a, 123b, and 123c may not be accurate, the motion trajectory 125a is likely to collide with any of the obstacles 121a, 121b, and 121c. For this purpose, it is desirable to determine a movement trajectory 125b that provides a sufficient margin from the obstacles 121a, 121b, and 121c, taking into account the uncertainty of the bounding boxes 123a, 123b, and 123c.

[0026] Additionally, in some embodiments, the operation of the vehicle 117 is constrained, for example, to drive the vehicle 117 within a speed limit. Because the conditions of the road 119 are unpredictable, it is impractical to drive the vehicle 117 at the speed limit. Due to uncertainty in tire traction of the vehicle 117, the speed limit may be exceeded.

[0027]

number

[0028] Here, the function f encodes the constraint that the decision variable z must be outside the set f(z, w) ≦ 0. However, w is an unknown uncertainty whose value is not known, and therefore the value of the decision variable z is chosen such that the likelihood of satisfying the constraint f(z, w) ≦ 0 exceeds a user-specified risk threshold δ (e.g., 0.999). In other words, the chance constraint constrains the probability that a nonlinear function of the decision variables (e.g., function f) is non-positive at the user-specified risk threshold δ. The nonlinear function is one of non-convex and polynomial.

[0029]

number

[0030]

number

[0031] Accordingly, embodiments of the present disclosure are based on the recognition that a combination of empirical quantile functions and robust optimization can calculate optimal motion trajectories for vehicle 117 that are subject to uncertainties that are unknown and can be estimated using data collected during current and / or possibly past operation of vehicle 117. Such an approach is described below with reference to FIGS. 1A1 and 1A2.

[0032] 1A1, in block 101, multiple samples of uncertainty in motion variables of vehicle 117 are collected. For example, in a collision avoidance example, multiple samples of uncertainty in bounding box positions are collected. The samples may be determined offline (i.e., prior to real-time operation) or during real-time control of vehicle 117.

[0033] Quantile function Q W is the inverse of the cumulative distribution function. W The cumulative distribution function of a real-valued random variable w, denoted by (v), is the probability that w takes a value less than or equal to v.

[0034]

number

[0035] The empirical quantile function (2) is a function that the user can use to W is not available, the true quantile function Q of the uncertainty w W Approximate.

[0036] 1C illustrates true probability density functions (e.g., true probability density function 127 and true probability density function 129), true cumulative distributions (e.g., true cumulative distribution 131 and true cumulative distribution 133), and true quantile distributions (e.g., true cumulative distribution 135 and true cumulative distribution 137) along with their empirical counterparts constructed using finite sets of samples for two distributions: a symmetric triangular distribution and a Gaussian random variable. The symmetric triangular distribution has support in [-1, 1] as observable from true probability density function 127 and true cumulative distribution 131, while the Gaussian random variable has support across the solid line as observable from true probability density function 129 and true cumulative distribution 133.

[0037] Dotted lines 131a and 133a represent the empirical cumulative distribution, and dotted lines 135a and 137a represent the empirical quantile function constructed in (2) and (3) using the collected samples. It can be observed from FIG. 1C that the domains of the true probability density function, the true cumulative distribution, and the empirical cumulative distribution correspond to the uncertainty support. The ranges of the true cumulative distribution function and the empirical cumulative distribution function coincide and are equal to [0, 1]. Meanwhile, the domains of the true quantile function and the empirical quantile function (e.g., the empirical quantile function represented by dotted line 137a) coincide and are equal to [0, 1]. The ranges of the true quantile function and the empirical quantile function correspond to the uncertainty support.

[0038] However, quantile functions that are approximated using samples are noisy. To mitigate such problems, some embodiments use properties of quantile functions that allow finite sample guarantees on the quality of the approximation.

[0039]

number

[0040]

number

[0041]

number

[0042] 1D illustrates confidence limits 135b and 135c for empirical quantile function 135a and confidence limits 137b and 137c for empirical quantile function 137a for M=50 and M=1000 samples, respectively, according to some embodiments of the present disclosure. It is clear from FIG. 1D that the confidence limits become tighter when the number of samples M is large.

[0043]

number

[0044]

number

[0045] Some embodiments are based on the recognition that any values ​​of the decision variables that satisfy (6) satisfy the chance constraint (1). In (6), the maximization operation encodes the requirement that all uncertainty values ​​in the uncertainty set ε must satisfy the constraint f(z,w) ≦ 0. Furthermore, (6) does not impose any structure or assumptions on the uncertainty w or the constraint function f.

[0046] However, the chance-constrained optimization problem, in which the chance constraints are replaced by deterministic constraints in equation (6), leads to a bilevel optimization problem, which is generally difficult to solve. A bilevel optimization problem is an optimization problem in which the constraints themselves involve solving more than one optimization problem.

[0047]

number

[0048] Unlike (6), the optimization problem with deterministic constraints in (7) can be easily implemented in standard off-the-shelf solvers, ensuring that the chance constraint (1) is satisfied. Furthermore, g in (7) is known to be convex if, for each value of w∈ε, f is convex in z and ε is convex. The convexity of g in (7) provides numerical and theoretical advantages when implementing (1) in optimal control problems.

[0049] In block 111, an optimal control problem subject to deterministic constraints (6) or (7) is solved to generate one or more control commands for one or more actuators of vehicle 117, such as the steering and / or brakes of vehicle 117. In block 113, the operation of vehicle 117 is controlled based on the control commands for the one or more actuators.

[0050] The steps (101-113) described in block diagram 100 for controlling the operation of vehicle 117 are performed by a controller. FIG. 1E is a block diagram illustrating a controller 139 for controlling the operation of vehicle 117, according to some embodiments of the present disclosure. Controller 139 includes a processor 141 and a memory 143. Processor 141 may be a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. Memory 143 may include random access memory (RAM), read-only memory (ROM), flash memory, or any other suitable memory system. Furthermore, in some embodiments, memory 143 may be implemented using a hard drive, an optical drive, a thumb drive, an array of drives, or any combination thereof.

[0051] 2 is a diagram illustrating the relationship between the set of values ​​of decision variable z that satisfy chance constraint (1) and deterministic constraint (6), according to some embodiments of the present disclosure. Here, set 201 refers to the set of values ​​of decision variable z that satisfy chance constraint (1). Because the uncertainty is unknown, set 201 is unknown. However, using the data-driven approach described in FIG. 1C , it is possible to determine a tighter set 203 that is a strict subset of set 201. Formally, any value of the decision variable that belongs to tighter set 203 also belongs to set 201, i.e., any value of the decision variable that satisfies (6) also satisfies (1).

[0052]

number

[0053] where the decision variable z may be a collection of variables such as the thrust output and steering angle of the engine of the vehicle 117, V(z) describes the estimated speed of the vehicle 117 as a known nonlinear transformation of the decision variable z, and the uncertainty w is the difference between the estimated speed of the vehicle 117 and the true speed of the vehicle 117. Here, w is a complex object whose uncertainty distribution is difficult to obtain in practice.

[0054] Some embodiments recognize that data regarding w can be collected separately, for example, by driving the vehicle 117 on a test track equipped with a speed estimator such as Doppler radar to obtain the true speed of the vehicle 117 and estimate w for different road and steering conditions, etc.

[0055]

number

[0056]

number

[0057] Therefore, the collected samples can be used to compute inner and outer approximations to the constraint set in (8). In practice, β is set very small (e.g., 10 -6 ) where C corresponds to the set 201 in FIG. 2, and the left hand side (LHS) of (10a) corresponds to the set 203 in FIG. 2.

[0058]

number

[0059]

number

[0060] 3 is a diagram illustrating an example reformulation of chance constraints using half-space, according to some embodiments of the present disclosure. Axis 301a and axis 301b respectively indicate the allowable lateral and longitudinal speeds allowed for vehicle 117. A speed limit constraint limits the longitudinal speed at 303 without any restrictions on the lateral speed. A chance constraint reformulation using M samples and (10a) further tightens the speed limit constraint for region 305, and region 307 is removed from the set of possible longitudinal speeds to enforce (1).

[0061] In some embodiments, the uncertainty set ε is defined using an ellipsoid or a union of ellipsoids. In any of these cases, when f is a (possibly non-convex) quadratic function, second-order conic programming or semidefinite programming can be used to enforce constraint (6), without resorting to bilevel optimization.

[0062]

number

[0063]

number

[0064]

number

[0065]

number

[0066]

number

[0067] FIG. 4A is a diagram showing a family of ellipsoids V(t), such as ellipsoid 401, ellipsoid 403, and ellipsoid 405 (hereinafter collectively referred to as ellipsoids 401, 403, and 405), according to some embodiments of the present disclosure. The ellipsoids are characterized by specific values of c (point 407) and S for different values of t for p = 2. Ellipsoid 401 corresponds to ellipsoid V(1). By design, ellipsoids 401, 403, and 405 are nested, and the ellipsoid corresponding to a smaller value of t is included in the ellipsoid corresponding to a larger value of t. For example, ellipsoid 403 corresponds to V(t1), ellipsoid 405 corresponds to V(t2) having t1 < t2, and ellipsoid 403 is included in ellipsoid 405.

[0068] FIG. 4B is a diagram showing an ellipsoid 411 according to some embodiments of the present disclosure, in which the uncertainty set ε includes data sample 413 and excludes data sample 415. Due to the shape of the ellipsoid 411, the uncertainty set ε includes a region �17 that does not contain data samples.

[0069] [Number]

[0070] [Number]

[0071] In addition, according to some embodiments, the second - chance constraint can be reformulated using an ellipsoidal uncertainty set obtained by scaling a user - specified template set based on the empirical quantile function. The second - chance constraint is a chance constraint in which f is quadratic in the decision variable z and the uncertainty w. Referring again to FIG. 1B, the second - chance constraint occurs when designing the motion trajectory 125b of the vehicle 117, and it is desired that the obstacles 121a, 121b, and 121c faced by the vehicle 117 be constrained using ellipsoids instead of the bounding boxes 123a, 123b, and 123c.

[0072]

number

[0073] Additionally or alternatively, in some embodiments, different types of template sets, including hyperspheres, polytopes, zonotopes, and general convex and non-convex sets, may also be considered by varying the choice of function h in the definition of V(t) in the more general form of the constraint function f.

[0074]

number

[0075] Using an empirical quantile function, some embodiments of the present disclosure calculate the uncertainty w and the constraint function f i and probability threshold δ i The realization of the deterministic constraint g i We provide a principled approach to transforming (z) ≤ 0. An important advantage of such a reformulation is that (14c) can be solved using off-the-shelf nonlinear optimization solvers. Furthermore, similar to (9) and (10), (6) can be used to tighten the chance constraint in (14a) to ensure that all feasible solutions to (14c) are also feasible for (14a).

[0076] 5A is a schematic diagram illustrating a vehicle 501 including a controller 139 according to some embodiments of the present disclosure. As used herein, the vehicle 501 may be any type of wheeled vehicle, such as a car, a bus, or a rover. The vehicle 501 may also be an autonomous or semi-autonomous vehicle. For example, in some embodiments, the vehicle 501 is controlled in motion. The motion may include, for example, lateral movement of the vehicle 501, which is controlled by a steering system 503 of the vehicle 501. In one embodiment, the steering system 503 is controlled by the controller 139. Additionally or alternatively, the steering system 503 may be controlled by a driver of the vehicle 501.

[0077] The vehicle 501 may include an engine 506 that may be controllable by the controller 139 or other components of the vehicle 501. The vehicle 501 may also include one or more sensors 504 for sensing the surrounding environment. The sensors 504 may include, for example, a rangefinder, radar, lidar, and a camera.

[0078] The vehicle 501 may also include one or more sensors 505 that sense its current momentum and internal conditions. The sensors 505 may include, for example, a global positioning system (GPS), an accelerometer, an inertial measurement unit, a gyroscope, a shaft rotation sensor, a torque sensor, a deflection sensor, a pressure sensor, and a flow sensor. The sensors provide information to the controller 139. The vehicle may be equipped with a transceiver 507 that enables communication capabilities of the controller 139 through wired or wireless communication channels.

[0079] 5B is a schematic diagram illustrating the interaction between controller 139 and controller 520 of vehicle 501, according to some embodiments. For example, in some embodiments, controller 520 of vehicle 501 is a steering controller 525 and a brake / throttle controller 530 that control the rotation and acceleration of vehicle 501. In this case, controller 139 outputs control commands to controllers 525 and 530 to control the movement of vehicle 501 to control the state of vehicle 501, such as acceleration and attitude. Controller 520 may also include a higher-level controller, such as a lane-keeping assist controller 535, that further processes the control commands of controller 139. In both cases, controller 520 uses the control commands of controller 139 to control at least one actuator of vehicle 501, such as the steering and / or brakes of vehicle 501, to control the movement of vehicle 501.

[0080] 5C is a schematic diagram illustrating an autonomous or semi-autonomous vehicle 550 controlled by a controller 139, whose control commands are calculated by employing principles of some embodiments. The controller 139 aims to control the controlled vehicle 550 to maintain the controlled vehicle 550 within specific boundaries of a road 552 and to avoid other uncontrolled vehicles, i.e., obstacles 551 in the controlled vehicle 550. For such control, the controller 139 determines the control commands by solving an optimal control problem subject to deterministic constraints (6). In some embodiments, the control commands include commands specifying values ​​for one or a combination of the steering angle of the wheels of the controlled vehicle 550, the rotational speed of the wheels, and the acceleration of the controlled vehicle 550. The control commands may, for example, cause the controlled vehicle 550 to navigate along a trajectory 553 without colliding with the uncontrolled vehicle 551 (obstacles).

[0081] 6 is a schematic diagram illustrating a computing device 600 for implementing the method and controller of the present disclosure. The computing device 600 includes a power supply 601, a processor 603, a memory 605, and a storage device 607, all of which are connected to a bus 609. A high-speed interface 611, a low-speed interface 613, a high-speed expansion port 615, and a low-speed connection port 619 can be connected to the bus 609. A low-speed expansion port 617 is also connected to the bus 609. An input interface 621 can be connected to an external receiver 623 and an output interface 625 via the bus 609. The receiver 627 can be connected to an external transmitter 629 and a transmitter 631 via the bus 609. An external memory 633, an external sensor 635, a machine(s) 637, and an environment 639 can also be connected to the bus 609. One or more external input / output devices 641 can also be connected to the bus 609. A network interface controller (NIC) 643 may be adapted to connect to a network 645 via bus 609 and may render data or other data to, among other things, a third-party display device, a third-party imaging device, and / or a third-party printing device external to computing device 600.

[0082] The memory 605 can store instructions executable by the computing device 600, as well as any data that may be utilized by the methods and systems of the present disclosure. The memory 605 may include random access memory (RAM), read-only memory (ROM), flash memory, or any other suitable memory system. The memory 605 may be one or more volatile and / or non-volatile memory units. The memory 605 may also be another form of computer-readable medium, such as a magnetic disk or an optical disk.

[0083] The storage device 607 may be adapted to store supplemental data and / or software modules used by the computing device 600. The storage device 607 may include a hard drive, an optical drive, a thumb drive, an array of drives, or any combination thereof. Additionally, the storage device 607 may include an array of devices, including computer-readable media such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or a storage area network or other configuration of devices. The instructions may be stored on an information carrier. When executed by one or more processing devices (e.g., processor 603), the instructions perform one or more methods, such as those described above.

[0084] Computing device 600 may optionally be coupled via bus 609 to a display interface or user interface (HMI) 647 adapted to connect computing device 600 to a display device 649 and keyboard 651. Display device 649 may include, among other things, a computer monitor, a camera, a television, a projector, or a mobile device. In some implementations, computing device 600 may include a printer interface for connecting to a printing device. The printing device may include, among other things, a liquid inkjet printer, a solid ink printer, a large-scale commercial printer, a thermal printer, a UV printer, or a dye-sublimation printer.

[0085] The high-speed interface 611 manages bandwidth-intensive operations for the computing device 600, and the low-speed interface 613 manages less bandwidth-intensive operations. Such an allocation of functionality is merely an example. In some implementations, the high-speed interface 611 can be coupled to memory 605 and a user interface (HMI) 647, and can further be coupled to a keyboard 651 and a display 649 (e.g., via a graphics processor or accelerator), and can further be coupled to a high-speed expansion port 615 that can accept various expansion cards via a bus 609. In one implementation, the low-speed interface 613 is coupled to a storage device 607 and a low-speed expansion port 617 via a bus 609. The low-speed expansion port 617, which can include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), can be coupled to one or more input / output devices 641. The computing device 600 can be connected to a server 653 and a rack server 655. The computing device 600 may be implemented in several different forms. For example, the computing device 600 may be implemented as part of a rack server 655.

[0086] The description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the following description of exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosed subject matter as set forth in the appended claims.

[0087] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by those skilled in the art that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the disclosed subject matter may be shown as components in block diagram form to avoid obscuring the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail to avoid obscuring the embodiments. Additionally, the same reference numbers and names in the various drawings refer to the same elements.

[0088] Also, particular embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. While a flowchart may describe operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Additionally, the order of operations may be rearranged. A process may be terminated when its operations are completed, but may have additional steps not discussed or included in the diagram. Moreover, not all operations in any process that are specifically described may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the termination of the function may correspond to a return of the function to the calling function or the main function.

[0089] Furthermore, embodiments of the disclosed subject matter may be implemented, at least in part, either manually or automatically. The manual or automatic implementation may be performed or at least assisted by a machine, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored on a machine-readable medium. A processor(s) may perform the necessary tasks.

[0090] The various methods or processes outlined herein may be coded as software executable on one or more processors employing any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages ​​and / or programming or scripting tools, and compiled as executable machine code or intermediate code to run on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.

[0091] Embodiments of the present disclosure may be implemented as a method, an example of which is provided. The order of operations performed as part of this method may be determined in any suitable manner. Thus, embodiments may be configured to perform operations in an order different from that illustrated, which may include performing some operations simultaneously, even though they are shown as a sequence in the illustrated embodiment.

[0092] Furthermore, embodiments of the present disclosure and the functional operations described herein can be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, in computer hardware containing the structures disclosed herein and their structural equivalents, or in one or more combinations thereof. Furthermore, some embodiments of the present disclosure can be implemented as one or more computer programs, i.e., as one or more modules of computer program instructions encoded on a tangible, non-transitory program carrier for execution by or to control the operation of a data processing apparatus.

[0093] Furthermore, the program instructions may be encoded on an artificially generated propagated signal, for example, an electrical, optical, or electromagnetic signal generated by a machine. The propagated signal is generated to encode information that is transmitted to a suitable receiving device for execution by a data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random-access or serial-access memory device, or a combination of one or more thereof.

[0094] According to embodiments of the present disclosure, the term "data processing apparatus" may encompass all types of apparatus, devices, and machines that process data, including, by way of example, a programmable processor, computer, or multiple processors or computers. The apparatus may include special-purpose logic circuitry, such as an FPGA (field-programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof.

[0095] A computer program (which may also be called or described as a program, software, software application, module, software module, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and can be deployed in any form, such as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in part of a file that holds other programs or data, for example, in one or more scripts stored in a markup language document, in a single file dedicated to the program, or in multiple coordinated files, for example, a file that stores one or more modules, subprograms, or portions of code.

[0096] A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communications network. Computers suitable for running computer programs may, by way of example, be based on general-purpose or special-purpose microprocessors or both, or any other type of central processing unit. Typically, a central processing unit receives instructions and data from a read-only memory or a random-access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data.

[0097] Typically, a computer also includes one or more mass storage devices, such as magnetic, magneto-optical, or optical disks, for storing data, or is operatively coupled to such disks to receive and / or transfer data therefrom. However, a computer need not have such devices. Furthermore, a computer can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device, such as a universal serial bus (USB) flash drive, to name a few.

[0098] To provide for user interaction, embodiments of the subject matter described herein can be implemented on a computer having a display device, such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user, and a keyboard and pointing device, such as a mouse or trackball, that allows the user to provide input to the computer. Other types of devices can also be used to provide user interaction. For example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and input from the user can be received in any form, including acoustic input, speech input, or tactile input. Additionally, the computer can provide for user interaction by sending documents to and receiving documents from a device used by the user, for example, by sending a web page to a web browser on the user's client device in response to a request received from the web browser.

[0099] Embodiments of the subject matter described herein can be implemented in a computing system that includes a back-end component, e.g., a data server, or includes a middleware component, e.g., an application server, or includes a front-end component, e.g., a client computer having a graphical user interface or web browser that allows a user to interact with an implementation of the subject matter described herein, or includes any combination of one or more of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communications network. Communications networks include, for example, local area networks ("LANs") and wide area networks ("WANs"), e.g., the Internet.

[0100] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a mutual client-server relationship.

[0101] Although the present disclosure has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the disclosure. It is, therefore, the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the present disclosure.

Claims

1. 1. A controller for controlling operation of a system subject to uncertainty in an operating variable of the system, comprising: at least one processor; and a non-transitory memory storing instructions that, when executed by the at least one processor, cause the feedback controller to: collecting a plurality of samples of the uncertainty of the operational variable; constructing an empirical quantile function associated with the uncertainty of the operational variable based on the plurality of collected samples; determining confidence limits for the empirical quantile function to bound an approximation error between the empirical quantile function and a true quantile function; determining an uncertainty set based on the empirical quantile function constrained by the confidence limits and a user-specified risk threshold; reformulating chance constraints into deterministic constraints based on the uncertainty set; solving an optimal control problem subject to the deterministic constraints to generate one or more control commands for one or more actuators of the system; a controller that controls the operation of the system based on the control commands to the one or more actuators of the system.

2. The controller of claim 1 , wherein the processor is further configured to determine the confidence bounds for the empirical quantile function based on a Dvoretzky-Kiefer-Wolfowitz-Massart inequality.

3. 2. The controller of claim 1, wherein the chance constraint constrains the probability that a nonlinear function of decision variables is non-positive at the user-specified risk threshold, the nonlinear function being one of non-convex and polynomial.

4. 2. The controller of claim 1, wherein to determine the uncertainty set based on the empirical quantile function constrained by the confidence limit and the user-specified risk threshold, the processor is further configured to scale a set of user-specified templates based on the empirical quantile function, the set of user-specified templates, and the user-specified risk threshold.

5. 2. The controller of claim 1, wherein the uncertainty set is an affine transformation of a user-specified template set in a space of uncertainty, and the shape of the user-specified template set is one of a half-space, a polytope, a hypersphere, a hyperellipsoid, a zonotope, a convex shape, and a non-convex shape.

6. 2. The controller of claim 1, wherein the uncertainty set is a half-space based on a predetermined normal vector and a parameter determining a shift in the half-space, and the processor is further configured to reformulate linear chance constraints into the deterministic constraints based on the half-space.

7. 2. The controller of claim 1, wherein the processor is further configured to reformulate quadratic chance constraints into the deterministic constraints based on an ellipsoidal uncertainty set, the ellipsoidal uncertainty set being obtained by scaling a user-specified template set based on the empirical quantile function.

8. 2. The controller of claim 1, wherein the processor is further configured to reformulate quadratic chance constraints into the deterministic constraints based on an S-lemma that enables casting the deterministic constraints as constraints in a semi-defined cone.

9. The controller of claim 1 , wherein the operating variable of the system corresponds to a position of a boundary around an obstacle.

10. The controller of claim 1 , wherein the sample of the uncertainty in the operating variable is determined offline.

11. The controller of claim 1 , wherein the uncertainty in the operating variables of the system and the true quantile function are unknown.

12. The controller of claim 1 , wherein the system is one of an autonomous ground vehicle or an unmanned aerial vehicle.

13. 13. The controller of claim 12, wherein the processor is further configured to submit the control commands to one or more actuators of the autonomous ground vehicle, the control commands causing the autonomous ground vehicle to navigate along a trajectory without colliding with one or more obstacles.

14. 14. The controller of claim 13, wherein the control commands to the one or more actuators of the autonomous ground vehicle include values ​​for one or a combination of a steering angle of a wheel of the autonomous ground vehicle, a rotational speed of the wheel, and an acceleration of the autonomous ground vehicle.

15. 1. A method for controlling the operation of a system subject to uncertainty in an operating variable of the system, comprising: collecting a plurality of samples of the uncertainty of the operational variable; constructing an empirical quantile function associated with the uncertainty of the operational variable based on the collected samples; determining confidence limits for the empirical quantile function to bound the approximation error between the empirical quantile function and a true quantile function; determining an uncertainty set based on the empirical quantile function constrained by the confidence limits and a user-specified risk threshold; reformulating chance constraints into deterministic constraints based on the uncertainty set; solving an optimal control problem subject to the deterministic constraints to generate one or more control commands for one or more actuators of the system; and controlling the operation of the system based on the control commands to the one or more actuators of the system.

16. 16. The method of claim 15, further comprising determining the confidence bounds for the empirical quantile function based on a Dvoretzky-Kiefer-Wolfowitz-Massart inequality.

17. 16. The method of claim 15, wherein to determine the uncertainty set based on the empirical quantile function constrained by the confidence limit and the user-specified risk threshold, the method further comprises scaling a set of user-specified templates based on the empirical quantile function, the set of user-specified templates, and the user-specified risk threshold.

18. 16. The method of claim 15, wherein the uncertainty set is a half-space based on a predetermined normal vector and a parameter determining a shift in the half-space, and the method further comprises reformulating linear chance constraints into the deterministic constraints based on the half-space.

19. The method of claim 15 , wherein the system is one of an autonomous ground vehicle or an unmanned aerial vehicle.

20. 1. A non-transitory computer-readable recording medium having embodied thereon a program executable by a processor for performing a method for controlling operation of a system subject to uncertainty in an operating variable of the system, the method comprising: collecting a plurality of samples of the uncertainty of the operational variable; constructing an empirical quantile function associated with the uncertainty of the operational variable based on the collected samples; determining confidence limits for the empirical quantile function to bound the approximation error between the empirical quantile function and a true quantile function; determining an uncertainty set based on the empirical quantile function constrained by the confidence limits and a user-specified risk threshold; reformulating chance constraints into deterministic constraints based on the uncertainty set; solving an optimal control problem subject to the deterministic constraints to generate one or more control commands for one or more actuators of the system; and controlling the operation of the system based on the control commands to the one or more actuators of the system.

Citation Information

Patent Citations

  • Model predictive control of systems with continuous and discrete elements of operations

    JP2020149677A

  • Stochastic model predictive control of uncertain systems

    JP2023546540A

  • Probabilistic nonlinear predictive controller and method based on uncertainty propagation via Gaussian distribution hypothesis density filter

    JP2024520874A