Project Proposal and Feasibility Study Team 13 – The Smart Dashboard

advertisement
CALVIN COLLEGE ENGINEERING DEPARTMENT
SENIOR DESIGN PROJECT
Project Proposal and
Feasibility Study
Team 13 – The Smart Dashboard
Andrew DeZeeuw, Micah Dykstra, Nathan Gelderloos
February 8, 2012
© 2013, Calvin College and Andrew DeZeeuw, Micah Dykstra, Nathan Gelderloos
Executive Summary
The proposed senior design project is to design multiple car safety systems that an automotive
manufacturer could easily install. The team has split the project into three sub projects: the rapid
deceleration warning, speed limit indicator, and driver awareness sensor.
The goal of the rapid deceleration warning is to warn other cars that the driver is stopping
suddenly and that the other drivers should apply their brakes to avoid an accident.
The goal of the speed limit indicator is to provide an easy way to determine the speed limit on the
current road to promote safe driving speeds and prevent impromptu meetings with an officer.
The goal of the driver awareness sensor is to monitor the driver and determine when the driver is
becoming less aware of the surroundings due to drowsiness. This system will then notify the driver
that corrective action is necessary to prevent possible accidents.
Table of Contents
1
Project Introduction ...............................................................................................................................................................1
1.1
Problem Statement .......................................................................................................................................................1
1.2
Project .................................................................................................................................................................................1
1.3
Team Members ...............................................................................................................................................................1
1.3.1
Andrew DeZeeuw ................................................................................................................................................1
1.3.2
Micah Dykstra .......................................................................................................................................................2
1.3.3
Nathan Gelderloos ..............................................................................................................................................2
1.4
2
3
4
Report structure.............................................................................................................................................................2
Project Management ..............................................................................................................................................................3
2.1
Team Organization .......................................................................................................................................................3
2.2
Schedule .............................................................................................................................................................................3
2.2.1
Milestones ...............................................................................................................................................................3
2.2.2
Work Breakdown Schedule............................................................................................................................4
2.2.3
Current Progress .................................................................................................................................................4
2.3
Method of Approach.....................................................................................................................................................4
2.4
Risk .......................................................................................................................................................................................4
System Overview .....................................................................................................................................................................6
3.1
Rapid Deceleration Warning ...................................................................................................................................6
3.2
Driver Awareness Sensor ..........................................................................................................................................6
3.3
Speed Limit Indicator ..................................................................................................................................................6
Objectives and Requirements ...........................................................................................................................................8
4.1
Common Objectives and Requirements ............................................................................................................8
4.1.1
Requirements ........................................................................................................................................................8
4.1.2
Objectives ................................................................................................................................................................9
4.2
Speed Limit Indicator ..................................................................................................................................................9
4.2.1
Requirements ........................................................................................................................................................9
4.2.2
Objectives .............................................................................................................................................................10
4.3
Driver Awareness Sensor .......................................................................................................................................10
4.3.1
Requirements .....................................................................................................................................................10
i
4.3.2
4.4
Requirements .....................................................................................................................................................12
4.4.2
Objectives .............................................................................................................................................................13
Caring .....................................................................................................................................................................13
4.5.2
Trustworthy ........................................................................................................................................................13
4.5.3
Transparency .....................................................................................................................................................14
System Architecture - Rapid Deceleration Warning ..........................................................................................15
Overall System .............................................................................................................................................................15
5.1.1
Determining Vehicle Deceleration ..........................................................................................................15
5.1.2
Comparing Data ................................................................................................................................................15
5.1.3
Flashing the Brake Lights.............................................................................................................................16
5.2
Hardware System Design .......................................................................................................................................16
5.2.1
Accelerometer ....................................................................................................................................................17
5.2.2
Microcontroller .................................................................................................................................................19
5.3
Initial Printed Circuit Board Design..................................................................................................................22
5.4
Software System Design..........................................................................................................................................23
System Architecture - Driver Awareness Sensor .................................................................................................24
6.1
Overall System Design .............................................................................................................................................24
6.1.1
Determining Prolonged Eye Closure ......................................................................................................24
6.1.2
Alerting Driver ...................................................................................................................................................24
6.2
Hardware System Design .......................................................................................................................................24
6.2.1
Camera ................................................................................................... Error! Bookmark not defined.
6.2.2
Microcontroller .................................................................................................................................................26
6.2.3
Speaker ..................................................................................................................................................................27
6.2.4
Facial Illuminator .............................................................................................................................................27
6.2.5
Voltage Regulator .............................................................................................................................................27
6.3
7
Design Norms ...............................................................................................................................................................13
4.5.1
5.1
6
Rapid Deceleration Warning ................................................................................................................................12
4.4.1
4.5
5
Objectives .............................................................................................................................................................11
Software System Design..........................................................................................................................................27
System Architecture - Speed Limit Indicator .........................................................................................................29
7.1
Overall System Design .............................................................................................................................................29
ii
7.1.1
Determining Vehicle Location ...................................................................................................................29
7.1.2
Finding the Speed Limit ................................................................................................................................30
7.1.3
Storing the Speed Limits...............................................................................................................................30
7.1.4
Outputting the Speed Limit .........................................................................................................................31
7.2
7.2.1
GPS ...........................................................................................................................................................................33
7.2.2
Microcontroller .................................................................................................................................................36
7.2.3
Memory .................................................................................................................................................................36
7.2.4
Outputs ..................................................................................................................................................................37
7.3
8
Hardware System Design .......................................................................................................................................32
Software System Design..........................................................................................................................................37
7.3.1
Criteria ...................................................................................................................................................................38
7.3.2
Alternatives .........................................................................................................................................................39
7.3.3
Decisions ...............................................................................................................................................................39
Integration and Initial Testing .......................................................................................................................................40
8.1
Common Tests..............................................................................................................................................................40
8.1.1
Testing Method..................................................................................................................................................40
8.1.2
Initial Test Results ...........................................................................................................................................40
8.1.3
Future Testing....................................................................................................................................................40
8.1.4
Current Integration .........................................................................................................................................40
8.2
Rapid Deceleration Warning ................................................................................................................................41
8.2.1
Testing Method..................................................................................................................................................41
8.2.2
Initial Test Results ...........................................................................................................................................41
8.2.3
Future Testing....................................................................................................................................................41
8.2.4
Current Integration .........................................................................................................................................41
8.3
Driver Awareness Sensor .......................................................................................................................................41
8.3.1
Testing Method..................................................................................................................................................41
8.3.2
Initial Test Results ...........................................................................................................................................42
8.3.3
Future Testing....................................................................................................................................................42
8.3.4
Current Integration .........................................................................................................................................42
8.4
Speed Limit Indicator ...............................................................................................................................................42
8.4.1
Testing Method..................................................................................................................................................42
iii
9
8.4.2
Initial Test Results ...........................................................................................................................................43
8.4.3
Future Testing....................................................................................................................................................46
8.4.4
Current Integration .........................................................................................................................................46
Business Plan ..........................................................................................................................................................................47
9.1
Business Strategy .......................................................................................................................................................47
9.1.1
9.2
Customer...............................................................................................................................................................47
Marketing Study ..........................................................................................................................................................47
9.2.1
Competition .........................................................................................................................................................47
9.2.2
Market Survey ....................................................................................................................................................47
9.3
Cost Estimate ................................................................................................................................................................48
9.3.1
Prototype Budget .............................................................................................................................................48
9.3.2
Production Budget ...........................................................................................................................................48
9.4
10
Estimated Profits ........................................................................................................................................................50
Conclusions .........................................................................................................................................................................52
10.1
Project Feasibility.......................................................................................................................................................52
10.2
Current Status ..............................................................................................................................................................52
10.2.1
Rapid Deceleration Warning ......................................................................................................................52
10.2.2
Driver Awareness Sensor.............................................................................................................................52
10.2.3
Speed Limit Indicator .....................................................................................................................................52
11
Credits and Acknowledgements ..............................................................................................................................53
12
References ...........................................................................................................................................................................54
iv
Table of Figures
Figure 1. RDW System Diagram .................................................................................................................................................6
Figure 2. SLI System Diagram......................................................................................................................................................7
Figure 3. Microcontroller Architecture [42] .....................................................................................................................16
Figure 4. RDW Hardware Diagram ........................................................................................................................................17
Figure 5. Initial PCB Layout. Parts listed in Table 6 ......................................................................................................22
Figure 6. RDW Software Diagram ..........................................................................................................................................23
Figure 7. DAS Hardware Diagram ..........................................................................................................................................25
Figure 8. DAS Software Diagram.............................................................................................................................................28
Figure 9. Breakdown of Road Types [17] ...........................................................................................................................31
Figure 10. Normal Speedometer [18]...................................................................................................................................32
Figure 11. Speedometer with Speed Limit of 40 Miles Per Hour [18] ................................................................32
Figure 12. SLI Hardware Diagram..........................................................................................................................................33
Figure 13. SLI Software Diagram ............................................................................................................................................38
Figure 14. GPS Accuracy Data for the First Test .............................................................................................................44
Figure 15. Second GPS Test, Mapped to Google Maps .................................................................................................45
Figure 16. Third GPS Accuracy Test, Mapped to Google Maps ................................................................................45
Figure 17. Third GPS Accuracy Test, Close-Up On Downtown Ann Arbor ........................................................46
v
Table of Tables
Table 1. Signals used in Figure 5.............................................................................................................................................17
Table 2. Accelerometer Alternatives ....................................................................................................................................19
Table 3. Accelerometer Decision Matrix .............................................................................................................................19
Table 4. Microcontroller Alternatives ..................................................................................................................................21
Table 5. Microcontroller Decision Matrix ..........................................................................................................................21
Table 6. Table of Components for Figure 5 .......................................................................................................................22
Table 7. DAS Microcontroller Alternatives ........................................................................................................................26
Table 8. DAS Microcontroller Decision Matrix ................................................................................................................27
Table 9. Signals Used In Figure 12 .........................................................................................................................................33
Table 10. GPS Alternatives .........................................................................................................................................................35
Table 11. Decision Matrix for GPS Selection .....................................................................................................................35
Table 12. Prototype Budget .......................................................................................................................................................48
Table 13. Expected Variable Costs for the Production Model .................................................................................49
Table 14. Expected One-Time Fixed Costs for the Production Model .................................................................49
Table 15. Amortized One-Time Costs ...................................................................................................................................49
Table 16. Fixed Annual Costs ....................................................................................................................................................50
Table 17. Estimated Profits for the Production Model ................................................................................................51
vi
1
Project Introduction
1.1
Problem Statement
According to a recent study by the National Highway Traffic Safety Administration, driver
distraction causes 80% of all automotive accidents [1]. However, most of the safety features that
automotive makers are introducing to vehicles today are doing nothing to address this staggering
statistic. In fact, new safety features often go the other way, encouraging more aggressive and
distracted driving because they make drivers feel invincible. More airbags will help to limit the
damage from an accident, but they will not help to prevent the accident from occurring in the first
place. In order to avoid accidents, drivers need to feel more responsibility and pay better attention
to their surroundings.
1.2
Project
The Smart Dashboard team proposes to address this problem by designing and building three
automotive safety functions designed to increase driver alertness and decrease the number of
accidents caused by driver distraction. The first function will be a system that flashes (or pulses)
the brake lights of the vehicle when the deceleration of the vehicle is above a certain rate. This
should decrease the frequency of rear-end collisions by alerting the following driver that the
vehicle ahead of them is decelerating rapidly. The second function will be a system that finds the
speed limit of the road the vehicle is currently on and display that information on the speedometer.
This should decrease speeding by displaying to the driver both their speed and the legal limit in the
same place. The third function will be a system that monitors the driver for signs of falling asleep. If
the system determines that the driver is falling asleep, the system will issue a warning to the driver
so that the driver can wake up.
1.3
Team Members
The senior design team is comprised of three engineering students in the electrical and computer
concentration.
1.3.1
Andrew DeZeeuw
Andrew is a senior engineering student in the electrical and computer
concentration at Calvin College. Andrew is also planning to minor in mathematics.
He is currently working at Calvin as a grader for the computer science department
and a tutor for calculus. Andrew has had research experience in each of the two
previous summers. In the summer of 2011, he worked in the AOSS department at
the University of Michigan, and in the summer of 2012, he worked in the ECE
department at Carnegie Mellon University. Andrew is involved with various music
groups on campus, from playing percussion in the Calvin Wind Ensemble to leading worship for
Calvin’s chapel services. In addition to music, Andrew also enjoys playing sports recreationally and
follows Michigan football. After graduation, Andrew hopes to attend graduate school studying
computer architecture.
1
1.3.2
Micah Dykstra
Micah is a senior engineering student in the electrical and computer concentration
at Calvin College. He is also pursuing a minor in computer science. Micah is
currently working at Calvin as a grader for a software engineering class. He has
worked as an intern at Shape Corporation in Grand Haven, Michigan in the
summer of 2012. There he gained a greater appreciation for the electrical
engineering design process. Micah especially enjoys writing code and designing
user interfaces for software applications and he hopes that he can apply these
skills to the project. In his free time, Micah also enjoys watching hockey and following the Detroit
Red Wings. Micah is unsure of his plans after graduation, but he is applying for a number of
computer engineering positions in the West Michigan area.
1.3.3
Nathan Gelderloos
Nathan is a senior engineering student in the electrical and computer
concentration at Calvin College. He is also pursuing a computer science minor.
Nathan has worked at GE Aviation Systems in Grand Rapids, MI as an engineering
intern. He has also created a widely used program for scheduling classes at Calvin
College, along with a handful of other colleges. In his free time, he enjoys playing
the guitar and squirrel hunting.
1.4
Report structure
This report explains in detail the project management, system overview, objectives and
requirements, system architectures, integration and initial testing, and business plan.
The project management section discusses how the team assigns tasks and operates. The system
overview section provides a brief overview of the project and background information on the
project areas. The objectives and requirements section contains the end requirements for the
project as well as any objectives that the team should achieve. The system architecture sections
discuss each function in depth, providing design criteria, alternatives and decisions at the system,
hardware, and software levels. The integration and initial testing section discusses the testing
process for each function and includes initial test results. The business plan section analyzes the
production model, with an anticipated budget for both the prototype and the production model.
The business plan considers the market as a whole, and identifies competition in the marketplace
for our product. The report concludes with a conclusion determining the feasibility of the project.
2
2
Project Management
2.1
Team Organization
Each team member is in charge of one function for the project. Micah is in charge of the rapid
deceleration warning, Nathan is in charge of the driver awareness sensor, and Andrew is in charge
of the speed limit indicator. The team expects each member to help with all three functions, but the
majority of their work will be on the function they are leading.
Micah is the team webmaster, Andrew is the content editor for written documents, and Nathan is
the style editor for written documents. The team uses Google Docs extensively to organize the team,
and allows multiple members to work on the same document on different computers
simultaneously.
2.2
Schedule
A large project like this needs a schedule so that the team meets deadlines and continues to make
progress. For the duration of the project, the team will give weekly status reports to their project
advisor, Professor Steve VanderLeest. These updates will help the team realize what each team
member has accomplished and hopes to accomplish in upcoming weeks.
2.2.1
Milestones
The major milestones of this project will be software development, prototype construction, and
final testing. These milestones will provide the team with motivation to accomplish tasks on time.
2.2.1.1 Software
The first milestone will be the development of the software for each of the three functions. The
initial iteration of this process is simply to achieve communication between the different
components of the system. The next step will be to test that the software meets the basic
requirements of the system. At this point, the team can integrate the software into a working
prototype of the system. The team hopes to accomplish initial software development by
1/31/2013.
2.2.1.2 Prototype
The second milestone will be the construction of the prototype for each of the three functions. The
initial iteration of this process is to achieve a simple ‘mock-up’ or bench-top model that provides
proof of concept. The next step will be to build a prototype that resembles the final product in both
aesthetics and its function. The team hopes to be at this stage of the project by 3/31/2012.
2.2.1.3 Final Testing
The third milestone will be the final testing of each of the three functions. At this time, the
prototypes of each of the systems should be complete. These tests will ascertain whether the safety
functions meet the requirements and objectives. The team hopes to begin final testing by
4/31/2012.
3
2.2.2
Work Breakdown Schedule
The team is utilizing a work breakdown schedule to schedule the time commitment required for
each individual aspect of the project. It is currently separated by the major headings of
‘Reports/Presentations’, ‘Design’, and ‘Testing’. Each of the project functions then further
subdivides each of these sections. Most of the tasks on the schedule are ten hours of work or less so
that each task is specific and manageable. The full work breakdown schedule of the project is
available at The Smart Dashboard’s website: http://www.calvin.edu/academic/engineering/201213-team13/docs.html.
2.2.3
Current Progress
As of 12/6/2012, the team has logged about 216 hours of work. The team has completed initial
research estimated at 17 hours per function. The team has also completed the feasibility study,
which they estimated to take approximately 130 hours. The team has also completed other
deliverables estimated to take 30 hours. Therefore, the total estimated time for the tasks
completed is 201 hours. Compared to the 216 hours of actual work to accomplish these tasks, the
error percentage in these estimates is only about 7%.
The team’s work breakdown schedule estimates that the total project will take a total of 627 hours
to complete. Therefore, the team’s estimation for percentage completion of the project is
approximately 34%.
2.3
Method of Approach
The team’s method of approach is an iterative process. Each member did initial research and
generated block diagrams for their system. Requirements for the system were determined based on
more in-depth research. Parts were determined through decision matrices, at which point the team
ordered a first round of parts. Initial testing of those parts helped refine the block diagrams and
requirements. That process repeats as the system becomes more refined with each iteration. The
team members have made sure to keep in contact with other team members on decisions made
throughout the project. Each member is aware of the other functions and will review the various
decisions that the team needs to make. This helps expand the knowledge base for the whole
function, as the group has a wide variety of talents and experiences.
2.4
Risk
The bulk of the work for this project is software that will analyze the data given by various sensors.
The risk in this project is limited, so long as the hardware communicates properly with the
microcontroller. The hardware communication is something that can be determined early in the
process. Therefore, the largest hardware risk is going over budget by purchasing too much
hardware that does not communicate with the microcontrollers selected. Once the hardware is
selected and functioning properly, the remainder of the work for this project consists of writing
code. A possible hardware risk is to purchase an underperforming processor. If the processor
cannot keep up with the demands of the software, the design will not work properly. This is
especially an issue with the Driver Awareness Sensor.
4
The largest software risk is that our software does not do what it is required to do. This is highly
unlikely, given the time that the team will spend developing the software. If this project does not
succeed, it is because the team did not spend enough time on the code, so the software can only
complete a fraction of the overall goals of the project.
There is a risk of the human-machine interface not working properly. If people do not intuitively
understand the function of our design, then the design is useless. The team means for this project to
help people, and this project can only help when people realize how to be helped. Further research
will ensure that the majority of the users will interpret our design properly.
5
3
System Overview
This section gives a brief look at the system architecture for each of the three functions.
3.1
Rapid Deceleration Warning
For a more detailed look at the Rapid Deceleration Warning (RDW) function’s system architecture,
refer to Chapter 5 (System Architecture - Rapid Deceleration Warning). The basic functionality of
the RDW is to flash the brake lights of a vehicle if it is decelerating at a high rate. The RDW system
has three distinct components, as shown in the basic system block diagram given in Figure 1.
Figure 1. RDW System Diagram
The accelerometer reads in values for position and sends that data to the microcontroller. The
microcontroller then processes this data, converting it to usable deceleration data, comparing the
deceleration to a certain threshold, and outputting a pulsed signal at the desired frequency if the
deceleration is above that threshold. This pulsed signal is sent to the brake lights to make them
flash at the same frequency. The exact interface with the current braking infrastructure is currently
unknown. The team will have a full analysis of this interface in the next report.
3.2
Driver Awareness Sensor
The Driver Awareness Sensor (DAS) will alert the driver to unsafe driving conditions due to
drowsiness of the driver. A camera will send real-time images of the driver to a microcontroller.
The microcontroller will analyze the images for signs of drowsiness and generate an alert to wake
the driver.
3.3
Speed Limit Indicator
For a more detailed look at the Speed Limit Indicator (SLI) function’s system architecture, refer to
Chapter 7 (System Architecture - Speed Limit Indicator). The basic functionality of the SLI is to
display the speed limit for the current road on the speedometer of the vehicle. The SLI has four
distinct components, as shown in the basic system block diagram given in Figure 2. The addition of
sound response to driver speeding was not considered in this report, but will be considered on
future reports.
6
Figure 2. SLI System Diagram
The GPS unit computes position data (latitude, longitude, and altitude), speed and direction and
sends this information to the microcontroller. The microcontroller then analyzes the input values
and determines the GPS coordinate of the nearest speed limit sign. The microcontroller then
accesses the speed limit database to determine the speed limit for the particular GPS coordinate.
The microcontroller then outputs a signal to the display on the speedometer.
7
4
Objectives and Requirements
4.1
Common Objectives and Requirements
Some of the objectives and requirements for this project are common among the three functions.
They are listed in the section below. The objective and requirements specific to each function are
listed in the subsequent sections.
4.1.1
Requirements
4.1.1.1 Power
Requirement 1: The 12-volt battery within the vehicle shall power each safety function.
Explanation: This allows the device to run on standard vehicles produced in the United States and
Europe.
Requirement 2: Each safety function shall be able to function with a power voltage in the range
from 9 volts to 15 volts.
Explanation: Batteries do not always operate at 12 volts. The voltage in batteries decreases over
time, while batteries can also be overcharged. A charged battery is generally 12.5 volts without the
engine. When the engine is running, a voltage regulator keeps the voltage between 13.5 and 14.5
volts [36]. Working within 3 volts of the standard allows operation with most battery conditions.
4.1.1.2 Climate
Requirement 1: Each safety function shall be able to operate with a temperature in the range from
(-20) to 70 degrees Celsius.
Explanation: From Requirement 1 in Section Error! Reference source not found., the components
will be housed inside the vehicle, so the device needs to function with all interior temperatures of
the vehicle. On startup, temperatures vary wildly, and the device still should function.
4.1.1.3 Reliability
Requirement 1: Each safety function shall have a minimum lifetime of 15 years.
Explanation: The average lifetime of a personal vehicle on the road today is just under 11 years and
trending upward [2], so 15 years seems like a reasonable minimum lifetime for this device.
Requirement 2: Each safety function shall not interfere with normal vehicle operation if it should
fail.
Explanation: The brake lights and speedometer of the vehicle should still operate normally if the
device is not present. This should also remain true if the device has failed yet is still present in the
vehicle.
4.1.1.4 System
Requirement 1: Each safety function shall not obstruct the view of the driver.
Explanation: As these functions are meant for driver safety, none of the functions should obstruct
the driver and make their normal operations unsafe.
8
4.1.1.5 Hardware
Requirement 1: The production model of the system shall operate on one microprocessor.
Explanation: This will keep the cost low enough to market the device, and will increase the
efficiency of the device by putting all of the components on one board.
4.1.2
Objectives
4.1.2.1 Power
Objective 1: Each safety function shall draw less than 200 mA from the vehicle’s battery.
Explanation: This is equivalent to 12V * 0.2A = 2.4 watts maximum per device, or approximately 7
watts total. We want to minimize the power consumption, so any value less than 7 watts would also
be acceptable.
4.1.2.2 Cost
Objective 1: The total project cost for the prototype shall be below $500.
Explanation: This satisfies the budget requirement as determined by the Senior Design faculty
advisors.
Objective 2: The total project cost for the production model will be below $100 per unit when
producing 25,000 units per year.
Explanation: While certain costs increase for production, the total production cost could go down
by using less expensive components purchased in bulk as well as using only one microprocessor.
4.2
Speed Limit Indicator
4.2.1
Requirements
4.2.1.1 System
Requirement 1: The Speed Limit Indicator shall have only the speed display visible to the user.
Explanation: The hardware components will be hidden from the user to ensure driver safety and
device lifetime. There must be some output to the user to tell them the speed limit of the road they
are currently on.
Requirement 2: The Speed Limit Indicator shall display different colors to the user depending on
the vehicle’s speed in comparison to the speed limit.
Explanation: If the driver is going more than 10 mph over the speed limit, the color of the LED
currently displayed will change color, to show the user that they are significantly over the current
speed limit.
4.2.1.2 Hardware
Requirement 1: The Speed Limit Indicator prototype shall contain sufficient memory to hold the
program and a database of local speed limits.
Explanation: For the prototype, only a 2-mile radius around Calvin College will be considered for
mapping purposes. A worst case scenario requires 8 kilobytes (see Sec 7.2.3.1) for 80,000 miles of
road. The memory necessary to hold that data is smaller than the production model.
9
Requirement 2: The Speed Limit Indicator production model shall contain sufficient memory to
hold a database of the United States speed limits.
Explanation: For the production model, the entire nation’s speed limit signs need to be stored. We
are only considering the United States since they use miles per hour, which is what our output to
the LEDs will be given in.
4.2.1.3 Software
Requirement 1: The Speed Limit Indicator shall identify the speed limit of the road the vehicle is
currently travelling within two seconds of entering that road.
Explanation: This is the basic requirement for this function. The code will take in a GPS coordinate
and find the nearest speed limit then make sure that it is from the road they are currently
travelling. Two seconds accounts for turns onto streets, where the reaction time may be slowed.
Requirement 2: The Speed Limit Indicator production model database shall self-update every
week.
Explanation: Speed limits change occasionally, so updates are necessary. However, if the function
were to change based on construction, more frequent updates would be necessary.
Requirement 3: The Speed Limit Indicator shall not change the speed limit if the system is unsure
what road the vehicle is currently travelling.
Explanation: If an unknown value comes in, the function should not change the speed limit. This
situation could occur at intersections or bridges, where the GPS signal is weak or nonexistent. The
function should assume that the vehicle is continuing on the same road until the function is
determines that the vehicle has changed roads.
Requirement 4: The user will have the option to turn off the Speed Limit Indicator function.
Explanation: This function is not necessary for driver safety, although it should improve safety.
However, if the function makes the driver more distracted, the driver should have the option to
turn it off and on as they please.
4.2.2
Objectives
4.2.2.1 System
Objective 1: The Speed Limit Indicator’s LED lights shall not be uncomfortable to see for the user.
Explanation: While the LEDs need to be visible to the driver at all times of the day, it must not be
uncomfortable to see, as this would be counterintuitive to the goal of the Speed Limit Indicator.
4.3
Driver Awareness Sensor
4.3.1
Requirements
4.3.1.1 System
Requirement 1: The Driver Awareness Sensor shall determine the following symptom of
drowsiness: prolonged eye closure.
Explanation: Prolonged eye closure is one of the primary symptoms of drowsiness [37].
10
Requirement 2: Prolonged eye closure is defined as the eyes being closed for more than one
second.
Explanation: The average blink is between 0.3 and 0.4 seconds [38]. Therefore, one second is much
longer than the average blink. At 60 mph, a vehicle travels 88 feet in one second, which is a
considerable distance not to be paying attention.
Requirement 3: The Driver Awareness Sensor shall generate an audible signal to alert the driver
that they are falling asleep.
Requirement 4: The Driver Awareness Sensor camera shall be located where the camera can
gather accurate data without obstructing the driver’s view.
Explanation: The team intends this device to improve the safety of the driver and the vehicle.
Causing any unnecessary distractions, such as obstructing the driver’s view, would defeat the
purpose of the device and could cause more safety concerns than it addresses.
4.3.1.2 Hardware
Requirement 1: The audible alert shall be a pulsing signal around 90dB.
Explanation: The alert must be loud enough to get the attention of the driver and overcome other
sounds from the environment. This sound level is very high and should be sufficient to get the
attention of most people [39].
4.3.2
Objectives
4.3.2.1 System
Objective 1: The Driver Awareness Sensor shall accurately report drowsiness at least 95% of the
time.
Explanation: The ideal case is to report all drowsiness events. However, this is not always possible
due to uncontrollable circumstances. Therefore, the system should be very reliable in general, such
that the user can trust the system to perform as intended.
4.3.2.2 Hardware
Objective 1: The Driver Awareness Sensor’s camera enclosure shall be water resistant.
Explanation: While it is unlikely the user will place the camera in a wet environment, if the camera
enclosure is exposed to water, the camera should continue to function properly.
4.3.2.3 Software
Objective 1: The Driver Awareness Sensor shall signal an alert within two seconds to notify the
driver of drowsiness.
Explanation: This should provide sufficient time for the driver to react before falling asleep as well
as preventing false alarms that could jeopardize the reliability of the system.
11
4.4
Rapid Deceleration Warning
4.4.1
Requirements
4.4.1.1 System
Requirement 1: The brake lights shall flash only when the vehicle is decelerating greater than 6
m/s2.
Explanation: This is a requirement of the ECE (Economic Commission for Europe) given as ECE
regulation 48 [3].
Requirement 2: The brake lights shall flash at a maximum rate of 4 Hz.
Explanation: This is another requirement of ECE regulation 48 [3]. The minimum rate of flashing is
0 Hz, or normal operation.
Requirement 3: The rapid deceleration warning production model shall comply with the United
States vehicle lighting regulations.
Explanation: Provision S5.5.10 from Federal Motor Vehicle Safety Standard 108 requires that all
lamps, including brake lights, must be steady burning [40]. Therefore, the rapid deceleration
warning system will simulate flashing by pulsing the brake lights from dim to bright so that the
lights are steady burning.
4.4.1.2 Hardware
Requirement 1: The rapid deceleration warning system shall be accurate and precise enough to
measure the deceleration to within 0.1 m/s2.
Explanation: This accuracy is important to make sure that the brake lights flash when they should
and that they do not flash when they should not.
4.4.1.3 Software
Requirement 1: The rapid deceleration warning system shall read the deceleration data in real
time.
Explanation: Real time means that it should operate read in data at the maximum clock speed
allowed by the microcontroller. There should be as little delay as possible between acquiring the
data and reading it into the system.
Requirement 2: The rapid deceleration warning system shall output a pulsed signal to the brake
lights at the required rate at least 50ms after it detects a deceleration above the required rate.
Explanation: A human is able to process an image astonishingly fast, usually within 150ms [41].
Therefore, a time of 50ms is required to allow the driver to begin processing and reacting to the
flashing stimulus as fast as possible.
12
4.4.2
Objectives
4.4.2.1 System
Objective 1: The rapid deceleration warning and its purpose shall be easily recognizable to a driver
behind the vehicle on which the system is installed.
Explanation: If the driver behind the vehicle does not understand why the brake lights are
flashing/pulsing, then there will be no improvement in reaction time and therefore no
improvement over the current operation of brake lights. The team will attempt to meet this
objective through user testing.
Objective 2: The Rapid Deceleration Warning shall not be disorienting to a driver behind the
vehicle on which the system is installed.
Explanation: The team will attempt to meet this objective through user testing and research of the
effects of different flashing frequencies.
4.4.2.2 Software
Objective 1: The rapid deceleration warning system shall relay the acceleration data to the driver
of the vehicle in some way.
Explanation: Presenting this information to the driver could help them identify and possibly stop
their own aggressive braking. The system could present this data through a screen on the
dashboard that tells the driver their deceleration or a simple LED that flashes/pulses at the same
rate as the brake lights themselves.
4.5
Design Norms
The design decisions of the team should not only be objective, but also take into account the impact
on society. This product will operate alongside humans and therefore the team must design it with
consideration for others in mind. The team will focus primarily on developing a product that is
caring, trustworthy, and transparent.
4.5.1
Caring
The team will design this product with care in mind because it is a safety device. Safety devices care
for others by providing an extra layer of safety for all those involved. The team is designing the
product so that the product will not affect normal car operations if the product fails. In this way, we
are caring about the safety of the user.
4.5.2
Trustworthy
It is important that the user can trust this product to accurately assist the driver and not cause a
hindrance. If the driver does not trust that this product will work as designed, there is no reason for
anyone to use this product. The team will be designing the product with a high minimum lifetime,
so the users will feel comfortable using the product for the lifetime of their vehicle.
13
4.5.3
Transparency
The team will design this product to improve the safety of the driver and those in nearby vehicles. If
this device is not intuitive and transparent, it can easily cause more distractions, in which case it
would be better if the driver did not use this device. The team will focus the design on the user, and
the team will perform extensive research to ensure that the product will work in an efficient and
intuitive way.
14
5
System Architecture - Rapid Deceleration Warning
5.1
Overall System
There are three main concepts that the RDW system must realize at a system level. The RDW
system must (1) quickly, accurately and consistently find the deceleration of the vehicle that the
system is installed within, (2) compare that deceleration to a certain deceleration threshold, and
(3) output a pulsed signal at the proper frequency if the measured deceleration is greater than this
threshold.
5.1.1
Determining Vehicle Deceleration
An accurate and cost effective way to monitor the deceleration of a vehicle would be to use an
accelerometer. The team briefly considered the alternative method of measuring deceleration by
measuring the depression of the brake pedal itself. However, the team dismissed this alternative
mainly because a brake-actuated system like this would also not work in the case of a collision,
when rapid deceleration can occur without the driver depressing the brake pedal [4].
Most accelerometers offer both an Inter-Integrated Circuit (I2C) and a Serial Peripheral Interface
(SPI) to communicate with a microcontroller. I2C uses a single line for data, while SPI uses two
separate lines for data in and data out. For this reason, I 2C is generally considered much more
complex to interface with than SPI. I2C also requires additional ‘pull-up’ resistors to pull the single
data line from low to high. Therefore, the team chose SPI because of its overall simplicity.
A one-axis accelerometer, which could measure the acceleration of the vehicle on one plane of
motion, seems to be sufficient for this system. However, the team decided to choose a three-axis
accelerometer for the prototype system as it would allow for much more flexibility in testing.
Three-axis accelerometer are also much more common and even tend to be less expensive than
their single-axis counterparts.
5.1.2
Comparing Data
It is necessary for the RDW system to compare the data found by the accelerometer to the
maximum deceleration threshold in real time. The team will write a program to accomplish this
task and that program will be stored in a microcontroller. Figure 3 provides a block diagram of a
typical microcontroller architecture. The Data SRAM memory will store the program, which the
team currently estimates to be fewer than 10 KB. The SPI unit will interface with the accelerometer
and the analog comparator will be used to compare the threshold against the vehicle’s deceleration.
15
Figure 3. Microcontroller Architecture [42]
5.1.3
Flashing the Brake Lights
When the program mentioned above has detected a deceleration value above the maximum
threshold, it will then use an unused pin of the microcontroller to output a signal to the brake lights
at the specified frequency. The team still needs to research exactly how this signal will override the
normal braking signal and how it will physically connect to the brake light ‘line’ within an actual
vehicle. While performing this research, the team must take into consideration the initial
requirement that the safety devices must not interfere with the normal operation of the vehicle.
The team also needs to research the optimum location for the system to be installed within the
vehicle.
5.2
Hardware System Design
The key pieces of hardware necessary for the RDW system are as follows: an accelerometer and a
microcontroller. Figure 4 shows a basic hardware diagram of the system, which focuses on the
interactions between the selected accelerometer and microcontroller components. The following
sections describe how the team chose these particular components. Table 1 describes the signals
between the components.
16
Figure 4. RDW Hardware Diagram
Table 1. Signals used in Figure 4
Signal
Explanation
GND
Ground
VCC
Power supply for accelerometer (3.3V)
CS
Chip select
SDO
Serial data output
SDI
Serial data input
SCLK
Serial port clock (5 MHz maximum)
D OUT
Data out (from microcontroller)
D IN
Data in (to microcontroller)
5V
Signal from the Voltage Regulator, stepping signal down to 5 volts
B IN
Input from the battery to be stepped down (9-15V, 50 mA max
current)
5.2.1
Serial
Peripheral
Interface
(SPI)
Accelerometer
This section defines the criteria that the team used to select an accelerometer for the Rapid
Deceleration Warning system production and prototype models, as well as the alternatives that the
team considered.
17
5.2.1.1 Criteria
The weights given to each criterion add up to 100 in every decision for the project. Therefore, they
are represented as percentages of importance for the specific function.
Unit Cost [30]
The team gave this criterion a high weight because the team wants to have a very inexpensive
production model. The team expects a yearly sales volume of 25,000 units so the accelerometers
are available at a much lower cost for this bulk purchase.
Breakout Board Cost [25]
The team gave this criterion a high weight because there is a limited prototype budget available and
the breakout board of the accelerometer will be used to build the prototype system.
Bandwidth [15]
Bandwidth is the rate at which accelerometers will output accurate readings. The team desires a
greater bandwidth in order to read the acceleration data as fast as possible so that the delay
between detection and response is as short as possible. A faster bandwidth ensures that the driver
will have as much time as possible to react to the Rapid Deceleration Warning stimulus.
Power Consumption [15]
The team gave this criterion a moderate weight because the team plans to draw power from the
vehicle’s battery for all three safety functions. This will depend largely on the current consumption
of the device.
Output Signal [10]
This is criterion evaluates the difference between analog and digital (I2C/SPI) outputs. Since
software will eventually need to modify the acceleration data, an analog to digital converter would
be required to convert an analog signal to a digital signal. However, since the microcontroller that
the team chose in the next section has a built-in analog to digital converter (ADC), the team decided
to give this criterion a lower weight.
Flexibility [5]
Flexibility takes into consideration the range of acceleration and supply voltage of each alternative.
For instance, an accelerometer with multiple acceleration ranges would receive a higher score. The
team gave this criterion a low priority because each alternative that the team considered fulfills the
acceleration and voltage range requirements for the system.
5.2.1.2 Alternatives
Table 2 shows the accelerometer options that the team considered for this system. The four
accelerometers were compared against each other because they all very popular in the field of
electronics. The team gathered the unit cost for each component from the electronic supplier
Digikey. The team used the electronic hobbyist retailer SparkFun Electronics to gather costs of a
breakout board for each accelerometer. The team gathered the other specifications by looking at
the datasheet offered by the manufacturer [43]. For the prototype, the team only considered
18
purchasing breakout boards because they are much easier to use with breadboards. The
temperature ranges for each accelerometer alternative is (-40) to 80 degrees Celsius.
Table 2. Accelerometer Alternatives
Manufacturer
Model
BB
Cost
($)
Unit Output
Cost Signal
($)
Supply
Voltage
(V)
Range
(+/- g)
BW
(Hz)
Current
Draw
(µA)
Analog Devices
ADXL335
27.95 2.89
1.8-3.6
3
0.5-1600
350
Analog Devices
ADXL345
24.95 3.70 I2C/SPI
2-3.6
2, 4, 8,
16
6.25-3200
145
Bosch
BMA180
29.95 3.10 I2C/SPI
1.6-3.6
1, 1.5,
2, 3, 4,
8, 16
10-1200
650
STM
LIS331HH
27.95 2.55 I2C/SPI
2.16-3.6
6, 12,
24
0.5-1000
250
Analog
5.2.1.3 Decisions
Table 3 shows the decision matrix that the team used to select the accelerometer. The Analog
Devices ADXL345 accelerometer is the clear winner mainly because of its superior power
consumption, breakout board cost, and bandwidth performance.
Table 3. Accelerometer Decision Matrix
Priority
ADXL335
ADXL345
BMA180
LIS331HH
Unit Cost
30
8
5
7
9
Breakout Board Cost
25
7
8
6
5
Bandwidth
15
5
9
4
3
Power Consumption
15
6
8
3
7
Output Signal
10
5
10
10
10
Flexibility
5
5
7
10
6
Total
655
740
615
675
5.2.2
Microcontroller
This section defines the criteria that the team used to select a microcontroller development board
for the Rapid Deceleration Warning and Speed Limit Indicator system prototype model, as well as
the alternatives that the team considered.
19
5.2.2.1 Criteria
Cost [20]
The team gave this criterion a high weight because there is a limited prototype budget available and
the development board will be used to build the prototype system.
Ease of SW programming [15]
This criterion mainly considers the programming language used to develop software on the board
as well as the availability of an integrated development environment (IDE). This will largely
depend on the team’s knowledge and familiarity with the language.
Functionality [15]
This criterion considers the ease of use or the ability to use the microcontroller “out of the box”.
One example is that some of the development boards already have built-in voltage regulators and
some require the user to buy and install voltage regulators.
Support Community [15]
This criterion considers the popularity and overall amount of documentation and that exists for a
particular microcontroller dev board.
Power Consumption [10]
The team gave this criterion a moderate weight because the team plans to draw power from the
vehicle’s battery for all three safety functions. This will depend largely on the current consumption
of the device.
Number of Pins [10]
This is the number of I/O pins that the microcontroller board has available. The RDW and SLI
systems each require five pins for digital input and output. The team has given this a lower priority
because all of the microcontroller options have a sufficient amount available.
Onboard Memory [10]
This is the amount of memory that the microcontroller board has available. The RDW system
requires an estimated 10 KB of memory. The SLI system requires an estimated 20 KB of memory.
The team has given this a lower priority because all of the microcontroller options have a sufficient
amount available.
Clock Speed [5]
A higher clock speed means more instructions of code will be executed per second. Since the team
does not expect the programs for the RDW and SLI systems to be overly complex, a faster clock
speed could provide a small boost in performance.
5.2.2.2 Alternatives
Table 4 shows the microcontroller options that the team considered for this system. All of the
options below are popular microcontroller development boards.
20
Table 4. Microcontroller Alternatives
Manufacturer
Model
Cost
($)
Current Clock
Draw
Speed
(mA)
(MHz)
Number
of Pins
Flash
Memory
RAM
Arduino
Uno
30
40
16
20
32KB
2KB
FEZ
Panda II
40
65
72
54
512KB
96KB
Pinguino
PIC32
30
5
80
24
256KB
32KB
PJRC.com
Teensy
2.0
16
15.7
16
25
32KB
2.5KB
Microchip
Ready
for PIC
29
20
16
28
32KB
1.5KB
5.2.2.3 Decisions
Table 5 shows the decision matrix that the team used to select the microcontroller. The Pinguino
and Arduino achieved the exact same score. However, the team selected the Arduino Uno as the
winner because team member Andrew DeZeeuw already had access to an Arduino Uno.
Table 5. Microcontroller Decision Matrix
Priority
Arduino
FEZ
Pinguino
Teensy
Microchip
Cost
20
7
4
7
10
7
Ease of SW Programming
15
10
3
9
7
6
Functionality
15
9
5
7
5
9
Support Community
15
10
5
6
2
5
Power Consumption
10
5
4
10
8
7
Number of Pins
10
6
10
7
7
8
Onboard Memory
10
5
9
7
5
5
Clock Speed
5
5
9
10
5
5
Total
760
550
760
635
665
21
5.3 Initial Printed Circuit Board Design
For the final project in May, the team would like to design a printed circuit board for the prototype
model. Figure 5 shows the initial PCB layout, using the components and dimensions listed in Table
6. This PCB layout includes the parts necessary for all three functions of The Smart Dashboard. The
overall size of the PCB is 1.75 inches x 1.5 inches. This is the minimum size that the team could be
produce. A reasonable estimate is a board that is 2 inches x 2 inches.
Figure 5. Initial PCB Layout. Parts listed in Table 6
Table 6. Table of Components for Figure 5
Component ID
Component
Dimensions (in)
1
Accelerometer
0.2103 x 0.1315
2
GPS
0.5512 x 0.4016
3
Memory
0.4331 x 0.3544
4
Demultiplexer
0.4134 x 0.6182
5
Processor
0.6575 x 0.6575
6
Resistors
0.1260 x 0.0630
7
Connector
0.7481 x 0.6154
22
5.4
Software System Design
Figure 6 shows a software flow diagram of the RDW system. The software must read in the data
from the accelerometer, filter the noise from this data, convert this data to usable deceleration data,
and compare the incoming deceleration to a fixed maximum deceleration threshold. It must also
tell the system to output a pulsed signal to the brake lights if the current deceleration of the vehicle
is greater than this threshold.
The system should have no control timing so that it is constantly running as fast as possible. The
team still needs to research accelerometer noise filtering and calibration techniques. Most
accelerometers need calibration before use. This is often done by examining the acceleration
output at a known acceleration and subtracting the offset from the output. The team also needs to
examine how faults will be detected so that we can uphold our design norm of trust if something
does go wrong.
Figure 6. RDW Software Diagram
23
6 System Architecture - Driver Awareness Sensor
6.1 Overall System Design
There are two main concepts that the DAS must realize at a system level. The DAS must detect
drowsiness due to prolonged eye closure and wake up the driver with an alert.
6.1.1
Determining Prolonged Eye Closure
The primary method of detecting the blinking rate and determining prolonged eye closure is
through video capture and processing. A camera is focused on the subject, capturing at least the
eyes. If the subject is still, this camera can be zoomed in closer than if it needs to allow for
movement of the subject. Most often, the face is included with some background. The software for
the system must then analyze the image and locate the eyes. Once this is done, the eyes are
analyzed further to determine their state, whether open or closed. Performing the analysis on only
the eye region greatly reduces the computations required. Therefore, it is important to accurately
locate the eye region and narrow it down as much as possible.
Other methods for determining prolonged eye closure include mechanical and electrical methods.
The mechanical methods attach to the subject and can sense muscle movements related to the
eyelid closing. The electrical methods attach electrodes to the subject and measure brain waves or
other signals to determine when the eye is closed. Both of these methods would not be appropriate
for this project, as they would require the user to wear some form of mechanism, which would be
intrusive and could possibly cause safety issues.
6.1.2
Alerting Driver
The final concept that the DAS must realize is alerting the driver to their drowsiness and waking
them up. There are many possible methods for providing feedback to the driver, including audible,
visual, and tactile. The audible methods range from an alarm sounding noise to a human issuing a
warning. The tactile methods could include vibration of the steering wheel or seat, or providing an
electric shock. Visual methods range from a simple light or notification to a strobe or blinding light
to get the attention of the driver. From the list of feedback methods, a simple audible warning
consisting of a beeping noise similar to an alarm clock should be the simplest method to implement
while still providing an adequate notification to the driver. This can be implemented with a simple
speaker connected to the microcontroller.
6.2 Hardware System Design
The pieces of hardware necessary for the DAS are as follows: a camera, a microcontroller, and a
speaker. Figure 7 shows a block diagram of the hardware with expected signal communications.
24
Figure 7. DAS Hardware Diagram
Signal
Explanation
From car battery
9V-15V DC
Power from Voltage Regulator
5V, capable of providing at least 700mA
Video from camera
USB 2.0
Power to Facial Illuminator
5V
Audio to speaker
Analog audio signal
The hardware for the Driver Awareness Sensor must possess the ability to capture quality real-time
imagery and process the images to determine driver awareness. The hardware must also be able to
notify the driver of unsafe driving conditions due to the drowsiness of the driver. Additionally, the
hardware must provide an illumination source so that the camera can capture accurate imagery in
varying lighting conditions.
25
6.2.1
Microcontroller
6.2.1.1 Criteria
Cost [25]
This is a very important criterion because the team has a limited budget with which to build the
prototype.
Clock Speed / Instructions per Second [25]
The microprocessor should feature a high clock speed and have a high number of instructions per
second. This is critical for the image processing to determine the state of the driver in real-time.
Availability [20]
The availability of the boards is important to reduce development time as well as cost of
production.
Ease of SW Programming [15]
Ease of software programming is defined as the ability to program the microcontroller “out-of-thebox.” This includes the development environment as well as the programming language knowledge
required to set up the board.
Support Community [10]
This criterion considers the popularity and overall amount of documentation that exists for a
particular microcontroller development board.
Functionality of Development Board [5]
This criterion considers the functionality of the development board relating to how well it
interfaces with the other components. The board should provide a sufficient number of connections
for the other components.
6.2.1.2 Alternatives
Table 7. DAS Microcontroller Alternatives
Board
Cost ($)
CPU
RAM
Other
BeagleBoard [44]
149.00
720 MHz
256 MB
HDMI, S-Video, 1 USB, SC,
Raspberry Pi [45] 35.00+
700 MHz
512 MB
HDMI, RCA, 2 USB, SD, Ethernet
OLinuXino [46]
58.35
1 GHz
512 MB
HDMI, 2 USB, microSD, SATA, Ethernet
Cubieboard [47]
49.00
1 GHz
512 MB
HDMI, 2 USB, SD, Ethernet
26
6.2.1.3 Decisions
Table 8 shows the decision matrix for the microcontroller. The Raspberry Pi is the microcontroller
of choice primarily due to the availability and cost, as the boards are similar in many
characteristics.
Table 8. DAS Microcontroller Decision Matrix
Priority
BeagleBoard
Raspberry Pi
OLinuXino
Cubieboard
Cost
25
2
9
6
7
Clock Speed
25
5
5
9
9
Availability
20
3
10
3
1
Ease of SW
Programming
15
4
8
8
5
Support
Community
10
5
9
7
3
Functionality
of Dev. Board
5
5
7
8
7
Total
370
795
665
560
6.2.2
Speaker
The speaker is not a critical component. A simple and inexpensive off-the-shelf component should
suffice. The team will determine the correct speaker to use next semester.
6.2.3
Facial Illuminator
The team will perform lighting tests with the camera to determine the level of lighting that is
required. Once this is determined, the team will select a lighting source.
6.2.4
Voltage Regulator
The voltage regulator is not a critical component. Microcontroller development boards generally
provide voltage regulators that work well with standard power supplies. The team will perform
research to determine what type of voltage regulator will be necessary to connect to a car battery,
which is less reliable in its output levels.
6.3
Software System Design
Figure 8 shows the software flow diagram of the DAS system. The software must read the image
from the camera and process it to determine the state of the driver. If necessary, the software must
alert the driver to wake up.
27
Figure 8. DAS Software Diagram
28
7
System Architecture - Speed Limit Indicator
7.1
Overall System Design
There are four main concepts that the SLI must realize at a system level. The SLI must (1)
accurately and consistently find the location of the vehicle that the system is installed within, (2)
take that position data and correctly find the road and speed limit for that location, (3) store the
speed limits and roads in an efficient and searchable manner, and (4) output the determined speed
limit to the user via the dashboard.
7.1.1
Determining Vehicle Location
An accurate and cost effective way to monitor the position of a vehicle would be to use a global
positioning system (GPS) device. However, GPS systems do not work well without a clear view of
the sky, which would be a problem in tunnels or other locations where the road is covered. In [6], a
standard is set for accuracy using 50 percent, 68 percent, and 95 percent. For example, the Garmin
eTrex was accurate within 2.7 meters 50 percent of the time, accurate within 3.8 meters 68 percent
of the time, and accurate within 6.7 meters 95 percent of the time. The average accuracy was
approximately 3 meters. This can provide challenges in areas where roads are very close to each
other, such as an urban setting or at intersections. From the software perspective, the code must be
able to handle expected errors and outlier data due to inaccuracies with GPS location data.
Others have attempted to counteract this accuracy problem by using another method in addition to
using a GPS. [7] considered an Inertial Navigation System (INS) implemented as a backup to the
GPS. There would be a control system on board that would determine which value should be used,
with the GPS used primarily if its data is reasonable. An INS system is also considered in [8], and is
tested and compared to other GPS systems being used, including an autonomous GPS system as
well as systems in which there are GPS substations located on the ground nearby. [13] also
considers inertial inputs in addition to GPS inputs, but considers a composite location that takes
into account both GPS data and inertial inputs data. Therefore, they base their location on both
systems all the time, as opposed to picking one system over the other. [11] uses the vehicle’s
odometer and a single-axis gyroscope as a secondary option to the GPS. This is an alternative to
using an inertial system and uses fewer sensors, which is more efficient. This system also uses
certain filters to determine if the information received by the sensors is accurate. [9] also uses invehicle sensors in addition to a GPS. In that case, they use another filter to analyze the information.
The majority of the systems considered receive data from the GPS and other sensors and filter that
data to determine position.
Other works focused on finding the error of the GPS device itself. The coordinates received by the
GPS can be analyzed using various techniques. [12] considers spatial bias techniques over a linear
path, then the system will use only a GPS if the vehicle is involved in a non-linear movement. [10]
follows a similar system, interpolating to find the expected deviations in the GPS readings. Both of
these systems do not have other sensors involved; they find the error by filtering the GPS readings
to determine their veracity.
29
7.1.2
Finding the Speed Limit
Once the microcontroller has received the position data from the GPS, the microcontroller must
analyze the data and find what the speed limit is for that location. In our implementation, GPS
coordinates will be stored for each tenth of a mile of road. While speed limit signs occur less often
than that, the increased resolution will make identifying road easier as there is more data to
compare. The code will identify the segment of road that the vehicle is on then find the speed limit
of that segment of road.
GPS navigation devices on the market today utilize mapping software that will take a GPS location
and find the road nearest to that location by using a map stored on the device. [14] discusses how
that process works. Mapping software is expensive to use or program from scratch, although the
production model may use such software. The team has not determined the exact costs of mapping
software at this time, as the companies found do not offer their databases to the public. There are
some free options available, such as wikispeedia [27]. The stated goal of wikispeedia is to document
the GPS coordinates of every speed limit sign on earth. The wikispeedia group has not
accomplished this goal yet, but future iterations of our design could incorporate this database,
assuming that the number of speed limit signs in the wikispeedia database increases to a sufficient
percentage. Another database is the open street map database. An overlay of the speed limits can be
visualized using itoworld.com. The resolution currently is not sufficient, as the only roads with
speed limits in the database are major roads and highways [28]. Currently, the free options for
speed limit databases do not offer enough detail for the scope of our project. The team will continue
development of the prototype while implementing our own database for the area around Calvin
College. The team will consider the other options given above for the production model of this
function.
7.1.3
Storing the Speed Limits
To store the speed limits, the system should use a nonvolatile storage device. A discussion of the
hardware differences for memory is given in Section 7.2.3. In our system, the speed limit signs are
being held in a database. Therefore, only four pieces of information need to be stored. The speed
limit, the GPS coordinates, and the direction need to be permanently stored and accessible. The
speed limit can be stored in as few as four bits, as the team is currently considering 10 speed limits
to display (see Sec. 7.2.4.2). The longitude and latitude both can be stored as long values, each
generally four bytes in size [15]. Long values allow the controller to do integer computations, which
can be performed faster than floating point operations. The decimal of the GPS coordinate is shifted
so that the full precision of the value can be stored in the long variable. The direction consists of a
value between 0 and 360 degrees. This can be stored in 12 bits, which would be enough to store the
direction with one decimal place stored as well. The value stored would be a multiple of ten greater
than the actual direction. The total space taken up by one data point would be 10 bytes.
With each speed limit location requiring ten bytes of data to be stored, the team needs to estimate
the number of locations that will need to be stored in the United States. According to the Federal
Highway Administration, there are approximately four million miles of roadways in the United
States [16]. Figure 9 shows the breakdown of road types. Approximately 35% of roads in the United
30
States are unpaved local roads, many of which may not even have a speed limit posted. If the team
stores data points for every tenth of a mile on every road in each direction, that would require
memory storage around 800 MB. Many memory options are available in that range.
Figure 9. Breakdown of Road Types [17]
7.1.4
Outputting the Speed Limit
The final concept that the SLI function must realize is to display the speed limit to the user. The
team considered transparency throughout this specific subsection, as displaying the speed limit is
the only part of this function that the user will see. We can implement the display of the speed limit
in many different ways. One option is to place component RGB LEDs around the speedometer and
display different colors depending on the driver’s speed in comparison to the speed limit. Other
options for displaying the speed limit could include displaying the speed limit separately from the
speedometer. Most cars today have a digital odometer, and the team could make that display larger
to display the current speed limit as well. The team could also use a separate seven-segment display
to output the speed limit in numerical form. Further research is needed to determine the most userfriendly way to output the speed limit.
Manu Kumar and Taemie Kim at Stanford University researched driver response to a dynamic
speedometer [18]. Their design displays an orange light for all speeds outside of the speed limit
range. Therefore, a speed limit of 40 miles per hour would show orange lights over all speeds
greater than 40 miles per hour. Figure 10 and Figure 11 show this concept. Their system would also
use various visual and audio warnings as the driver got over a certain threshold over the speed
31
limit. For example, a beeping sound from the dashboard would begin once the driver goes five miles
per hour over the speed limit. The amplitude and frequency of that signal would increase as the
driver went faster and faster over the speed limit. Their results show that drivers have the
tendency to decrease their speed when using a dynamic speedometer. The dynamic speedometer
also decreased the number of incidents of unintentional speeding.
Figure 10. Normal Speedometer [18]
Figure 11. Speedometer with Speed Limit of 40 Miles Per Hour [18]
7.2
Hardware System Design
The hardware necessary for the SLI is as follows: a GPS, a microcontroller, memory, and the LED
output. Figure 12 shows a block diagram of the hardware components, and Table 9 shows the
expected communication between those components. This section currently considers the
prototype components only. The team will develop criteria for the production model and include
those decisions in a future report.
32
Figure 12. SLI Hardware Diagram
Table 9. Signals Used In Figure 12
7.2.1
Signal
Explanation
TTL/RS-232
GPS has option to use either TTL or RS-232 communication
SD
SD Card. Signals include Vcc (3.3V), GND, Data In (MOSI), Data Out
(MISO), CLK, Card Select
4x D OUT
Digital output. Selector for the Demultiplexer, 4 leads
5V
Signal from the Voltage Regulator, stepping signal down to 5 volts
B IN
Input from the battery to be stepped down (9-15V, 50 mA max
current)
A IN
Analog input to the Demultiplexer (5V)
10x Display
10 outputs from Demultiplexer that will drive the display
GPS
7.2.1.1 Criteria
The team determined which GPS to use for the prototype based on several criteria. The criteria are
listed below with their weight for the decision matrix. All the devices that we considered had an
internal antenna, so the team could not use that as a design criterion. The sum of the weights is 100.
33
Cost [30]
The cost is a key criterion, as the team needs to operate under a budget as determined by the Senior
Design class instructors.
Start-Up Time [20]
There are different ways to determine the start-up time of the GPS. Most GPS modules list a hot
start, warm start, and cold start. The most important of those in this instance is the cold start-up
time. This is generally between 30 seconds and one minute. The other times are small enough (< 2
sec) that they are not as significant in the operation of the device. Many of the GPS modules
considered had update times of one second. The warm and hot start-up times are approximately
equal to the update rate; therefore, those start-up times may be noticeable but not detrimental to
the overall effect of the function. The team weighted the GPS’s cold start-up time higher within this
criterion than the other start-up times.
Ease in Communication and Software Control [15]
The team should be able to control the GPS easily from the microcontroller. Libraries and
documentation exist to prove compatibility between the GPS and the microcontroller.
Ease in Electrical Interfacing [10]
The GPS must be simple to implement into our prototype. The electrical interface should allow
simple communication between the microcontroller and the GPS.
Power Consumption [10]
Power consumption relates to the amount of current drawn by the device. The GPS should keep the
power consumption relatively low, as the team wants to be good stewards of the electricity in the
system.
Accuracy [10]
This refers to the reported accuracy in adverse conditions, such as areas with obstructions like
trees and buildings. This is important to consider as the code must be able to account for some
inaccuracies in the GPS data.
Number of Channels [5]
The number of channels in the GPS refers to how many satellites the GPS can acquire and read from
at the same time. This value is not very important, as the number of channels on all the devices
considered would be sufficient for this project, albeit with slightly different response times. More
channels does provide a vast array of benefits, as given in [29].
7.2.1.2 Alternatives
Given these criteria, the team considered four GPS modules for the prototype of this project, given
in Table 10. A decision matrix is given in Table 11, with each GPS rated in each criterion on a scale
34
from one to ten, with ten being the best in that particular area. The final scores are given for each
GPS module, with a percentage of the total possible given as well.
Table 10. GPS Alternatives
GPS
Seller
Model
Number
Cost
# of
Channels
Cold
Start-Up
Time
Voltage
Power Accuracy
Use
Temp
Range deg
C
Futurlec
[19]
EM406A
$40
20
42 sec
4.5V –
6.5V
220
mW
10 m
-40 to 85
Polstar
[20]
10-019
$15
12
50 sec
3.3V – 5V
120
mW
5m
-40 to 70
Sparkfun
[21]
Locosys20031
$60
66
35 sec
3V – 4.2V
135
mW
3m
-30 to 85
Parallax
[22]
PMB648
$40
20
42 sec
3.3V – 5V
325
mW
5m
-20 to 70
Table 11. Decision Matrix for GPS Selection
Priority
EM-406A
Polstar 10019
Locosys20031
PMB-648
Cost
30
5
10
2
5
Start-Up Time
20
6
2
9
6
Communication and
Software Control
15
7
2
2
9
Electrical Interfacing
10
7
2
2
9
Power Consumption
10
5
9
8
2
Accuracy
10
3
6
8
6
Number of Channels
5
3
2
10
3
Total:
540
550
500
590
7.2.1.3 Decisions
All four GPS devices had scores similar to the others, with the Parallax PMB-648 scoring the best.
The PMB-648 is very easy to implement, as documentation exists for connecting it to various
microcontrollers. This is reassuring, as other groups have been able to successfully read data from
this device using a simple microcontroller. The PMB-648 is in the middle price range, which is
reasonable for this project. This decision matrix proves that all of the options would be generally
sufficient for this project, as none of them scored significantly lower than the others. The team
selected the PMB-648 GPS for the benefits given above.
35
7.2.2
Microcontroller
Section 5.2.2 gives a detailed discussion of microcontroller selection. The design criteria all apply to
the SLI as well. The cost remains an important factor as both functions are being designed for the
senior design class. The ease of use is vital to the timely completion of the prototype. The support
community also helps accelerate progress through issues. The power consumption ties directly to
our desire for a positive societal impact, which applies to each function. The number of pins is a
factor as the microcontroller will be shared with the RDW system. The onboard memory
capabilities dictate the scope to which testing can be done without an external memory source. All
of the design criteria apply, so the decision made in Section 5.2.2 applies to the SLI function as well.
7.2.3
Memory
7.2.3.1 Criteria
As discussed in Section 7.1.3, the memory of this system should approximately one gigabyte (800
megabytes is a reasonable estimate). However, the prototype will only store speed limits for a small
area around Calvin College. Therefore, the amount of memory necessary drops by orders of
magnitude. In a worst-case estimate, a grid of roads 300 feet apart would fill the two-mile area
around Calvin College. Assuming a square around Calvin College that is 4 miles per side, this would
result in approximately 80,000 miles of road in the area. Taking data points every tenth of a mile
with ten bytes to store each location, which would take up 8 kilobytes of space. This is an
unreasonably high estimate, but it provides approximate upper bounds for our database. The
memory available on the selected Arduino microcontroller would be enough to do initial testing,
although it may not be enough for the final prototype. The additional memory needs to be able to
interface with a microcontroller very easily and be cost effective. The memory should also be fast
and fit within the temperature range considered in Section 4.1.1.2, Requirement 1.
7.2.3.2 Alternatives
Many surface mount memory devices are inexpensive and can store great quantities of information.
Unfortunately, they are difficult to implement with a development board. One example is 2 GB of
flash memory sold at DigiKey [23]. The most common memory addition to an Arduino
microcontroller is to use an SD card. Various Arduino shields on the market handle all of the voltage
regulation necessary to interface an Arduino and an SD card. SD cards can be inexpensive as well,
selling for under $10 for 4 GB.
7.2.3.3 Decisions
Surface mount devices can be less expensive, but are difficult to use with a microcontroller. The
cost to solder that memory device to a board and then use a microcontroller makes it more difficult
to implement. While an SD card system would cost more (including the cost of an SD shield), it
would be simple to implement and save time without sacrificing too much in terms of cost.
36
7.2.4
Outputs
7.2.4.1 Criteria
The output to the user must be easy to understand and not distract the driver. The team is
considering implementing a single light with two different states, depending on whether the driver
is exceeding the speed limit by ten miles per hour. The output system must be able to display both
conditions.
7.2.4.2 Alternatives
Section 12.1.4 discusses ways in which the system can display the speed limit. RGB LEDs can be
placed at each speed limit (25, 30, 35, 40, 45, 50, 55, 60, 65, 70) around the speedometer, and only
one LED would be lit at any given time. Using the method used by Kumar and Kim, a series of LEDs
again could be used, or perhaps an LED strip of some kind. A seven-segment display could output
the speed limit separate from the speedometer, but another indicator would be necessary to report
a case of speeding to the driver.
7.2.4.3 Decisions
With our current design, using RGB LEDs makes the most sense. LED strips and seven segment
displays would work better in other designs. The LEDs will be lit using a demultiplexer, which will
be controlled using an output from the microcontroller. The team will calculate resistor values after
the team finds the current output of the demultiplexer. The demultiplexer being considered
currently is given in [30], manufactured by Texas Instruments. The team can purchase the
demultiplexer in bulk, making it an attractive option for the production model as well. It functions
within the operating temperature specified for the system.
7.3
Software System Design
The software running on the microcontroller will receive data from the GPS, analyze that data to
find the nearest speed limit sign, then output that speed limit to the outputs. Figure 13 shows a
basic block diagram for the software system. The update rate of the GPS limits the abilities of the
software. The update rate for the GPS selected is one second. The software will run as fast as
possible given that constraint.
37
Figure 13. SLI Software Diagram
7.3.1
Criteria
The software needs to manage the following pieces: a database of speed limit signs with their GPS
coordinates, a GPS that outputs position, velocity, and direction, and an output that consists of a
demultiplexer and LEDs. The code must tie all three of those pieces together while also providing
sufficient noise reduction and error correction. After the initialization process, the code reads and
extracts the relevant data from the GPS. At that point, a noise filter analyzes the data. If an error
exists in the data, then the code will increment an error counter. If the code recognizes more than
three consecutive errors, then something significant has gone wrong so nothing is output to the
user. If no errors exist in the signal, the code searches for the location in memory. If the data cannot
be mapped to a speed limit, an unknown road counter is incremented. If the code recognizes more
than three consecutive unknown road signals, then the database does not understand where the
vehicle is located. In this case, the code displays nothing to the user. If the data can be mapped to a
speed limit, then the counters for error and unknown roads are reset to zero. If the speed limit is
38
different from the current value, then a new display pattern is stored. In both cases, the controller
drives the LEDs with the display pattern.
7.3.2
Alternatives
The code to decode the GPS information is standard, as the code takes in data as a character array
then breaks that string down into its various components. Finding the correct location of the
nearest speed limit sign will be a challenge. If the GPS gives accurate data for direction, the code can
fan out opposite the vehicle’s motion to find the speed limit sign. This can be a problem if roads are
winding or if there are bridges or intersections. Another option is to store the past few iterations of
the code, and if the speed limit is consistent, then it can be outputted. This makes sure that the SLI
is not confused by one bad data point. The code could also look forward as well as backwards, to
see if the speed limit is consistent in front of the user and behind the user.
7.3.3
Decisions
For the prototype, the selected Arduino microcontroller supports code in C or C++. The team has
experience with this programming language, which makes it ideally suited for the prototype.
Arduino has its own IDE, which takes care of the compiling and loading necessary for the prototype.
The team has developed initial algorithms for the GPS data reading and extraction blocks from
Figure 10. The team has not begun developing the software for the other sections at this time. The
team will do testing as described in Section 8.3 to determine that the algorithms developed fit
within the context of the overall goals for this function.
39
8
Integration and Initial Testing
8.1 Common Tests
8.1.1
Testing Method
The team continues to prepare a set of tests to prove the performance of the system as described in
the Objectives and Requirements (Chapter 4) and the specific system architectures (Chapters 5-7).
The tests are described in detail below. This list is not inclusive, as the team continues to iterate
through different tests.
8.1.1.1 Hardware Compatibility Test
The team will test the hardware systems for each function to ensure that they are compatible. The
team must be able to receive data on their specific processor from their hardware components. The
team has begun some testing, but the specific test has not been designed. It will come on a future
report.
8.1.1.2 Temperature Test
This test will consider the temperature of the system as well as individual components as time goes
on. If the owner uses their vehicle for a longer trip, these components may be on for hours at a time.
In that case, the team must confirm that not all the components overheat in that period. The team
has not created a specific test to accomplish this task. It will come on a future report.
8.1.1.3 Power Consumption Test
Similar to the temperature test, this test will consider the power dissipated. A large part of this test
is to find the current draw of the function and individual components, as the production model will
need to operate on the battery power of the vehicle. The team has not created a specific test to
accomplish this task. It will come on a future report.
8.1.1.4 Latency Test
A latency test will determine if the code is running slow enough to affect performance. This will be
done by analyzing the time it takes to run the initialization process without any code body. The
team will then compare this value to other latency tests involving specific pieces of code. The team
has not created a specific test to accomplish this task. It will come on a future report.
8.1.2
Initial Test Results
The team has not performed tests for any of the previously mentioned tests.
8.1.3
Future Testing
The team has not begun testing for any of the previously mentioned tests.
8.1.4
Current Integration
The team has not integrated anything relevant to the previously mentioned tests.
40
8.2
Rapid Deceleration Warning
8.2.1
Testing Method
The team continues to prepare a set of tests to prove the performance of the system as described in
the Objectives and Requirements (Chapter 4) and the specific system architecture (Chapter 5). The
tests are described in detail below. This list is not inclusive, as the team continues to iterate through
different tests.
8.2.1.1 Accelerometer Accuracy Test
This test will consider the accuracy of the accelerometer. The requirements state that the brake
lights should flash only when the vehicle is decelerating faster than 6m/s 2 and that the
accelerometer should be accurate to within a tenth of a m/s 2. This test will be conducted through
available computer software. The team has not created a specific test to accomplish this task. It will
come on a future report.
8.2.1.2 Frequency Test
This test will consider the frequency of the signal that is output the brake lights. The requirement
states that the frequency must not be greater than 4Hz. The output signal will be connected to an
oscilloscope and examined to be certain that it fulfills this requirement. The team has not created a
specific test to accomplish this task. It will come on a future report.
8.2.2
Initial Test Results
The team has not tested any RDW specific tests.
8.2.3
Future Testing
The team has not begun testing for any RDW specific tests.
8.2.4
Current Integration
The accelerometer and the Arduino microcontroller have been connected and proven to
communicate with each other. Other than that, no tests have been integrated.
8.3
Driver Awareness Sensor
8.3.1
Testing Method
The team continues to prepare a set of tests to prove the performance of the system as described in
the Objectives and Requirements (Chapter 4) and the specific system architecture (Chapters 6). The
tests are described in detail below. This list is not inclusive, as the team continues to iterate through
different tests.
8.3.1.1 Blink Accuracy Test
This test will determine what percentage of blinks are picked up by the system. If the system can
track an eye blinking consistently, then it will be able to detect someone’s eyes closing for longer
41
than a standard blink. The team has not created a specific test to accomplish this task. It will come
on a future report.
8.3.1.2 Lighting Test
This test will analyze eye motion in different amounts of light. This function must work in nighttime
as well as daytime, so a lighting test is necessary to ensure proper operation. The team has not
created a specific test to accomplish this task. It will come on a future report.
8.3.2
Initial Test Results
None of the test mentioned above has been completed up to this point.
8.3.3
Future Testing
All of the tests mentioned above still need to be completed.
8.3.4
Current Integration
No parts have arrived yet; therefore, there is no integration currently.
8.4
Speed Limit Indicator
8.4.1
Testing Method
The team continues to prepare a set of tests to prove the performance of the system as described in
the Objectives and Requirements (Chapter 4) and the specific system architecture (Chapters 7). The
tests are described in detail below. This list is not inclusive, as the team continues to iterate through
different tests.
8.4.1.1 LED Current Test
The LED output will be coming out of a demultiplexer. Testing needs to be done to determine what
the current leaving the demultiplexer is compared to how much enters into the demultiplexer. The
consistency of the current can also be analyzed. The team needs to implement the circuitry to drive
the LEDs before this test can occur. The team has not created a specific test to accomplish this task.
It will come on a future report.
8.4.1.2 GPS Accuracy Test
The team will need to test the GPS for its accuracy in adverse conditions. This can include poor
weather (cloudy/foggy), trees, tall buildings, and tunnels. The team has not created a specific test to
accomplish this task. It will come on a future report. The team has tested the GPS for accuracy as a
control in good conditions.
For the first test, the team went to 10 points on Calvin College’s campus, and we took the GPS to
them and recorded the data for latitude and longitude. The team visited the ten points more than
once, to see if the results become more accurate as time goes on. The team entered the longitude
and latitude data into Google Maps to find the error in meters. The approximate error for this test is
42
one meter, due to the accuracy of Google Maps and the human error involved in walking the GPS
around campus.
A second accuracy test was be run on the road, which is the application of this project. Since this
test is a combination of a speed test and position test, the position was displayed every seven reads.
This retained enough accuracy for a position test while being able to test the speed every output
without the data being cluttered.
A third test involved driving around Ann Arbor, in both country and city roads. This test considered
GPS obstructions in people’s daily commutes, such as tall buildings in downtown and trees in the
country.
8.4.1.3 GPS Velocity Test
The GPS not only reports position data, but velocity data as well. This information will be used to
output a different color LED if the driver is going more than 10 miles per hour over the speed limit.
The consistency of the GPS velocity information should be determined to find how sensitive that
code can be written. The team has not created a specific test to accomplish this task. It will come on
a future report. A quantitative analysis has been done by monitoring the vehicle’s speed and the
output from the GPS from within the car.
The first speed test will look at the speed (in miles per hour) returned by the GPS device. This will
be monitored within the vehicle, as quantitative analysis of the speed would be difficult to achieve.
For an initial test, a qualitative analysis of the speed limit accuracy is enough, especially since this
data is not necessary for the primary function of this device. Further testing is necessary to make a
quantitative assessment of the speed accuracy. Besides the speed limit, the course made good data
was analyzed, as that could be used in the GPS position algorithm. The course made good depicts
which direction you are headed in, as a measure of degrees from north. This data will be analyzed
using a similar quantitative analysis as for the speed data.
8.4.2
Initial Test Results
8.4.2.1 LED Current Test
The team has not run this test at this time.
8.4.2.2 GPS Accuracy Test
The results are problematic. The average error is approximately 20 meters. The best accuracy was
around 1 meter, but the worst accuracy was about 40 meters. Unfortunately, the 40 meters
measurement was not an outlier. See Figure 14 for all the data taken for this test. Each test has
similar average error, so the GPS does not become more accurate over time.
43
Figure 14. GPS Accuracy Data for the First Test
The average latitude and longitude’s distance from the point was approximately equal to the
average of the distances calculated for each test. This indicates that the GPS was generally incorrect
in the same direction from the expected point. This means that the GPS was more precise than it
was accurate.
The results of this test are not satisfactory for this function. Further testing is necessary to
determine if the GPS module will work properly for this function.
In the second test, the position accuracy improved from the data in the first test. The team placed
the GPS module on the dashboard of a moving vehicle. Figure 15 shows the route taken and the
data collected. The GPS did a much better job of tracking position on the move, even within the
confines of a car on a cloudy day. Looking at the map visually, it was easy to see which path was
taken, and there was no question as to what road was travelled. This is promising for the Speed
Limit Indicator project, which will rely on computations as opposed to visual analysis. If a visual
analysis is quite simple, a computational method is feasible.
44
Figure 15. Second GPS Test, Mapped to Google Maps
A third qualitative test was done in Ann Arbor. This test occurred on city streets and country roads,
to provide a wide array of data. Figure 16 shows the data from the entire test. The country roads
went as smooth as the first test, but the city offered some troubling data. Figure 17 shows a portion
of downtown Ann Arbor. An irregularity in the data is clear. The GPS was obstructed by the high
buildings in downtown Ann Arbor. Trees have not had an effect on performance as far as we can
tell, but buildings have a tangible effect. Further testing on this issue is necessary.
Figure 16. Third GPS Accuracy Test, Mapped to Google Maps
45
Figure 17. Third GPS Accuracy Test, Close-Up On Downtown Ann Arbor
8.4.2.3 GPS Velocity Test
The speed and course made good data seemed to be accurate enough for our uses. Relying on a
speedometer of the car for a comparison point, the speed outputted by the GPS was correct with a
few miles per hour. There was no compass to compare with for the course made good data, but it
correctly showed when the vehicle was generally moving north, south, east, and west. The course
made good remained constant within a few degrees when the vehicle was traveling in an
approximately straight line.
8.4.3
Future Testing
The team needs to develop qualitative testing approaches to each problem. Once that is done, the
team can test each individual problem with a given set of criteria.
8.4.4
Current Integration
Currently, only the GPS and microcontroller are in possession of the team. These two pieces have
been connected and communicate with each other successfully. Their integration has led to initial
testing for the GPS accuracy test and the GPS velocity test.
46
9 Business Plan
9.1 Business Strategy
The Smart Dashboard has developed a business strategy to market this project as a profitable
business. All three safety functions will be offered as one product, which will decrease the price per
function. To separate each function into a separate product, each function would duplicate the
microcontroller and memory, which would come to an additional $20 per part. Factoring in the
additional PCB manufacturing and packaging costs, the total costs to manufacture each product
separately would be 33% more than to implement all three within one product as we are doing.
Therefore, it will be easier to enter into the market as the lower variable price helps to offset the
high initial fixed price.
9.1.1
Customer
The Smart Dashboard plans to market this device to car manufacturers. Our product will be a
luxury package that car manufacturers can add to basic models, such as the Ford Fusion. The team
will design the product to integrate with the current dashboard of a particular model, so the
manufacturer can choose whether to include it in the vehicle. This makes our business viable longterm, as redesign will be necessary for different models of cars that we may be selling to.
9.2 Marketing Study
In order to determine the feasibility of this project in the marketplace, a study of the current
marketplace is necessary. Various car safety functions are currently available, from cars that
monitor the lane markings to detect drift to cars that monitor the car in front of you to detect
possible collisions [24].
9.2.1
Competition
There are no direct competitors that can match all three safety functions. However, competition
does exist from companies that perform one of our functions. GPS devices today do display the
speed limit on certain models, but those are aftermarket devices that would not be integrated into
the vehicle during fabrication. There is an aftermarket product designed to flash a third brake light,
and is designed to comply with all United States regulations [25]. Mercedes-Benz incorporated a
driver awareness device into some of their high-end cars beginning in late 2008 [32]. Other
companies have incorporated similar systems, such as Ford [33], Volkswagen [34], and Volvo [35].
Many of these systems are based on lane departure warnings, but the function provided is similar
enough to ours to be considered direct competition.
9.2.2
Market Survey
Our product is a unique blend of vehicle safety functions not currently offered by any other
manufacturer. The speed limit indicator has demand, even though GPS devices could tell you the
speed limit on a handheld device. “In an age when GPS devices seem to be replacing roadmaps, is it
too much to ask for a built-in speed limit indicator? Wouldn't such an option make the roads safer,
47
in addition to cutting down on driver anxiety?” [26]. The market is eager for vehicle safety functions
in general, and our product offers new safety functions not currently offered in commercial
vehicles. To begin, the team is considering the Ford Fusion. In 2011, Ford sold approximately
250,000 Ford Fusions in the United States [30]. The team believes that 10% of those vehicles could
have our package installed on them. For one model, we expect to achieve sales of 25,000 products
per year. Our possible market is much greater than one model of car. We could expand to working
with one automaker on all their vehicles or even working with many automakers.
9.3 Cost Estimate
The cost estimate for this product is different for the prototype and the production model. The
prototype is under a strict budget as defined by the Senior Design class instructors. The prototype
uses development boards in the design process, while the production model will use different parts
that can be soldered to a printed circuit board that will be more efficient in terms of size.
9.3.1
Prototype Budget
The team is developing the prototype to prove the concept of The Smart Dashboard. Table 12 gives
our initial budget estimates for the project. Our team has requested $602 in funds for the entirety of
the project.
Table 12. Prototype Budget
SLI
RDW
DAS
Item
Cost
Item
Cost
Item
Cost
GPS
$43
Accelerometer
$23
Raspberry Pi
$35
Demultiplexer
$6
Prototype Brake Lights
$75
Power Supply
$5
Arduino Uno
$30
Arduino Uno
$30
4 GB SD Card
$10
RGB LEDs
$25
Shipping
$10
Webcam
$100
SD Card Adapeter
$15
Outputs
$40
SD Card
$5
LEDs
$10
Shipping
$20
Shipping
$20
Function Total
$144
Function Total
$220
Misc Replacements
$100
Team Total
$602
9.3.2
Function Total
$138
Production Budget
The production model budget is split into two sections. The variable costs are similar to the
prototype budget in Section 9.3.1, in that the cost estimate is based per unit. The fixed costs are
incurred at a single point in time or are a yearly cost.
48
9.3.2.1 Variable Costs
Table 13 shows an estimate of the variable costs for the prototype. The expected cost is
approximately $95 per unit. The team selected an ARM processor for the production model. Further
analysis is necessary to determine if this processor is best for the project. The volume of 25,000
annually comes from Section 9.2.2, in which we hope to sell our product for 10% of Ford Fusions
sold in the United States each year.
Table 13. Expected Variable Costs for the Production Model
Item
Model
Unit Price
Quantity
Total Cost
Accelerometer
ADXL345
$3.696
25000
$92,400
GPS
A2200-A
$13.60
25000
$340,000
LEDs
OSRAM Opto Semiconductors LUW
JNSH.EC-BRBT-5E8G-1
$0.081
25000
$2,025
Memory
Spansion S34ML04G100BHI000
$6.95
25000
$173,750
Demultiplexer
TI CD74HCT154M96G4
$0.25
25000
$6,250
Microcontroller
STM32F372CCT6
$3.52
25000
$88,000
Camera
RB-Lin-48
$39.20
25000
$980,000
Resistors
RK73H2BTTDD1001F
$0.003
250000
$750
Connector
4-794628-0
$1.71
25000
$42,750
$20
25000
$500,000
5% of variable costs
$4.45
25000
$111,296
Variable Cost Per Unit
$93.46
Total Var. Cost
$2,337,221
PCB / Packaging
Replacements
9.3.2.2 Fixed Costs
Table 14 shows an estimate of the one-time fixed costs for the production model. These include the
design time behind the product and the software suites necessary to design our product.
Table 14. Expected One-Time Fixed Costs for the Production Model
Item
Cost
Notes
Design
$1,000,000
10000 hours, $100 per hour design time
$150,000
Software Suites
Capital Investment
Table 15. Amortized One-Time Costs
One-Time Costs at Year 1
$1,150,000
49
Year 1
Year 2
Year 3
$164,335
$281,635
$201,135
Table 15 shows the amortized costs for the one-time costs. This uses a 7-year recovery period using
MACRS. The initial design costs can be spread over the young life of the company to reduce the
large debt right at the start. Table 16 shows the fixed annual costs. Yearly costs include salaries of
all employees as well as the costs to rent an office building in Detroit, Michigan. Detroit was chosen
for its locality to the automotive companies located in Detroit. All three team members are
residents of the state of Michigan, and would like to keep jobs in Michigan and help stimulate the
economy there.
Table 16. Fixed Annual Costs
Item
Cost
Notes
Sales Team
$200,000
Two sales staff, $100k/yr including benefits
Management
$500,000
Management team
General Labor
$200,000
Janitor, Secretary, Shipping
Office Rental
$26,000
Ford Building [48]
Utilities
$2,600
~10% of office cost
Research and Development
$60,000
~10% Gross Margin
9.4 Estimated Profits
Table 17 shows a profit estimate for years one through three. As a unique product, the team feels
that selling the product for $150 per unit is reasonable. The 2012 Ford Fusion offered advanced
packages for a navigation system and a rear-sensing camera. These packages cost $1,995 and
$2,940, respectively [31]. Our system provides similar worth to these other packages, so
automakers should be willing to pay $150 per unit to make it worthwhile for them. Our profit
margin is relatively low, but low margins are part of the automobile industry. We expect our
volume of sales to increase every year. It just takes a large contract to have a much larger quantity
there. Further financial analysis is necessary to find the best and worst case scenarios, as well as a
break even analysis.
50
Table 17. Estimated Profits for the Production Model
Year 1
Year 2
Year 3
Total Variable Cost
$2,337,221
$2,570,200
$2,803,855
Total Fixed Cost
$1,152,935
$1,270,235
$1,189,735
Total Costs
$3,490,156
$3,840,435
$3,993,590
Selling Quantity
25,000
27,500
30,000
Selling Price
$150
$150
$150
Revenue
$3,750,000
$4,125,000
$4,500,000
Gross Margin
$259,843
$284,564
$506,409
Taxes
$90,945
$99,597
$177,243
Profit
$168,898
$184,996
$329,166
Profit Margin
4.84%
4.82%
8.24%
51
10
Conclusions
10.1 Project Feasibility
Creating a project with three vehicle safety functions will be filled with challenges. Our class load at
Calvin College has prepared us to work through problems and work with diligence. The team is
motivated to bring this project to completion with an exceptional product. Many of the challenges
are software based, and most of those challenges can be solved through time and hard work.
The team has determined that the project as proposed is feasible. The team has worked for
approximately 200 hours thus far in the semester. The team is willing to take time over Interim to
do hardware testing and initial algorithm development. The second semester will involve building
the prototype and fully testing its capabilities. The team estimates that there will over 600 hours of
total work to complete the entire project, so the project will be approximately 33% done at the end
of the first semester.
10.2 Current Status
10.2.1 Rapid Deceleration Warning
The team is currently in possession of the selected accelerometer and microcontroller, and initial
testing has begun to interface these two hardware components. After that is accomplished, the tests
as described in Section 8.1 can begin.
10.2.2 Driver Awareness Sensor
The team has just selected the components to use, and they must be ordered and shipped in order
to continue. Currently, the team is working to research various outputs that could be used to alert
the driver in the case that they are falling asleep.
10.2.3 Speed Limit Indicator
The team is currently in possession of the selected GPS module and microcontroller. They have
successfully communicated with each other. The team is determining the exact testing method for
the GPS accuracy tests described in Section 8.3, and then testing will begin to determine the
accuracy of the GPS.
52
11
Credits and Acknowledgements
The team would like to thank Calvin College engineering professor Steven VanderLeest for advising
the team, encouraging professionalism, and demanding a high standard of excellence.
The team would like to thank GE Aviation employee Tim Theriault for consulting with the team and
providing insight into possible hardware and software issues.
The team would like to thank engineering professor Yoon Kim for providing valuable insight and
ideas for the project.
The team would like to thank all of the people who have supported the project through social media
sites like Facebook, Twitter, and YouTube.
53
12
References
[1] Weiss, Merkel. "Confronting Driver Distraction." The Futurist 41.1 (2007): 16-7. ProQuest
Business Collection; ProQuest Engineering Collection. Web. 12 Nov. 2012.
[2] http://usatoday30.usatoday.com/money/autos/story/2012-01-17/cars-trucks-agepolk/52613102/1
[3] http://www.unece.org/fileadmin/DAM/trans/main/wp29/wp29regs/r48r6e.pdf
[4] Bloomfield, John and Lynam, Niall. "Deceleration based anti-collision safety light control for
vehicle." US Patent 6411204. 25 June 2002.
[5] cmucam.org
[6] Richard, G. Oderwald, and A. Boucher Britt. "GPS After Selective Availability: How Accurate is
Accurate enough?" Journal of Forestry 101.4 (2003): 24,27,2. ProQuest Engineering Collection. Web.
10 Nov. 2012.
[7] Vicente Milanés, et al. "Autonomous Vehicle Based in Cooperative GPS and Inertial Systems."
Robotica 26.5 (2008): 627-33.ProQuest Engineering Collection. Web. 10 Nov. 2012.
[8] J, E. Naranjo, et al. "GPS and Inertial Systems for High Precision Positioning on Motorways." The
Journal of Navigation 62.2 (2009): 351-63. ProQuest Engineering Collection. Web. 10 Nov. 2012.
[9] Jo, Kichun, Keounyup Chu, and Myoungho Sunwoo. "Interacting Multiple Model Filter-Based
Sensor Fusion of GPS with in-Vehicle Sensors for Real-Time Vehicle Positioning." IEEE Transactions
on Intelligent Transportation Systems 13.1 (2012): 329-43. ProQuest Engineering Collection. Web. 10
Nov. 2012.
[10] Li, Shuo, and Karen Zhu. "Addressing Issues with GPS Data Accuracy and Position Update Rate
for Field Traffic Studies."Institute of Transportation Engineers.ITE Journal 73.2 (2003): 32-7.
ProQuest Business Collection; ProQuest Engineering Collection. Web. 10 Nov. 2012.
[11] Iqbal, Umar, et al. "Experimental Results on an Integrated GPS and Multisensor System for
Land Vehicle Positioning."International Journal of Navigation and Observation (2009)ProQuest
Engineering Collection. Web. 10 Nov. 2012.
[12] Kyrtsos, Christos. ”System and method for providing accurate vehicle positioning using spatial
bias techniques.” Patent 5,555,503. 10 Sep 1996.
[13] Kyrtsos, Christos. ”Vehicle position determination system and method.” Patent 5,375,059. 20
Dec 1994.
[14] http://www.mio.com/technology-gps-mapping-work.htm
[15] http://www.cplusplus.com/doc/tutorial/variables/
54
[16] http://www.artba.org/about/faqs-transportation-general-public/faqs/#9
[17] http://www.artba.org/mediafiles/faqsushighwaysystemcompositionpdf.pdf
[18] Kumar, Manu and Taemie Kim. 2005. “Dynamic speedometer: dashboard redesign to
discourage drivers from speeding.” CHI '05 Extended Abstracts on Human Factors in Computing
Systems (CHI EA '05). Web. 10 Nov. 2012.
[19] http://www.futurlec.com/GPS.shtml
[20] http://salestores.com/polstar1.html?gclid=CNr7q-7CvbMCFe5FMgod5B0AjA
[21] https://www.sparkfun.com/products/8975
[22]
http://www.parallax.com/Store/Sensors/CompassGPS/tabid/173/ProductID/644/List/0/Default.
aspx?SortField=ProductName,ProductName
[23] http://www.digikey.com/product-detail/en/MT29F2G16ABBEAH4:E%20TR/557-1545-1ND/3305283
[24] http://www.safercar.gov/staticfiles/safetytech/st_landing_ca.htm
[25] http://www.pulseprotects.com/
[26] http://electronics.howstuffworks.com/gadgets/automotive/car-speed-limit.htm
[27] http://www.wikispeedia.org/
[28] http://www.itoworld.com/map/41
[29] http://electronics.stackexchange.com/questions/11884/how-many-gps-channels-make-sense
[30] http://media.ford.com/images/10031/Dec11sales.pdf
[31] http://www.cars.com/ford/fusion/2012/standard-equipment/
[32] http://media.daimler.com/dcmedia/0-921-658892-1-1147698-1-0-0-1147922-0-1-11702-00-1-0-0-0-0-0.html?TS=1266506682902
[33] http://media.ford.com/article_print.cfm?article_id=34562
[34] http://www.volkswagen.co.uk/#/new/passat-vii/explore/experience/driver-assistance/
[35] http://www.zercustoms.com/news/Volvo-Driver-Alert-Control-and-Lane-DepartureWarning.html
[36] http://www.carparts.com/classroom/charging.htm
[37] http://www.safeny.ny.gov/drow-ndx.htm
55
[38] http://www.madsci.org/posts/archives/nov98/911697403.Me.r.html
[39] http://home.earthlink.net/~dnitzer/4HaasEaton/Decibel.html
[40] http://www.gpo.gov/fdsys/pkg/CFR-2011-title49-vol6/pdf/CFR-2011-title49-vol6-sec571108.pdf
[41] http://fias.uni-frankfurt.de/~triesch/courses/260object/papers/SpeedOfProcessing.pdf
[42] http://dev.emcelettronica.com/files/u4/Block_Diagram_of_the_AVR_Architecture.jpg
[43] http://www.sparkfun.com/datasheets
[44] http://beagleboard.org/
[45] http://www.raspberrypi.org/
[46] https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino/
[47] http://cubieboard.org/
[48] http://www.michigan-commercial-real-estate-properties.com/Detroit-Office-Buildings.htm
56
Download