GPS-Based Walking Aid for the Visually Impaired with Proximity Sensors and Audio Assist

44
GPS-Based Walking Aid for the Visually Impaired with Proximity Sensors and Audio Assist ---------------- A Thesis Presented to the Faculty of the Department of Electronics & Communications Engineering College of Engineering De La Salle University ---------------- In Partial Fulfilment of The Requirements for the Degree of Bachelor of Science in Electronics and Communications Engineering ---------------- by Espiridion, Arian Mabel G. Gaffud, Kathleen Mae L. Nierras, Matthew Erwin Thomas D. Sabiona, Alexander F. June, 2014

Transcript of GPS-Based Walking Aid for the Visually Impaired with Proximity Sensors and Audio Assist

GPS-Based Walking Aid for the Visually Impaired with Proximity Sensors and Audio Assist

----------------

A Thesis Presented to the Faculty of the

Department of Electronics & Communications Engineering College of Engineering De La Salle University

----------------

In Partial Fulfilment of

The Requirements for the Degree of Bachelor of Science in Electronics and Communications Engineering

----------------

by

Espiridion, Arian Mabel G. Gaffud, Kathleen Mae L.

Nierras, Matthew Erwin Thomas D. Sabiona, Alexander F.

June, 2014

1. INTRODUCTION

1.1 Background of the Study

The blind are able to go to different places by various types of aids; a

companion, seeing eye dog, and the most common walking stick, to name a few.

Usually, walking sticks are used by people with little to no sight because it is

lightweight and fairly easy to use. The user would just simply wave the walking

stick from side to side in order to gauge the clearance of the user’s pathway while

walking. This project is a study on the improvement of the common walking stick

for the blind. The project intends to modernize the ordinary walking stick as well

as to provide the user more information than just whether or not he or she is about

to hit an object. There have been other products that were made that aim to

modernize the common walking stick. One example would be the UltraCane. The

UltraCane utilizes ultrasonic sensors which determine the presence of an obstacle

ahead of the user and is able to alert the user by means of vibration pulses.

This project intends to provide more than just collision alerts. The group

wants to provide the blind more access to their surroundings, to provide them with

more direction than just simply moving forward, giving them more choices and

control over their daily activities. The group believes that the lack or loss of sight

should not limit one from being able to explore. The capabilities of the device that

the group will build may also make the blind more independent which will

definitely be helpful, especially to those who do not have a companion most of

the time.

1.2. Statement of the Problem

The common walking sticks that are being used by blind people today,

whether partially or completely, can indeed be of good use because it helps the

person determine whether or not there is a nearby obstacle in front of him or her.

The walking stick is used by swinging it from side to side and if the stick hits

something, this would indicate that there is something in front of him or her and

upon knowing this, he or she will be able to avoid that obstacle. The ordinary

walking stick, however, can only detect obstacles that are already very near

because of the length of the stick. The typical walking stick is only 4 to 4.5 feet

long, thus would only be able to detect obstacles within that length from the user,

which may slow down the movement of the user. Also, by swinging the stick

from left to right, and having to hit the obstacle first before the user knows that

there is something that should be avoided, the walking stick may cause damages

to objects, and may even hit a person in the way.

1.3. Significance of the Study

The project aims to increase the independency of the blind user by being

assisted with the routing path provided by the GPS. It will be able to tell the user

which path he or she’s going to take and will provide directions and approximate

distance of the user’s desired destination.

This project can also give awareness to the user of his or her surroundings

without having a need to swing a stick from side to side. The audio output will be

giving directions without compromising the sound of the surrounding.

Consequently, it will free both hands of the user, requiring less effort in handling

a stick on his one hand.

1.4. Objectives

At the end of this research and its completion, the group expects to meet the

following objectives:

1.4.1. General Objective

To implement an assistive walking aid system for the blind using proximity

sensors and GPS technology.

1.4.2. Specific Objectives

1.4.2.1. To use ultrasonic sensors to detect the presence of nearby

obstacles.

1.4.2.2. To build a walking aid that will be capable of detecting obstacles

as far as 4.5 meters away from the user.

1.4.2.3. To be able to successfully inform the user of obstacles through the

use of beeping sounds.

1.4.2.4. To implement a stereo audio output for the alert sounds and audio

assist.

1.4.2.5. To use a programmable GPS module to program the different,

specific routes into the device.

1.4.2.6. To use an open-source mapping software to program a pedestrian-

friendly map for the specific area of interest as well as the routes

within the area.

1.4.2.7. To develop a GUI (Graphical User Interface) where the

programmed map will be stored and the specific routes will be

programmed.

1.4.2.8. To use javascript language in developing the desktop application.

1.4.2.9. To use Raspberry Pi as the microcontroller that will integrate the

data from the GPS module and the ultrasonic sensors and translate the

data to generate audio output for the audio assist.

1.5. SCOPE AND DELIMITATIONS

1.5.1. Area of Operation

The device is intended for outdoor use only, and it will be restricted to a

single user covering specific areas within one (1) subdivision. There will be

one (1) point in the subdivision that will be considered as ‘home’ or the

starting point of every route and there will be a total of three (3) specific

locations within the subdivision that will be the different destination points of

the three (3) different routes that will be programmed into the device prior to

using it.

1.5.2. Project Implementation

The project will include the detection of nearby stationary objects in front

of the user as well as incoming objects or people coming from around the user.

The user will be restricted to walking only within sidewalks and pedestrian

lanes. The alert sounds will be a series of beeping sounds with different tones

and frequencies, indicating the distance of a nearby object.

The project will also cover a subscription system wherein a companion of

