Control of machines operating in uncertain environments that can be discovered by sensing

JP7668951B2Active Publication Date: 2025-04-25MITSUBISHI ELECTRIC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024500699
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-04-05
Filing Date
2021-12-15
Publication Date
2025-04-25
Estimated Expiration
2041-12-15

AI Technical Summary

Technical Problem

Autonomous machines operating in uncertain environments face challenges in achieving control objectives while avoiding unsafe events, leading to potentially degraded performance due to overly cautious movement or deviation from required paths.

Method used

A controller that employs interdependent but unbalanced control and sensing, prioritizing control objectives over sensing, using multivariable constrained optimization to determine optimal machine operation while ensuring safety and acquiring knowledge about the environment.

Benefits of technology

Enhances machine performance by allowing it to achieve goals efficiently while minimizing risks, balancing control objectives with environmental knowledge acquisition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000029_0000
    Figure 00000029_0000
  • Figure 00000030_0000
    Figure 00000030_0000
  • Figure 00000030_0001
    Figure 00000030_0001
Patent Text Reader

Abstract

The machine's controllers jointly determine the state trajectories of the machine and the sequences of control inputs that define the desired knowledge of the environment by solving a multivariate constrained optimization of a model of the machine's dynamics that relates state trajectories to sequences of control inputs subject to constraints on allowable values ​​of the state and control inputs that are defined based on the desired knowledge of the surrounding environment represented by the state of the environment and the uncertainty in the state of the environment determined from measurements of the environment. In this way, the controllers perform a collaborative but unbalanced optimization of the control inputs and sensing commands to the sensors to learn the environment.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to control strategies for machines operating in environments that are not completely known but are discoverable by sensing operations. Examples of machines include autonomous or semi-autonomous vehicles and autonomous robots. [Background technology]

[0002] The environments in which autonomous machines, such as automated vehicles, unmanned drones, automated ground vehicles, mobile warehouse robots, etc., often operate are only roughly known as they change over time. The machine must achieve one or more assigned control objectives, and this must be accomplished while avoiding unsafe events that may result from the machine's operation in the environment, such as colliding with obstacles or leaving areas specifically marked in the environment. However, information about the environment can be obtained by sensing using sensors on the machine itself or sensors in the environment connected to the machine through a communication network, thereby increasing the knowledge of the environment.

[0003] For example, one objective of an autonomous vehicle is to reach its target destination while remaining on the road by maintaining driving within proper lane markings without colliding with other vehicles. The positions of other vehicles and road markings are not known a priori, but can be obtained from sensors such as radar, sonar, lidar, etc., as long as various objects are within the sensors and line of sight. These sensors can be internal or external to the vehicle. For example, the sensors can be located on the vehicle or in a road-side unit (RSU).

[0004] In another example, a warehouse robot delivers a particular part to a work station while staying within assigned corridors to avoid endangering human workers and avoiding collisions with other robots and materials in the warehouse. As the workers and materials move through the warehouse, their positions change in unknown ways that can be obtained from sensors onboard the robot, such as lidar and sonar, as long as various objects are within range and line of sight of the sensors, or can be relayed to the robot from sensors placed in the environment, as long as the robot is within communication range of the sensors.

[0005] The amount of information obtained about a particular object in the environment depends on the amount of sensing that such object undergoes: the more an object is observed with sensors, the more information is obtained about that object, i.e., the more knowledge is gained about the state of the object. Thus, obtaining information about objects in the environment in order to increase that knowledge is a dynamic process.

[0006] On the other hand, the amount of information about the environment obtained through sensors often depends on how the machine is operated. For example, an object can be properly discovered and observed only if it is within the range of the sensor for observing the object and if there is a free line of sight between the object and the sensor located on the machine. Thus, if the machine is operated so that the object remains within the range and line of sight of the sensor for a longer time, the amount of information obtained about the object will be greater and the knowledge of the object state will be more accurate. Also, the amount of information can be increased while decreasing the range, so more information is obtained if the machine is controlled closer to the obstacle. However, some risks may arise if the machine gets too close to the supposed position of the obstacle before sufficient knowledge about the actual position of the obstacle is available. Summary of the Invention [Problem to be solved by the invention]

[0007] If the machine's movements are determined solely based on available knowledge, the need to avoid unsafe events caused by a partially unknown environment may lead the machine's movements to be overly cautious and stay on the paths it knows best, which may result in poorer performance, e.g., taking longer to reach the goal or using more energy. On the other hand, if the machine's movements are determined to obtain the most information about the environment, the machine's movements may deviate significantly from those required to achieve the control goal, which may result in poorer overall performance, e.g., not reaching the goal or reaching the goal too late.

[0008] Thus, what is needed is a control methodology that determines optimal machine operation while avoiding unsafe events caused by an uncertain but detectable environment, whose ability to obtain information is dependent on how the machine is operated, such that obtaining information does not prevent the machine from achieving its goals or degrade its performance in achieving its goals. [Means for solving the problem]

[0009] Some embodiments consider a controller for controlling a machine operating in a partially unknown environment discovered by sensing, where the control objective is for the machine to achieve a given goal or control objective, such as reaching a particular state or tracking a given reference signal, while ensuring the operational requirements and safety of the machine with respect to its interaction with its environment.

[0010] Examples of such machines include autonomous vehicles, as well as aerospace vehicles and mobile or manipulator robots, which are machines for which models of motion and dynamics are available, but which are operating in an environment that is not completely known. For example, environmental uncertainty can be due to the presence of other agents, such as other cars or objects whose positions and motions are not known in advance, but which can be spotted using sensors such as cameras, lidars, or radars. Safety is ensured by controlling the vehicle or robot such that its motion meets operational specifications, such as limits on speed, acceleration, and force. Safe interaction with the environment is ensured by controlling the vehicle or robot such that it does not collide with other agents, such as other cars or other robots, and stays in an appropriate area for the vehicle or robot to stay, such as an appropriate lane on a road or a predefined workspace. Ensuring safe interaction cannot be completely certain, since knowledge of other agents and possibly their range of motion is not complete, but it can be made more certain by acquiring more information from sensors to increase knowledge about them.

