Software
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:
- 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.
Sparrow Real-Time Control Libraries
The 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 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
- Julia - Control Systems Design in Julia
- Interactive Learning Modules Project - interactive tools for PID control
- Octave (GNU) - open source MATLAB replacement
- Scilab (INRIA) - open source MATLAB replacement
Control Implementation Libraries
- Comedi - Linux control and measurement interface; device drivers for data acquisition cards
- Real-Time Control Systems Library (NIST)
- ROS - open-source, meta-operating system for robotics applications