the user will be able to designate location points where the user wants to go.

This way, the user and the companion will be able to select the path that is most

comfortable for the user as well as select the path that they feel is the safest. The

safety of the user is a top priority.

1.6. DESCRIPTION OF THE PROJECT

The project is composed of ultrasonic transceivers that determine the

incoming obstacles surrounding the user. Through this feature, the user will

know if there is a nearby obstacle by hearing a beeping sound that will give a

signal to the user’s earphones connected to the walking aid. Similar to sensors

used by cars to detect how close the car is to another car or a wall, the device

will beep faster as the object gets closer.

Moreover, this project is a GPS-based device. The user should subscribe

to the groups’ system and give as much as three destinations and desired paths

to take. The device will have four buttons for destination selection. One button

will be the “go home” button and the other three will be assigned to the three

destinations selected by the user. These buttons will use the Braille System to

label the buttons H, A, B, and C for home and the three destination buttons

respectively. The Graphical User Interface that will be designed for the

mapping, routing, and subscription of routes for the blind user will be made

accessible to the blind user by integrating a computer software that enables the

blind to use computers. On the computer, the user can download the location of

where he or she wants to go then sync it to the walking aid. When the locations

and routes have been stored in the memory of the walking aid, the user can

select one of the locations where he or she wants to go and the stereo audio

output will now send instructions to the user about the routing instructions and

the approximate distance of where the user wants to go.

1.7. METHODOLOGY

Figure 1.7.1. Methodology Block Diagram

The group will research on the components that will best suit the walking

aid system. Research will also be done on the type of ultrasonic transceiver that

will match the group’s desired operating range and sensitivity for the obstacle

detection. The group will make use of a specific GPS module which would

already be integrated with a mapping system. In line with this, the group will

also study the readily available mapping source codes from the internet.

Research Construction Data Gathering and Testing Tuning Implementation

Following this, the group will study the methods and software involved in order

to relay a routing system. In order to integrate all of these components, the

group chose to use a Raspberry Pi minicomputer to integrate the different

components of the system; the ultrasonic sensors, the GPS module, and the

audio output (earphones).

Figure 1.7.2. Proposed Project Layout

The ultrasonic transceivers will be tested for their operating range and

sensitivity. While research and testing on the ultrasonic transceivers are being

done, the GPS module will be tested for its accuracy and update speed by

assigning a pair of members from the research group to bring the module in a

specific village and travel around with it while another pair confirms the output

from a computer. The routing system will also be designed, wherein the safety

of the user will be prioritized by making use of sidewalks and pedestrian lanes

as much as possible. The earphones will be connected to an audio driver. The

group will also be recording voice audio files that will be stored in a memory

module, making sure that the microcontroller can access these audio files. As

soon as the modules are working, the programming and integration of these

modules to the Raspberry Pi will be executed.

A series of tests will be done with the device by taking the starting and

destination points, routing paths and voice audio files will be downloaded into

the device. First in the series of tests, the group will initially perform tests on

subjects with full vision and be fed the turn-by-turn directions that the system

intends to give in order to reach the desired destination. This will give the group

an idea of the level of difficulty or convenience of navigating through an area

by being instructed by an external source in the perspective of a user with full

vision. The same subjects will then be blindfolded and will be tasked to reach

several destinations while using the walking aid system. Different locations will

be selected as the home location and several destination points will be selected

as well. The test will involve the blindfolded subject to travel from the home

point to the destination point and back.

Second in the series of tests, the same tests performed with subjects with

full vision will be performed on a group of blind people from an institution for

the blind chosen by the group in order to have blind users’ feedback from being

fed directions from an external source as well as their feedback upon using the

group’s walking aid.

Testing in different locations will help see how well the mapping, routing

and GPS work. Once all of the tests are done, the group will make a permanent

and appealing enclosure for the device. Also, a subscription system will be

designed and constructed through a website.

A GUI or a Graphical User Interface will be designed in order to serve as

the medium for the device’s mapping system and subscription system. A

computer software that enables blind users to use a computer will be used in

order to make the blind user capable of navigating through the computer and the

GUI for the walking aid system.

1.8. GANTT CHART

1.8.1. General Gantt Chart

1.8.2. Gantt Chart – Alex

1.8.3. Gantt Chart - Arian

1.8.4. Gantt Chart – Kathleen

1.8.5. Gantt Chart – Matthew

1.9. ESTIMATED BUDGET OF THE PROJECT

Item Price

Programmable GPS Module Php 4,500.00

Raspberry Pi Microcontroller Php 2,200.00

Stereo Earphones Php 800.00

Ultrasonic Transceiver (2) Php 500.00

Total Php 8,000.00

2. LITERATURE REVIEW

2.1. Global Positioning System

The Global Position System, also known as GPS, was developed in the 1960’s

during the time of the Cold War and it was only until the 1980’s when the

technology of GPS was made accessible and usable by the public.[1] GPS

pinpoints the location information of a person or object with the use of GPS

receivers. It uses at least four of the twenty-seven satellites orbiting the Earth to

determine the location and they communicate through radio frequency. These

satellites are what transmit the signals intended for the equipment capable of

receiving GPS signals. The signal received from the satellites are also used for

what is called trilateration, the mathematical process in which the computations

required in order to generate the exact position or coordinates of the receiver. [1]

In order to obtain the most precise location, the GPS receiver must have an

unobstructed line of sight to at least four GPS satellites. The accuracy of GPS can

be affected if satellite signals are blocked. The error of positioning increases as

the line of sight to the GPS satellites decreases. It is very important that the GPS

receiver is in a place that has the least amount of signal blockage in order to