[0011] For a machine operating according to the above definitions and examples, the commands issued by the control depend on the amount of knowledge available in the environment. For example, the control may need to avoid areas where knowledge is not available to avoid the risk of being undetected. On the other hand, the sensing also depends on how the control operates the machine through its commands. For example, how close the machine is to an area determines how well such an area is sensed. As another example, the controller may decide in real time the amount of processing to be done on the sensed data on a particular area, which can increase or decrease the amount of information extracted from the sensor. Thus, there is a circular interdependence between sensing and control.

[0012] However, the overall goal of the controller is to achieve a specific control objective for the machine, and thus the sensing objectives are secondary to the control objectives because they influence the operation of the machine but do not themselves motivate the operation of the machine.

[0013] To that end, some embodiments disclose interdependent but unbalanced control and sensing applications, where control is the primary objective and sensing is a secondary objective. To achieve the interdependence, embodiments jointly determine the state trajectory of the machine and the amount of knowledge required about the state of the environment around the machine, e.g., as part of a single unit multivariable optimization. To unbalance their importance, some embodiments use multivariable constrained optimization on the state trajectory and the amount of knowledge of the state of the environment, where the environmental knowledge acts against constraints that determine the acceptable values ​​for the machine states and control commands. In this way, the environmental knowledge is secondary to the control objective, because the amount of knowledge that acts against constraints does not have an independent optimization objective, but acts by limiting the acceptable values ​​for the machine states and control commands.

[0014] Thus, various embodiments determine the knowledge of the environment with appropriate constraints that limit the machine's operation, while determining the control objective as a performance objective. Such constraints consist of a deterministic component and an uncertainty component. The deterministic component represents the constraints based on the current knowledge of the environment. The uncertainty component represents how much additional safety margin should be left based on the constraints of how reliable the current knowledge of the environment is. Thus, the more stringent these constraints are due to the influence of the uncertainty component, the less reliable the currently available knowledge of the environment is.

[0015] As a result, the controller may operate the machine to improve sensing in areas where better knowledge is available that allows the control to operate the machine with higher performance in reaching the goal, but will not modify the machine operation to improve knowledge of the environment where performance in achieving the goal would decrease.

[0016] Some embodiments design the controller as a predictive control subject to probabilistic constraints, where the uncertainty in such probabilistic constraints is the prediction confidence in the estimation of the environment. The confidence in the estimation of the environment is calculated using a model of the estimator, which can be built based on dynamic equations or machine learning models. The probabilistic constraints take into account the uncertainty in the knowledge of the environment, while taking into account the limitations on the machine operation imposed by the environment, while the cost function of the predictive controller takes into account the achievement of the goal. Additionally or alternatively, some embodiments include a secondary objective of improving the knowledge of certain parts of the environment, while still achieving the goal by appropriately designing the cost function.

[0017] Accordingly, one embodiment discloses a controller for controlling operation of a machine, the controller comprising at least one processor and a memory having instructions stored thereon, which when executed by the at least one processor cause the controller to: obtain knowledge of the environment surrounding the machine from measurements of at least one sensor sensing the environment based on a state of the machine and sensing instructions controlling operation of the sensor, process the obtained knowledge of the environment to estimate a state of the environment and an uncertainty of the state of the environment, jointly determine a sequence of control inputs for the machine that defines the state trajectory of the machine and a desired knowledge of the environment by solving a multivariate constrained optimization of a model of dynamics of the machine that relates state trajectories to a sequence of control inputs subject to constraints on allowable values ​​of state and control inputs defined based on a desired knowledge of the surrounding environment represented by the state of the environment and the uncertainty of the state of the environment, control the machine based on the sequence of control inputs to change the state of the machine, update the sensing instructions based on the desired knowledge of the environment and present the updated sensing instructions to the sensor. [Brief description of the drawings]

