11
Session: 2005/2006 Supervisor: Dr. C. Trayner Project Number: 108 Assessor: Dr. V. Postoyalko ELEC 3892 Project Title: Optical Mouse-based Odometry Name: Michael-Melhan Wijetunge de Silva SID No: 010016293 ELEC3852/3882/3892 Final Project Report 2005/2006 Final Project Report

BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

Embed Size (px)

DESCRIPTION

BEng Honours Electronic and Computer Engineering Dissertation, The University of Leeds (Michael de Silva).This document comprises of a couple pages from the main thesis, so as to only give an idea of the research undertaken, as I take plagiarism very seriously.

Citation preview

Page 1: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

Session: 2005/2006 Supervisor: Dr. C. Trayner

Project Number: 108 Assessor: Dr. V. Postoyalko

ELEC 3892

Project Title: Optical Mouse-based Odometry

Name: Michael-Melhan Wijetunge de Silva

SID No: 010016293

ELEC3852/3882/3892 Final Project Report 2005/2006

Final Project Report

Page 2: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

The University of Leeds School of Electronic & Electrical Engineering

Declaration of Academic Integrity

Student Name: ……………………………… [Block Capitals] University ID Number: ……………………………… Programme of Study: ……………………………… Module: ……………………………… Module Leader: Professor Michael J Howes

Plagiarism in University Assessments and the Presentation of Fraudulent or Fabricated Coursework

Plagiarism is defined as the copying of ideas, text, data or other work (or any combination thereof) without permission and/or due acknowledgement. Fraudulent or fabricated coursework is the production and submission of such work, particularly reports of laboratory or practical work, to satisfy the requirements of a University Assessment in whole or in part.

Declaration:

• I have read the University Regulations on Cheating and Plagiarism[1] and state that the work covered by this declaration is my own and does not contain any unacknowledged work from other sources.

• I confirm that any mitigating circumstances or other matters which might have affected my performance and which I wish to bring to the attention of the examiners/markers have been submitted to the Secretary of the Director of Learning & Teaching [Lyn Cookman R166a, School of Electronic & Electrical Engineering].

Signed…………………………………

Date…………………………

[1] http://www.leeds.ac.uk/students/handbook/SECTION5.htm#cheating

Page 3: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

Abstract

An autonomous search-and-rescue robot known as RABOTA uses an adaptation of the technology

currently seen in optical mice to measure the distance travelled as it attempts to locate derailed

trains inside tunnels.

Page 4: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

In loving memory of my Father, Nilhan de Silva (1939 - 2002).

Page 5: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

Acknowledgements

“The most beautiful thing we can ex-

perience is the mysterious. It is the

source of all true art and science.”

— Albert Einstein

I would not be where I am today if it wasn’t for my Mom and Dad as they have always believed

in me, recognised my talent and helped me improve myself and therefore given my life meaning.

Since the passing of my Dad it is my Mom who has given me the strength to continue chasing

my dreams.

Since my first year at University there has always been someone I could rely on for advice and

help and that is my personal tutor Dr. A. Hughes. I would like to thank him for his words of

wisdom over the years and useful suggestions for this report as well.

I would like to express my gratitude to my supervisor Dr. C. Trayner, who has given me an

extremely exciting project and I am forever grateful for his advice and support. I would also like

to thank Dr. V. Postoyalko for taking the time to read both the interim and final reports of this

project.

Unlike most individual third year projects, I was given the opportunity to work together with

Mischa Altman, Amjad El Nayal, Dave Wheatley, Shueb Ahmed and Aditya Soni in designing and

developing RABOTA. I would like to thank them for their dedication, inspirational engineering

abilities and objective criticism.

Last but not least I would like to thank my friends (in no particular order) Thomas Ramsay,

Michael Peel, Bob Clough, Jonathan Weerasuriya (and his parents), Xu Xin and my cousins

Cheryl Alles and Dinesh Warusavitharana for being there for me and assisting in proof reading

this document.

Page 6: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

Contents

1 Introduction 1

2 Optical Mouse Operation & Communication 3

3 Adaptation of Current Optical Mouse Technology 6

3.1 Brief Overview of Optical Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2 Lens Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.3 The Optical Mouse CMOS Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Internal Communication via I2C 10

5 Design 11

5.1 Development Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5.1.1 Programming the microcontroller . . . . . . . . . . . . . . . . . . . . . . . 12

5.2 Software Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5.2.1 Development Language and Compiler for the Target Architecture . . . . . 13

5.2.2 Development Language for Displaying and Processing of Information on a

Personal Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5.3 Development of I/O Sub-systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.3.1 The RS-232 Interface for Debugging & Error Reporting . . . . . . . . . . . 16

5.3.2 Serial EEPROM Data & Error Logger . . . . . . . . . . . . . . . . . . . . 17

5.3.3 The LCD Interface for Status Reporting . . . . . . . . . . . . . . . . . . . 18

6 Development 19

6.1 Design on Breadboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

i

Page 7: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

6.1.1 Testing Mouse Communication . . . . . . . . . . . . . . . . . . . . . . . . 20

