Senior Design 2003 - 2004: Assisted Navigation in a Familiar Environment
Developing the Hardware and Software Infrastructure for Improving Education of Students with Disabilities
 
Robert Larino & William Ho
Advisor: Alex Doboli
 

Complete Documentation:
Please click on the links below for the complete project documentation and report:
Complete Document [PDF Format, 971KB]
Main Report [MS Word Format, 1.5MB]

 
Abstract
The ability of physically disabled students to benefit from educational facilities can often times be severely impeded by limitations of the ways in which they can interact and observe their surroundings. The focus of this project is to design a system that will keep visually impaired students aware of their surroundings and assist them in navigating a familiar environment through the use of a system that utilizes an array of sensors to observe the environment, track location, and convey a description of the environment to the user by way of synthesized speech.
 
Background
This project is an extension of the previous projects E-Stick and Navilight, an attempt to improve the educational experience of students with disabilities. There are various difficulties for students with physical disabilities to overcome in order to be able to obtain the same educational value from particular instructional techniques or facilities. In the case of a visually impaired student, navigating around a college campus or other similar facility can prove to be problematic. The previous projects E-Stick and Navilight addressed this issue by assisting the user in safely navigating around obstacles.
 
The design presented here is based on the previous projects, however it is an entirely new architecture called APA-1. The focus of this project is to assist the user in navigating through a known environment while also taking into account dynamic objects that are encountered that may not necessarily be represented by the description of the known environment. Information about the area in which the user is navigating is obtained in advance and can assist the device in guiding the user between buildings, around roads, along paths, etc. This new design must also take into account dynamic objects such as cars and other objects not on the map of the environment, to provide a safe guide for the visually impaired user.
 
Hardware Overview
 
Microcomputer:
The first step towards a successful design is to select a microcomputer to form the foundation of the hardware platform that the project will be built up from. Micro/sys Inc.'s SBC1190 PC/104 embeddable computer board lent itself as the most readily available microprocessor system whose internal architecture our team already has a significant amount of experience with. This system board also provides several built in features that may be utilized to simplify or eliminate further custom hardware design for particular functionality, including memory, digital I/O, two serial ports, interrupt controller, and watchdog timer. The SBC1190 includes 128K RAM and 256K Flash onboard memory that will be used to store the code and data used to implement the software functionality of the system. The onboard digital I/O ports, serial ports, and interrupt controller will be used to interface the system with, and control, other hardware modules implementing further functionality introduced later in this document. While providing some extended functionality beyond the basic microprocessor this system is also conveniently available in the PC/104 package.
 
 
GPS Receiver:
In order to implement the system's ability to track the user's position with respect to a digitally described, known environment, some method of position capture must be integrated into the system. After researching the possible ways of tracking the position of the device it can be concluded that the most accurate and least complex method that can be implemented is the use of a GPS receiver to determine the location. One alternative that was considered was that of a system comprised of a velocity sensor and a digital compass. This system would track how fast the device had been traveling in a particular direction for and would update the position in the digital map based on calculations made using the velocity and direction. This method proved to be a more complex solution than necessary and sensors that provide the velocity of the device it resides within were difficult to locate. With the GPS receiver, a single point (or set of points for increased accuracy) can be mapped onto the digital description of the environment corresponding to a particular GPS coordinate. The position of the user in the digital map may then be calculated using the device's current GPS coordinates and the mapped GPS coordinates on the digital map. This also provides the system with a way to find the initial location of the user upon initialization without requiring any initial input from the user, as the alternate method described would. Upon further investigation it was concluded that the Motorola M12+ Oncore GPS receiver was one of the most commonly used GPS receivers for similar devices and there is an abundance of information about the device.
 
The Motorola M12+ Oncore has one RS-232 serial port that is used to interface the module to the SBC1190. This particular device is also available in an evaluation kit which includes the M12+ development board, M12+ GPS receiver, international power supply kit, Motorola Hawk GPS antenna, and standard 9 pin serial cable.
 
 
Digital Compass:
While the GPS receiver is constantly updating the user's position within the digital map of the environment, it is also necessary that the orientation of the user is known by the system in order to determine what objects are within the user's path. To implement this functionality the Precision Navigation Inc. Vector 2X digital compass has been selected for its accuracy (±2°, low power consumption (4mA in slave mode), and small package size (38.10 x 36.32 x 9.91 mm).
 
The Vector 2X compass makes use of a Motorola SPI style interface. This module may be interfaced with the SBC1190 by means of the interrupt controller, one input port, and one output port; all hardware that exists on the SBC1190. The Vector 2X module will function in slave mode. The software will send a pulse to initiate the data acquisition. When the conversion is complete the Vector 2X module will send a pulse back to the system which is connected to the interrupt controller and will trigger an interrupt handling procedure to read the data from the compass. The data is read from the module by providing a clock pulse to the compass for each bit of data which is passed over a single serial data output line. The entire 16-bit measurement must be read into the microprocessor one bit at a time and shifted as it is read into memory.
 
 
Sonar Sensor:
In addition to static objects that constitute the user's surroundings that are accounted for by the digital map of the environment, dynamic objects must also be taken into consideration as the user navigates through the known environment. Not all possible obstacles that a user may encounter while moving through the area are necessarily described by the map of the environment that is provided. To perform this purpose a sonar sensor has been selected to be the ideal solution for this system. Infrared sensors, the other alternative, typically have short range capabilities and line-of-sight beam pattern. The sonar sensor module that has been selected for this project is Devantech's SRF08 Range Finder. This module has been chosen for its low power consumption (15mA Typical, 3mA Standby), simple interface (Standard IIC Bus), and its beam pattern which almost extends as far as 18 feet over a 90° range in front of the user (Figure 4). This module also features a light sensor for additional functionality.
 
The Devantech SRF08 module may be easily interfaced with the system in a similar fashion as the Vector 2X digital compass. The IIC interface is much like the Motorola SPI interface; it is a simple serial bus consisting of enable signals, one serial data line, and one clock line.
 
 
Speech Synthesis:
The final major module to be interfaced with the system to implement one of the primary functions of the project is the speech synthesis component. To perform this task Devantech's SP03 Text to Speech Synthesizer was selected for simplicity. This module also makes use of an IIC interface and may be interfaced with the system in the same manner as the Devantech SRF08 Ranging Module.
 
 
Summary:
The aim of technology, from the conception of the wheel to the creation of the microprocessor, has always been to ease the tasks encountered in everyday life. The act of easing the daily tasks of a handicapped person can, not only, be a more challenging, but a more satisfying accomplishment. This project endeavors to provide both a challenging problem to solve and a useful solution for students with disabilities; setting this project apart from other strictly academic exercises.
 
 
Acknowledgements:
We would like to thank Alex Doboli, first and foremost, for his backing and support. We would also like to recognize Wendy Tang for her guidance, Kenneth Short and Scott Tierno for imparting on us their wealth of knowledge of embedded systems. Finally, we would like to extend a tremendous "Thank you" to Anthony Olivo for providing us with workspace in his laboratory, and lending a helping hand along the way as the project progressed.
 
Team Information:
Robert Larino
E-Mail: rob@larino.net

William Ho
E-Mail: wilho@ic.sunysb.edu