[0018] [Figure 1A] FIG. 1 is a schematic diagram illustrating a general architecture considered in this disclosure, including a controller for controlling a machine operating in an environment discovered by sensing. [Figure 1B] FIG. 1 is a schematic diagram illustrating collaborative multivariate optimization used by some embodiments. [Figure 1C] FIG. 2 is a schematic diagram illustrating constraints used by imbalanced multivariable constrained optimization, according to some embodiments. [Figure 1D] FIG. 2 is a schematic diagram illustrating the principle of a cost function optimized by unbalanced multivariable constrained optimization, according to some embodiments. [Diagram 2]FIG. 2 is a block diagram illustrating a method for multivariable constrained optimization performed by some embodiments to achieve collaborative but unbalanced optimization. [Figure 3A] FIG. 1 is a schematic diagram illustrating an example controller for controlling a vehicle operating in an environment discovered by sensing, according to some embodiments. [Figure 3B] FIG. 1 is a block diagram illustrating a computing platform of a controller for controlling a machine operating in an environment discovered by sensing, according to some embodiments of the present disclosure. [Figure 4A] 1A-1C are schematic diagrams illustrating the results of controller operation according to some embodiments of the present disclosure when the controller steers the vehicle to remain in the current lane or to change lanes to the left, and remaining in the current lane appears to be preferable. [Figure 4B] 1A-1C are schematic diagrams illustrating the results of controller operation according to some embodiments of the present disclosure when the controller steers the vehicle to remain in the current lane or to change lanes to the left, and remaining in the current lane appears to be preferable. [Figure 5A] FIG. 11 is a schematic diagram illustrating the results of the operation of a controller according to some embodiments of the present disclosure as the controller maneuvers the vehicle to reach a target position while avoiding constraints imposed by collision avoidance, when the constraints are amplified by environmental uncertainties and the controller does not take any action to reduce such uncertainties. [Figure 5B] FIG. 1 is a schematic diagram illustrating the results of the operation of a controller according to some embodiments as the controller maneuvers the vehicle to reach a target position while avoiding constraints imposed by collision avoidance when constraints limit its desired behavior, the constraints are amplified by environmental uncertainties, and the controller takes action to reduce such uncertainties, according to some embodiments. [Figure 5C]FIG. 11 is a schematic diagram illustrating the results of the operation of a controller according to some embodiments as the controller maneuvers the vehicle to reach a target position while avoiding constraints imposed by collision avoidance when the constraints are augmented by environmental uncertainties and the controller takes actions to reduce such uncertainties based on optimizing a joint cost function of vehicle performance and uncertainty reduction without limitations imposed by embodiments of the present disclosure. [Figure 6A] FIG. 1 is a block diagram illustrating a controller for controlling a machine operating in an environment discovered by sensing, according to some embodiments. [Figure 6B] FIG. 4 is a flow diagram illustrating an iterative operation of a control unit according to some embodiments. [Figure 7] FIG. 1 is a flow diagram illustrating the configuration of a predictive model used by a control unit to control a machine according to some embodiments, where the effects of the environment and its uncertainties are taken into account by constraints on the operation of the machine enforced by the control unit. [Figure 8] FIG. 1 is a flow diagram illustrating the construction of a cost function used by a control unit to control a machine according to some embodiments, in which the effects of the environment and its uncertainties are taken into account by constraints on the operation of the machine enforced by the control unit. [Figure 9A] FIG. 13 is a schematic diagram illustrating the effect of uncertainty-dependent tight interaction constraints that reduce the allowable region of the combined machine and environment state spaces based on uncertainty about the environmental state, according to some embodiments. [Figure 9B] FIG. 1 is a flow diagram illustrating operations for constructing uncertainty-dependent tight interaction constraints according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] 1A is a schematic diagram of a control architecture according to some embodiments. A machine 101 is controlled by a controller 102 and operates in an environment 103 that influences its operation and is discoverable by sensing. The behavior of the machine 101 in response to commands issued by the controller 102 is assumed to be known. The environment in which the machine operates is not fully known, but information about it can be obtained from sensors 104 located on the machine or remotely connected to it. The controller 102 includes information extraction 111 on data about the environment 103 obtained from the sensors 104 and uses that information together with known information about the machine 101 in a control unit 112 to calculate commands for the machine to achieve control objectives while ensuring safety regarding the machine's 101 operating requirements and interactions with the environment 103.

[0020] Therefore, what is needed is a method and machine for determining optimal operation of a machine while avoiding unsafe events caused by an environment that is uncertain but detectable by sensing, where the sensing's ability to obtain information is further dependent on how the machine is operated such that obtaining the information does not prevent the machine from achieving its goal or degrade its performance in achieving the goal.

[0021] Some embodiments are based on the recognition that the sensing objective is secondary to the control objective, since it influences the control objective but does not itself motivate the operation of the machine. To that end, some embodiments disclose an interdependent but asymmetric application of control and sensing, where control is the primary objective and sensing is the secondary objective.

[0022] To that end, the control unit 112 performs a collaborative but unbalanced optimization of the control inputs and the desired knowledge of the environment. Figures 1B, 1C, and 1D show schematic diagrams illustrating various principles of the collaborative but unbalanced optimization performed by the control unit 112 and some implementations employed by various embodiments. Figures 1B-1D are provided for clarity and not as a limitation.

[0023] 1B shows a schematic diagram of collaborative multivariate optimization used by some embodiments. To realize the interdependencies, the embodiments determine the state trajectory of the machine and the amount of knowledge required about the state of the environment around the machine jointly, i.e., as part of a single unit multivariate optimization. Thus, some embodiments replace the sequential optimization 110 and balanced multivariate optimization 115 with an unbalanced multivariate optimization 117.

[0024] To achieve this imbalance of importance, some embodiments use multivariate constrained optimization with respect to the amount of knowledge about the state trajectories and the state of the environment, where the knowledge of the environment acts on the constraints. In this way, the knowledge of the environment is secondary to the control objective, since the amount of knowledge acting on the constraints does not have an independent optimization objective, but only limits the control commands selected for the machine.

[0025] FIG. 1C shows a schematic diagram of constraints used by an unbalanced multivariable constrained optimization according to some embodiments. The objective of some embodiments is to provide such a multivariable constrained optimization of control commands and required knowledge that updates the sensing commands only if the knowledge required to optimize the state trajectory of the machine is insufficient. To this end, it has been recognized that, additionally or alternatively, in order to constrain the acquired knowledge, it is necessary to impose constraints on the permissible states of the machine based on the knowledge that will be acquired. These permissible states govern the optimization space of the state trajectory of the controlled machine, thereby creating the need to increase the acquired knowledge only if the optimal trajectory cannot be reached due to the lack of said acquired knowledge. Thus, some embodiments aim to define constraints having the structure of an interaction constraint 120.

[0026] In some embodiments, the environment is defined by its state, referred to herein as the state of the environment or environmental state. The state of the environment collects all relevant data about the environment in terms of its impact on the controlled machine. The state of the environment may include multiple state variables, such as an occupancy grid in the area around the controlled machine, the movement of points and / or objects in the surrounding environment, the boundaries of the space in which the controlled machine can operate, the allowed separation and relative velocity of the machine with objects in the environment, etc. The state of the environment captures relevant knowledge, available knowledge or acquired knowledge. The acquired knowledge can be clearly translated into constraints on the allowable values ​​of the states and control inputs. However, for the purpose of multivariate constrained optimization, it is also necessary to define constraints based on the amount of available knowledge about the environment as well as the lack of this knowledge. It is difficult to define constraints based on what is unknown.

[0027] Some embodiments are based on the recognition that constraints on permissible values ​​of state and control inputs may include two parts. The first part may be positively defined by the current knowledge of the environment. The second part has a negative nature since it defines a lack of precise knowledge. Some embodiments are based on the recognition that the negative nature of the second part may be transformed into a positive constraint based on the first part. That is, rather than having a second part describing the unknowns, the second part may be positively defined as the uncertainty of the first part. Thus, rather than having constraints defined by known knowledge of the environment and unknown knowledge of the environment, some embodiments have determined constraints 120 defined by knowledge of the environment and the uncertainty regarding what is defined by the knowledge of the environment. Such a transformation allows for representing unknown knowledge in a manner suitable for constraint derivation.