precisely determine the location. It calculates the amount of time the device

receives the signal from the satellite and multiplies it by the speed of light to

obtain its distance from the satellite. This is done with three more satellites to get

an accurate location of where the receiver is on the surface of the Earth as well as

its altitude. There was a problem regarding the accurate measurement of the time

it takes the signal from the satellite to communicate with receiver. This requires

that the clocks in both the receiver and the satellite are in sync. According to

Einstein's theory of relativity, time ticks much faster on objects much farther

away from Earth than it is on it because of gravity. Objects that have strong

gravitational pull such as the planets and stars also have great mass which causes

the fabric of space-time to bends a little to accommodate them. This problem was

corrected by readjusting the atomic clocks in the satellites to have the right

amount of delay to be in sync with the clock here on Earth. This is to avoid

having the location of the object being tracked be off by a few kilometres a day.

GPS receivers are already a fairly common device nowadays and readily available

to anyone which makes having expensive atomic clocks built-in them impractical.

Because of this, much cheaper quartz crystals are used in place of the more

expensive although more accurate atomic clock.

As useful as GPS are, it also has its downside. It is only what it says it does,

which is to pinpoints your location and nothing more. However, the data from the

GPS can be used in other software. [2]

2.1.1. Applications of Global Positioning System

Global Positioning System was utilized around the world in different

applications. When the GPS was developed, it was first intended for military use

in the Cold War. The former Soviet Union maintained this application of GPS in

the military by developing a separate satellite navigation network, known as

GLONASS which stands for GlobalnayaNavigatsionnayaSputnikovaya Sistema

or Global Navigation Satellite System (GNSS) in English. In the 1990’s, the

technology of GPS started to be applied in agricultural production for cropland

management. The European Union developed a separate satellite network as

well, but intended for civilian use, which was named Galileo.[1] One of the most

common application of GPS is in automotive navigation, with built-in GPS

devices in various vehicles or separate GPS devices available in the market for on

or off-road navigation. Another major application of the GPS technology is in the

aviation industry, which took aviation technology much further and to a more

modern level. More than the commercial applications, GPS has also made its way

to common outdoor activites and sports such as running, hiking, biking, fishing,

and boating to name a few, making nature and the world more accessible to

everyday people. GPS, along with the growing technology, most GPS devices

today do not just determine location, but are also capable of determining other

factors such as speed, weather, altitude, and routes.

2.2. Proximity Sensors

Proximity sensors are used to detect obstacles or incoming objects without and

physical contact. The infrared and ultrasonic sensors are two common devices used to

detect obstacles. Infrared emits a beam of narrow width. If the beam is reflected back, the

distance can be calculated using triangulation. The problem with infrared is its sensitivity

to the effects of light, which do not make it ideal for outdoor use. On the other hand,

ultrasonic sensors use the concept of echolocation or sonar to detect obstacles. Compared

to infrared, ultrasonic sensors are more accurate with ranging the distance of obstacles

from it and they are not affected by light. However, the problem with ultrasonic is that

the sound waves may be absorbed by soft or sound absorbing material, which may not

return anything to the sensor. This will then lead to the false information of an obstacle

not being detected. [3]

2.2.1. Ultrasonic Sensors

Ultrasonic sensors are sensors that use the concept of sonar or radar. These

sensors are capable of transmitting and receiving signals produced by ultrasonic

transducers. An ultrasonic sensor generates a high frequency soundwave which is

reflected onto an object or surface, generating an echo of the emitted soundwave.

The Ultrasonic transducers converts electrical signal into an ultrasonic wave and

vice versa and a single transducer is often capable of both transmitting and

receiving.[4] Ultrasonic sensors have three major types, distance sensor and

propagation path sensors. Distance sensors determine the distance, presence, and

type of the detected object by the information from the received signal,

specifically the travel time and the amplitude. Path propagation sensors depend on

the speed of signal propagation, diffraction, refraction, and propagation

attenuation in the detection of objects.

2.2.2. Applications of Ultrasonic Sensors

Since the development of ultrasonic sensors, it has been utilized on

numerous fields in industry such as production and manufacturing of materials

like paper, metalwork, textile, plastic, and packaging. Other common applications

are in automobiles, and robotics usually seen in proximity sensors, back up

sensors, and parking aids in most vehicles today. [5] In robotics, ultrasonic

sensors are used primarily for distance and proximity for obstacle and collision

avoidance.[6] Ultrasonic sensors are also used in modernizing agriculture. More

than the industry, there are applications of ultrasonic sensors in medicine as well

such as in [7]. With its simple yet numerous capabilities, the ultrasonic sensor can

be found in devices and machines intended to increase safety and to aid people,

specifically people with disabilities. There have been products developed such as

wheelchairs [8] and walking sticks [9][10] that include obstacle avoidance

through the use of ultrasonic sensors.

2.3. Obstacle Detection

Obstacle detection has been growing in interest for research and development

mostly in the automotive industry since it plays a big part in vehicle autonomy as its

purpose can be applied in machines and devices that can aid in the advancement and

modernization of devices, machines, and vehicles by adding to the already many

capabilities of these devies and vehicles such as increasing safety and reliability. More

than playing a role in machine and vehicle autonomy, it also has its role in devices

developed intended for the use of people with disabilities, people with visual impairments

in particular.

2.3.1. Methods of Obstacle Detection

There are various methods in order for a device or sensors to be able t

odetect objects or obstacles. The most common and probably the simplest

methods of obstacle detection utilize different sensors such as infrared sensors,

laser radar and sonar range sensors. [11] Some methods use stereo vision systems

[11], 3D Photonic Mixer Device (PMD) camera [12], and other video or vision-

