Arkadiy Turevskiy, MathWorks
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.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .Select web site
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.