matt ryall’s weblog

Sceptical analysis since 2002.

Site

Portrait of Matt Ryall

 

About me

Feed icon Articles feed

Feed icon Comments feed

Archive

Photography

Europe trip 2004

More photos

Software

NoteWiki

Other Pages

About Me

Uni timetable

SysProg Journal

The List

ICFP programming contest 2008

14 July 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.

 
Posted by Leah Shanker at 2008-07-18 09:10:28
Interesting approach! I don’t think I saw any other solutions that used tangent lines of circles, but it definitely seemed to work out for you! We had to resort to nearly-instantaneous linear vectors pointed at the centerpoints to avoid the curved path calculations.

I had a blast too :)
 

Comments on this article have been closed.