based devices [13]. These different methods of obstacle detection have their own

advantages and disadvantages. Infrared sensors are inexpensive, but are limited in

terms of range and accuracy because of its dependence on light. Ultrasonic

sensors are also low in cost but since it is dependent on the reflectivity of surfaces

and materials, inaccuracies may come from either detecting too much reflection or

echo or detecting none at all, if the sensors do not have the right algorithm. Lasers

are able to provide better resolution, but are high in cost and is not as simple to

use. Visual-based obstacle detection systems have the capability to deliver better

results and better reliability, but can be costly and complex. [14]

2.3.2. Applications of Obstacle Detection

Obstacle detection is mostly applied in robotics, machine and vehicle

autonomy, and navigation. It is in many types of vehicles that serve as an added

feature to the proximity sensors that aims to aid in parking [15], autonomous

driving in some vehicles, or automatic stopping when the vehicle gets too close to

another car or any obstacle[16][17]. With the various methods of developing

obstacle detection, the simple and low-cost methods are usually applied in the

development of modern and advanced aids for people with disabilities such as

autonomous wheelchairs [8], electronic walking sticks [9][10], systems to aid the

visually impaired as done by [18], and robots that aid a disabled person.

2.4. Raspberry Pi

The Raspberry Pi is simply a circuit board with a size of the ordinary credit

card. It is a mini-computer in itself that is programmable for various applications and

projects. It is a Linux-based computer which the user may prpogram by simply

connecting the Raspberry Pi to a keyboard and any monitor such as a television

monitor.

2.4.1.Applications of Raspberry Pi

The most common application of the Raspberry Pi is game programming.

Raspberry Pi is also used in home automation [19] and in building home security

systems [20]. Raspberry Pi along with Wolfram, the developers of Wolfram

Alpha, the online computational knowledge engine, came together and made

Raspberry Pi circuit boards equipped with the Wolfram Language and

Mathematica, expanding the mini-comoputer’s capabilities, thus creating more

