paddle. Without state constraints, the controller can go straight through the obstacle region. Using state constraints, the ball takes a path that bounces over the obstacle.[]{data-label="fig:pos_constraints"}](images/pos_constraints.png){width="40.00000%"}

We hypothesize that Algorithm \[alg:controller\] can provide better results when the model errors are more consistent. If moving a small distance in the state space can lead to large changes in model errors, the controller may have a hard time finding a good solution.

Constraints
-----------

A key aspect of this framework is that different constraints can be applied easily to the same model to yield different controller behaviour. These are the state and action constraints in . First, the effect of changing the action constraints governing how hard the paddle can hit the ball is examined in Fig. \[fig:speed\_constraints\]. The action constraints are a minimum and maximum limit on the relative velocity between the ball and paddle at the point of impact.

State constraints are also examined. The constraints can specify a region of the $(x,y)$ plane that the ball can not bounce in and the controller must then respect this constraint. The results are shown in Fig. \[fig:pos\_constraints\].

Analytic and Learned Models
---------------------------

The goal of learning a model is so that 