14 July 2008

ICFP programming contest 2008

This year I organised another team from work for the ICFP programming contest. Our team, The Unchecked Exceptions, this year consisted of Chris, Jed, Tom and me.

I’ll write up a more thorough report once I recover from the lack of sleep, but I can safely say we all had a great time writing our Martian rover AI. Below are a couple of screenshots of our work that I took over the weekend.

Rover simulator screenshot
Our rover running on the provided simulator (click to see full image)

We wrote a couple of different visualisation tools to help show different aspects of the Martian rover strategy. Our chosen method of detecting tangents of obstacles was quite easy to show in the different visualisations.

Obstacle detection screenshot
Obstacle detection with visualisation (click to see full image)

Another tool that helps with the analysis of our paths was watching the trails of objects, to chart our AI’s reaction to surrounding objects.

Visualisation with trails screenshot
Visualisation with trails and obstacles (click to see full image)

Another visualisation screenshot
Another visualisation (click to see full image)

After making the AI work reasonably well, we discovered a surprising bug in our tangent calculation function. The graph below showed the problems.

Tangent screenshot
Tangent function analysis (click to see full image)

Thanks to the competition organisers and my team mates — for me, it was definitely the most interesting competition so far!

I’ll write some more thorough notes about our algorithm and results in a couple of days.