While I was in college I took a job where I was given the task to design a controller that would allow the user to enter in different PID values in for a double pendulum robot. This closed loop system would allow the robot to stand upright on a moving platform despite any external forced exerted on it.
The GUI was programmed using javascript, in the Processing environment which was used to create the G GUI and communicate with the microcontroller on the robot. I wrote in the controller and developed the libraries for the microcontroller using C++