Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brendanburkhart/pidsim
Tool for simulating and visualizing the tuning of PID controllers
https://github.com/brendanburkhart/pidsim
cpp frc pid-controller qt robotics robotics-control
Last synced: 5 days ago
JSON representation
Tool for simulating and visualizing the tuning of PID controllers
- Host: GitHub
- URL: https://github.com/brendanburkhart/pidsim
- Owner: brendanburkhart
- License: lgpl-3.0
- Created: 2019-05-12T01:31:11.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-05-15T20:26:56.000Z (almost 6 years ago)
- Last Synced: 2024-12-18T10:12:15.261Z (about 2 months ago)
- Topics: cpp, frc, pid-controller, qt, robotics, robotics-control
- Language: C++
- Size: 74.2 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PIDSim
PIDSim is a tool for simulating and visualizing the tuning of PID controllers. It is intended as a teaching tool for new FRC robotics programmers, to allow them to familiarize themselves with PID controllers and gain an intuitive understanding of how they work and the process of tuning them.
![]()
![]()
On the left is an example screenshot of a real-time graph of the PID input and setpoint vs. time. On the right is a real-time breakdown of the PID output into its proportional, integral, and derivative components.
![]()
![]()
On the left is a simulation of a PID-controlled brick. The brick is dragged down by gravity and affected by air resistance, and the PID controller outputs a force that acts on the brick.
On the right is a simulation of a continuous angular PID control model, for uses like swerve module angular control.---
PIDSim is built using the Qt5 GUI toolkit from Qt (https://www.qt.io/) and is based in part on the work of the Qwt project (http://qwt.sf.net). To comply with the licensing requirements of Qt and Qwt, and to allow PIDSim to be distributed in a statically-linked form, PIDSim is licensed under the LGPL and all source code is available in this repository.
[input]: https://github.com/brendanburkhart/PIDSim/raw/master/readme-resources/inputgraph.png "Input Plot"
[output]: https://github.com/brendanburkhart/PIDSim/raw/master/readme-resources/outputgraph.png "Output Plot"
[linear]: https://github.com/brendanburkhart/PIDSim/raw/master/readme-resources/linear.png "Linear Model"
[angular]: https://github.com/brendanburkhart/PIDSim/raw/master/readme-resources/angular.png "Angular Model"