Embedded PID Autotuner
In this video, we deploy a PID autotuner to embedded software running on LEGO® MINDSTORMS® EV3 robot to automatically tune gains of a PID controller that provides power to the wheel to regulate its speed.
We use Online PID Tuner block, a new capability in Simulink Control Design™ in release R2017b, to generate the code for the PID autotuning algorithm. We download the generated code to the LEGO EV3. We initialize the PID controller, running at 20 Hz in the LEGO EV3 embedded software, with initial guesses and command step changes in reference speed to evaluate PID controller performance with initial gains. We show that system performance is poor, with large overshoot and oscillations.
We then use Simulink® External Mode to run the autotuning algorithm. The algorithm opens the feedback loop, injects an excitation signal into the plant, measures the output, and uses collected data to estimate plant frequency response. All of this is done in embedded software. The algorithm then computes PID gains for use in the PID controller. We test the new gains by requesting a series of step changes in wheel speed to demonstrate improved controller performance.
Published: 14 Sep 2017
Related Products
Learn More
Featured Product
Simulink Control Design
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia-Pacífico
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)