A computer software program is required to provide the user with an interface to the system. The user software fufils a number of functions. Firstly, the software allows the user to design an arbitrary shape to be constructed by virtually placing 3D cubes with a design tool which was implemented from first principles using OpenGL. The software also includes funcitonality to connect to and control the robot directly or to initiate the construction of a designed shape by the robot using real cubes. During construction, the interface shows a live feed from the camera with the option to view various stages of the computer vision pipeline applied to the feed. In addition, the interface also shows the live 3D model of the known position and orientation of all cubes in robot's workspace. The user software was developed using C++ in conjunction with the QT framework.
The video below shows the user software used to design the shape to be constructed and initiate construction. The software also shows information from the computer vision system and model of the cube positions during the construction process.