possibilities (http://www.wolfram.com/mathematica/).

2.5. Map Programming

A map is defined as “a representation, usually on a flat surface, of a whole or part

of an area.” (http://geography.about.com) Maps have always been useful tools to guide

people in traveling to their destination. Maps started out as big sheets of paper with only

the world’s countries and continents. As time passed and technology progressed, maps

have become more detailed; city maps started to emerge and some maps have been

transformed into books for portrability and ease of access. Today, with the use of Global

Positioning System (GPS), the internet, and the advanced computer technology, online

maps were created. With the birth of online maps and with the evergrowing progress of

mobile phones, especially smartphones, various developers, such as Google, have

developed map applications for the smartphone that are both easy to use and reliable.

Today, more and more developers are able to program map applications for smartphones

that cater to the diverse needs of people. These map applications are capable of

determining the user’s location and the user is able to input the desired location and the

application will be able to determine the route from the user’s location to the desired

destination. More than determining the route(s), these applications are able to give travel

options, whether by foot, public transportation, or private transportation and the estimated

travel time for each travel option is also determined. Most, if not all of these applications

are equipped with audio assist, for drivers’ ease of use and so as to keep the drivers’

focus on the road. Some of these applications include a feature that updates traffic as well

in order to advise drivers and commuters to consider an alternative route.

2.5.1. Open Source Mapping

Open Source Mapping is free software used to map areas available on

various operating systems and a very good example of this OpenStreetMap

(OSM). Obviously, it is open data, which means that any one is free to use it for

any purpose as long as OpenStreetMap and its contributors are properly credited.

It is driven by local knowledge and community participation. The contributors

range from mapping enthusiasts, engineers that operate OSM servers, GIS

professions and many others. These contributors or mappers use local knowledge,

aerial imagery, GPS devices and low-tech field maps to maintain information and

data about roads, trails, cafes, train stations and more. They also verify that OSM

is as accurate as possible and constantly up to date. [21] In the Philippines,

http://openstreetmap.org.ph/ is the website to go to for the OSM Philippines. It

offers a detailed map of the Philippines, the option to help edit as well as getting

more involved with the community.

2.6. Audio Description

Audio Description (AD) is the descriptive narration of important visual elements

in theatre, opera, television, movies and other types of media to enhance the experience

of customers who are visually impaired. AD provides descriptions of settings, characters,

events and actions that are taking place through the use of audio. During plays, movies

and the like, visually impaired patrons have the option to use the Audio Description

service and they get their information using headphones or earphones.

2.7. A Microcontroller-Based Guiding System with

Infrared and Ultrasonic Sensors for the Blind

This walking aid system for the blind is an undergraduate thesis from De La Salle

University – Manila. The walking aid or guiding system utilized both infrared and

ultrasonic sensors. The project consisted of a hat, a glove, and a walking stick. The hat is

for detecting low hanging beams or objects. The glove has five (5) sensors and vibrating

motors in the thumb, middle finger, pinky finger, front of the wrist, and back of the wrist,

respectively. These sensors are to detect obstacles in different areas, depending on which

finger detects objects in which area and the motors are to alert the user of the obstacle

that any of the sensors detect. The walking stick consists of three (3) infrared sensors and

two (2) ultrasonic sensors. This guiding system makes use of an ordinary microcontroller,

PIC16F877, which integrates all of the sensors from the hat, the gloves, and the walking

stick, as well as the vibrating motors in the gloves.

This previous thesis project proved successful after a series of tests on actual

blind people from an institution for the blind. Although this project may have the same

aim and purpose with the proposed project of the group, of being able to successfully and

conveniently guide a person with little to no sight, the previous thesis project is a whole

system consisting of multiple devices while the project being proposed by the group aims

to build a system that has a single device, encompassing the different devices present in

the previous project. The system will also utilize a Raspberry Pi minicomputer instead of

a microcontroller. Another advantage the group’s device is that it will help guide the

blind user to the different locations the user has routed to the device. The previous thesis

just alerts the user of where the obstacle is located.

2.8. Computers for the Blind

People who are blind or visually impaired are now capable of using a

computer through different software such as JAWS, or Job Access With

Speech [23] and Non-Visual Desktop Access or NVDA [24]. These software

enable the blind user to navigate through and fully use a computer by an

having an electronic voice or audio assist read out the on-screen text in order

for the user to know what he or she is looking at and to know which option to

choose depending on what the user would like to do. Electronic braille devices

now exist as well, such as the braille keyboards.

3. THEORETICAL CONSIDERATIONS

3.1. Concepts and Principles

3.1.1. Python Programming Language

Python is a programming language that is able to integrate

modules, exceptions, dynamic typing, very high level dynamic data types,

and classes. It contains a vast library which accommodates string processing,

internet protocols, software engineering, and operating system interfaces.[25]

3.1.2. Linux Operating System

Linux operating system is an open source operating system that is

based on Unix. Since Linux is open source, it is accessible for developing

and personal use thus having numerous companies that contribute to the

development of Linux. Some examples of Linux-based systems are Ubuntu,

CentOS, and Raspberry Pi.[26]

3.1.3. National Marine Electronics Association

(NMEA)

The National Marine Electronics Association is the group of

electronic dealers responsible for the uniform interface standard for the data

communication of marine devices. It contains a collection of standards and

specification of different navigational devices and their means of

communication to other navigational devices. [27]

3.1.4. Google Maps

Google Maps is basically a worldwide online map. More than

directions, it provides detailed geographical information of different

countries and parts of the world. Unlike ordinary maps which provide only a

one-dimensional view of roads and cities, Google Maps is capable of giving

the user a three-dimensional view of cities, as well as most geographical sites

such as hiking trails and mountains. Google Maps is convenient to use

because, aside from the amount of information it can give, users are able to

plan their routes. A certain user may input his or her starting point and

destination and Google Maps will generate different routes, depending on the

user’s preference such as mode of transportation and avoiding tolls. The

respective estimated time of arrival of each generated route is also

determined.

3.1.5. Master and Slave

Master/Slave configuration, otherwise known as Cable Select or

Primary/Secondary, is a type of cable configuration which allows two

drives in a single cable, which in a way is two-way data communication.

One central device or driver referred to as the “master” device, serves as

the controller of the other devices referred to as the “slave” devices. In a

way, two-way communication exists between master and slave devices

because in order for the slave devices or one of the slave devices to

transmit data, it must first send to the master device a request to transmit

data to whichever device it is required to send data to. Likewise, the

master device can command the the slave devices to send data as well as

the destination of the data. [28][29]

3.1.6. C++ Programming Language

C++ is a considered a middle-level programming language. It was

developed by Bjarne Stroustrup at Bells Labs in Murray Hill in1979. It is a

compiled language and offers many choices. It has its own library support

that gives set of functions and methods manipulating files, data, etc. It has

different programming styles. It is commonly used to write softwares and

devices’ driver.[30]

3.1.7. Transducers

Transducers are devices or components that converts energy from the

received signal from each other. Transducer commonly acts like a sensor and is

used in measuring devices/instruments. It can also create actions for the

combinational transducer but for the typical ultrasonic transducer it acts as an

actuator producing ultrasonic waves and also acts as a sensor detecting

ultrasonic waves. Actuators are the one that produce the action from the energy

that it receives. [31]

3.1.8. Transceivers

Transceivers are devices or components that act as both transmitter

and receiver. A device can only be called a “transceiver” if it shares common

circuitry otherwise, it is called a transmitter-receiver device. Transceiver

circuit design is much more complex compared to a receiver or transmitter

since it has to take care of both reception and transmission and should be

able to perform well on both. Transceivers can be in half duplex where the

transmitter is shut off during reception and the receiver is shut off during

transmission. Transceivers can also be in full duplex where reception and

transmission take place simultaneously all the time. Developed transceivers

are now usually in full duplex format and can be seen on cellular and satellite

communication systems.[32]

3.1.9. Graphical User Interface

Graphical User Interface or known as GUI is a human-computer

interface. It simply give interaction between the user and the computer

through the display icons that can be operated by the click of a mouse. It can

create a menu or control buttons that will be used to operate a program. It is

capable of opening multiple windows simultaneously. It gives a visual

feedback of the actions made. The group made use this interface for the map

of the specific routes that will be programmed in the software and controlled

by the interface. [33]

3.2 Materials

3.2.1. Raspberry Pi

Raspberry Pi is a computer programming technique that promotes

the study of basic computer science and other related topics in schools. It is

developed in UK and sold in some licensed industrial distributors such as

Element 14, RS Components, etc. The group used Raspberry Pi as the

microcontroller that will take part of the data given by the GPS Module and

Ultrasonic sensor and process it to produce an audio output to assist the user.

The Raspberry Pi model used is the latest model launched which is B+. It is

more flexible compared to the lower models and have additional features like

micro SD, more USB port, HDMI, lower power consumption, etc. [34][35]

3.2.2. Cooking Hacks GPS Module

A GPS Module created by a group called “Cooking Hacks” that

implements NMEA Protocol using the cutecom software interface. This

lets the Raspberry pi receive GPS NMEA sentences that display the

current coordinates of the GPS Module. The module gives position,

altitude, current speed, date and time basedon Universal Time

Coordinated (UTC).[36]

3.2.3. SRF02 Ultrasonic Range Finder

Ultrasonic sensor is a sensor that uses sound waves for detecting

object. The ultrasonic sensor that the group decided to use is the SRF02. It is

a single transducer that is designed to find ranges with a minimum of 15-

18cm depending on the weather. Having a single transducer, its minimum

range is higher compared to other dual transducers. It is capable of sending

an ultrasonic burst without having reception cycle and vice versa. SRF02 has

two different operating modes: I2C and Serial Interface. The operating

modes is set at the Vcc and ground. [37]

3.2.3.1 I2C Bus Connectivity (IIC)

The Inter-Integrated Circuit connection, well known as the coined

term I2C; is a method of connecting a master device to several slave devices

through a bus. I2C uses two lines where all the devices be it master or slave

to be connected similarly. These two lines are the Serial Data Line and the

Serial Clock Line, SDA and SCL respectively. This method is capable of

handling voltages along the lines ranging from 3.3 up to 5 volts. Originally

implemented by the company Philips Semiconductor, specifically created to

make motherboards cater to low speed slave devices. I2C has now expanded

its speed modes, these are: standard, fast mode, fast mode plus and high

speed. The speed of the standard mode is 100 kbps, 400kbps for fast mode,

1Mbps for fast mode plus and 3.4 Mbps for the high speed mode.[38] [39]

3.2.3.2 Serial Interface

Serial interface is a communication interface that converts the data

into voltage pulses and changes the representation of the data between the

microprocessor and the peripherals. Unlike the parallel interface, the serial

interface transmits the bits of binary numbers on their sequential location.

There are two distinct approaches in the serial interface. It is the

asynchronous and synchronous serial interface. The two approaches are the

ways on how it responds to issues addressed in the interface. Asynchronous

serial interface is used to communicate two computers by transmitting the

data in a well-defined frame. The clocks can be not synchronize before the

communication process. While the synchronous serial interface,the receiver

has no clock and cannot synchronize it independently.[40]

3.2.4. HDMI

High Definition Multimedia Interface or known as HDMI is a kind

of port cable that creates a connection and communication between the

electronic devices. The group used a HDMI cable to connect the raspberry pi

to the display monitor that will be used in designing the program. [41]

3.3. Tools

3.3.1. Vi Compiler

The Vi compiler is a script editor initially developed under the

Unix operating system. The program code for the compiler was written by

Bill Joy during 1976 and its sole purpose was for the program called “ex”

which was a line editor. Under the development of and release of ex version

2, it took the name Vi which is how it is called now. Vi compiler can handle

C language efficiently.[42]

3.3.2. Secure Shell (SSH)

The SSH technology was first invented by the company SSH

Communications Security. A network protocol with heavy encryption,

developed to replace telnet services. SSH is a means of controlling an

external device or another computer using remote access. This can be done

by using a connection over a network or through a UTP cable. This

connection also allows file transfer and command execution. SSH ensures a

highly secure connection and strict authentication. It protects connections and

networks from any attack related to your IP address. Information like data

and passwords are also secured by undergoing through an encryption

process, preventing outside connections to enter and be able to retrieve any

information. A variety of free software implements an SSH connection like

PuTTY and OpenSSH.[43][44]

3.3.3. PuTTY Software

A freeware implementation of the SSH system and also provides

telnet access. PuTTY can be used to remotely access devices connected to a

computer using a UTP cable. Using PuTTY, lets computers to access the

raspberry pi and enter its command line or LXterminal to be able to open

files or scripts and to be able to run them as well.[45]

3.4. Methods and Techniques

3.4.1. Obstacle Detection

Obstacle detection is done by using the ultrasonic sensor SRF02.

The said sensor is the one detecting the nearby obstacles that the user will

walk through. If the sensor sense the nearest obstacle, it will transmit a signal

to the raspberry pi the distance, beamwidth and direction of it. After

receiving the signal, the raspberry pi will now transform the data and

generate an audio output to warn the user of the direction of the obstacle.

3.4.2. Path Routing

The group will gather data around areas of interest where the user

will set his travel route and will take note of any famous landmarks and

hazardous obstacles, collecting all of the information into a database which

can then be used by the group for future reference. Priority of the routing

method is the safety of the user, avoiding any busy roads where there is

heavy traffic.

4. DESIGN CONSIDERATIONS

4.1. Structure of the System

4.2. Process Block Diagram

4.2.1. Hardware

4.2.2. Software Flowchart

The program codes will be implemented using the Vi compiler that is

built within the Raspbian operating system. C language will be used in the

compiler as it is the optimum language when it comes to speed of program

execution for raspberry pi applications.Inputs coming from the sensors and the

interface buttons will be handled by the raspberry pi.

4.3. Ultrasonic Sensor

Initial testing for the implementation of ultrasonic sensors was done by

using an SRF02 ultrasonic range finder. SRF02 is a single transducer and

transceiver. The sensor is configured in I2C mode as this enables the use of

multiple sensors connected in a bus. In order to set the sensor in I2C mode, the

“Mode” pin should be left unconnected. In I2C mode, the SDA and SCL pins of

the Raspberry Pi will be utilized. Specific addresses will then be required to be

programmed into each sensor to be able to use multiple sensors. The sensor is also

set to read distances in centimeters by sending a command 0x81 in hexadecimal

format, this triggers the sensor’s real ranging mode that gets results in

centimeters.

4.3.1. Connection setup

4.3.2. Ranging Test

4.3.2.1. Test Code

#include <stdio.h> #include <stdlib.h> #include <linux/i2c-dev.h> #include <fcntl.h> #include <string.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int main(intargc, char **argv) { intfd; char *fileName = "/dev/i2c-1"; int address = 0x70; unsigned char buf[10]; if ((fd = open(fileName, O_RDWR)) < 0) { printf("Failed to open i2c port\n");

exit(1); } if (ioctl(fd, I2C_SLAVE, address) < 0) { printf("Unable to get bus access to talk to slave\n"); exit(1); } buf[0] = 0x00; buf[1] = 0x51; if ((write(fd, buf, 2)) != 2) { printf("Error writing to i2c slave\n"); exit(1); } usleep(750000); buf[0] = 0x00; if ((write(fd, buf, 1)) != 1) { printf("Error writing to i2c slave\n"); exit(1); } if (read(fd, buf, 4) != 4) { printf("Unable to read from slave\n"); exit(1); } else { unsigned char highByte = buf[2]; unsigned char lowByte = buf[3]; unsignedint result = (highByte<<8) + lowByte; printf("Range: %u cm\n",result); } return 0; }

