A Bluetooth enabled mobile robot Rory McGrath Final Year Presentation
Index Introduction Technology Background System Design And Operation Conclusions
Introduction Design a Bluetooth enabled mobile robot Controllable via a wireless Bluetooth PC based GUI. Port a control application to a mobile handset. Develop a swarm of collaborative robots. Develop software to show collaborative tasks.
Technology Background Bluetooth Java / J2ME Python Linux Duty Cycle Opto-Isolators Gumstix
Bluetooth Low power wireless connections Frequency band of 2.45 gigahertz Inexpensive Not “line of sight” technology “One to many technology” Personal-Area Network. Avoid Disruptions by “hopping”.
Bluetooth RFCOMM Protocol available for Bluetooth Cable replacement protocol Creates a virtual serial data stream Data stream is simple and reliable Applications that used a serial port can be easily and quickly ported to use RFCOMM.
Java J2ME Java is used to provide applications for customer’s devices. J2ME is a Java platform designed for mobile phones Services are easily portable between different profiles and configurations
Python An interpreted objectorientation language No crosscompiling to be done. Available for all major operating systems. Network programming in Python is simpler than other languages, i.e. C.
Linux Popular opensource computer software environment that competes with Microsoft Windows There are four main parts to Linux. ◦ The kernel ◦ Supplied programs ◦ The shell ◦ X
Duty Cycle D = τ / T ◦ τ Defined as the Time that the function is not zero; ◦ TDefined as the period of the function.
Opto-Isolators Light emitting and sensitive device Connect high and low power components with no risk of surges or spikes.
Gumstix connex 400xmbt 400MHz (Intel Xscale PXA255) 16MB flash memory Bluetooth wireless connectivity
System Design & Operation Hardware ◦ Motors ◦ Gumstix Circuit ◦ Power Circuit ◦ Gumstix Power Circuit ◦ Ultrasonic Software ◦ Gumstix Server ◦ PC Client ◦ Phone Client
Motors Two 'Parallax' continous rotation 5 volts on the red wire 0 volts on the black wire PWM signal with a 0.75 to 2.25ms width and a period of 18ms on the white wire
Gumstix Circuit Protect from 'surges' 3V PWM from Gumstix 4V to activate 4N25 chip. Inverters used to increase PWM to 5V
Power Circuit 10V split between 2 motors 9V for each inverter
Gumstix Power Circuit Designed to isolate the Gumstix from the other components Powers the Gumstix and safely connects the two PWM signals and ground to the other circuits. Powers the Gumstix with 6V
Ultrasonic Was to be used as a locating capability in a swarm Both infrared and ultrasonic would be required
Software Pxaregs ◦ Written in C ◦ Allows python to access Gumstix GPIO pins. PyBluez ◦ Python wrapper for Bluetooth resources. ◦ Manually add 'bluetooth.py' & 'bluetooth.so' ControlMotors ◦ Written in Python ◦ 7 Functions that control the motors
Gumstix Server
PC Client
Phone Client
Problems Ecountered Testing the optoisolator circuit. Segmentation faults 'burning out' of a Gumstix Replacing a Gumstix.
Conclusions A successful Bluetooth enabled mobile robot was created. The robot can be controlled by a PC GUI Control was ported to a mobile device With more Bluetooth Gumstix a robot swarm could be achieved. ◦ Build Ultrasonic transmitter and reciever ◦ Create an algorithm to control ultrasonic ◦ Addition to Server to connect to other clients
Questions?