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

Monday, March 21, 2011

Für meinen Schatz


Mit deinen blauen Augen
Siehst du mich lieblich an,
Da wird mir so träumend zu Sinne,
Daß ich nicht sprechen kann.

An deine blauen Augen
Gedenk ich allerwärts; -
Ein Meer von blauen Gedanken
Ergießt sich über mein Herz.

With your blue eyes
Do you see me in love,
So I like in a dream,
Can not speak a word.

Of your blue eyes
I think from all sides; -
A sea of blue thoughts
Pours over my heart.


- Heinrich Heine

Sunday, March 20, 2011

Right Brain vs. Left Brain

I realized the past two posts have been very much from my left brain - very logical, very pragmatic - robots this and lasers that. This morning, even I couldn't follow half of that stuff.

Time to get in touch with my right brain again and talk about music, art, and language.


I recently discovered a beautiful German song, and would like to share it here with you. This is my attempt at translating, understanding and applying the lyrics.


Cassandra Steen - Darum Leben Wir

Wenn es dunkel wird, sagst du zu mir
Das darf nie zu Ende sein.
Und wenn es hell wird, sag ich zu dir
Geh nicht, lass mich nicht allein,
Denn wir sind doch eins.
Nichts geschieht ein zweites Mal,
Das kann nicht sein.
Alles ist nur einmal da,
Auch wenn es nicht so scheint.
Und ich sag zu dem Moment: geh nicht vorbei,
Bleib noch,
Du bist viel zu schön.

Und darum leben wir.
Wir leben um da zu sein,
Leben um wahr zu sein.
Und darum leben wir.
Und wir nehmen alles mit,
Jeden Schmerz und alles Glück.
Der Welt.


In jeder Nacht bricht der erste Tag
Vom Rest unseres Lebens an.
Und jeden Morgen springen wir
Direkt auf die Umlaufbahn.
Wenn nicht heute, jetzt und hier,
Wann und wo denn dann?
Keiner kann die Zukunft sehen,
Kennt den großen Plan.
Und ich sag zu dem Moment: geh nicht vorbei,
Bleib noch,
Du bist viel zu schön.

Und darum leben wir.
Wir leben um da zu sein,
Leben um wahr zu sein.
Und darum leben wir.
Und wir nehmen alles mit,
Jeden Schmerz und alles Glück.
Der Welt.


Auch du hast es gesehen genau wie ich?
Den Schmetterling im Schnee,
Den Tunnel voller Licht.
Auch du hast so wie ich, das Tal durchwandert.
Und es gab keinen Weg zurück.


Und darum leben wir.
Wir leben um da zu sein,
Leben um wahr zu sein.
Und darum leben wir.
Und wir nehmen alles mit,
Jeden Schmerz und alles Glück.
Der Welt.
Cassandra Steen - So We Live

When it gets dark, you say to me
It is never too late.
And when it gets light, I say to you
Do not go, do not leave me alone,
Because we are one.
Nothing happens a second time,
That can not be.
It's all just once,
Even if it doesn't seem so.
And I tell the moment: do not pass,
Stay still,
You are too beautiful.

And so we live.
We live to be,
Live to be true.
And so we live.
And we accept everything,
Every pain and every joy.
The World.


Every night breaks the first day
From the rest of our lives.
And every morning we jump
Directly into the orbit.
If not today, here and now,
Then where and when?
No one can see the future,
Know the grand plan.
And I tell the moment: do not pass,
Stay still,
You are too beautiful.

And so we live.
We live to be,
Live to be true.
And so we live.
And we accept everything,
Every pain and every joy.
The World.


Well, did you see it exactly as I?
The butterfly in the snow,
The tunnel filled with light.
And you as I, wander through the valley.
And there is no way back.


And so we live.
We live to be,
Live to be true.
And so we live.
And we accept everything,
Every pain and every joy.
The World.

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! ^___^

Saturday, March 12, 2011

O... M... Robots!

www.explodingdog.com

Yesterday I went to the University and met with a team of international students who all feel this way about robots. The team is working on something called a RoboCup - a competition between different Universities across the world to stimulate research in robotics.

Generally RoboCup is a football (soccer) competition, where the teams submit a number of robots who can play football against each other. And I'm not talking about remote-controlled robots either - I'm talking about fully autonomous machines that can play a game. They have to be able to move around, avoid obstacles, recognize the ball and the net, and attempt to score a goal on the other team. The following video is the finals from RoboCup2010. It looks a little boring at first, but trust me - watch it, and you'll get into it. You start rooting for the robots to score - doesn't even matter what team, it's just exciting to see a machine trying so hard to perform a task that we take for granted - like kicking a ball.


They look so silly and clumsy at first, but you have to keep in mind that these are fully autonomous humanoid bots. The competition started in '97, and they had several really great battles of bots that just look like boxes on wheels. They're fast and agile and can shoot the ball to different corners of the net, but they don't look like humans. The humanoid ones have only started appearing within the past few years, so all things considered - this is progress!

