On our GumStick platform we are using Debian Linux which gives us many benefits because of it being a modern operating system. In particular, software package management and development environments comes as standard. This allow the user and us to spend more time on robot specific software.

Programming Interface Supporting C and Python

The interaction with the LocoKit system is done through a standard c library called LocoAPI for which a Python implementation also exists. This makes programming the robots easy because standard C or Python development tools can be used for editing, debugging, compiling, and documenting. The API include rich possibilities for control of the motors, but also has a powerful logger interface.


LocoKit can also be access through a web page hosted on the robot. This web page makes it possible to control for instance a quadruped robot. Data from sensors of the robot is also visualized on the web page live making it possible to see the impact of parameter changes in real-time. The webpages also allows the user to generate a report of the setting of the robot to make it easier to reproduce the data obtained.

Overview of the software structure

The overall architecture of the LocoKit software is illustrated below: The web interface runs on a remote PC, which interacts with a lightweight web-server running on the GumStix board. The web-server interacts with a generic server implemented in Python, which mediates remote access to the control API. The control API provides access to the ARM7-based motor boards as well as any on-board sensors.