[0028] Thus, in some embodiments, constraints 120 are defined probabilistically using the state of the environment and the uncertainty of the state of the environment. For example, if known (i.e., acquired) knowledge is used to define a region of acceptable state values ​​of the controlled machine, or equivalently, a region of unacceptable state values, then the uncertainty due to lack of knowledge can be represented positively by narrowing the region of acceptable values ​​and / or widening the region of unacceptable values. In this way, probabilistic constraints 120 can reflect the uncertainty of knowledge.

[0029] Using this understanding, some embodiments combine constraints 120 and expressions 125 into probabilistic or chance constraints 127. Constraints 127 may have a variety of implementations. For example, constraints 127 may be implemented to bound a function of the interaction of the machine state, the environment state, and the control inputs by the negative of a monotonically increasing function of an uncertainty metric of the environment state.

[0030] 1D shows a schematic diagram of the principle of the cost function optimized by the imbalanced multivariable constrained optimization according to some embodiments. Some embodiments are based on the recognition that the principle of the operation of the machine 101 can be captured by a cost function 130 including a stage cost 133 and a terminal cost 134, each including a term proportional to the performance of the machine's state with respect to the control objective and a term proportional to the amount of environmental knowledge. Some embodiments are based on the recognition that including a term proportional to the amount of environmental knowledge in the stage cost and terminal cost in the cost function can be useful in changing the control objective in the future, since the machine may need to operate in a previously avoided area where no information was obtained because it was not related to the previous control goal.

[0031] However, some embodiments are based on the realization that to achieve imbalance control, the cost function 130 should not depend on the state of the environment. To that end, some embodiments remove the stage and terminal costs from the cost function, for example by making their weights equal to zero, or impose special constraints 135 that allow improving the knowledge acquired in one scenario or a combination of the two scenarios. In the first scenario, the controller does not put any effort into improving the knowledge of the environment, unless it brings a direct benefit to the performance of achieving the control objective. In the second scenario, the controller may further improve the knowledge of the environment, as long as it does not hinder the achievement of the control objective.

[0032] For example, in some embodiments, the multivariable constrained optimization optimizes a cost function 130 that includes stage costs 133 of the operation of the machine controlled by the optimized control inputs obtained along the prediction horizon and a terminal cost 134 associated with the terminal condition at the end of the prediction horizon. The stage costs and terminal costs each include a performance term related to the performance of the operation of the machine according to the control objective and an environmental term related to the uncertainty of the state of the environment. Balancing between these terms is obtained by multiplying each term with a non-negative weight. For example, to perform the balancing, the controller can check the expected progress of the fulfillment of the control objective and select the weights of the stage cost and terminal cost terms to be zero if the fulfillment of the control objective cannot be guaranteed, and otherwise select the weights of the stage cost and terminal cost that allow the control objective to be satisfied. In some implementations, fulfillment of the control objective is guaranteed if the environmental term of the stage cost and the environmental term of the terminal cost for the current time step can be made smaller than the environmental term of the terminal cost at the previous time step while keeping the control term of the stage cost and the control term of the terminal cost for the current time step smaller than the control term of the terminal cost for the previous time step.

[0033] 2 shows a block diagram of a method for multivariable constrained optimization performed by some embodiments of the controller 102 to achieve collaborative but unbalanced optimization. The controller 102 is configured to obtain (210) measurements 215 from at least one sensor that senses the environment around the machine and instructions to control the operation of the sensor based on the state of the machine, process (220) the measurements, obtain (225) knowledge of the environment, and estimate (227) the state of the environment and the uncertainty of the state of the environment.

[0034] The controllers are then configured to jointly determine (230) a sequence of control inputs 235 to the machine that defines the state trajectory of the machine and the desired knowledge of the environment 237 by solving a multivariate constrained optimization of a model of the dynamics of the machine that relates state trajectories to sequences of control inputs subject to constraints on allowable values ​​of the state and control inputs defined based on desired knowledge 237 of the surrounding environment represented by the state of the environment and the uncertainty in the state of the environment. The controller 102 uses the solution of the multivariate constrained optimization problem to control (240) the machine based on the sequence of control inputs 235 to change the state of the machine and update sensing commands based on the desired knowledge 237 of the environment and present the updated sensing commands to the sensors.

[0035] Exemplary Structural Components 3A is a schematic diagram of a vehicle 311 including a controller 312 employing principles of some embodiments of the present disclosure. As used herein, the vehicle 311 may be any type of wheeled vehicle, such as a car, a bus, or a rover. Also, the vehicle 311 may be autonomous or semi-autonomous. For example, some embodiments control the movement of the vehicle 311. An example of the movement includes the lateral movement of the vehicle, which is controlled by a steering mechanism 313 of the vehicle 311. The steering mechanism 313 is controlled by a controller 312.

[0036] The vehicle may also include an engine 316 controllable by the controller 312 or other components of the vehicle 311. The vehicle 311 may also include one or more sensors 315 for sensing its current momentum and internal conditions, as non-limiting examples. Examples of the sensors 315 include a global positioning machine (GPS), an accelerometer, an inertial measurement unit, a gyroscope, an axial rotation sensor, a torque sensor, a deflection sensor, a pressure sensor, a flow sensor, and the like. The vehicle may include a transceiver 317 that enables the communication capability of the controller 312 through a wireless communication channel via an input interface 318. The vehicle includes one or more sensors 314a, 314b for sensing the surrounding environment. Examples of the sensors 314a, 314b may be a distance range finder, a radar, a lidar, and a camera. Alternatively, or simultaneously, sensor data regarding the surrounding environment may be received via the transceiver 317 for sensors located remotely relative to the vehicle. The vehicle may be equipped with a map database machine that stores data regarding roads in the area in which the vehicle operates, or may access remotely stored map data via the transceiver 317.

[0037] In this example, the vehicle 311 is the controlled machine 101, the sensors 314a, 314b and any remote sensors receiving information from the transceiver 317 are the sensors 104, the controller 312 is the controller 102, and the road and other vehicles are the environment 103.

[0038] 3B is a block diagram of a computing platform of the controller 102 according to some embodiments. For example, FIG. 3B shows a block diagram of a controller 312 according to one embodiment. The controller 102 includes a hardware processor 301 connected to a memory 302, e.g., a non-transitory computer-readable medium. In some implementations, the memory 302 includes a first section 321 for storing data related to the machine 101, a second section 322 for storing a program of the control unit 112 for calculating the control of the machine, a third section 323 for storing data related to the environment 103, and a fourth section 324 for storing a program for extracting data related to the environment 111 from data from the sensor 104.

[0039] For example, the first section 321 of the memory 302 may store parameters for machine behavior such as maximum acceleration and maximum speed, as well as a model of the machine and goals for the machine. A program executable by the processor 301 for calculating commands for the vehicle 311 may be embodied on the second section 322 of the memory 302.

[0040] 3B, a third section 323 of the memory 302 contains data regarding the environment, such as allowed operating spaces and the presence of other agents, allowed interactions, as well as updated information and historical amounts of information available for elements in the environment, etc. A fourth section 324 of the memory 302 may be embodied with programs executable by the processor 301 to process information obtained from sensors 314a, 314b in the vehicle 311 and remote sensors communicating via the transceiver 317.

[0041] The processor 301 may be any computing device capable of performing calculations and may include one or many physical devices of the same or different types. The processor 301 may possibly include multiple computing devices, e.g., microprocessors. Similarly, the memory 302 may be any logical memory and / or non-transitory computer-readable storage medium capable of storing data and may include one or more physical data storage means of the same or different types. The calculations performed by the processor 301 are instructed by programs stored in the second section 322 and the fourth section 324 of the memory and use machine data stored in the first section 321 and the third section 323 of the memory and data obtained from the sensors 315, 314a, 314b and the transceiver 317. The calculations of the processor 301 result in commands 304 that change the state of the machine 101.

[0042] Exemplary Control Objectives Some embodiments are based on the recognition that when the machine 101 operates in an environment that is unknown but discovered through information acquired by sensing, it is itself related to the commands applied. For example, Figures 4A and 4B show a scenario where the vehicle 311 must decide whether to stay in the current lane 411 or change to the left lane 412. If the controller selects the trajectory 413 of Figure 4A, the sensor field of view 414, 415 can capture information about the vehicle 417 further ahead on the current lane, but cannot capture information about the vehicle 418 ahead on the left lane, because the preceding vehicle 416 is present. If the vehicle selects the trajectory 423 of Figure 4B, the sensor field of view 414, 415 cannot capture information about the vehicle 417 further ahead on the current lane, but can capture information about the vehicle 418 ahead on the left lane, because the preceding vehicle 416 is present. Trajectory 413 thus allows to obtain more information about other vehicles in the current lane, and trajectory 423 allows to obtain more information about vehicles in the left lane. However, the control commands also depend on the available knowledge of the environment. Thus, if it is desired to change lanes, lack of knowledge about the vehicle 418 ahead in the left lane may prevent the controller from safely planning a trajectory for changing the vehicle into the left lane 412, due to the uncertainty about the position of vehicles in such lane. Thus, the control commands affect the available knowledge of the environment, and the availability of knowledge of the environment affects the control commands.

[0043] Therefore, it may be necessary to select control commands that allow the achievement of the goal and the acquisition of knowledge of the environment. However, these two objectives may be in conflict. Figure 5A shows a scenario in which the vehicle 311 has to reach a target position 511 and there are two obstacles 512, 513. The vehicle 311 has a control objective to reach the target position 511 without colliding with the obstacles 512, 513. Since the location of the obstacles is not known exactly, it may be necessary to leave an additional safety margin for collision avoidance so that the vehicle can avoid the areas 514, 515 without using information from the sensors. This results in a trajectory 516 planned due to the safety margin 514 that remains farther away from the obstacle 512 than necessary. However, the size of the safety margins 514, 515 can be reduced since sensing of additional knowledge about the obstacles' locations can be used.

[0044] For example, in FIG. 5B for planning a trajectory 526, a sensor with range 527 can obtain more information about the obstacle 514, resulting in a smaller safety margin area 524 to be avoided. In this way, the trajectory to the target becomes straighter. However, if a target that obtains knowledge about the environment is treated equally to a target that reaches a target position, the control commands may generate a trajectory 536 in FIG. 5C that deviates from a straight line to the target position 511 in order to bring the obstacle 513 into the sensor range 527 so as to reduce the safety margin 515 to 535. However, this does not improve the performance in achieving the target, but rather impairs it, resulting in a less straight trajectory. In fact, the machine may even be prevented from achieving the target 511, and may even stop at an intermediate position 538 that is close to the target but not the target, from which it can continue to obtain information about the obstacle 513.

[0045] Thus, some embodiments employ interdependent but unbalanced control and knowledge acquisition. In this case, acquiring knowledge about the environment is not considered to be equivalent to achieving the control goal, but rather acquiring knowledge about the environment and thereby reducing the uncertainty about the environment is considered to be secondary to achieving the machine goal and is primarily performed to better achieve such goal. In this disclosure, the amount of knowledge about the environment is included in the constraints that limit the operation of the machine, and more knowledge corresponds to a smaller safety margin, i.e., a more acceptable constraint. Thus, acquiring more knowledge about the machine reduces the safety margin of the constraint, allowing the machine to have a more acceptable trajectory to reach the goal. However, the trajectory is planned to acquire more information about the environment only if reducing the margin provides a more suitable trajectory to the goal, such as reducing margin 514 to 524 to plan trajectory 526. Instead, if reducing the margin after increasing the knowledge does not provide a suitable trajectory to the goal, such as reducing margin 515 to 535 to plan trajectory 526, the trajectory does not attempt to acquire more information about the environment.