The goal of the RoboCup is to have a team of humanoid bots win a football match against a team of human players by 2050. The first such challenge was solved in '97 when Deep Blue won a game of chess against Kasparov - the world's best chess player. So... with only 14 years since the competition started and with 39 years to go, I think it's definitely possible. And to be honest, I'm kind of excited to see a team of fully autonomous humanoids beat the crap out of Spain. :-P
(no offence, Spain, but while I'm on German soil - DFB FTW!!)

RoboCup has many different competitions, and as much fun as it is building robots for games - the more practical competition is with service robots, which is what the team is working on this year. The idea is to have a robot perform a service task within a given time. Something as simple as "bring me a cup of tea", is actually an extremely complex task for a robot to complete. We don't even think about these daily routines when we perform them, but for a robot, millions of lines of code have to be written to go from room A to room B, locate the kettle, locate the water, pick up the kettle, get the water into the kettle, etc, etc, etc... And if I can have any part in contributing to a robot that will one day fetch me tea, I'll spend the rest of my waking hours writing that code.

Caution Level !
Before the meeting I went to the robot lab where my professor had introduced me to the team and the robots the day before. As I entered the lab, a monotone female voice inquired, "Where would you like me to go?", and after a short pause confirmed, "Moving to Room A". I looked to the side and saw the robot slowly roll towards a designated location. I felt a bit out of place - everyone is sitting behind their laptops, lines of debugging code streaming across their screens, different simulations running, and boards filled with formulae I don't understand covered the walls. I quietly sat down on the side and started looking around - trying to take in what was going on. After a while a girl came up to me and offered me some tea. I said I would love some, and followed her to the kitchen area. "So, you're really into robots?", she asked. "Oh yeah!", I replied, smiling ear to ear. "I noticed that yesterday when you first came into the lab.", she said, "You looked so happy." And I was. I was beaming with excitement just being in the same room with a real robot. The possibility that I could contribute to the code would send shivers down my spine. And the idea that I could potentially learn how to do this on my own and start building my own bots in my spare time just about made my head explode. I asked if it would be okay for me to take a couple of pictures of the robot to share with my friends back home, so... here it is... The Roobooooot:


The meeting we had was to discuss something called the ROS (Robot Operating System). This is a collection of libraries that interface from code - to hardware. Basically any robot that is in commercial use today uses this operating system to run and perform its tasks. We were briefed on what the OS is and what it does, and our first task was to go home and install it on our laptops (check). Next meeting is on Monday and we're going to start with basic tasks and coding some algorithms to solve these tasks. If anyone has any ideas and recommendations for what kind of tasks I could work on - I'll definitely try to incorporate them into my project. This is not for a class, and not for credit - this is just a group of people who are all passionate about robotics and wish to contribute to the research.

Apparently the ROS can be installed on a lot of different hardware, and I plan on saving up some money and buying components to build a robot of my own. Something small, perhaps a toy car with a mop that would clean my floors... or an arm that would open my curtains in the morning... who knows... the possibilities are endless... ^__^

Friday, March 11, 2011

Melophelia

Please click 'play' on the video, and then continue reading...


So... the past few days have been a little cold, a little grey, and a little dreary, which has been slowly bringing me down off of my high and into a slight state of melancholy. I've just been feeling a little flat - like a tire that just needs a bit of air.

Usually, when I start to feel this way I pick up my guitar and play Bach's 'Air on a String'. The lightness of the melody fills my soul with a fresh breath of much needed air, and I carry on. Or I call my friends and someone will go out with me, and we'll sit and talk and at the end of the night they will put their arms around me and warm me with their love.

Being here, I have no guitar... and I don't really have a friend who could give me a long, warm hug. I write in my blog and post pictures on Facebook just to feel connected to you guys, but the physical sensation that live music brings with the resonance of the strings, or the warmth of the human touch is lacking from my laptop.

Today I went to the Mensa (cafeteria) to have lunch. I sat by myself and looked out the window as I enjoyed a warm meal (this is a rare treat for me as I still don't have my kitchen fully set up). On my way out I heard a faint voice of a piano resonating through the walls. I knew right away it was a real piano as I could feel the vibration in my body, however faint.

I stopped.

It was coming from above. I slowly walked up the stairs and felt the music getting louder. I knew I was on the right track and my heart fluttered with excitement. I haven't heard a real piano in months, and the melody that was coming through the walls sent shivers through my whole body. On the top floor, there were two doors, and one was labeled "Musikzimmer"... I knew I found my haven.

I gently cracked open there door, and a wave of music washed over me. A student sitting behind the piano stopped playing and looked at me with surprise. I apologized for interrupting and told him that I heard beautiful music coming from the room, and I just had to experience it. I asked him if it was okay for me to be there and to just stand quietly and listen. He seemed taken aback by my desire to listen to him practice, and was very bashful about his performance. I told him I love music and just want to be in the room with the vibration - just for a little bit. He said it was no problem and continued playing.

I recorded a small segment of his performance, which you are hearing right now.

As I looked out the window at the grey clouds, his melody brought me to tears, and I was overjoyed to have been at the right place at the right time.

On my way out I thanked him profusely for letting me stay for a bit and told him his music moved me beyond words. I told him that I had just come from Canada last week and have been feeling a bit down the past few days, but that his music lifted my soul and brought me right back home. He appreciated my compliments and said that the only music he knows from Canada is Celine Dion and Bryan Adams. I laughed and explained that his music didn't take me back home to Canada, but rather brought my soul to a place of peace and comfort. The warm vibrations of the strings wrapped around me like the arms of all my friends and family, and I was consoled by the melody his soul was singing.

He was extremely humbled by my words and thanked me for the compliments. He told me that the piano room is available for anyone to practice, so I now know where I'll be going when I feel down.

Coming back home to my cold room I lit a candle that was given to me by a good friend before I left. I had been saving it for a time when I really needed its warmth to comfort me. The sweet scent of mulled wine fills my room and the warmth of its glow fills my heart with love, and again - I'm home. ^__^