OPTICAL MOUSE-BASED ODOMETRY For the railway search-and-rescue robot RABOTA, a MEng group project.
M. M. W. de Silva (010016293), Dr. C. Trayner (Supervisor), Dr. V. Postoyalko (Assessor) 1. Introduction
4. Conclusion
A search-and-rescue robot known as RABOTA uses an adaptation of the technology currently seen in optical mice to measure the distance travelled, thereby locating derailed trains inside tunnels.
The project has been successful in implementing a working emulation of the PS/2 protocol on a µC, thereby being able to communicate with an optical mouse and receiving its movement data for later transmission to the remote controlling terminal for processing and display.
RABOTA’s system would function by receiving the ‘instantaneous’ distance travelled from the Optical Mouse-based Odometer (OMO). This information is then transmitted to the remote control terminal for accumulation after the resultant vector of motion is calculated, to result in the total distance travelled from the starting location.
A prototype was designed and finalised as a PCB with on-board ICSP, RS-232/UART, I2C, HD44780 compatible LCD interface and a PCB mount PS/2 header to directly connect an optical mouse. The OMO was designed and implemented successfully, however there is room for improving the system in terms of efficiency, accuracy and performance, but at the cost of increasing the complexity of the system.
2. Designing the Optical Mouse-based Odometer The development of the OMO involved a study of the operation of optical mice and the communication protocols used in communicating with a host computer. Current optical mouse technology was adapted for use with the RABOTA by altering the maximum operational height above the tracking surface by the use of a lens. The OMO was implemented with a micro-controller (µC) that emulated a host PS/2 device, thereby mimicking a PC, to communicate with an optical mouse. As illustrated in the flowchart, the OMO would read the movement information from the mouse and relay this information back to the remote controlling terminal via the I2C bus (Interconnecting Integrated Circuits) implemented on RABOTA.
Flowchart illustrating overall sensor operation.