[0046]

number

[0047]

number

[0048]

number

[0049]

number

[0050] Some embodiments are based on the recognition that the controller may provide sensing instructions to the sensors that change the amount of knowledge acquired by the sensors about the environment or parts thereof. For example, knowledge of a particular area of ​​the environment can be acquired by focusing the sensors on the area of ​​interest without changing the state of the machine. However, determining where to focus the sensors does not change the state of the machine. As a result, some embodiments define control inputs that do not affect the change in the state of the machine but only affect the amount of knowledge acquired about the environment or parts thereof, and include them in the optimization of the control commands.

[0051]

number

[0052] Thus, in some implementations, the set of commands defined by the control inputs includes commands related to sensing instructions that change the amount of knowledge acquired from the environment but do not affect the state of the machine.

[0053]

number

[0054]

number

[0055]

number

[0056]

number

[0057] Thus, the uncertainty in the state of the environment is the inverse of the acquired knowledge of the environment, and the constraints imposed on the permissible values ​​of the states and control inputs include interaction constraints on the variables that are allowed to interact, including the machine states, the environmental states, and the control inputs; thus, multivariable constrained optimization is presented to satisfy the interaction constraints in the presence of uncertainty in the state of the environment.

[0058]

number

[0059]

number

[0060]

number

[0061]

number

[0062] Since the uncertainties in the predictors (11a) and (11b) depend on the machine's states and the commands, the commands that determine the machine's state trajectory and the amount of knowledge required about the state of the environment around the machine are interdependent.

[0063]

number

[0064] Some embodiments are based on the recognition that if constraints on permissible values ​​of states of the control inputs can be partitioned into two parts: current knowledge of the state of the environment and uncertainty on such knowledge, such a representation can be advantageously captured by a probabilistic constraint with a mean representing the current or acquired knowledge of the environment and a variance representing the uncertainty on the knowledge of the environment. Such a probabilistic representation enables the use of various probabilistic techniques in iterative multivariate constrained optimization. Thus, the control unit constructs (613) interaction constraints (9) from the predicted state of the environment and its uncertainty.

[0065]

number

[0066] For example, the state of the environment is the first moment and the environmental uncertainty is the second moment of the probability distribution of the estimate of the state of the environment, and thus a monotonically increasing function of the second moment defines the confidence in satisfying the interaction constraint.

[0067]

number

[0068] Uncertainty-dependent tight interaction constraints (12) depend on the predicted uncertainties, so that the knowledge acquired about the state of the environment around the machine and the commands that determine the state trajectory of the machine are interdependent.

[0069] Since the uncertainties in the predictors (11a) and (11b) depend on the machine state and the commands, the commands that determine the state trajectory of the machine and the amount of knowledge required about the state of the environment around the machine are interdependent.

[0070]

number

[0071]

number

[0072]

number

[0073]

number

[0074] Thus, the probabilistic nature of expressing constraints on the state of the environment and its uncertainty includes the following considerations: First, the constraint includes a first part and a second part, the first part defining unacceptable values ​​of the state determined from knowledge acquired about the surrounding environment, and the second part defining additional unacceptable values ​​of the state based on uncertainties in the knowledge related to the first part, such that the constraint including both the first part and the second part is imposed on the multivariable constrained optimization as a probabilistic constraint.

[0075] Second, framing the constraint to consist of two parts allows the controller to evaluate whether passing additional unacceptable state values ​​may be beneficial to optimize the state trajectory. For example, the first part defined by the acquired knowledge certainly specifies unacceptable values ​​that may not be changed. For example, violation of this constraint may result in a collision with a nearby vehicle, a collision with a pedestrian, or a collision with the side of the road on which the vehicle is traveling. However, the additional unacceptable values ​​of the state may potentially be available and may be recalculated if more information or knowledge is acquired. To that end, the controller may decide to acquire more knowledge about the additional unacceptable state values ​​if such knowledge could potentially reduce the additional unacceptable state values ​​and improve the state trajectory.

[0076] Third, if the constraints on the allowable values ​​of the states of the control inputs can be partitioned into two parts: the current knowledge of the state of the environment and the uncertainty on such knowledge, then such a representation can be advantageously captured by a stochastic constraint with a mean representing the current knowledge of the environment and a variance representing the uncertainty on the knowledge of the environment. Such a stochastic representation enables the use of a variety of stochastic techniques in iterative multivariate constrained optimization.

[0077] For example, if the state of the environment is the first moment and the environmental uncertainty is the second moment of the probability distribution of the estimate of the state of the environment, then a monotonically increasing function of the second moment defines the confidence for satisfying the interaction constraint. In this context, the monotonically increasing function of the second moment of the probability distribution of the estimate of the state of the environment is based on the sensitivity of the interaction constraint to the state of the environment and a coefficient calculated from the probability distribution of the state of the environment and the desired confidence for satisfying the interaction constraint.

[0078]

number

[0079] FIG. 9B shows the steps of constructing the uncertainty-dependent close interaction constraints by step 951 of constructing an unacceptable region that is complementary to the region where constraint (9) is satisfied, step 952 of constructing a first additional unacceptable region 911, step 952 of constructing a second additional unacceptable region 921, and finally step 953 of constructing an uncertainty-dependent close interaction constraint (12) that is complementary to all unacceptable regions 901, 911, 921.

[0080] Thus, some embodiments determine an acceptable region in the space described by the combination of values ​​of the machine state states and the environment states based on knowledge of the environment, determine a reduction factor based on the uncertainty of the state of the environment and the sensitivity of the constraints to the state of the environment, then modify the reduction factor based on the shape of the distribution of the uncertainty of the state of the environment and the desired confidence in satisfying the constraints, reduce the acceptable region in the space described by the combination of values ​​of the machine state states and the environment states based on the modified reduction factor, and translate the acceptable region into constraints on the states and control inputs of the machine being controlled.

