Thursday, November 12, 2009

Demo or Die

Two days before tomorrow
Yesterday night when I arrived home it was almost 23 o'clock. It had been a busy and tiring day. I and Jorrit worked on the CyberRobot until 22 in the evening and then we were kicked out because the building was going to close.

When I looked back at the day I saw that despite all the obstacles and things which didn't work, we were succeeded to make our first Demo.

In the morning I bought the new LinkSys N+ wireless router. A wireless accesspoint is needed so the MacMini in the CyberRobot can connect to. Once in the office, I began to install. Although I have installed many wireless access points for myself, friends and families, but this one would not work. I was almost 3 hours busy with it and the result was negative. Later that day Johan, another colleague working on Webchair, appeared too. In no time, the office was in a real chaos! There was almost no room to sit and have the lunch.


Above: Chaos in the Room

It was about 5 o'clock when things began to work. The router started to work magically without doing anything and I finally could find why the serial ports couldn't be opened. The FTDI drivers should be loaded first by a shell script. I still have to find a way to automize it. I gotta learn unix/linux and shell scripting.

until about 22 o'clock I and Jorrit were busy trail and erroring and preparing things for tomorrow for the big day. We then had to leave the building.


The presentation and demonstration

In the morning I prepared a power point presentaion and then left for the Hage. My dear teacher Ans Sarianamual was also going to come too. When she arrived, I introduced her to Jorrit and then I went further preparing the MIEP and the walls.

Graham was in Germany in the last few days and he was on his way for the demonstration from Berlin. At 14.30 everything was setup and Graham, Christina, Ans and Jorrit were there. I have to admit that I was very stressed and nervrous. I started the presentation and explained them what I had done in the time I was there and what my results and perspectives were.


Above: Yosuf at his presentation

After the presentation, it was time for demonstration. I and Jorrit started what we had prepared and the show was started.
Jorrit was filming and here are some parts of the demo:







At presentation, everyone was quiet, but when the demo started, almost everyone was shouting. I and Jorrit were very happy that they liked it and most important of all that the CyberRobot was doing how it had to work.


Above: the CyberRobot with his big bro, from the older generation


I should say that the demostration would have not been possible without the hard work of Jorrit who built the Robot. Also Nicolo, another colleague from the HKU, is supposed to make one, but it still has to come.


Above: Jorrit building the CyberRobot

Tuesday, November 3, 2009

Yeahhhhhhhhhhh

After weeks of research and trail & error I was finally able to control a Robot through the Skype. In fact it is nothing but pressing the arrow keys on the keyboard to go left, right, backward or forward, but the difference is that this CyberRobot has the ability to be controlled from anywhere in the world if it is connected to the internet!

The great thing about using Skype as a communication meduim is that I as a programmer do not have to worry about opening different ports to let my program work. The other advantages using Skype is that it is free, it runs on many platform and makes audio visual communication possible.

So how does this thing work in general?

The CyberRobot is equipped with a MacMini or a MiniMac, whatever you call it, an Arduino board with a motor control(H-bridge), two 12V motors on each side, a 12V battery, a converter which converts the 12V to 19V for the MacMini and a Logitech 1.3MP wide zoom auto focus camera.

The Arduino board has an Atmel chip inside. I have programmed it in a way that it sends some characters as identification if a serial communication is available. Then it listens to serial and acts accordingly.

The MacMini runs on OSX and Skype is running simultaneously. The interface I have programmed is called the CyberRobot. It detects the Skype and the Arduino board and then waits for a call. When a call is received it creates a stream and then begins listening.

On the other side, a program called RobotDriver detects the skype first and then waits for an outgoing call. When the call is in progress, it tries to create a stream. So this is the same stream the CyberRobot program tries to create. If there are no further errors, the stream is being created and texts or telegrams can be sent and received through this stream.

It is now on the RobotDriver to send characters to the otherside which is then being sent to the arduino board. They are the characters of protocol to control the robot.

At the background Skype opens a video stream, so where ever the robot goes, you can follow and see. The realtime aspect of this system depends on the internet connection. The faster the internet connection, the quicker the data is transferred and the shorter the realtime protocol.

This is in short how the stuff works. In the next articles, some more information will be added regarding RFID and how it is being used to update the position.


Above: a screenshot of the presentation