List of Pending changes for control-python
RMM, 5 Sep 09

This file contains brief notes on features that need to be added to
the python control library.  Mainly intended to keep track of "bigger
picture" things that need to be done.

--> See src/matlab.py for a list of MATLAB functions that eventually need
    to be implemented.

OPEN BUGS
  * matlab.step() doesn't handle systems with a pole at the origin (use lsim2)
  * TF <-> SS transformations are buggy; see tests/convert_test.py
  * hsvd returns different value than MATLAB (2010a); see modelsimp_test.py
  * lsim doesn't work for StateSpace systems (signal.lsim2 bug??)

Transfer code from Roberto Bucher's yottalab to python-control
  acker       - pole placement using Ackermann method
  c2d         - contimous to discrete time conversion
  full_obs    - full order observer
  red_obs     - reduced order observer
  comp_form   - state feedback controller+observer in compact form
  comp_form_i - state feedback controller+observer+integ in compact form
  dsimul      - simulate discrete time systems
  dstep       - step response (plot) of discrete time systems
  dimpulse    - imoulse response (plot) of discrete time systems
  bb_step     - step response (plot) of continous time systems
  sysctr      - system+controller+observer+feedback
  care        - Solve Riccati equation for contimous time systems
  dare        - Solve Riccati equation for discrete time systems
  dlqr        - discrete linear quadratic regulator
  minreal     - minimal state space representation

Transfer code from Ryan Krauss's control.py to python-control
  * phase margin computations (as part of margin command)
  * step reponse
  * c2d, c2d_tustin (compare to Bucher version first)

Examples and test cases
  * Put together unit tests for all functions (after deciding on framework)
  * Figure out how to import 'figure' command properly (version issue?)
  * Figure out source of BadCoefficients warning messages (pvtol-lqr and others)
  * tests/test_all.py should report on failed tests
  * tests/freqresp.py needs to be converted to unit test
  * Convert examples/test-{response,statefbk}.py to unit tests

Root locus plot improvements
  * Make sure that scipy.signal.lti objects still work
  * Update calling syntax to be consistent with other plotting commands

State space class fixes
  * Implement pzmap for state space systems

Basic functions to be added
  * margin - compute gain and phase margin (no plot)
  * lyap - solve Lyapunov equation (use SLICOT SB03MD.f)
  * See http://www.slicot.org/shared/libindex.html for list of functions

----
Instructions for building python package
  * python setup.py build 
  * python setup.py install
  * python setup.py sdist
