Sunday, May 25, 2008

RoboCup Update

It's been a while since I last posted here, mostly because the quick mini-blogs in Twitter are far less time-consuming. However, it's about time I gathered the important updates into one post so here goes.

Some of you have been following my progress with my applications to study masters in the US. Since my last update three of them were no's with two remaining. About two months ago I got a negative response from UIUC, which ended the possibility of going to the US. The only one that remained, Waterloo, was taking it's time and I heard from some Canadians that their universities take considerably longer to respond. I have still not yet heard anything from them.

After all was basically lost and only Waterloo remaining, I made a tough decision. I was enjoying the work I was doing on RoboCup and three others were making a masters degree of it. So I decided to cut my losses with Waterloo and start studying towards a masters degree at UCT. The work I had been doing purely as a filler became my masters topic. Many people have been asking about what happened -- there's your answer.

I made that decision in late March. Nine weeks have passed since then and we've grown into a team of 1 honours, 5 masters and 1 doctorate student, not including our German and Austrian counterparts. My field within RoboCup is the localisation of the robots. In simple terms, localisation is about taking input from the various internal sensors and camera images to determine the position and orientation of the robot on the field. It involves a lot of statistics, which I majored in, and some image processing.

Some specifics on the problem I'm tackling. First of all, the robots have only a 500MHz processor, which is shared between all modules (intelligence, motion, kinematics, odometry, stability, image processing, etc.) and considering we have to process in realtime this is a real challenge. The playing field is well-defined, with the colours of objects chosen purposefully to make the image processing task easier. The lighting in many leagues is very well-defined as well, however, this is not the case in our league where the lighting could vary drastically between matches. In all other leagues in previous years (this is the first time our league is running) they've had uniquely coloured beacons to help with localisation. For this league, they are completely removing them, making localisation a far more complex task. All we have now are the coloured goals and the white field lines.

The approach that I am researching into is based on Monte Carlo Localisation (MCL). I have read up many other approaches, most notably the Extended Kalman Localisation, but they aren't as well suited to the specific problem I am solving. Some particular issues include the kidnapped robot problem (when the robot is moved by the referee, can localisation readjust itself?) and the non-unique classification of a field line segment seen to an area on the field (which part of the field line are you looking at?). One issue with MCL is that the more sampling you do the better the results, but as we're limited in processing power we can't sample more than about 100 points.

We've been having quite an issue with finding funding. It was looking good early on, but many of the sponsors want to see results before giving anything and to get results we need to be given. Wonderful catch 22 situation, which has resulted in many problems. It's looking as though our individual funding will go through very shortly, which is good news.

There's also been a serious issue with the development of the robots. This is a standard platform league so all the robots are supplied by the same company. They're commercial robots which will go on sale in 2010 and we're getting prototypes. Unfortunately they are falling behind schedule so teams only got sent a single beta robot, but only those who had paid. Yet the German's who were handling the funding and purchase of our robots haven't yet been able to sort it out due to some complications such as the German government not being sent an invoice for the robots, we have still not received any robots.

When word came out that we were only expecting to receive the robots by the end of June, three weeks before leaving for China, we promptly decided not to go to China. There was already all the fuss over it potentially not being held in China at all and the complaints from other teams that the robots were breaking down. Enough was enough! When we had a closer look at the agreement though, we realised we were contracted to participate. We have only three weeks with the robots, no funding and the robots are breaking, yet we have to participate...oh wonders!

The final call made by our supervisors was that the three of them would travel to China at their own expense. Graeme, our RoboCup supervisor, would go as our team leader, Stephen would go to suss out the RoboCup Rescue league which he will enter next year and Anet, our CS supervisor, would go to meet our team members from Germany and Austria. They then told us that we were welcome to join, but at our own expense. Two of us decided to go and three decided not to. The other two of us (me included) were (and still are) sitting on the fence and need to make a decision by tomorrow!

Well, that should give you all enough to sit on for now. It's a lot of happenings squished into such a short space. Let me just end with our amazing logo, which has a whole story behind it on its own:

and our website:

No comments:

Post a Comment