6.2 Prototyped PCB of the Optical Mouse-based Odometer . . . . . . . . . . . . . . . 23

6.3 Prototyped PCB of the Serial EEPROM Data & Error Logger . . . . . . . . . . . 24

6.4 The Completed Optical Mouse-based Odometer . . . . . . . . . . . . . . . . . . . 25

6.4.1 Interfacing the Sensor with RABOTA . . . . . . . . . . . . . . . . . . . . . 26

7 Interpretation of Movement Data 27

8 An Overview of Alternative Odometry Systems 28

8.1 Shaft Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

8.2 Inertial Guidance System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

9 Future Directions 30

10 Conclusion 30

11 The Appendices 34

11.1 Appendix A - Technical References . . . . . . . . . . . . . . . . . . . . . . . . . . 35

11.2 Appendix B - Flowcharts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

11.3 Appendix C - Firmware Source Code . . . . . . . . . . . . . . . . . . . . . . . . . 59

11.4 Appendix D - PCB Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

11.5 Appendix E - Datasheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

ii

Page 8: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

1 Introduction

An Optical Mouse-based Odometer (henceforth, “odometer”) was implemented as one of the

sensors built into RABOTA, a MEng group project involving the design of an autonomous

railway search-and-rescue robot, so as to measure the distance travelled by the robot. The

optical mouse will be used to scan the surface of the centre of the track in order to ascertain

total displacement from the starting location.

RABOTA will travel into a tunnel in search of a train in trouble and once it has located the

train it will relay telemetry back to the controlling computer. The location of the train, with

up to a maximum of ±50m error, is crucial, as search-and-rescue personnel wearing breathing

apparatus can travel ∼950 m on one cylinder of air and therefore they would have to turn around

just before they travel 0.5 km into the tunnel.

As most of the tunnels in Europe are longer than 1km [1] it is apparent that the role in search-

and-rescue carried out by RABOTA is extremely important in the quest to protect the lives of

passengers on-board trains.

Two separate communication networks are in operation aboard RABOTA [2], as illustrated in

Figure 1. A wireless 802.11b/g network is used to interface RABOTA with the remote control

terminal while an I2C (Interconnecting Integrated Circuits (IIC or I2C)) master, which handles

communication with a host of on-board sensors and sub-systems via the I2C-bus, is connected

to the mainboard via a serial link, thereby bridging both communication networks together.

Figure 1: Illustration of communications taking place inside RABOTA.

The odometer uses a microcontroller as a means of interfacing with the optical mouse and the

I2C-bus as well. An overall system diagram of the odometer is illustrated in Figure 2.

1

Page 9: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

Figure 2: System diagram of the Optical Mouse-based Odometer.

The odometer includes an interface to display text on an LCD, which would allow for quick

troubleshooting of the odometer while the robot is in operation or being tested. A serial com-

munication interface has also been included for debugging and error reporting purposes. The

‘design’ for a Serial EEPROM Data & Error Logger has been included in this report as an

optional tool towards troubleshooting possible issues with the odometer.

As per the project specification, the work carried out in the first semester involved researching the

operation of optical mice and the various communication protocols, thereby designing required

sub-systems to aid in implementing a completed odometer.

During the final semester a communication protocol was implemented so as to communicate with

the mouse along with a study into increasing the sensing distance of the ‘mouse’ by means of a

lens, thereby allowing the odometer to be used from a far greater height, which is suitable for

use with RABOTA.

Finally, the completed sensor was fabricated and tested for implementation in RABOTA.

2

Page 10: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

6 Development

6.1 Design on Breadboard

The final prototype was developed on a breadboard as shown in Figure 14. The circuit included

a LM7805 +5V voltage regulator and a ∼100µF capacitor to de-couple the power supply and

smooth out any interference caused by stray capacitances between the tracks of the breadboard.

Figure 14: The complete circuit being developed on a breadboard.

As RABOTA features a regulated power supply, a voltage regulator will not be required in the

final design, thereby resulting in a smaller Printed Circuit Board (PCB).

The implementation of ICSP can be clearly seen in the image above, where the thick 6-core white

cable connects the programmer to the microcontroller.

19

Page 11: BEng Honours Electronic and Computer Engineering Dissertation (Michael de Silva)

6.4 The Completed Optical Mouse-based Odometer

The finalised PCB was soldered using a MetcalR© MX-500S Soldering/SMT Rework System with

quality components, such as the turned pin IC sockets, for a robust and reliable sensor.

The design is not only mechanically but also electrically sound due to the fabricated double-sided

PCB with Plated Through Hole (PTH) and 1/16” FR4. 1 oz. copper along with the immersion

silver plated contacts and soldermasking on both sides.

Figure 21: The LCD indicates that the sensor is online.

The odometer was tested with a LogitechR© MX 500 USB optical mouse connected via the supplied

USB to PS/2 adaptor. A backlit 2 × 16 HD44780 compatible LCD was used to verify that the

LCD interface was functioning correctly, and the movement packets were recorded in a terminal

session via RS-232.

25