OMGWTFBBQ!!1!


Don't be
dismayed at goodbyes,
A farewell is necessary before
you can meet
again.
And meeting
again, after moments or
lifetimes, is certain for
those who are
friends.

- Richard Bach

Wednesday, March 16, 2011

Back to the books

This week started off on an academic note, yet I wasn't really expecting to begin my studies until the 21st.

My Java class back in Toronto was writing a test, and so, of course, since I'm still enrolled in the course - I had to do the same. My professor at York agreed to email the test to my professor here, and once I finish writing it under supervision, that it would be faxed back for grading. Yay - lucky me. The Java isn't the problem - I just don't want to start studying again, just as I'm starting to get the hang of living. I finally have my kitchen in a functioning state, I'm getting to know the city, and the language - and just as I wish to be out more and start really diving into the German lifestyle - Java comes knocking on my door.

I've been on campus every day this week, hanging out at the RoboCup lab, trying to make friends with the robots (and some of the students as well), as well as really sink my teeth into something fun. Our first task last week was to install ROS (Robot Operating System) on our laptops, which I did with no problems. However, once the installation finished - there was no icon on my desktop - no new program added to the application list - nothing - it's just libraries and modules, and I didn't really know what to run and how to run it. So I asked one of the guys at the lab to show me if there's something I could poke around with.

I was sitting next to Johnny - the old robot in the lab - so when the guy came over to show me the ROS, he thought it would be a great idea to show me something practical - something hands on - something real. He grabbed the laser scanner that used to be Johnny's head (apparently this thing costs about 5k) and plugged it into my laptop USB. Punched in a few commands in the terminal and ...


... Fascinating.
A few more commands, and suddenly - an environment comes up on my screen showing me a 3D map of what the laser scanner is picking up. It's just dots to me now, but with some calibration and in-depth understanding, perhaps I could make some sense of all this. After he left me to play with it, I recorded a short video of me performing the same task - just to make sure that I could do it on my own:



... not bad for a robotics n00b.

After playing around aimlessly for a bit I came back to the guy and asked if there's something I could do a bit more practical. Sure I can go through the ROS manual page by page and start learning every little bit about every little module and every little application, and luckily enough, I'm sitting next to some pretty expensive hardware, so I could even play around with some of it - but I find learning more stimulating and engaging when I can actually make something worth while. I told the guy I want to contribute something to the team. When he asked me what is my research topic, I timidly explained to him that I'm not a Masters student, and that I'm only here for the summer term. That I used to be a web programmer (which in comparison to these guys, is probably at the bottom of the food chain), but that I'm eager and excited to learn something, and rather than me learning for the sake of learning - I'd like to learn and do research and by the end of the summer term leave them with at least some code that they could use for their project.

He nodded in acknowledgement and told me that we'd have to ask the team leaders, who just at that very moment were walking into the lab. He called them over, and in German quickly explained to them my situation. The team leaders' eyes lit up. "Really?!", they asked me. "You vant to help uz?!", one of them asked, rubbing his palms together. "Zupper!", he exclaimed, and the three of them rushed off to check their to-do lists. "Well, what are you interested in?", one of them asked. "Robots!", I replied with a smile. They laughed and continued flipping through their notebooks. After a minute or so, they came back with a great task for me. It's something none of them know how to do, and it's something that would be useful for the entire team and the entire project, yet doesn't require me to have too much background with robotics or the ROS.

There is a simulator that can be used to test the code and the robot without actually having physical access to it. It's called Gazebo, and it basically creates a 3D environment - kind of like in a video game. You can then test your robot in this environment before running the code on the real hardware. Just in case your code tells the robot to "kill" - you'll know it in the simulation before having to deal with a killer robot on the loose. Thus far, the team has been using a model of someone else's kitchen to run their tests, but would love to have an environment which represents their lab. They asked me if I would be interested in creating a model of this lab, which they would then be able to use to test their code. They could see if the robot can properly navigate from the lounge, to the kitchen, to the work area, etc., without having to run the robot and risk having it knocking over tables and chairs.

And so - my task is decided. I'm currently doing lots of reading and lots of research trying to figure out how to model this environment in Gazebo, and hopefully contribute something useful to the RoboCup team! ^___^

4 comments:

  1. Wow!! Wicked task. I hope your past experience in 3D Studio Max comes in handy here :) Have you done much 3D modelling lately? Is Gazebo similar to Maya, at all? Good luck!

    ReplyDelete
  2. http://playerstage.sourceforge.net/doc/Gazebo-manual-svn-html/tutorial_model.html

    is this it ?? or something similar to :) You got me reading too.. Very interesting stuff love.

    ReplyDelete
  3. Mel, yes it is. Unfortunately, as you'll see at the bottom of the page, it was last updated in 2007. Not very current - and not very complete, or detailed.
    I'm still trying to figure this problem out, although I think I have some good leads. Once I solve it and have a working model of the lab, I'll be sure to post about it. ^__^

    ReplyDelete