Difference between revisions of "Software"

From FBSwiki
Jump to navigation Jump to search
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
This page contains information on ''open source'' software that is being developed to support the analysis and design techniques described in {{am08}}.
 
This page contains information on ''open source'' software that is being developed to support the analysis and design techniques described in {{am08}}.
  
=== Python Control Systems Library ===
+
=== Python Control Systems Library (python-control) ===
  
 
A library of functions for analysis and design of control systems is being developed for use in the Python programming language.  The python-control package is an open source project that is intended to implement the standard control system functions.  More information is available at:
 
A library of functions for analysis and design of control systems is being developed for use in the Python programming language.  The python-control package is an open source project that is intended to implement the standard control system functions.  More information is available at:
Line 9: Line 9:
 
* http://python-control.org - python-control wiki page (includes download instructions and examples)
 
* http://python-control.org - python-control wiki page (includes download instructions and examples)
  
The current release of this software includes the ability to plot Bode plots and Nyquist diagrams, as well as LQR design.
+
The current release of this software includes the ability to generate most of the figures in the book.  Links to individual [[:Category:Figures|figures]] and [[:Category:Examples|examples]] are available on chapter pages.  To run some of the code used to generate these figures, you may need additional files available here:
 +
 
 +
* https://github.com/murrayrm/fbs2e-python
  
 
=== Sparrow Real-Time Control Libraries ===
 
=== Sparrow Real-Time Control Libraries ===
  
The [http://www.sourceforge.net/projects/sparrow-control Sparrow project] at Caltech is developing a collection of open source C/C++ libraries for implementing real-time controllers on Linux-based data acquisition & control systems. Two low-level libraries that allow implementation of the controllers described in {{am08}} are available:
+
The [http://www.sourceforge.net/projects/sparrow-control Sparrow project] at Caltech is a collection of open source C/C++ libraries for implementing real-time controllers on Linux-based data acquisition & control systems. Two low-level libraries that allow implementation of the controllers described in {{am08}} are available:
 
* [http://www.cds.caltech.edu/~murray/sparrow Sparrow] - a real-time library that supports control loops, device interfaces, real-time displays
 
* [http://www.cds.caltech.edu/~murray/sparrow Sparrow] - a real-time library that supports control loops, device interfaces, real-time displays
 
* Falcon - a library for implementing standard control techniques such as state space compensators and Kalman filters.  (The linux version of the falcon library will be released in the near future.)
 
* Falcon - a library for implementing standard control techniques such as state space compensators and Kalman filters.  (The linux version of the falcon library will be released in the near future.)
Line 25: Line 27:
  
 
* [https://github.com/JuliaControl Julia] - Control Systems Design in Julia
 
* [https://github.com/JuliaControl Julia] - Control Systems Design in Julia
* [http://aer.ual.es/ilmbeta/ Interactive Learning Modules Project] - interactive tools for PID control
+
* [http://aer.ual.es/ilm/ Interactive Learning Modules Project] - interactive tools for PID control
 
* [http://www.gnu.org/software/octave/ Octave] (GNU) - open source MATLAB replacement
 
* [http://www.gnu.org/software/octave/ Octave] (GNU) - open source MATLAB replacement
 
* [http://www.scilab.org/ Scilab] (INRIA) - open source MATLAB replacement
 
* [http://www.scilab.org/ Scilab] (INRIA) - open source MATLAB replacement
Line 31: Line 33:
 
==== Control Implementation Libraries ====
 
==== Control Implementation Libraries ====
  
* [http://stm.lbl.gov/comedi/ Comedi] - Linux control and measurement interface; device drivers for data acquisition cards
+
* [https://www.comedi.org Comedi] - Linux control and measurement interface; device drivers for data acquisition cards
* [http://www.control.lth.se/~andersb/linux_in_control/ Linux in Control] - a collection of software and MATLAB files used in Lund for implementing controllers in Linux, using MATLAB
+
* [https://www.nist.gov/el/intelligent-systems-division-73500/networked-control-systems-group/real-time-control-systems Real-Time Control Systems Library] (NIST)
* [http://www.isd.mel.nist.gov/projects/rcslib/ Real-Time Control Systems Library] (NIST)
 
 
* [http://ros.org ROS] - open-source, meta-operating system for robotics applications
 
* [http://ros.org ROS] - open-source, meta-operating system for robotics applications

Revision as of 05:52, 24 June 2021

A wealth of software is available for analysis, design and implementation of feedback systems. This page contains information on open source software that is being developed to support the analysis and design techniques described in Template:Am08.

Python Control Systems Library (python-control)

A library of functions for analysis and design of control systems is being developed for use in the Python programming language. The python-control package is an open source project that is intended to implement the standard control system functions. More information is available at:

The current release of this software includes the ability to generate most of the figures in the book. Links to individual figures and examples are available on chapter pages. To run some of the code used to generate these figures, you may need additional files available here:

Sparrow Real-Time Control Libraries

The Sparrow project at Caltech is a collection of open source C/C++ libraries for implementing real-time controllers on Linux-based data acquisition & control systems. Two low-level libraries that allow implementation of the controllers described in Template:Am08 are available:

  • Sparrow - a real-time library that supports control loops, device interfaces, real-time displays
  • Falcon - a library for implementing standard control techniques such as state space compensators and Kalman filters. (The linux version of the falcon library will be released in the near future.)

In addition, some more advanced libraries are being developed for use in networked control environments:

  • Skynet - a messaging library for communication between processing using the Spread communications protocol
  • NTG - nonlinear trajectory generation library, including receding horizon control (RHC)

Other Software Packages

Analysis and Design Tools

Control Implementation Libraries