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

2 comments: