Showing posts with label robocup. Show all posts
Showing posts with label robocup. Show all posts

Friday, August 8, 2008

Chinglish

Funny Chinese signs with broken English are all over the Internet. It's one thing seeing them on the Internet, but seeing them for yourself you realise how truly bad the situation really is. It's so difficult to believe that people can screw up so royally this often, but it couldn't be more true. I've put together a collection of some of the wacky signs and such that we saw in 9 days in China, without us actively searching for any! Hopefully this put things into perspective for some people.


Anyone want to try travel the hurl?


This was on the door of public toilets


Um...right!


Chinese Red Bull (check the bottom!)


Conjuring with grapes...um yes


What makes chips Natural & Warm?


A simple misspelling gone wrong! There's food behind there. ;)


Found outside the Oriental Pearl TV Tower; some of these are hilarious (click image to read)


What can I say...


Would love to know what they meant to say!


Not so much poor English, but funny nonetheless


Thank-you sooo much :)

And then there were some bad ones even at the RoboCup arena. The fact that this is an international event amazes me that these were there.

Looks innocent enough, right?


Look closer at the spelling of RoboC*u*p. That's the spelling used on the official t-shirts, but the certificates were worse -- Robocuop!


The Chinese seem to love their Happy Party


Um, yes...this is referring to RoboCup as was the one above.

Since when is RoboCup a pageant?!


Besides the funny description of RoboCup, notice the spelling :)

Tuesday, July 29, 2008

Tour of Suzhou, China

Sunday:

Sunday was our only full day off, so we went on a guided bus tour of Suzhou. Considering the experience it was a R300 well spent. We saw many of the sights that has made Suzhou famous.

We started out at the Lingering Garden which has been around for over 400 years. We had a really good English-speaking guide who explained a lot about the meaning behind the various symbols. For example, in one room there was a square marble slab next to a circular marble slab. The square resembled the Earth as it was still considered flat in those days and the circle resembled the sky. Together the represented harmony. Unfortunately there was just too much information to remember it all, so I'll leave you with the pictures (many more here):



Our team: Marco, Andre, Asief, Eugene, Graeme and Stephen

That bottle of coke cost about R3 :-P

Plenty bonsai trees

We then visited this fresh water pearl factory shop, which sold pearls for almost nothing. This stopover wasn't actually part of the usual tour and was a treat offered by our guide as he really enjoyed our group. Unfortunately I don't know enough about jewellery to go buying on my own so I didn't get any as cheap as it was. This is where I started meeting a couple teams for the first time. Here's a snapshot of the mayhem at the shop (it was bad enough before we arrived!):


We then had some lunch, which wasn't so great. The Chinese really try to hard to serve us Western food, but they just don't know how to do it properly so they should stick to what they do best! It was buffet, but check out these evil Chinese tactics:


Suzhou is famous for many things, mostly for it's gardens which we had already seen one of. Another thing it's famous for is producing the best silk in China. The next place on our agenda was the No. 1 Silk Factory. There we got to hear the life of a silk from the birth of the silk worm to finding the thread of the cocoons to making the final product. It was a very interesting experience watching the hard labour involved and how the workers worked together with the machines to produce the silk thread from the cocoons.

At the end we had some time to look around in their silk shops. They had such an abundance of silk products for sale, all so cheap, that it was very difficult to decide on what to buy. In the end I only bought a queen-size silk duvet for about R700, which comparing to the price of a feather duvet in South Africa is damn cheap!

Baby silk worms chowing on mulberry leaves

Threading eight silk strands together

Finding the thread of the cocoons

Reading design on punch cards to knit silk fabric

Workers producing a silk duvet

Our next stopover was the Humble Administrator's Garden. It is the largest of the gardens in Suzhou and is one of the four most famous gardens in China. As much as I loved the gardens, we spent so much time in the first one that by the time we got to this one I, along with many others, were getting a bit tired of seeing what was for us mostly the same thing. I would have definitely have enjoyed them more had I seen them on separate days as the heat was also getting to us by now.

Below is the inside of the entrance to the garden. This door is made of steel on one inside for strength and wood on the outside for beauty. The level of detail in the carvings is mind boggling. The inset towards the center of this image is a fully detailed sculpture.


Inside the garden, with four viewing areas. Each viewing area was designed for a different season, for example the spring viewing area was located to take advantage of viewing the blooming of the flowers. There is another viewing area where he would go to drink his tea and see the four moons:
  1. The moon in the sky
  2. The reflection in the water in front of him
  3. The reflection in the mirror behind him
  4. The reflection in his cup of tea



The Grand Canal of China is the longest canal in the world, stretching all the way from Shanghai to Beijing for a total distance of roughly 1,770 km. The canal dates back to the 5th century BC, so it was an amazing opportunity to get to take a boat ride down a part of it as the final part of this tour of Suzhou. It lasted about 45 minutes (no we did not cross the entire length of the canal!) and the rocking of the wakes made us very sleepy after the long tour. We got to see some very nice sights, including some ancient temples.

The boats we rode in. We had to take two as the group was too big.

View from the boat as we crossed the canal

By the end of the tour we were completely knackered. It started out at 11:00 and we got back past 17:30. It was really well worth it though as we got to see everything Suzhou was famous for: the gardens, the silk, the canals and the fresh pearls.

There was just one thing left for us to do at the end of the day and that was team registration. Unfortunately we had just missed the last bus provided by the RoboCup organisers so we had to pay a whopping R2 to catch a public bus. Thankfully one of the volunteers came to help us decipher the bus schedule and get us onto the correct bus or we would have stood no chance. The registration process was fairly painless, besides us having to sign our lives away 17 times. This was the first opportunity we got to meet our German team members from RWTH-Aachen.

Cape Town to Suzhou

Now that I'm back in chilly Cape Town my plan is to blog about the experience I had in more detail. Things were just too intense up in China that I didn't get enough time to jot everything down. But that's a good thing. :)

Friday:

We had an early morning flight leaving Cape Town for Johannesburg on BA. They're starting to build like mad at Cape Town's airport, so our gate was a temporary marquee which was something new to me. It was a short 2 hour flight, followed by 3 hours in OR Thambo International Airport. The building at Cape Town's airport in minuscule in comparison as they've been building for the past 2-3 years here. Luckily we weren't affected much by it, but as much as I travel this place looks new to me every time I pass through!

Team minus me at OR Thambo

The remainder of our flights were all with Emirates, which I had previously heard only good stories about. I've flown many airlines before so I was all too eager to test them out. We already had a good experience with them giving us excellent accommodation rates in Dubai, but they also tried screwing us over after cancelling our Dubai to Shanghai flight by trying to give us a 21 hour stopover in Dubai, which we blatantly refused in favour of passing through Johannesburg.

During check-in for our flight to Dubai I could immediately tell who from our group were infrequent travellers. Some were all too eager to go to customs to register their laptops and such, something which I have only ever done once before. As you will discover towards the end of this post it was pretty useless even under extreme conditions. Finding a place to eat was also an interesting endeavour as no-one could make a decision as to where to eat. We finally ended up going through passport control to the gates and ate there, where the food was limited to a single cafe and hence expensive. I stocked up on some snacks which later proved useful.

When we finally got around to boarding the next flight I was amazed at the size of the engines on the new Boeing 777-300. Being a new plane it was nice and clean inside, but best of all was the on-board entertainment system. It was by far the best I have ever experienced with over 500 channels to choose from, and best of all was it was turned on before we boarded the plane, while other airlines usually only boot the systems up after take-off. The 7 hour flight was extremely comfortable and by flight standards the food was decent.

Saturday:

We landed in Dubai just after midnight on Saturday morning. Compared to the weather we left behind in Cape Town, the heat here was intense even for daytime weather (and this was at midnight!). It was a taste of what was to come for us when we were to return here 10 days later. The airport here was one like I have never experienced before. It was so packed with people, many of them sleeping, that it looked like a refugee camp. Remember that this was now 1 in the morning. We had a quick bite to eat before boarding our next flight. I had chicken wings which had some crazy spices I had never tasted before.

Our next flight to Shanghai lasted about 8 hours and wasn't as comfortable as the previous one. The seats were designed for use with leg rests, but they had to since remove them as it was discovered they would amputate both feet in a crash. With the feet of any reasonably sized person dangling above the floor, our feet were completely swollen by the end of the flight. At least the entertainment system was the same as on the previous flight, even though I slept through most of the flight.

After the trainee customs officer took a while to inspect my passport we finally went through to collect our luggage and met up with the RoboCup volunteers who organised a bus to Suzhou for us.

Continue reading Arrival in Suzhou, China.

Monday, July 21, 2008

Leaving China

We leave China this evening and spend four nights in Dubai before heading back home. This trip has been one hell of an experience and truly bolsters my feeling of China being the most amazing country I have visited. I was in Shanghai in 2005 for the ACM ICPC and I had an awesome time. This really is one of the few places I'd love to return to.

We ended up having only two matches, both on Sunday. Like everyone else, we had many serious issues with the robots. They were breaking, overheating, camera channels randomly swapping. The API provided (NaoQi) by Aldebaran was chowing CPU and RAM and what made matters worse was that when CPU usage hit 100% the robot went through an emergency shutdown and collapsed. We drew both matches 0-0, but the teams we played were ahead of us in their gameplay as bad as we all were so we got knocked out.

We went out to Shanghai on Saturday so we missed the quarter- and semi-finals. More on what happened there later, it was an awesome experience. The finals were held yesterday and honestly it could have been made a little more exciting. I was expecting huge crowds, but the problem was there was simply insufficient space for them as the fields were too close to on another. The Aibo final was first and the Northern Bites from Bowdoin clinched what may have been the final Aibo league.

Then CMU with Georgia Tech played against the NUManoids team from Newcastle in Australia. There were some rather humerous points in the game, but neither team did anything special so they went to penatlies, but not penalties in the normal sense. There was no goalie -- a single robot was placed in front of the goal with the ball in front of it and it had to score as quickly as possible. CMU/Georgia went first and completely screwed up unfortunately, but eventually got the ball in the goals about 3 minutes later. Newcastle, on the other hand, walked up to the ball and kicked for goal in seconds and clinched the first Nao league. The president of RoboCup who is from CMU had some amusing moments.

We've all had an amazing time here. Not only is the location awesome, the venue awesome, but so are all the people. I never knew one could get so many Germans in one place outside of Europe. They were great fun and I really look forward to meeting most of them again in the German Open in Hamburg, April next year.

Wednesday, July 16, 2008

RoboCup is Happening

RoboCup has been getting seriously hectic, leaving little time to blog about the event. I'll fill you all in in much more detail after the event, but here's a quick summary for now.

As our robots were shipped to our German team members three weeks ago, we only got to see them on Monday for the first time. Yes, it's been a long ride since the expected arrival of April 2008, but at least we can be rest assured we're not the only ones with such issues. Receiving them so late has resulted in a massive on-site rush to get the things just to walk, but we finally got it right this morning at about 2am (kick and such follows easily!)! Today we can put the vision system to the test, which we expect to produce good results. Our behaviour for this year is really simple, as without decent motion there's little point.


The robots have been seriously breaking to pieces all over the show. They did a tally yesterday and out of 60 robots only 25 are in reasonable working condition (we have 2 of 4). The Aldebaran workshop is so bad they wouldn't let me take a photo, but I tell you I would not want to be one of their engineers! They've been very friendly and helpful though as RoboCup is really the only reason they're still developing the robot, which they aim to release to the public next year.


This is one of our German team members Tim Niemueller working on his RoboCup@Home robot. Their robot cost about 60,000 euros to build and that's just the physical components. They have been champions two years now and although they had a problem with their main board they have high hopes to pull through victorious once again and speaking to the other teams this is quite likely.


We hope to enter the Small Size and RoboCup Rescue leagues next year, which is what part of our delegation is here for this year. Here's an example of how the rescue robots look like:

Sunday, July 13, 2008

Chinese Breakfast

Chines breakfast...interesting stuff:

Saturday, July 12, 2008

Arrival in Suzhou, China

After more than a full 24 hour day of travelling we have made it to Suzhou, China for RoboCup 2008. The flight from Johannesburg to Dubai was great as we flew the new Boeing 777-300 on Emirates and the entertainment system was excellent. The flight to Shanghai was an older plane and the seat was raised too high when the seat was pushed back so our feet were dangling which was awful. Customs was surprisingly a breeze, especially after all the emails that were flying around about how we would have to pay X and do Y before we could get Z.

Once we got past customs we were welcomed by an impressive group of RoboCup volunteers who organised us a special bus with a team from Winnipeg. This was the first time we hit outdoors and my word was it a surprise! We heard it was hot and humid, but this was like walking into a sauna!! Taking photos was hopeless as the lens steamed up instantly:


The bus ride was a long 3 hour trip to Suzhou over what I swear must be the most damaged (i.e. bumpiest) roads I have ever travelled on. Add that to the fact that Chinese are possibly the most daring drivers in the world (where else would a scooter try cut off a truck?) and it was a most interesting ride. We eventually arrived at our hotel in one piece. At a measly 37 euros a night for three people it's an awesome hotel:


The first thing (after turning on the laptops) was to run for the shower. The weather is really bad, although we'll get used to it soon. We then went out for supper, which for most was an experience! I had some Chinese duck, which once you got past the bones and the immense spiciness was really good. The others, however, did not have such a good experience. Noodles with large quantities of oil and very little meat. It's all really cheap though, with the meal for six of us costing about R100 with drinks. The RoboCup volunteers spotted us and told us they would show us back to our hotel, even though we were literally on the same block and could see our hotel from where we were sitting. Crazy helpful Chinese, it's what I love about this place!

We finished off the day with a short walk around the area. It takes 40 minutes to get to the city center by bus and that's without traffic, so we skipped that option for today. That should give you a good idea of just how large the city is. Tomorrow we have the day to ourselves with registration from 17:00 to 19:00. Unfortunately though, breakfast is bright and early in the morning at 06:00-08:00.

I'm uploading all photos up here.

Monday, June 23, 2008

Robots Have Landed

This morning we got an email from our team members in Germany telling us they have received our Aldebaran Nao robots. Plans changed slightly when we realised how late we would be receiving them. The German's will take the robots with them to China and we will take our two back with us from there. Hopefully by the end of the year we will have a full set of four to ourselves.

Here are our babies:


Saturday, June 21, 2008

Refining Masters Topic

One thing I have come to learn very quickly is that what they say about masters (and research in general) being a continuous refinement of your research topic cannot be more true. If you had told me two months ago that my topic would be thinned down to what it is today I simply would not have believed you!

When I first approached my supervisor, Anet, about joining the RoboCup team I saw it as just that, an opportunity to help in putting together an intelligent system for a robotic soccer team to compete in RoboCup. And I was going to be doing the vision and localisation. My oh my, how that vision (excuse the pun) has changed.

First of all, I am no longer doing any vision-related work so my reliance on Patrick Marais as co-supervisor has fallen away. I dropped it because, to do anything novel to any degree (while masters does not require this, they try get it from you here) I had to concentrate on a narrower topic, which in my case was localisation.

Then lets look at RoboCup. Well the initial aim was to ship a prototype for the RoboCup tournament in July. If I was to have done that though, I simply would have had insufficient time to do enough reading and that would result in me wasting a lot of time essentially being a code monkey hacking away at something that would certainly not be novel and, given more time to read up on and design, would be fairly trivial. Then there's also the major problem that we simply have not yet received any robots yet!!! This just makes development of anything on the robots a lot harder and frankly I'd rather wait until we get them before doing any hacking as we might realise things we cannot know without seeing the robots. Then there's the fact that one of our team members in Austria, Christof Rath, is already working on basic localisation for July.

So we've realised that we don't get much (any?) credit from RoboCup directly. The traditional (for want of a less offensive term) folks of this world don't see RoboCup as being real research so we have to target it as a more general solution for robotics in general and tag RoboCup as simply a testbed. It's a very neat testbed though, as everything is already laid out so there's a lot less of this topic refinement I'm talking about in this post. Most masters projects typically start out weakly defined with huge scope and can even change completely over the course of the project. We simply don't have that problem, which is great as we can focus from much earlier on.

Another area of refinement, one which I briefly touched on above, is that of supervisors. Anet Potgieter was always my main supervisor from the get go as she started the local RoboCup initiative. Anet's research field is agents (subset of AI). She's so busy though: over 20 graduate students, 10 honours students and the director of a company!! Then we needed a co-supervisor in mechanical engineering: I chose Stephen Marais who's doing his PhD in SLAM (Simultaneous Localisation and Mapping: a problem more difficult than localisation on its own) and he's been great as he's always in and his office is right in our lab, even though he's really on sabbatical. Then I started out with Patrick Marais as the computer vision guru at UCT, but since I dropped that part I no longer have him as co-supervisor. Then finally, just a week ago I approached one of our newer lecturers Hanh Le and she jumped at the opportunity to co-supervise me. She's viscuous, but in a positive way. She refuses to accept students unless she knows they are top students and looks far ahead, much further than most other supervisors do. Still early to comment too much, but to give you an idea she gave me a wad of papers 15 cm tall at our second meeting! And for completeness, my second reader is Edwin Blake.

So anyway, the reason I started out with this post was that I am at the final stages of writing up my research proposal. It's done, just needs to go through final checks. The deadline is six months after starting, I've almost got it out after two so I'm already ahead of schedule. :-D The aim is to have my proposal presentation on Wednesday 2 July so if you're in the area and would like to attend (if you're not a UCT student you should ask before coming as attendance might be restricted, I'm not 100% sure), watch my blog for further details. The aim is to put my presentation together with that of Andre Scholtz who's doing the collaborative intelligence for RoboCup.

Friday, May 30, 2008

China Booked

So I finally decided to go to RoboCup in China at my own expense, along with three of our lecturers and three other students. We're almost settled on flights and accommodation, although we still need to pay next week. We also need to sort out visas, which might be slightly problematic for me considering I went to the Italian Consulate to apply for a new passport when it was looking like we weren't going to China (they only take 10-15 days though).

We're flying with Emirates, departing on 11 July. We're in Suzhou until 21 July when we head back and stopover in Dubai for 3 nights, returning to Cape Town on the 25th. The trip is actually pretty reasonable, coming to about R11,000 for flights and accommodation.

21 days after we return, I hop back on the plane to Egypt for the IOI!

Suzhou, China

Dubai, UAE

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:

http://www.ibots.uct.ac.za/

Friday, February 22, 2008

RoboCup

RoboCup has become fairly well-known over the past few years. It's a soccer championship for robots. It started out by using Sony AIBO robots and just getting the teams develop the AI for the generic robots to play against one another. Many leagues have since been introduced to concentrate on different aspects of the game. Recently they have gone into the area of humanoid robots, which add a whole new level of complexity as they now have to learn to walk and recover from falls.

Towards the end of last year UCT was invited to participate, working together with a German and Austrian institute. This has resulted in the merger of our Agents and Robotics labs to work together on this one big goal together. The next championship takes place in Suzhou, China in July and our aim is to be ready to participate by then.


Going on the assumption that I will get into either UIUC or Waterloo, I have six months before I would start. Six months that I didn't want to sit around doing nothing. I'm back in Cape Town now by the way -- my internship at NVIDIA is over. So I went to visit Anet Potgieter, the Computer Science lecturer supervising the local RoboCup effort to see what was still open for the taking. They are participating in two leagues, but the one that interested me most was the humanoid league. They will soon be receiving four Aldebaran Robotics' Nao humanoid robots to compete with. Here's a video clip of one walking:



The component that caught my interest was the computer vision. The robots each have a small webcam that record at 30 FPS. The stream needs to be processed in realtime and when you consider that these things have only a 500MHz processor this is a rather daunting task. I know from my segmentation research last year that any sort of image processing takes time and being responsive in this game is crucial. So I envisage myself doing a lot of optimisations and dropping as much redundant data as possible while still being able to get decent results. It's going to be all about trade-offs between accuracy and efficiency.

Most of the work is done with a simulator, which is apparently very realistic. Since we haven't got the robots yet, we're pretty much stuck with the simulator only. My work on vision I foresee being impacted the most by external factors such as lighting and so I'm very anxious to get the real bots. The simulator (screen below) has ridiculous recommended system requirements. It needs a quad core and an 8800GT to run effectively. It literally crawls with even a single robot on my dual 2GHz laptop!


It definitely sounds like a lot of fun and not being too restricted (I'm doing this more as a filler than anything else) should make it more so and I'm really looking forward to digging in deep. I'll keep this blog updated with progress as things get moving!