[0081] In this manner, the permissible values ​​of the states and control inputs corresponding to the states of the environment are reduced based on the sensitivity of the interaction constraints to the states of the environment. Additionally or alternatively, the range of permissible values ​​of the states and control inputs corresponding to the states of the environment are reduced based on a monotonically increasing function of the uncertainty of the states of the environment.

[0082] Exemplary Optimization Techniques Some embodiments are based on the realization that the acquired knowledge can be improved in one of two scenarios or a combination of the two scenarios: In the first scenario, the controller does not make any effort to improve the knowledge of the environment unless it brings a direct benefit to the performance of achieving the control objective; in the second scenario, the controller may still improve the knowledge of the environment as long as it does not hinder the achievement of the control objective.

[0083] Some embodiments are based on the recognition that the above two scenarios can be balanced by including stage and terminal costs, each of which includes a term proportional to the performance of the machine state against the control objective and a term proportional to the amount of environmental knowledge, and this balancing is achieved by multiplying each term with a non-negative weight. Some embodiments are based on the recognition that including a term proportional to the amount of environmental knowledge in the stage and terminal costs in the cost function can be useful if the control objective is changed in the future, since it may be necessary to operate the machine in a previously avoided area where no information was obtained because it was not relevant to the previous control objective.

[0084]

number

[0085] The cost function thus includes a stage cost, which calculates the cost incurred along the prediction horizon by a sequence of control decisions taken along the prediction horizon, and a terminal cost, which calculates the cost associated with a terminal condition at the end of the prediction horizon. In this case, the stage cost and the terminal cost each include one term related to the performance of the machine state with respect to the control objective and a term proportional to the amount of knowledge of the environment, with balancing between these terms being obtained by the non-negative weights multiplying each term.

[0086]

number

[0087]

number

[0088]

number

[0089]

number

[0090]

number

[0091] Thus, in some embodiments, the cost function includes a stage cost that computes the cost incurred along the prediction horizon by a sequence of control decisions made along the prediction horizon, and a terminal cost that computes the cost associated with a terminal condition at the end of the prediction horizon, where the stage cost and the terminal cost each include one term related to the performance of the machine's state with respect to the control objective and a term proportional to the amount of knowledge of the environment, with balancing between these terms being obtained by non-negative weights that multiply each term.

[0092] An embodiment selects the second scenario when it is as reliable as possible. To that end, it selects the first scenario only when it is impossible or at least unlikely to guarantee progress towards the control objective according to the second scenario. Thus, in this embodiment, the controller checks for the fulfillment of a condition of expected progress towards the control objective and selects the weights of the environmental terms of the state and terminal costs to be zero if it cannot be guaranteed that the condition is met, and selects the weights of the uncertainty terms of the state and terminal costs to be met if the condition is not. The expected progress condition is based on a comparison of the next term of the terminal cost related to the uncertainty in the environment with the term of the stage cost related to the uncertainty in the environment in the case of the horizon smaller than the term related to the uncertainty in the environment of the past terminal cost and equal to 1.

[0093] Thus, according to Figure 6 of some embodiments, the control unit constructs 614 the cost function according to the steps of Figure 8. From the machine objectives, the control unit constructs 801 control objective states, control objective commands, and an environmental uncertainty objective corresponding to the machine objectives. For example, the environmental uncertainty objective can be calculated by solving a Lyapunov equation that determines an equilibrium for the second moment of the distribution of environmental states when the machine states and commands are fixed to those that achieve the machine objectives.

[0094]

number

[0095]

number

[0096]

number

[0097]

number

[0098] The control unit then waits until the next cycle (618).

[0099]

number

[0100] The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments can be implemented using hardware, software, or a combination thereof. If implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. Such a processor can be implemented as an integrated circuit with one or more processors in an integrated circuit component. However, the processor may be implemented using circuits in any suitable format.

[0101] Also, 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. In addition, 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 language code or intermediate code that runs on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.

[0102] Also, the embodiments may be embodied as a method, examples of which have been provided above. The operations performed as part of the method may be ordered in any suitable manner. Thus, embodiments may be constructed in which operations are performed in an order different from the order illustrated, which may include performing some operations simultaneously although shown as sequential operations in the exemplary embodiments.

[0103] Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.

Claims

1. 1. A controller for controlling operation of a machine, comprising at least one processor and a memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the controller to: - obtaining knowledge of the environment from measurements of at least one sensor sensing the environment around the machine, based on the state of the machine and on sensing instructions controlling the operation of the sensor; - processing the acquired knowledge about the environment to estimate a state of the environment and an uncertainty in the state of the environment; jointly determining a sequence of control inputs for the machine, which defines the state trajectory of the machine and a desired knowledge of the environment, by solving a multivariate constrained optimization of a model of the dynamics of the machine, which relates state trajectories to sequences of control inputs subject to constraints on allowable values ​​of state and control inputs defined based on a desired knowledge of the surrounding environment represented by the state of the environment and the uncertainty in the state of the environment; controlling the machine based on the sequence of control inputs to change a state of the machine; updating the sensing commands based on the desired knowledge of the environment; and presenting the updated sensing commands to the sensors.

2. 2. The controller of claim 1, wherein the state of the environment defines an unacceptable value of the state and the uncertainty of the state of the environment defines an additional unacceptable value of the state, whereby the acceptable values ​​defined by the constraints exclude the unacceptable value and the additional unacceptable value of the state.

3. The controller of claim 2 , wherein the multivariable constrained optimization estimates an influence of the control inputs on the acquired knowledge of the environment and estimates changes to the allowable values ​​according to the estimated influence of the control inputs.

4. The controller of claim 1 , wherein the set of commands defined by the control inputs includes commands related to the sensing instructions that modify the acquired knowledge of the environment but do not affect a state of the machine.

5. The controller of claim 1 , wherein the controller is configured to recursively estimate the state of the environment and the uncertainty in the state of the environment based on a model of dynamics of the state of the environment.

