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.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.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/
Top Related