|
||||||
TeMo - Telerobotics over Mobile packet data servicesTeMo is a tele-operated mobile internet robot. While other internet robots mostly use WiFi (or a nearby PC with an internet connection), TeMo connects to the internet using Mobile packed data services (e.g. GPRS / EDGE / UMTS / HSDPA). The advantage is virtually unlimited mobility for the robot. Simply put, TeMo is a robot that can
TeMo is controlled using an Ajax based webage. The webpage is served by a tiny webserver running on a mobile phone that is mounted on the robotic platform. TeMo is also capable of sending pictures in realtime to the user terminal (and possibly also video in the near future). Watch a video demonstration on Youtube Lets look at TeMo in detail. TeMo is made up of the following parts:
The following diagram shows how the overall system works. Design and ImplementationI will describe the following in this section:
Mechanical structure of the Robot TeMo has been made using Lego Technic Blocks. The Lego Technic system make is very easy to construct mechanical machines. The mechanical structure is based on the Lego Excavator . I bought the excavator kit and some more bricks from Ebay and that was all I needed to make the robot. I didnt want to use the servo motors from the Lego Mindstroms kit (since they are expensive and big in size), instead I used standard RC servo motors bought from Conrad (Model:RS-05 Cat No:230500). The robot has 5 servos in total. Two servos are used for movement (forward, backward, left and right) , one for torso rotation (left and right) and two servos for arm control (up, down, grasp and release). All the servos have been modified for continuous rotation so that they can rotate full 360 degress. Have a look at this page to see how that was done. Electronics and the hardwareI have used a 16 bit Microchip microcontroller from the PIC24F family (PIC24FJ64002 64K flash program memory, 8K RAM, 2 UARTs, 6 timers) that listens for commands from the Mobile phone over IrDA. I did not feel the need of using an external crystal oscillator and thus the PIC is running at 4MIPS using its internal 8Mhz RC oscillator. The UARTs of the PIC24F family are IrDA capable and so I only had to connect and external IrDA transreceiver to make it talk to the mobile phone. There are many other ways to interface a microcontroller to a mobile phone, I have done a lot of research and experiments on the same topics. Have a look at this article to see why I choose this solution and what other options are available. The second UART on the PIC can be connected to the PC for debugging the software. The whole circuit board supports "In Circuit Programming", so I just need to connect my programmer to a header on the board and that enables me to upgrade the software on the PIC. Mobile phone: I was looking for the following features in a mobile phone so that it could be used for building TeMo:
All the above mentioned features are standard with most mobile phone today. If you want to look at an exhaustive list of all the mobile phones that could have been used try GSM Arena's advanced phone search. The site returns more than a 1000 phones that have at least GPRS + a camera + Java. TeMo is currently using a Nokia 6233. It is a standard candybar style 3G mobile phone. The phone has not been modified in any way for use with TeMo. Battery Pack TeMo runs on four AAA size rechargeable batteries. The 4.8 volts output of the battery pack is used to drive the servo motor while the microcontroller runs at 3.6volts derived from the same battery pack. Software The software running on the mobile phone acts as the webserver, uses the phone camrea to take photographs and communicates with the microcontroller over IR. As soon as the SW comes online it establishes an IrDa link with the micrcocontroller, registers its own IP address with a PHP script on embisys.com and starts listening for incoming connections on TCP port 80. The user needs to just open a known url under the embisys.com domain in a browser (AJAX support required). The users browsers is automatically redirected to the IP address of the mobile phone and the webserver serves the TeMo webpage to the browser. When the user clicks a button on the TeMo webpage an HTTP request is passed to the webserver. The webserver parses the request and appropriately taken an action. If the action required involves movement of TeMo, then the appropriate command is passed on to the microcontroller over the IrDa link. Have a look at this sequence digaram to get a better understanding. Development Environment: Mobile SW: Java 2 Platform - Micro Edition, Eclipse 3.1 IDE integrated with Carbide.j 1.5 Micrcontroller SW: written in C , MPLAB IDE integrated with C30 compiler, PIC Kit2 programmer, Microchip IrDA stack for 16bit MCUs Futher developmentThe current implementation of TeMo does not have any sensors. I am currently working on implementing the following:
References / Source Code / LinksSource CodeLinks
Project Cost
|
||||||
|
Copyright © 2010 Embisys - All Rights Reserved |
||||||