4.3.2.2. Flowchart

4.3.3. Beamwidth

4.4. GPS Module

4.4.1. Circuit Design

4.4.2. Schematic Diagram

References

[1] Fulton, J., Harbuck, T., Mullenix, D., Ortiz, B., Winstead, A., Norwood, S. (2009,

July).Global Positioning System (GPS) Technology An Explanation of Global Navigation

Satellite System (GNSS). Rerieved from http://www.aces.edu/pubs/docs/A/ANR-

1352/ANR-1352.pdf

[2] Balachandran, W., Ceclja, F., &Ptasinski, P. (2003, October 1-3). A GPS Based

Navigation Aid for the Blind. Paper presented at the 17th International Conference on

Applied Electromagnetics and Communications, Dubrovnik, Croatia. doi:

10.1109/ICECOM.2003.1290948

[3] Infrared vs. Ultrasonic - What You Should Know. (n.d.). Infrared vs. Ultrasonic -

What You Should Know. Retrieved June 13, 2014, from

http://www.societyofrobots.com/member_tutorials/book/export/html/71

[4] Magori, V. (1994). Ultrasonic Sensors in Air, 471-472, Retrieved from Corporate

Research and Development, Siemens, AG. Retrieved from http://www.ieee-

uffc.org/ultrasonics/teaching/u9410471.pdf

[5] Alonso, L., Milanes, V., Torre-Ferrero, C., Godoy, J., Oria, J.P., de Pedro, T. (11

January, 2011). Ultrasonic Sensors in Urban Traffic Driving-Aid Systems. 661-673,

doi:10.3390/s110100661

[6] Borenstein, J., Koren, Y. (1988, April), Obstacle Avoidance with Ultrasonic Sensors,

Retrieved from IEEE Journal of Robotics and Automation, Retrieved from

http://www.cs.cmu.edu/~motionplanning/papers/sbp_papers/integrated1/borenstein_obsta

cle_avoidance.pdf

[7] ∅berg, H. (December, 2011). Ultrasound Sensor for Biomedical Applications

(Master’s Thesis). Retrieved from

http://munin.uit.no/bitstream/handle/10037/3989/thesis.pdf?sequence=2

[8] Schilling, K., Roth, H., Lieb, R., Stützle, (n.d), Sensors to Improve the Safety of Wheelchair Users, Retrieved from www.cs.unc.edu/~welch/class/mobility/papers/673schil.doc

[9] (n.d.). UltraCane ....putting the world at your fingertips.. About the

UltraCane. Retrieved June 13, 2014, from http://ultracane.com/about_the_ultracane

[10] Mahmud, M.H., Saha, R., Islam, S., (October, 2013), Smart Walking Stick – An

Electronic Approach to Assist Visually Disabled Persons, 111-114, Retrieved from

International Journal of Scientific & Engineering Research, Retrieved from

http://www.ijser.org/researchpaper%5CSmart-walking-stick-an-electronic-approach-to-

assist-visually-disabled-persons.pdf

[11] Manso, L., Bustos, P., Bchiller, P., Moreno, J., (September, 2009), Obstacle

Detection on Heterogeneous Surfaces Using Color and Geometric Cues, Retrieved from

https://www.academia.edu/385650/Obstacle_Detection_on_Heterogeneous_Surfaces_Usi

ng_Color_and_Geometric_Cues

[12] Fardi, B., Dousa, J., Wanielik, G., Elias, B., Barke, A., (13-15 June, 2006), Obstacle

Detection and Pedestrian Recognition Using a 3D PMD Camera, Retrieved from

http://www.researchgate.net/publication/224646460_Obstacle_Detection_and_Pedestrian

_Recognition_Using_A_3D_PMD_Camera

[13] Zhu, J., Wang, Y., Yu, H., Xu, H., Shi, Y., (6-9 July, 2010), Obstacle Detection and

Recognition in Natural Terrain for mobile Robot Navigation, 6567-6572, Retrieved from

World Congres on Intelligent Control and Automation

[14] Badal, S., Ravela, S., Draper, B., Hanson, A., (n.d), A Practical Obstacle Detection

and Avoidance System, Retrieved from Computer Vision Research Laboratory University

of Massachusetts, Retrieved from http-

//www.cs.colostate.edu/~draper/papers/badal_wacv94.pdf

[15] (n.d), Park Assist: Helps you park your car quickly and easily, Retrieved on 17 July,

2014, from http://www.volkswagen.co.uk/technology/parking-and-manoeuvring/park-

assist

[16] (27 Sept., 2010), Volvo’s Pedestrian Detection with Full Auto Brake, Retrieved on

17 July, 2014 from https://www.youtube.com/watch?v=Voz4dosVGSM

[17] (n.d), Automatic Emergency Braking (AEB), Retrieved on 17 July, 2014, from

http://www.trw.com/integrated_systems/active_passive_systems/automatic_emergency_b

raking

[18] Rodriguez, A., Yebes, J.J., Alcantarilla, P.F., Bergasa, L.M., Almazan, J., Cela, A.,

(17 Dec., 2012), Assisting the Visually Impaired: Obstacle Detection and Waring System

by Acoustic Feedback, 17478-17496, doi:10.3390/s121217476

[19] RaspberryPi.org. (2014), Home Automation for Your Enterprise Class Starship,

Retrieved from http://www.raspberrypi.org/home-automation-for-your-enterprise-class-

starship/

[20] RaspberryPi.org. (2013). Privateeyepi: A DIY Home Alarm System, Retrieved from

http://www.raspberrypi.org/privateeyepi-a-diy-home-alarm-system/

[21] OpenStreetMap. (n.d.). OpenStreetMap. Retrieved June 13, 2014, from

http://www.openstreetmap.org/about

[22] The Audio Description Project (ADP). (n.d.). The Audio Description Project (ADP).

Retrieved June 13, 2014, from http://www.acb.org/adp/index.html

[23] JAWS Software (2014). JAWS. Retrieved August 4, 2014, from

http://www.freedomscientific.com/Products/Blindness/Jaws

[24] Non Visual Desktop Access. (2014). Non Visual Desktop Access. Retrieved August

4, 2014, from http://www.nvaccess.org/

[25] Python.(2014). Python. Retrieved from https://wiki.python.org/moin/

[26] Linux. (2009, April 3). What is Linux: An Overview of the Linux Operating System.

Retrieved September 10, 2014, from https://www.linux.com/learn/new-user-guides/376-

linux-is-everywhere-an-overview-of-the-linux-operating-system

[27] History of NMEA. (n.d.).National Marine Electronics Association. Retrieved from

http://www.nmea.org/content/join_the_nmea/history.asp

[28]Peer-to-Peer vs. Master/Slave. (n.d.). Peer-to-Peer vs. Master/Slave. Retrieved from

http://www.insightautomation.cc/ideas/peertopeer/

[29]Tyson, J. (n.d.) How IDE Controllers Work. Retrieved from

http://computer.howstuffworks.com/ide4.htm

[30]C++ (n.d). C++ Overview. Retrieved from

http://www.tutorialspoint.com/cplusplus/cpp_overview.htm

[31]Transducer (n.d.). Transducer.Retrievedfrom

http://whatis.techtarget.com/definition/transducer

[32]Rouse, M. (n.d.). Transceiver.Retrieved from

http://searchnetworking.techtarget.com/definition/transceiver

[33]GUI (October 2004). GUI Definition. Retrieved from http://www.linfo.org/gui.html

[34]RPi Hub (2014, November 19). RPi Hub. Retrieved from http://elinux.org/RPi_Hub

[35] Model B+ (n.d.) Model B+. Retrieved from

http://www.raspberrypi.org/products/model-b-plus/

[36]GPS Module for Raspberry Pi Tutorial (n.d.). Documentation: GPS Module for

Raspberry Pi Tutorial. Retrieved from http://www.cooking-

hacks.com/documentation/tutorials/raspberry-pi-gps

[37]SRF02 Ultrasonic Range Finder (n.d.). SRF02 Ultrasonic Range Finder. Retrieved

from

http://courses.csail.mit.edu/6.141/spring2011/pub/labs/LocalNavigation/docs/SRF02-

I2CTechSpecs.pdf

[38]High Speed Mode (n.d.). I2C Bus: High Speed Mode. Retrieved from

http://www.i2c-bus.org/highspeed/

[39]Standard Mode (n.d.). I2C Bus: Standard Mode. Retrieved from http://www.i2c-

bus.org/standard-mode/

[40] Lemmon, M (2009, February 1) What is serial interface?.Retrieved from

http://www3.nd.edu/~lemmon/courses/ee224/web-manual/web-manual/lab9/node4.html

[41] Wilson, T.V. (n.d.) How HDMI Works. Retrieved from

http://www3.nd.edu/~lemmon/courses/ee224/web-manual/web-manual/lab9/node4.html

[42] Daniel, D. (2013, May). How to use the vi(vim) editor in Linux. Retrieved from

http://www.waltzballs.org/other/linux/vi.html

[43]Beal, V. (n.d.) SSH – Secure Shell. Retrieved

fromhttp://www.webopedia.com/TERM/S/SSH.html

[44] Open SSH(2014, October). OpenSSH 6.7.Retrieved fromhttp://www.openssh.com/

[45]PuTTY: A Free Telnet/SSH Client (2014, November 6). PuTTY: A Free Telnet/SSH

Client. Retrieved from http://www.chiark.greenend.org.uk/~sgtatham/putty/

How To: Compiling C program and creating executable file under

Linux/UNIX/*BSD (2006, March 14). How To: Compiling C program and

creating executable file under Linux/UNIX/*BSD. Retrieved from

http://www.cyberciti.biz/faq/compiling-c-program-and-creating-executable-

file/Documentation

Buttons and Switches (n.d.). Buttons and Switches. Retrieved from

https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/robot/buttons_and_switch

es/

Tutorial: How to get a button working with the Pi. (2013, February 3). Tutorial:

How to get a button working with the Pi. Retrieved from

http://www.raspberrypi.org/forums/viewtopic.php?t=33020