collaborative mobile robots rory mcgrath 05000874 progress report
TRANSCRIPT
Collaborative mobile Collaborative mobile robotsrobots
Rory McGrath05000874
Progress ReportProgress Report
IndexIndexIndroductionTechnology BackgroundSystem Design And OperationProgress To Date/Remaining Work
IntroductionIntroduction
This project is concerned with the design and construction
of a battery powered robot swarm and the development of
an application to illustrate the practical use of a
collaborative robot swarm.
OverviewOverviewBuild a small swarm of robotsControl a robot over a wireless
PC based GUIAddition of collision detectionPorting of a control application to
a mobile handset Develop software to illustrate
collaborative tasks.
Milestones (1)Milestones (1)Construction of an operational
robot. Movement is to be controlled over a wireless interface from a PC based application
Addition of collision detection sensor on the robot. Porting of control application to a mobile handset
Milestones (2)Milestones (2)Construction of multiple robots
and integration of functionality to support a “locating” capability in the swarm.
Demonstration of collaborative movement of the robot swarm.
Development of an application to illustrate the practical use of a collaborative robot swarm
Technology BackgroundTechnology Background
Duty CyclePulse-Width Modulation (PWM)Opto-isolatorsGumstix
Duty CycleDuty Cycle
The term “Duty Cycle” is used to describe the time that a system is in its “active” state. The proportion of time during which a system is operated is defined as its “Duty Cycle”.
Pulse-Width Modulation Pulse-Width Modulation (PWM)(PWM)The pulse width modulation (PWM)
of a signal involves the modulation of its duty cycle.
A square wave is used.The pulse width of the square wave is
modulated resulting in the variation of the average of the waveform.
Opto-isolatorsOpto-isolators
Opto-isolators are made up of a light emitting device and a light sensitive device. The two devices are not connected by any wire or electrical means. The only connection is a beam of light
GumstixGumstixThe micro-processor
being usedSpeed of 400MHz -
(Intel Xscale PXA255)16MB flash memory Bluetooth wireless
connectivity64MB of RAM
System Design & System Design & OperationOperation
The robot is designed on the basic Scooterbot robot
platform. Gumstix is the micro-processor used to
control the robot operation and to provide the inter-
robot communications.
HardwareHardware
MotorsGumstix
MotorsMotorsEach robot has two motors.Two 5 volts motors are used. 5 volts are placed on the motors red wire with 0
volts on the black wire and a 3-5 volt pulse on the white wire with a width of 0.75 to 2.25ms and a period of 18ms.
GumstixGumstixThe Gumstix generates the PWM signal used to
power the motors.The outputs for the PWM of the Gumstix are the General Purpose Input Output (GPIO) pins 16 and 17.
These are set to output the PWM signal rather than operate as GPIO.
GumstixGumstix
It was found that the Gumstix outputs a PWM signal of a maximum 3V.
More than 3 volts is required for the 4N25 chip in the opto-Isolator circuit to activate.
To compensate for this an extra power supply (5V), a 2N3904 transistor and a 100kOhm resistor are needed to successfully power the motors.
Python PWM InitializationPython PWM InitializationThe 2 GPIO pins required for PWM are initialized for
PWM output through a python script.The PWM functions are controlled by 3 registers. The 3 registers are PWM_CTRL, PWM_DUTY and
PWM_PERVAL.
Python BluetoothPython BluetoothBluetooth is the inter-robot communications medium. It will allow the lead robot (server) to communicate
with the other robots (clients).
Python ServerPython Server
import bluetoothserver_sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )port = 1server_sock.bind(("",port))server_sock.listen(1)client_sock,address = server_sock.accept()print "Accepted connection from ",addressdata = client_sock.recv(1024)print("Data Recieved... %s"%data)client_sock.close()server_sock.close()
Python ClientPython Client
import bluetooth
bd_addr = "00:80:37:2E:46:37"
port = 2
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )sock.connect((bd_addr, port))
sock.send("Hello World")
sock.close()
J2MEJ2ME
J2ME is a java platform designed for mobile phones. J2ME can be viewed as a subsection or
subset of the complete J2SE while still containing some extra features.
For this project J2ME is the language used to allow communication between the phone and
Gumstix. The Java program connects to the Gumstix through the Bluetooth device in phone.
Work done (1)Work done (1)An Opto-isolator circuit has been successfully built and tested using the Signal Generator.The PWM pins have been successfully initialized via a python script.Values where hardcoded to the PWM pins and successfully outputted to the oscilloscope.A python script was written which successfully outputted “forward” motion PWM signals to the oscilloscope.The Gumstix was connected to the motor via the Opto-isolator and it was found that an extra voltage was needed to activate the 4N25 chip
Work Done (2)Work Done (2)Changes were made to the Opto-isolator to allow for the Gumstix to successfully run the motors.A J2ME client was created for a mobile phone.A J2ME GUI was created for the client.Changes were made to Gumstix folders to allow for a successful Bluetooth connection with a laptop.A Gumstix Server was written and the Client for a PC and mobile phone were successfully tested.
Remaining WorkRemaining WorkThe construction of multiple robots has still to be carried outThe locating capability of individual robots in swarm is required.The swarm must demonstration collaborative movement.(movement in formation & Orderly dispersion)Illustration of the use of collaborative movement has yet to be shown.
SummerySummery
This project is concerned with the design and construction
of a battery powered robot swarm and the development of
an application to illustrate the practical use of a
collaborative robot swarm.
A simple Robot has been constructed. Bluetooth
communication has be achieved. Locating capability of
individual robots in swarm and Illustration of the use of
collaborative movement remains to be achieved.
Questions?Questions?