6. The controller of claim 1 , wherein the controller is configured to recursively estimate the state of the environment and the uncertainty in the state of the environment based on a dynamic function trained from data of the operation of the machine.

7. 2. The controller of claim 1, wherein the uncertainty in the state of the environment is the inverse of the acquired knowledge of the environment, and the constraints imposed on the permissible values ​​of the states and the control inputs include interaction constraints of variables allowed to interact according to an interaction function, the variables including the state of the machine, the state of the environment, and the control inputs, whereby the multivariable constrained optimization is posed to satisfy the interaction constraints in the presence of the uncertainty in the state of the environment.

8. The controller of claim 7 , wherein the interaction constraint bounds the interaction function by a negative of a monotonically increasing function of the uncertainty metric of the state of the environment.

9. The controller of claim 8 , wherein the monotonically increasing function of the uncertainty in the state of the environment is a second moment of a probability distribution of the state of the environment that determines a confidence for satisfying the interaction constraint.

10. The controller of claim 9 , wherein the monotonically increasing function is determined based on a sensitivity of the interaction constraint to a state of the environment and a desired confidence for satisfying the second moment interaction constraint.

11. The controller of claim 10 , wherein the allowable values ​​of the states and the control inputs are reduced based on the sensitivity of the interaction constraints to the state of the environment.

12. To determine the permissible values ​​of the states and the control inputs, the controller determining an acceptable region within a space described by a combination of values ​​of the machine states and the environmental states based on the acquired knowledge of the environment; determining a reduction factor based on the uncertainty in a state of the environment and the sensitivity of the interaction constraints to the state of the environment; modifying the reduction factor based on the probability distribution of the uncertainty in the state of the environment and the desired confidence for satisfying the interaction constraint; reducing the acceptable range based on the revised reduction factor; The controller of claim 10 , configured to convert the acceptable regions into the constraints on the states and the control inputs of the machine being controlled.

13. The controller of claim 9 , wherein the allowable values ​​of the states and the control inputs are reduced based on the monotonically increasing function of the second moment.

14. 2. The controller of claim 1, wherein the multivariable constrained optimization optimizes a cost function including stage costs of operation of the machine controlled by optimized control inputs obtained along a prediction horizon and a terminal cost associated with a terminal condition at an end of the prediction horizon, each of the stage costs and the terminal cost including a performance term related to the performance of the operation of the machine according to a control objective and an environmental term related to the uncertainty in the state of the environment, and a balancing between these terms is obtained by non-negative weights multiplying each term.

15. 15. The controller of claim 14, wherein the controller checks expected progress towards fulfillment of the control objective and, if fulfillment of the control objective cannot be guaranteed, selects weights of the terms of the stage cost and the terminal cost to be zero, otherwise selects weights of the stage cost and the terminal cost that allow the control objective to be met.

16. 16. The controller of claim 15, wherein achievement of the control objective is guaranteed if the environmental term of the stage cost and the environmental term of the terminal cost for the current time step can be made less than the environmental term for the terminal cost at the previous time step while maintaining the performance term of the stage cost and the performance term of the terminal cost for the current time step less than the performance term of the terminal cost for the previous time step.

17. The controller repetitively controls the machine through a sequence of control cycles, and to execute the control cycles, the controller comprises: receiving a state of a machine state and determining a machine predictor of the dynamics of said state; receiving acquired knowledge of the environment and determining an environmental predictor of dynamics of the environment; determining interaction constraints for variables that are allowed to interact, the variables including a state of the machine, a state of the environment, and the control inputs, the controller further comprising: receiving a machine target, constructing a control objective, constructing a cost function for reaching the control objective over a prediction horizon, and determining a termination constraint at an end of the prediction horizon; optimizing a cost function subject to the interaction constraints in the presence of the uncertainty in the state of the environment to generate a sequence of optimization solutions for a sequence of time steps over the prediction horizon; The controller of claim 1 , configured to present a first element of the sequence of optimization solutions to one or more actuators of the machine and one or more actuators of the sensor.

18. The controller of claim 1 , wherein the machine is an autonomous vehicle or an autonomous robot.

19. 1. A method for controlling the operation of a machine, the method employing a processor in conjunction with stored instructions for carrying out the method, the instructions, when executed by the processor, performing steps of the method, the steps comprising: obtaining measurements from at least one sensor sensing an environment surrounding the machine based on a state of the machine and sensing instructions controlling operation of the sensor; - processing the measurements to obtain knowledge of the environment and to estimate a state of the environment and an uncertainty in the state of the environment; jointly determining a sequence of control inputs for the machine that defines the state trajectory of the machine and a desired knowledge of the environment by solving a multivariate constrained optimization of a model of the dynamics of the machine that relates state trajectories to sequences of control inputs subject to constraints on allowable values ​​of state and control inputs that are defined based on a desired knowledge of the surrounding environment represented by states of the environment and the uncertainty in states of the environment; controlling the machine based on the sequence of control inputs to change a state of the machine; updating the sensing commands based on the desired knowledge of the environment and presenting the updated sensing commands to the sensors.

20. A non-transitory computer-readable storage medium having embodied thereon a program executable by a processor for performing a method, the method comprising: obtaining measurements from at least one sensor sensing an environment surrounding the machine based on a state of the machine and sensing instructions controlling operation of the sensor; - processing the measurements to obtain knowledge of the environment and to estimate a state of the environment and an uncertainty in the state of the environment; jointly determining the sequence of control inputs for the machine, which defines the state trajectory of the machine and the desired knowledge of the environment, by solving a multivariate constrained optimization of a model of the dynamics of the machine that relates state trajectories to sequences of control inputs subject to constraints on allowable values ​​of state and control inputs that are defined based on the state of the environment and the desired knowledge of the surrounding environment represented by the uncertainty in the state of the environment; controlling the machine based on the sequence of control inputs to change a state of the machine; updating the sensing instructions based on the desired knowledge of the environment and presenting the updated sensing instructions to the sensor.