SPIRLe has now come to an end, and in a rush to meet our deadline, we’re adding here a final list of features and some screenshots for your perusal.
The final version of SPIRLe can be found here: https://github.com/smelliott/SPIRLe
Here is a final list of functionality we’ve managed to implement (taken from our final report):
- A demonstrably well-designed drag-and-drop IDE interface that enables chaining of blocks to automatically generate usable and human-readable Python code, and enables running of this code in the bundled-in simulator as well as on the physical robot. The blocks themselves encompass all the basic principles of programming. Additional features such as “snap to closest”, block editing, custom block creation, program saving and loading, block copying and deletion, multiple canvas usage have all been implemented successfully.
- A component-handling and system architecture middle layer that enables block creation by easy writing of XML specification files and Python code to dictate the block’s behaviour. The blocks can then be combined in a hierarchical manner to create blocks with higher and higher levels of complexity and abstraction while being based on simple instructions that can be interpreted by target machine platforms.
- A low-level communication protocol that allows high-level instructions written by the user to be translated into suitable instructions across a range of platforms, with the addition of yet more platforms being a fairly easy process.
We believe this delivers on all the aims we started out to achieve at the beginning of this project, and although we’re sad to see it end, we’re excited for the future as this gives us a solid platform to build upon in the near future, on our own time.
And now, as promised, screenshots:




