First Day of RoCKIn
Spoiler Alert! The story that starts in this post ends well: Thanks to team b-it bots who borrowed us a robot, we were able to win the competition and to get the 2nd place in the object perception benchmark.
But read the story first …
We were very excited to go to RoCKIn. Some things had changed in our hardware and software and we were eager to test them. Among others: We integrated the sponsored IDS UI-5580CP camera for object recognition, we replaced the Kinect by an ASUS Xtion and also integrated the Vocon speech recognition that we got from Nuance as an academic license. With all this news and excitement, why were there no new blog posts since the preparation days? This has one simple reason: one thing happen that didn’t give us any time for anything else than building up something that is at least a bit ready for the RoCKIn competition days. So what could that be? Yes of course, our robot burned. Lisa started smoking when we inserted the first pair of batteries on the first competition day. There is nothing worse that could happen 2 hours before a competition (in this case Getting to know my home).
After Lisa burned we immediately started first aid measures by executing a critical operation and found an error in the brain of our robot platform. The microcontroller had a messy black frame around the center, which basically means “S%!T”. Where are fuses when you need them?
Fortunately we had a second microcontroller with us, so we replaced it and started flashing it with the firmware. Everything looked fine at this point, but when we tried to connect to the platform via serial connection, we did not get any responses. A short after the fuse was blown that was responsible for not blowing the micro controller. A bit late little fuse. So we replaced the fuse in hope that we would get any sign in form of serial bits and bytes. But still no sign. After some measurements we recognized that there is a connection between the left motor encoder and a green flashing LED. The flashing LED constantly got darker and darker when connecting the encoder cable. A sign … but a bad one. We recognized that there is only little hope for us to get this machine driving in this competition. A burned encoder is something very special to get in consumer electronic markets.
So while Viktor went on with the CU2WD revival Nico and Raphael tried to find an alternative way to compete. We took a look around at our place and saw a team with two iRobot Roombas. That are those robots that may clean up your rooms. So we asked the Watermelon team kindly if they needed both and the response was - not really. So they allowed us to take it with us and we tried to integrate it with our mapping and navigation. This was quite easy since we switched to ROS last year. Since we needed quick results we tried to use the ASUS Xtion as a 2D laser scanner. This worked out quite well, but after having the system up we recognized that it takes a long time to get the batteries of the Roomba loaded and we weren’t able to establish a connection while loading. Definitely not good for testing purposes.
So while loading the batteries we were searching for alternatives. Then we saw Jakob, who is working at KUKA, since Raphael knows him from the last RoCKIn Camp we asked him if he had a youBot available that he could borrow us. He said: No … but the b-it bots team has two youBots and may need only one.
The b-it bot team then helped us to setup the robot and establish a connection with it, gave us a briefly introduction in how to use it and also gave us all the code that enabled us to send velocity commands and to get the wheel odometry back. Which is, beside some distance measurements from for instance a laser scanner all we need to let the robot drive autonomously. With their help we were able to set up a new platform that maps and localizes itself within 3 hours. Wow, not bad. Our robot had from now on the most basic skill for at home environments back. So let’s add all the other skills and we are back in the competition. The story will be continued in the next blog post.
Our borrowed robot “youBart” based on a KUKA youBot that we got from the team b-it bots