One fundamental software piece for any robot is the PID controller - the Proportional Integral Derivative controller (see https://en.wikipedia.org/wiki/PID_controller). Adding one to the RoBonnet software stack was always a given. In fact, the software stack has had such a controller for a while, but I've now had chance to provide access to it via Blockly:
Many PIDs can be created, named, and configured with the setting you'd expect to find. I also added a couple of extras to define a "neutral zone" where the PID output is clamped to zero, and limits to clamp the outputs to low and high values.
The following simple control program configures the Rolling Robot Ball to always return to a specific heading (determined by the RoBonnet IMU).
And you can see the program in action in the video below: