|
1 | 1 | # __init__.py - initialization for control systems toolbox |
2 | 2 | # |
3 | | -# Author: Richard M. Murray |
4 | | -# Date: 24 May 09 |
5 | | -# |
6 | | -# This file contains the initialization information from the control package. |
7 | | -# |
8 | | -# Copyright (c) 2009 by California Institute of Technology |
9 | | -# All rights reserved. |
10 | | -# |
11 | | -# Redistribution and use in source and binary forms, with or without |
12 | | -# modification, are permitted provided that the following conditions |
13 | | -# are met: |
14 | | -# |
15 | | -# 1. Redistributions of source code must retain the above copyright |
16 | | -# notice, this list of conditions and the following disclaimer. |
17 | | -# |
18 | | -# 2. Redistributions in binary form must reproduce the above copyright |
19 | | -# notice, this list of conditions and the following disclaimer in the |
20 | | -# documentation and/or other materials provided with the distribution. |
21 | | -# |
22 | | -# 3. Neither the name of the California Institute of Technology nor |
23 | | -# the names of its contributors may be used to endorse or promote |
24 | | -# products derived from this software without specific prior |
25 | | -# written permission. |
26 | | -# |
27 | | -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
28 | | -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
29 | | -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
30 | | -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CALTECH |
31 | | -# OR THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
32 | | -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
33 | | -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
34 | | -# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
35 | | -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
36 | | -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
37 | | -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
38 | | -# SUCH DAMAGE. |
39 | | -# |
40 | | -# $Id$ |
41 | | - |
42 | | -""" |
43 | | -The Python Control Systems Library :mod:`control` provides common functions |
44 | | -for analyzing and designing feedback control systems. |
| 3 | +# Initial author: Richard M. Murray |
| 4 | +# Creation date: 24 May 2009 |
| 5 | +# Use `git shortlog -n -s` for full list of contributors |
| 6 | + |
| 7 | +"""The Python Control Systems Library (python-control) provides common |
| 8 | +functions for analyzing and designing feedback control systems. |
| 9 | +
|
| 10 | +The initial goal for the package is to implement all of the |
| 11 | +functionality required to work through the examples in the textbook |
| 12 | +`Feedback Systems <https://fbsbook.org>`_ by Astrom and Murray. In |
| 13 | +addition to standard techniques available for linear control systems, |
| 14 | +support for nonlinear systems (including trajectory generation, gain |
| 15 | +scheduling, phase plane diagrams, and describing functions) is |
| 16 | +included. A :ref:`matlab-module` is available that provides many of |
| 17 | +the common functions corresponding to commands available in the MATLAB |
| 18 | +Control Systems Toolbox. |
45 | 19 |
|
46 | 20 | Documentation is available in two forms: docstrings provided with the code, |
47 | | -and the python-control users guide, available from `the python-control |
| 21 | +and the python-control User Guide, available from the `python-control |
48 | 22 | homepage <https://www.python-control.org>`_. |
49 | 23 |
|
50 | | -The docstring examples assume that the following import commands:: |
| 24 | +The docstring examples assume the following import commands:: |
51 | 25 |
|
52 | 26 | >>> import numpy as np |
53 | 27 | >>> import control as ct |
|
57 | 31 |
|
58 | 32 | The main control package includes the most common functions used in |
59 | 33 | analysis, design, and simulation of feedback control systems. Several |
60 | | -additional subpackages are available that provide more specialized |
61 | | -functionality: |
| 34 | +additional subpackages and modules are available that provide more |
| 35 | +specialized functionality: |
62 | 36 |
|
63 | 37 | * :mod:`~control.flatsys`: Differentially flat systems |
64 | 38 | * :mod:`~control.matlab`: MATLAB compatibility module |
65 | 39 | * :mod:`~control.optimal`: Optimization-based control |
66 | 40 | * :mod:`~control.phaseplot`: 2D phase plane diagrams |
67 | 41 |
|
| 42 | +These subpackages and modules are described in more detail in the |
| 43 | +subpackage and module docstrings and in the User Guide. |
| 44 | +
|
68 | 45 | """ |
69 | 46 |
|
70 | 47 | # Import functions from within the control system library |
|
123 | 100 | except ImportError: |
124 | 101 | __version__ = "dev" |
125 | 102 |
|
126 | | -# patch the LTI class with function aliases for convenience functions |
127 | | -# this needs to be done after the fact since the modules that contain the functions |
128 | | -# all heavily depend on the LTI class |
129 | | -LTI.to_ss = ss |
130 | | -LTI.to_tf = tf |
131 | | -LTI.bode_plot = bode_plot |
132 | | -LTI.nyquist_plot = nyquist_plot |
133 | | -LTI.nichols_plot = nichols_plot |
134 | | - |
135 | 103 | # Initialize default parameter values |
136 | 104 | reset_defaults() |
0 commit comments