|
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