a bluetooth enabled mobile robot rory mcgrath 05000874 final year presentation
TRANSCRIPT
A Bluetooth enabled A Bluetooth enabled mobile robotmobile robot
Rory McGrath05000874
Final Year PresentationFinal Year Presentation
IndexIndexIntroductionTechnology BackgroundSystem Design And OperationConclusions
IntroductionIntroductionDesign 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 BackgroundTechnology Background
BluetoothJava / J2MEPythonLinuxDuty CycleOpto-IsolatorsGumstix
Bluetooth Low power wireless
connectionsFrequency band of 2.45
gigahertz InexpensiveNot “line of sight”
technology“One to many
technology”Personal-Area Network.Avoid Disruptions by
“hopping”.
Bluetooth RFCOMMProtocol available for BluetoothCable replacement protocolCreates a virtual serial data
streamData stream is simple and
reliableApplications that used a serial
port can be easily and quickly ported to use RFCOMM.
Java J2MEJava 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
PythonAn interpreted object orientation
languageNo cross compiling to be done.Available for all major operating
systems.Network programming in Python is
simpler than other languages, i.e. C.
LinuxPopular open source 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;◦T Defined 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.
Gumstixconnex 400xm
bt400MHz (Intel
Xscale PXA255)16MB flash
memoryBluetooth
wireless connectivity
System Design & Operation
Hardware◦ Motors◦ Gumstix Circuit◦ Power Circuit◦ Gumstix Power Circuit◦ Ultrasonic
Software◦ Gumstix Server◦ PC Client◦ Phone Client
MotorsTwo 'Parallax' continous rotation5 volts on the red wire0 volts on the black wirePWM signal with a 0.75 to 2.25ms
width and a period of 18ms on the white wire
Gumstix CircuitProtect from 'surges'3V PWM from
Gumstix4V to activate 4N25
chip. Inverters used to
increase PWM to 5V
Power Circuit10V split
between 2 motors
9V for each inverter
Gumstix Power CircuitDesigned to isolate the Gumstix
from the other componentsPowers the Gumstix and safely
connects the two PWM signals and ground to the other circuits.
Powers the Gumstix with 6V
UltrasonicWas to be used
as a locating capability in a swarm
Both infrared and ultra sonic would be required
SoftwarePxaregs
◦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 EcounteredTesting the opto isolator circuit.
Segmentation faults'burning out' of a GumstixReplacing a Gumstix.
ConclusionsA successful Bluetooth enabled mobile
robot was created.The robot can be controlled by a PC GUIControl was ported to a mobile deviceWith 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?