RoboSim

Front View of the robot

Front View of the robot

For the COMP105P Robotics Module, we were tasked with creating a program that would run on a custom robot. However, due to the limited numbers of custom robots, we were given access to a version of RoboSim, written in Python, created by the module’s lecturer that allowed us to test programs in a simulator on screen.

The original version of RoboSim that we were provided

The original version of RoboSim that we were provided

From my point of view, the simulator meant more development time. Very quickly however, I started to wish for various features. Having no experience in python, I thought this was a perfect time to dive in.

The customised version of RoboSim

The customised version of RoboSim

The first feature that I added was a request from another computer science student at UCL. He was partially colour blind, and was having trouble differentiating the points created by set_point(red) and log_trail(red-brown). So I added a colour picker for both of these points into the menu.

A feature that I was very keen on was to speed up simulation. This was requested by many and by doing this, the rate of testing could be increased. This was achieved by adding a multiplier to the frame rate limiter.

The new switches

The new switches

Other usability improvements I added include the ability to maximise the window which required adjusting the UI to be able to handle this change better, keyboard shortcuts such as the spacebar to reset and arrow keys to drive the robot, and the ability to globally turn on or off log_trail and set_point independently.

Overall I found it a fun experience, and in making these changes (especially the speed up ability) I like to think that I had saved a lot of development time for everyone. You can download the current version here:

RoboSim v2.2.0 Xiao Edition

RoboSim v2.2.3 Xiao Edition Beta