Skip to content

Commit d153035

Browse files
authored
Merge pull request #919 from KybernetikJo/some-doc-fixes
Some doc fixes
2 parents 4955691 + 0aefd5a commit d153035

9 files changed

+21
-21
lines changed

control/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
Available subpackages
5656
---------------------
5757
58-
The main control package includes the most commpon functions used in
58+
The main control package includes the most common functions used in
5959
analysis, design, and simulation of feedback control systems. Several
6060
additional subpackages are available that provide more specialized
6161
functionality:

doc/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
# -- Project information -----------------------------------------------------
3131

3232
project = u'Python Control Systems Library'
33-
copyright = u'2022, python-control.org'
33+
copyright = u'2023, python-control.org'
3434
author = u'Python Control Developers'
3535

3636
# Version information - read from the source code

doc/conventions.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ LTI system representation
1616

1717
Linear time invariant (LTI) systems are represented in python-control in
1818
state space, transfer function, or frequency response data (FRD) form. Most
19-
functions in the toolbox will operate on any of these data types and
20-
functions for converting between compatible types is provided.
19+
functions in the toolbox will operate on any of these data types, and
20+
functions for converting between compatible types are provided.
2121

2222
State space systems
2323
-------------------
@@ -152,7 +152,7 @@ in the next section).
152152

153153
The :func:`forced_response` system is the most general and allows by
154154
the zero initial state response to be simulated as well as the
155-
response from a non-zero intial condition.
155+
response from a non-zero initial condition.
156156

157157
In addition the :func:`input_output_response` function, which handles
158158
simulation of nonlinear systems and interconnected systems, can be

doc/examples.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Examples
66
********
77

88
The source code for the examples below are available in the `examples/`
9-
subdirecory of the source code distribution. The can also be accessed online
9+
subdirectory of the source code distribution. They can also be accessed online
1010
via the [python-control GitHub repository](https://github.com/python-control/python-control/tree/master/examples).
1111

1212

@@ -38,7 +38,7 @@ Jupyter notebooks
3838
=================
3939

4040
The examples below use `python-control` in a Jupyter notebook environment.
41-
These notebooks demonstrate the use of modeling, anaylsis, and design tools
41+
These notebooks demonstrate the use of modeling, analysis, and design tools
4242
using examples from textbooks
4343
(`FBS <https://fbswiki.org/wiki/index.php?title=FBS>`_,
4444
`OBC <https://fbswiki.org/wiki/index.php?title=OBC>`_), courses, and other

doc/flatsys.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Differentially flat systems are useful in situations where explicit
3939
trajectory generation is required. Since the behavior of a flat system
4040
is determined by the flat outputs, we can plan trajectories in output
4141
space, and then map these to appropriate inputs. Suppose we wish to
42-
generate a feasible trajectory for the the nonlinear system
42+
generate a feasible trajectory for the nonlinear system
4343

4444
.. math::
4545
\dot x = f(x, u), \qquad x(0) = x_0,\, x(T) = x_f.
@@ -188,7 +188,7 @@ solve an optimal control problem without a final state::
188188
traj = fs.solve_flat_ocp(
189189
sys, timepts, x0, u0, cost, basis=basis)
190190

191-
The `cost` parameter is a function function with call signature
191+
The `cost` parameter is a function with call signature
192192
`cost(x, u)` and should return the (incremental) cost at the given
193193
state, and input. It will be evaluated at each point in the `timepts`
194194
vector. The `terminal_cost` parameter can be used to specify a cost
@@ -200,7 +200,7 @@ Example
200200
To illustrate how we can use a two degree-of-freedom design to improve the
201201
performance of the system, consider the problem of steering a car to change
202202
lanes on a road. We use the non-normalized form of the dynamics, which are
203-
derived *Feedback Systems* by Astrom and Murray, Example 3.11.
203+
derived in *Feedback Systems* by Astrom and Murray, Example 3.11.
204204

205205
.. code-block:: python
206206

doc/intro.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ NumPy and MATLAB can be found `here
2626
<https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html>`_.
2727

2828
In terms of the python-control package more specifically, here are
29-
some thing to keep in mind:
29+
some things to keep in mind:
3030

3131
* You must include commas in vectors. So [1 2 3] must be [1, 2, 3].
3232
* Functions that return multiple arguments use tuples.
@@ -56,7 +56,7 @@ they are not already present.
5656
.. note::
5757
Mixing packages from conda-forge and the default conda channel
5858
can sometimes cause problems with dependencies, so it is usually best to
59-
instally NumPy, SciPy, and Matplotlib from conda-forge as well.)
59+
instally NumPy, SciPy, and Matplotlib from conda-forge as well.
6060

6161
To install using pip::
6262

doc/iosys.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ will create a unity gain, negative feedback system::
250250
If a signal name appears in multiple outputs then that signal will be summed
251251
when it is interconnected. Similarly, if a signal name appears in multiple
252252
inputs then all systems using that signal name will receive the same input.
253-
The :func:`~control.interconnect` function will generate an error if an signal
253+
The :func:`~control.interconnect` function will generate an error if a signal
254254
listed in ``inplist`` or ``outlist`` (corresponding to the inputs and outputs
255255
of the interconnected system) is not found, but inputs and outputs of
256256
individual systems that are not connected to other systems are left
@@ -403,7 +403,7 @@ The closed loop controller will include both the state feedback and
403403
the estimator.
404404

405405
Integral action can be included using the `integral_action` keyword.
406-
The value of this keyword can either be an matrix (ndarray) or a
406+
The value of this keyword can either be a matrix (ndarray) or a
407407
function. If a matrix :math:`C` is specified, the difference between
408408
the desired state and system state will be multiplied by this matrix
409409
and integrated. The controller gain should then consist of a set of

doc/optimal.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ The result of this optimization gives us the estimated state for the
129129
previous :math:`N` steps in time, including the "current" time
130130
:math:`x[N]`. The basic idea is thus to compute the state estimate that is
131131
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
133133
model for each).
134134

135135
Given a solution to this fixed-horizon optimal estimation problem, we can
@@ -344,7 +344,7 @@ following code::
344344

345345
We consider an optimal control problem that consists of "changing lanes" by
346346
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
348348
with a starting and ending velocity of 10 m/s::
349349

350350
x0 = np.array([0., -2., 0.]); u0 = np.array([10., 0.])
@@ -360,7 +360,7 @@ penalizes the state and input using quadratic cost functions::
360360
traj_cost = obc.quadratic_cost(vehicle, Q, R, x0=xf, u0=uf)
361361
term_cost = obc.quadratic_cost(vehicle, P, 0, x0=xf)
362362

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)
364364
and constrain the velocity to be in the range of 9 m/s to 11 m/s::
365365

366366
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:
431431
good solutions with a small number of free variables (the example above
432432
uses 3 time points for 2 inputs, so a total of 6 optimization variables).
433433
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
435435
`input_output_response` (as done above).
436436

437437
* 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:
445445
and `minimize_kwargs` keywords in :func:`~control.solve_ocp`, you can
446446
choose the SciPy optimization function that you use and set many
447447
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
449449
accept.
450450

451451
* Walk before you run: try setting up a simpler version of the optimization,
452452
remove constraints or simplifying the cost to get a simple version of the
453453
problem working and then add complexity. Sometimes this can help you find
454454
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.
456456

457457
See :ref:`steering-optimal` for some examples of different problem
458458
formulations.

doc/steering-optimal.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.. _steering-optimal:
22

3-
Optimal control for vehicle steeering (lane change)
3+
Optimal control for vehicle steering (lane change)
44
---------------------------------------------------
55

66
Code

0 commit comments

Comments
 (0)