A control method for controlling a machine with partially modeled dynamics to perform a task, wherein the method uses a processor coupled with stored instructions implementing the method, wherein the instructions, when executed by the processor carry out steps of the method, comprising:
- accepting training data of operation of the machine, each instance of the training data is indicative of a triple of a state of the machine, a control input applied to the machine at the state of the instance, and an update of the state of the machine in response to the applied control input of the instance;
- estimating at least one Lipschitz constant bounding the unmodeled dynamics of the machine, wherein the unmodeled dynamics cause a difference between a measured state of the machine and a predicted state of the machine estimated with a partial model of dynamics of the machine;
- initializing a constraint-admissible control policy using the Lipschitz constant for controlling the machine to perform a task, such that the constraint-admissible control policy satisfies a stability constraint and a safety and admissibility constraint including one or combination of a state constraint and an input constraint, and has a finite cost on the performance of the task;
- and
- jointly controlling the machine and updating the control policy to control an operation of the machine to perform the task according to the control policy starting with the initialized constraint-admissible control policy and to update the control policy using data collected while performing the task, wherein the updated control policy is constraint-admissible, wherein controlling the machine includes submitting a command signal to the machine to perform the task and the data collected while performing the task are obtained from sensors measurement corresponding to the state of the machine.