@@ -129,7 +129,7 @@ The result of this optimization gives us the estimated state for the
129
129
previous :math: `N` steps in time, including the "current" time
130
130
:math: `x[N]`. The basic idea is thus to compute the state estimate that is
131
131
most consistent with our model and penalize the noise and disturbances
132
- according to how likely the are (based on the given stochastic system
132
+ according to how likely they are (based on the given stochastic system
133
133
model for each).
134
134
135
135
Given a solution to this fixed-horizon optimal estimation problem, we can
@@ -344,7 +344,7 @@ following code::
344
344
345
345
We consider an optimal control problem that consists of "changing lanes" by
346
346
moving from the point x = 0 m, y = -2 m, :math: `\theta ` = 0 to the point x =
347
- 100 m, y = 2 m, :math: `\theta ` = 0) over a period of 10 seconds and with a
347
+ 100 m, y = 2 m, :math: `\theta ` = 0) over a period of 10 seconds and
348
348
with a starting and ending velocity of 10 m/s::
349
349
350
350
x0 = np.array([0., -2., 0.]); u0 = np.array([10., 0.])
@@ -360,7 +360,7 @@ penalizes the state and input using quadratic cost functions::
360
360
traj_cost = obc.quadratic_cost(vehicle, Q, R, x0=xf, u0=uf)
361
361
term_cost = obc.quadratic_cost(vehicle, P, 0, x0=xf)
362
362
363
- We also constraint the maximum turning rate to 0.1 radians (about 6 degees )
363
+ We also constrain the maximum turning rate to 0.1 radians (about 6 degrees )
364
364
and constrain the velocity to be in the range of 9 m/s to 11 m/s::
365
365
366
366
constraints = [ obc.input_range_constraint(vehicle, [8, -0.1], [12, 0.1]) ]
@@ -431,7 +431,7 @@ solutions do not seem close to optimal, here are a few things to try:
431
431
good solutions with a small number of free variables (the example above
432
432
uses 3 time points for 2 inputs, so a total of 6 optimization variables).
433
433
Note that you can "resample" the optimal trajectory by running a
434
- simulation of the sytem and using the `t_eval ` keyword in
434
+ simulation of the system and using the `t_eval ` keyword in
435
435
`input_output_response ` (as done above).
436
436
437
437
* Use a smooth basis: as an alternative to parameterizing the optimal
@@ -445,14 +445,14 @@ solutions do not seem close to optimal, here are a few things to try:
445
445
and `minimize_kwargs ` keywords in :func: `~control.solve_ocp `, you can
446
446
choose the SciPy optimization function that you use and set many
447
447
parameters. See :func: `scipy.optimize.minimize ` for more information on
448
- the optimzers that are available and the options and keywords that they
448
+ the optimizers that are available and the options and keywords that they
449
449
accept.
450
450
451
451
* Walk before you run: try setting up a simpler version of the optimization,
452
452
remove constraints or simplifying the cost to get a simple version of the
453
453
problem working and then add complexity. Sometimes this can help you find
454
454
the right set of options or identify situations in which you are being too
455
- aggressive in what your are trying to get the system to do.
455
+ aggressive in what you are trying to get the system to do.
456
456
457
457
See :ref: `steering-optimal ` for some examples of different problem
458
458
formulations.
0 commit comments