From: Richard M. <mu...@cd...> - 2011-04-02 18:58:10
|
Version 0.4b of the Python Control Systems Library (python-control) has just been posted to SourceForge. The main changes for this version are: * Initial implementation of model reduction functions: hsvd(), modred(), balred(), courtesy of Brandt Belson, Steve Brunton, Kevin Chen, and Lauren Padilla. * Changes to (eventually) support MIMO transfer functions. These should be transparent to users of the MATLAB interface (control.matlab), but control functions now use a separate class structure. Courtesy randt Belson, Steve Brunton, Kevin Chen, and Lauren Padilla. * Updated functionality for Nichols charts, courtesy Allan McInnes. * Improvements in unwrap function, courtesy Sawyer Fuller. You can download this version of the code from SourceForge https://sourceforge.net/projects/python-control/files There examples subdirectory has also been updated to contain the code for the PVTOL LQR and nested controller design (see project wiki page). If you would like all of the test files and additional examples, you can check out the source distribution using subversion: svn co https://python-control.svn.sourceforge.net/svnroot/python-control/tags/control-0.4b control-0.4b A more detailed list of changes is included below (starting from 0.4a, which was the Princeton branch of the code). -richard 2011-04-02 Richard Murray <murray@malabar.local> * src/__init__.py: removed import of tests module (moved to tests/) * src/matlab.py: Added hsvd, balred, modred to list of functions that are imported for use as is. Updated documentation string to indicate that these are implemented, along with a few other functions (zero, lqr) that weren't properly listed. * src/modelsimp.py (balred): Removed extraneous print statements (modred): Set method to be 'matchdc' by default (to match MATLAB) * src/__init__.py: added missing import of modelsimp functions * tests/slycot_convert_test.py (TestSlycot.testTF): turned off print statements in unit test to make it easier to see results. Use verbose=True to turn back on. * tests/convert_test.py (TestConvert.testConvert): got rid of print statements in unittest; clutters the output so that you can't see the errors clearly. Use verbose=True to turn back on. * src/statesp.py (_convertToStateSpace): removed "buggy" print statements * src/xferfcn.py (_convertToTransferFunction): removed "buggy" print statements * tests/nichols_test.py (TestStateSpace.testNgrid): updated testcode to turn off grid in initial Nichols chart plot. * src/freqplot.py: updated comments at top of file to reflect nichols chart move * src/nichols.py: transferred over changes from v0.3d * src/matlab.py (ngrid): moved import to function 2011-03-31 Richard Murray <murray@malabar.local> * examples/pvtol-nested.py: updated stability margin plot to use proper calling format for bode(). * src/statesp.py (_convertToStateSpace): moved slycot import to the location where it is actually needed (allows running some commands without slycot installed) * src/xferfcn.py (_convertToTransferFunction): moved slycot import to the location where it is actually needed (allows running some commands without slycot installed) * src/nichols.py: new file for Nichols plot routines; move nichols(), nichols_grid(), closed_loop_contours(), m_circles(), n_circles() * src/__init__.py, src/freqresp.py, src/matlab.py: updated to match new file structure for Nichols charts * src/nichols.py (nichols): updated processing of freqresp to take into account the fact that return arguments are now a matrix of results (even for a SISO system) 2011-03-30 Richard Murray <murray@malabar.local> * tests/: added top level subdirectory, to be used for unit tests. The idea in putting the code here is that you can do 'setup.py test' during installation to make sure everything is working correctly. The test code would normally *not* be callable from the installed module. * tests/*_test.py: moved from src/Test*.py * setup.py: updated version number. 2011-02-13 Richard Murray <murray@sumatra.local> * src/*.py: added svn:keywords Id properly * src/matlab.py (ngrid): added ngrid() from v0.3d * src/freqplot.py (nichols_grid, closed_loop_contours, m_circles, n_circles): copied over changes from Allan McInnes in v0.3d; ngrid() functiality + split out some of the nichols chart code into separate functions |