A backport of the upcoming (in 2020) WPILib PIDController.
Project description
wpilib-controller
A backport of the upcoming (in 2020) WPILib PIDController.
This is a backport of wpilibsuite/allwpilib#1300, which is planned to be merged for the 2020 season, for RobotPy.
@calcmogul has some in-progress docs on this.
Note that if you are moving from the old WPILib PIDController, your PID constants will need to change, as it did not consider the discretization period:
- divide your Ki gain by 0.05, and
- multiply your Kd gain by 0.05,
- where 0.05 is the original default period (use the period you used otherwise).
Installation
For a computer with an internet connection:
pip install wpilib-controller
To install onto an offline roboRIO:
pip download wpilib-controller -d pip_cache # with an internet connection
robotpy-installer install-pip wpilib-controller # connected to your robot
Example
from wpilib_controller import PIDController
controller = PIDController(1, 0, 0)
# setInputRange and setContinuous are now a single method
controller.enableContinuousInput(0, 360)
controller.setSetpoint(180)
# elsewhere...
# assume gyro is a gyro object created prior
output = controller.calculate(gyro.getAngle())
# do something with the output, for example:
motor.set(output)
Major differences
- The PID gains are no longer time dependent.
- This PIDController expects a measurement as a parameter to
calculate(). - This PIDController runs synchronously in your robot code (as opposed to having it run in a thread). You must call
calculate()and use its return value.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wpilib-controller-0.7.1.tar.gz.
File metadata
- Download URL: wpilib-controller-0.7.1.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.22.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfdb9ed0b99efe22999db7b9c334b6a68e6886f3b336de3d078d41be0c503d3e
|
|
| MD5 |
cdd80862e461fe46355938ba275ebcaa
|
|
| BLAKE2b-256 |
2a2e6a8b8c538072460743a5d0ba3b5e7923c4065954b23065daaf92a5887723
|
File details
Details for the file wpilib_controller-0.7.1-py3-none-any.whl.
File metadata
- Download URL: wpilib_controller-0.7.1-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.22.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffbc0085dd5c3151177c8479e354e1af8bb67f9e159ccec39b9f8f6e3d4d05fa
|
|
| MD5 |
00d6731c804c24a51e6580d6f4b4160f
|
|
| BLAKE2b-256 |
2dd8ab30f4030a7e7e4c774f051a76317cbfc0939c49323696056a31de62a5fb
|