To help with the development of our control library and in particular the creation of different gait routines (walking, trotting, running, etc) we decided to develop a simulator to capture the control signals from the control library and visualise them on a screen. This resulted in a much quicker development cycle as the impact of changes to the control library and the gait routines could be tested immediately. An additional benefit was the running speed of the visualisations could be easily reduced to create a “slo-mo” version which was much easier to analyse.

Before the simulator we would make the changes to the control library, run the changes on the robot while filming, and then study the slo-mo film to try and work out what was going on.
A key design feature of the visualisation process was to ensure the control library is completely unaware of whether it is producing output for a real robot or for the visualiser. Another design feature was to be able to capture the raw control library output to a file so it can be easily replayed and compared to other runs. All the code is written in Python and it makes extensive use of the matplotlib library.