Upload
buicong
View
222
Download
0
Embed Size (px)
Citation preview
EcoCar2: User Interface Final Report
Spring Semester 2013
-Full Report-
by
David Daines
Bryce Wujek
Prepared to partially fulfill the requirements for
ECE402
Department of Electrical Engineering and Computer Engineering
Colorado State University
Fort Collins, Colorado 80523
Project advisors: Dr.Thomas Bradley and Dr. Peter Young
Approved by: Dr. Thomas Bradley
1
Abstract
The use of graphical user interfaces and human machine interfaces has grown recently
due to the complexity of the design and operation of what once were simple machines, such as
automobiles. Due to the technological advancements in the hybrid-electric automotive industry,
more complex computers are needed to control the moving parts and machinery in these
vehicles. However, consumers need the ability to control these intricate cars in a simple,
comfortable environment. Graphical user interfaces have bridged the gap between multifaceted
design and the simple consumer. The Colorado State University “EcoCar2: Plugging into the
Future” design team is involved in a multiple university competition to develop a vehicle with
reduced tail pipe emissions in association with the U.S. Department of Energy and General
Motors. The CSU team has chosen to take a zero tail pipe emissions approach by using a
hydrogen fuel cell plug-in electric design. A branch of the CSU EcoCar2 design team is the User
Interface Team. We are tasked with the challenge of connecting the vehicle operator to this
innovative design.
To accomplish this task we have taken a few approaches to ensure an enjoyable and safe
environment, while displaying the technical side of the car design as a whole. The design of the
interface includes deliverables required by the competition guidelines: control of the heating and
air condition system, AM/FM radio, and the display of competition required data (Battery
temperature, hydrogen pressure, etc.). We have also set goals to match the industry competition
by offering the user with an entertainment environment including: Bluetooth hands-free talk
capability, DVD/Blue-Ray viewing, back-up camera, GPS navigation, and Satellite radio. We are
currently in the final stages of putting our final design onto the embedded system that will
control these processes, and laying a foundation for next year’s user interface team to complete
the final tasks required by the project. Our initial approach was to use a trial and error design of
the interface but we have moved in another direction due to ordering conflicts of material and the
availability of new software. The new design uses a foundation program called Car2 that was
provided by an EcoCar sponsor company. We have built off and redesigned the image to
accurately fit the needs of the hydrogen fuel cell powered vehicle. The competition requirements
have changed throughout the semester as HVAC and radio controls have been removed from
year two’s responsibilities.
Looking at the products of industry leaders such as Chevy, Ford, and even high-end Tesla
models; we have laid the foundation for the teams design leading into next year, the last year of
the competition. Due to the availability of open source Graphical User Interface design
programs our current results confirm and even extend state-of-the-art proposals because of the
hydrogen fuel cell layout of the team’s vehicle.
2
Table of Contents
Abstract ........................................................................................................................................... 1
List of Figures ................................................................................................................................. 3
List of Tables .................................................................................................................................. 4
Chapter I: Introduction .................................................................................................................... 4
Chapter II: Background and Project Motivation ............................................................................. 7
2.1 Background of GUIs ............................................................................................................. 7
2.2 Industry Research Applications ............................................................................................ 8
2.3 Project Motivation .............................................................................................................. 11
Chapter III: GUI Technology........................................................................................................ 11
3.1 Freescale Processor Board .................................................................................................. 11
3.2 Touchscreens....................................................................................................................... 13
3.3 Software .............................................................................................................................. 15
Chapter IV: First Semester Progress ............................................................................................. 17
4.1 Semester One Progress ....................................................................................................... 17
4.2 First Semester Project Complications ................................................................................. 21
4.3 First Semester Issues ........................................................................................................... 21
Chapter V: Second Semester Progress .......................................................................................... 22
5.1 Semester Two Progress ....................................................................................................... 22
5.2 Semester Two Project Complications ................................................................................. 26
5.3 Current Status...................................................................................................................... 28
5.4 Future Work ........................................................................................................................ 28
Chapter VI: Marketability and Ethics ........................................................................................... 29
6.1 Marketability ....................................................................................................................... 29
6.2 Budget ................................................................................................................................. 30
6.3 Ethics................................................................................................................................... 30
Chapter VII: Conclusions ............................................................................................................. 33
7.1 Conclusion .......................................................................................................................... 33
Appendix A ................................................................................................................................... 34
Appendix B ................................................................................................................................... 34
Production Unit-Cost ............................................................................................................ 36
Appendix C ................................................................................................................................... 37
Acknowledgements ....................................................................................................................... 45
References ..................................................................................................................................... 46
3
List of Figures Figure 1: Industry User Interfaces, (a) Tesla Model S, (b) Chevy MyLink, (c) MyFord Touch ......................................... 8 Figure 2: Freesacle i.MX 6 Automotive Infotainment Board ........................................................................................ 12 Figure 3: Processor board with touchscreen ................................................................................................................ 14 Figure 4: Initial design layout ..................................................................................................................................... 17 Figure 5: Sub-menu design layouts .............................................................................................................................. 19 Figure 6: Main home screen design ............................................................................................................................. 19 Figure 7: Competition Data Display ............................................................................................................................. 23 Figure 8: New Radio Layout ......................................................................................................................................... 23 Figure 9: Application File System Flow Chart ............................................................................................................... 24 Figure 10: Resources File System Flow Chart ............................................................................................................... 25 Figure 11: Touchscreen Bezel Design ........................................................................................................................... 27
4
List of Tables Table 1: Different design options that were considered .............................................................................................. 18 Table 2: Proposed Budget ............................................................................................................................................ 34 Table 3: Total Expenditures for the Year ...................................................................................................................... 36
5
Chapter I: Introduction
With growing environmental concerns around the world, hybrid electric vehicles have
taken center stage in automobile technology. The Colorado State University “EcoCar2: Plugging
into the Future” design team is attempting to take hybrid electric vehicles to new heights with a
newly-developed hydrogen fuel cell plug-in hybrid electric design. EcoCar2 is a design
competition between 15 universities that challenges students to reduce the environmental impact
of a donated 2013 Chevrolet Malibu by General Motors. With new technological developments
come new challenges. In the user interface design group, our challenge is to create a friendly
infotainment environment in this hydrogen-electric powered vehicle by designing a graphical
user interface for the center stack console in our car. With new enhancements of the engine and
transmission as well as other components, new sensors and measurements are needed for a well
performing automobile. Graphical user interfaces (GUI) and human machine interfaces (HMI)
surround our everyday lives in cell phones, TVs, computers, and are now being placed in our
modes of transportation. The human machine interface enables a human to control the hardware
in a machine, while a GUI is the software that makes this control easy and user friendly for the
everyday individual. With the advancement of embedded systems, GUIs have become the focus
of some of the most powerful companies in the world like Apple, Google and Microsoft. Users
are able to accomplish more with less.
These days, many of the industry’s top hybrid electric vehicles have incorporated touch
screen graphical user interface systems that offer the operator many different options. These
options can include hands-free Bluetooth capability, satellite radio, DVD/Blue-Ray viewing,
GPS navigation, back-up cameras, and economic functions. Our goal is to incorporate as many
of these ideas into our design as our deadlines and finances see fit. We are motivated by many
6
different examples that we have researched: the MyFord Touch, the Tesla Model S, and the
Chevy MyLink. These three different interfaces bring separate positive qualities to the table and
provided us with information as to how automobile GUIs work, and have given us many ideas
that we have considered in including in our design. Since GUIs have only been implemented in
cars for around ten years, there is still room for us to develop new features as well.
While touch screen GUIs have broken into the automobile industry, our challenge is to
incorporate a parallel system to that of the industry leaders such as GM, Toyota, Honda, Audi,
and Mercedes in the team’s new hydrogen fuel cell design. Our interface needs to be able to
control the cars basic features: Heating, Ventilation, and Air Condition system (HVAC), and the
AM/FM radio. The competition also requires that we output basic information about hydrogen
levels of the vehicle, economic statistics about the ride, and any other important information that
we feel are necessary to the operator of the vehicle. These deliverables are the major priorities of
our group, but adding extra features to the interface on top of these deliverables is our goal. We
will be performing these functions through a donated embedded system from Freescale called the
IMX.6 Automobile Infotainment board. This system is coupled with a large touch screen
replacing the entire existing center stack console in the Malibu as well as other touch screens that
may be added throughout the car. With these components the consumer has the capability to
have the ultimate driving and entertainment experience. [2]
This report is divided into chapters. Chapter 2 describes the background and history of
GUIs in automobiles. Chapter 3 contains information about the components and software that is
being used throughout the project. Chapter 4 presents a description of the work that has been
completed, the work that was accomplished in the first semester of the project, as well as the
problems that we had to face. Chapter 5 presents the work that is currently taking place as well
7
as the work that was completed throughout the second semester. Chapter 6 describes the
marketability of the project, our budget for the year, and the various ethical issues that we had to
account for. Chapter 7 contains the conclusions of our work for the year, as well as plans for
future groups.
Chapter II: Background and Project Motivation
2.1 Background of GUIs
Graphical user interfaces have been around since the first computers were introduced in
the 1950s and 60s. However, only until recently has this extremely convenient and effective
software broken into the automotive industry. Due to the complexity of modern day vehicles, the
everyday individual needed a simple way to control the multifaceted abilities of their automobile.
It has since been one of the most integral components in cars rolling through assembly lines and
onto the streets. User interfaces in automobiles began with simple features like integrated MP3
player capability and GPS, but have grown into powerful computers with infinite features and
functions that fit into the dashboard of the car. With the development of wireless technology and
smartphones, consumers have a rising need to be “connected” to the world at all times. Recently,
a few of the world’s largest automobile producers have released extremely diverse GUIs into
their newer models.
Fords models have been released with the MyFord Touch system which attempts to
integrate the daily needs of consumers while trying to keep the drivers hands on the wheel. This
system is equipped with hands-free calling, satellite radio, GPS, and even the internet. Chevy’s
MyLink System comes with the same features in its vehicles. The electric automotive company
of Tesla came out with a user interface with a touch screen GUI that has twice the screen area of
the MyFord Touch and MyLink, and controls nearly everything in the car. With these designs we
8
were able to explore the different options that we can include in our design, as well as check the
feasibility of others.
2.2 Industry Research Applications
The feasibility of our user interface project was determined by assessing previous vehicle
UI’s and reviewing consumer and agencies’ opinions of features. Using this assessment, we
compared our own design to popular automotive industry designs. The three designs we focused
on were the stock Chevrolet Malibu GUI already installed in our vehicle, the MyFord Touch
system, and the Tesla Model S GUI. Seeing as these designs had various industry standards to
abide by, we thought these user interface systems were suitable for comparison.
Over the years, the MyFord Touch system has been accumulating poor approval ratings
from customers because it did not prove to be user friendly. Even though recent updates to the
(a)
(b)
(c)
Figure 1: Industry User Interfaces, (a) Tesla Model S, (b) Chevy MyLink, (c) MyFord Touch
9
system have seen increasing numbers of user approval ratings, the original model is a good start
for analyzing poor user interface design. Thanks to a representative at Mercedes-Benz, this
particular example of poor design was brought to our attention. The main problems with this
design are ease of access to core commands, distraction to the driver, and reliability of correct
menu buttons being pressed. The MyFord Touch system’s most common complaint from
consumers was the difficulty in performing simple tasks. For example, operating the climate or
volume controls was problematic. With our design, we are most likely restricted from physical
knobs. Our proposed touch panel will include the majority of the center console including
HVAC and radio controls. Since we do not want to make the same mistakes, the analysis of
these different problems was beneficial to our team. [4]
The next system we analyzed was the Chevy MyLink system which we uninstalled from
our 2013 Chevy Malibu. At first look, this system seemed very user friendly and easy to use.
When we first received the car, we had the opportunity of seeing how the features of the Chevy
MyLink worked. As far as the industry is concerned, the MyLink system received far better
reviews compared to the MyFord Touch user interface. The old Chevrolet user interface system
did not receive the best rankings and customers complained about how the buttons were too
small and were hard to locate conveniently. Chevy also received complaints about how the
system had so many buttons and functions that it was difficult to find the right function in the
appropriate amount of time. [6] They took these different complaints to heart when they
designed the new Chevy MyLink GUI. When designing the new system, the engineers took a
more minimalistic approach. They decided that any function not absolutely needed in the overall
function of the user interface system could be discarded. This design approach proved to be very
successful and both the industry professionals and customers loved the simplicity of the design
10
and the reviews showed it. Even the writers over at CNET Reviews described the new design as
“overwhelmingly simple.” Even though some of the functionality had been diminished, for
example, the CD player was removed; consumers thought the new design was much better than
the old Chevy system. Our user interface team learned from the design engineers at Chevy. We
wanted to implement a minimalistic design which would create a pleasing user experience. In
our design, minimalism was accomplished by simply reducing the screen clutter and creating a
submenu layout which is easy to navigate. [5]
Another industry design which approached this minimalistic view is the new Tesla Model
S user interface system. The Tesla Motors car company is one of the top innovators in the
electric car industry. They are known for creating luxury electric cars which have the looks and
appeal of an Aston Martin, not to mention speed. The performance models can go 0 – 60mph in
just under four and a half seconds. The user interface of the new Model S received raving
reviews from consumers and professionals. This is a rare accomplishment considering the GUI
system is completely touchscreen based. There aren’t any physical knobs or buttons. All primary
functions including climate control, audio, and navigation are all on the touchscreen itself. The
design achieves a simplistic approach, is very user friendly, and keeps the driver safe with large
buttons and intuitional menu layouts. The Tesla Model S user interface is the GUI that our team
wanted to base our model off of considering it achieves everything we want it to achieve with
simplicity and safety in mind. Also, like our user interface, the Tesla GUI is completely
touchscreen based. Hopefully by the end of the project, our user interface will have these aspects
implemented into our design. Throughout the design process, we will constantly be comparing
our design to the design of the Model S. [3]
11
2.3 Project Motivation
The motivation for our group is to incorporate all of the best designs from these
manufacturers and integrate them with the state of the art hydrogen fuel cell plug-in electric
design. We want to bridge the gap between the complexities of the hydrogen fuel cell vehicle
and the typical consumer driving it. We are driven by the growing need for the users to
constantly be connected to everyone around them, and to be able to contribute to such an
inventive project as a whole energizes us to create an innovative product. With the hybrid-
electric car industry becoming a major contributor to reducing greenhouse gas and tail pipe
emissions, our portion of the design will show the user exactly what they’re doing to reduce their
carbon footprint.
Chapter III: GUI Technology
3.1 Freescale Processor Board
The work horse behind our user interface team’s design is one of the latest and greatest
applications processor boards from Freescale technologies. The i.MX processor family is
extremely versatile and has many different applications. This board platform is typically used
or multimedia and display applications. The processor hardware is based on Advanced RISC
Machine (ARM) technology for an optimal balance of power, performance, and integration. The
various i.MX solutions include processors based on ARM9, ARM11, ARM Cortex-A8, and
ARM Cortex-A9 core technologies. These processors are powering applications across a rapidly
growing number of consumer, automotive, and industrial markets. The i.MX processor family
can be used for automotive, consumer, industrial, medical, and networking applications.
12
The specific board we are using is called the i.MX6 Quad Applications Processor board.
It contains the capabilities that we need to maximize user satisfaction. It features an ARM
Cortex-A9 NEON MPE (Media Processing Engine) quad-core processor with up to 1.2GHz of
processing power per core. They include 2D and 3D graphics processors, 3D 1080p video
processing, and integrated power management. Each processor includes a 64-bit memory
interface and a number of other interfaces for connecting third party peripherals including
wireless local area network (WLAN), Bluetooth, GPS, hard drive, displays, and camera sensors.
The board has many other features that will be very useful for our team. The multilevel
memory system of each processor is based on powerful layered data caches and internal and
external memory. The processors support many different types of external memory devices with
some including: double data rate type three (DDR3), flash (both NAND and NOR), and cellular
random access memory (RAM). The processors are also equipped with smart speed technology.
This power management technology enables optimum flow of multimedia features while
Figure 2: Freesacle i.MX 6 Automotive Infotainment Board
13
consuming a minimum amount of power. Considering our vehicle is powered by electricity it is
essential that we try to minimize power consumption while maximizing user satisfaction. With
that said, the processors also have the ability of dynamic voltage and frequency scaling. This
improves the power efficiency of devices by scaling the voltage and frequency to optimize
performance. The powerful graphics processing will be helpful for displaying on multiple
screens simultaneously. Each processor provides three independent, integrated graphics
processing units including both 2D and 3D graphics accelerators.
The i.MX6 board has many different types of connections which will prove beneficial in
creating the ultimate user experience. Each processor supports connections to a variety of
different interfaces including an LCD controller for up to four displays, CMOS sensor interface,
high-speed USB, multiple high-speed expansion card ports (secure digital input output), Ethernet
controller port, and a variety of other popular interfaces (universal asynchronous
receiver/transmitter [UART]).
The board features ports for automotive environments. One of the most important input
ports on the board is the controller area network (CAN) port. Historically, the CAN bus was
originally designed for automotive applications and allows processor controllers and devices to
communicate with each other inside a vehicle without a host computer. This port communicates
with the Chevy Malibu’s heating ventilation and air-conditioning (HVAC) control system and
will allow us to control the climate inside the car. It also has an asynchronous sample rate
converter for multichannel and multisource audio. [1]
3.2 Touchscreens
The in-dash touchscreen will be the main interface between the user and the audio,
HVAC system, radio, GPS, etc. Thankfully, Freescale gave us, along with our processor board,
14
a 10.1 inch touchscreen to simulate display outputs and inputs. The touchscreen connects
directly into the board and does not require any external power source. This is the touchscreen
that we used in our final design and was installed in the car.
One of our original goals for our infotainment system was to have two touchscreens
mounted to the back of the driver
seat and the passenger seat for
rear vehicle entertainment.
However, due to time constraints
this goal will be a project for next
year’s user interface team.
Immersion Corporation
generously donated three
touchscreens to the user interface
group which will eventually be installed in the rear seats. Each touchscreen boasts an 8.4-inch
LCD monitor equipped with Immersion’s TouchSense technology. Instead of using typical
capacitive technology, the screen uses resistive technology which senses resistive touch when
pressed. TouchSense technology includes what is called haptic feedback. This is a tactile
feedback technology which signals the user when the screen has been pressed through vibration.
In simpler terms, when the screen is pushed it gives the user a sensation that the virtual onscreen
button presses and releases. Along with the touchscreens, Immersion supplied our team with a
demonstration software program to give us a feel of how we might implement the screens in our
vehicle. Four demonstration programs were included. The Automotive Controls demonstration
simulated audio, climate, phone, and navigation systems. The Sample Effects demonstration
Figure 3: Processor board with touchscreen
15
allowed our team to explore the range of tactile sensations that are possible with Immersion’s
TouchSense technology. After exploring these two demonstrations, our team realized we could
use the screens for much more than just displays. The other two demonstrations were
superfluous and were not necessarily needed. These screens have the ability to add more
versatility to the car rather than simply displaying a movie. For example, the rear seat
passengers would have audio browsing options, web-surfing capabilities, etc. Some
specifications of the Immersion touchscreen include the following: Heavy duty steel chassis,
standard panel mounting, video graphics array (VGA) input, USB communications port, rear
access on-screen display (OSD) buttons, and wide viewing angles.
3.3 Software
Graphical user interface layout is extremely important in designing automotive user
interfaces and requires powerful, specialized software programs to develop. In the automotive
industry, one of the goals a GUI designer is faced with is creating a menu layout which
minimizes driver distraction and is both efficient and user friendly. Our team has done extensive
research on which program to use and ended up narrowing it down between three software tools.
The first software tool we considered using is called Qt. Qt is a full development
framework with tools to design user interfaces for embedded systems and mobile platforms. One
of the tools included is the Qt Creator Integrated Development Environment (IDE). This tool
will provide us with the means to create a user interface. It is specifically tailored for user
interface designers and is actually used to create some GUIs in the automotive industry. Qt will
allow us to develop animated UIs using QML (Qt Meta Language [similar to C++]). Some of the
features include the following: C++ and JavaScript code editor, integrated UI designer, project
16
and build management tools, support for version control, a mobile UI simulator, and support for
mobile platforms. [7]
The second software we considered using is Mentor Embedded Inflexion UI created by
Mentor Graphics. This software would enable our group to build GUIs with reduced effort
considering there is not any programming involved with the initial fabrication process. It offers
support for the embedded Linux system we will be running on our board. The Inflexion software
program uses a drag-and-drop approach to implement a user interface. It has proven to make full
use of the graphics accelerator embedded in our i.MX6 processor board using 2D, 2.5D, and
even 3D menu effects. [8]
The Qt and Inflexion software tools each have their own benefits and downfalls. One
benefit of Qt is the ability to completely customize each aspect of the GUI by coding table ratios
and spacing. Inflexion simply does not have this flexibility since it is not code based. However,
because Inflexion is not code based but more drag-and-drop based, it is a benefit because the
program is user friendly. Not only is Inflexion user friendly but it saves our team time and will
allow us to manage our time more efficiently. Instead of sitting in front of a screen all day
coding our GUI, we can spend our time and focus on other facets of the project as well. Take for
example, analyzing CAN bus signals, testing, coding the Linux embedded file system, etc. The
inflexion software also features a runtime tool. This tool will allow us to simulate the GUI’s
menus and behavior. One last convenience of Inflexion is that it is optimized for full 3D effects
with animations without additional hardware or software. We want our display use the full
potential of our board and run 3D graphics so that the user will have an aesthetically pleasing
experience. Coding a 3D model in Qt would be tremendously time consuming and is feasibly
impossible considering our team’s experience in C++ and time constraint.
17
The third software tool that was considered and used was QNX Car2 software. This
software was provided by QNX through the EcoCar program. QNX generously provided the
source code to a foundational image that runs on the Freescale boards. Due to the infancy of
hydrogen fuel cell powered vehicles our team will have to redesign many of the menus to apply
them to our vehicles design.
Chapter IV: First Semester Progress
4.1 Semester One Progress
Our halfway point progress was met with many challenges. Unfortunately, many of these
challenges were out of our control. Many of our sponsors were to provide us with the necessary
equipment needed to start the project in September. However, due to the fact that many of the
EcoCar2 teams would not have a user interface development team until the final year (this is the
second year of three) of the competition, this deadline was moved back to November. Due to
Figure 4: Initial design layout
18
these difficulties, our group placed most of the focus on the concept development stage of our
design and coding research.
Our original process was to design the user interface through trial and error due to the
ability of GUI design software, like QT or Inflexion, to easily change the layout of the display.
However, due to the lack of the correct hardware needed to properly utilize this process we
decided to design the layouts while we wait to receive the hardware. Using Photoshop and
Illustrator, we designed the separate windows for our GUI after examining the interfaces from
the MyFord Touch, the Tesla Model S, and the Chevy MyLink. Figure (4) shows an initial
design layout that was used as a foundation to our final design. Due to the area of the touch
screen that we are going to receive, we have the ability to display many of the cars features on a
designated “home screen” much like in a smartphone. The display will be divided into
segments, with the navigation panel and menu panel remaining constant throughout the multiple
menus and sub menus that the design will offer. Our design is based on the idea of looking
elegant, but remaining simple to
cut down on driver distractions for
safety. The driving force behind
our design is based upon multiple
concepts that we feel will make
our design extremely feasible and
user friendly: Minimal driver
distraction, minimal time to
navigate the menus, simple, and
aesthetically pleasing to use.
Table 1: Different design options that were considered
19
We’ve researched many different options for each of the features that we would like to make
available to the consumer. Table(1) shows the diverse set of possibilities that we can use to
achieve our goals and succeed in the industry.
The design that we finalized as our goal to integrate
into the system is shown in Figure (6). The menu buttons on
the bottom of the screen as well as the GPS navigation and
time panes on the top will remain throughout the design as the
user switches to different sub-menus. The black region in this
screen is the location of these sub-menus. Sub-menus that we
feel are necessary for the automobile are: energy usage,
AM/FM tuner, auxiliary music, HVAC and climate controls,
and hands-free Bluetooth calling, along with many others.
Figure (7) shows four mock-ups of the design of these smaller
Figure 5: Main home screen
design
Figure 6: Sub-menu design layouts
(a) (b) (c) (d)
20
menus. Part (a) in the figure shows the radio controls menu and auxiliary entertainment menu,
(b) illustrates the climate control sub-menu, (c) illustrates the hydrogen fuel cell and battery level
menu, and (d) displays the hands-free phone menu.
Once the design portion of the project was completed we turned our attention to getting
the required hardware so we could start on the programming portion of the project. After a
number of phone calls to our sponsors we decided to use a part of our budget to purchase the
Freescale i.MX6 Automobile Infotainment board that we needed to begin the preliminary
programming steps. Since we received one of these boards from our sponsors in the second
semester, we had two at our disposal to give our interface more processing power and
possibilities.
Before we could get started on the programming portion, all of the necessary software
needed to be downloaded, installed, and tested on the computer. Dr. Bradley was kind enough to
supply us with a computer that we could use as a designated host machine for the project. After
removing Windows and installing a Linux operating system called Ubuntu, we began to
download the necessary drivers to perform the work that we needed. One of the tools that we
needed for the project was a Linux Based Target Builder (LTIB), which allows us to do all of the
programming on a computer and write an image to an SD card that can be mounted in the i.MX6.
This proved to be more difficult than expected. After many reboots and dead-end debugging we
found that the Freescale LTIB that we were using was not compatible with the newest versions
of Ubuntu. After downgrading to Ubuntu version 11.10 we were able to correctly install the
program. Earlier in the year, Freescale offered a free training seminar to students on building
Linux kernels and using them in their embedded systems. In the seminar a Freescale
representative took the group through a series of labs that taught us how to boot the i.MX6 with a
21
precompiled image, build LTIB, use a universal boot loader, compile Linux kernels, and load a
Qt development demo. Much of the GUI development software is based on the C++ language.
However, none of us are well versed in C++ driven programming. So the first seminar proved
extremely valuable to our team, and set us up to hit the ground running into 2013.
4.2 First Semester Project Complications
As stated in the previous section, the major source of concern for the first semester was
receiving the components, mainly the touch screen, which was to be provided to us before the
competition-wide car inspection deadline in March 2013. The delay in receiving the i.MX 6
board was a major issue in the development of the project, which is why we decided to use some
of our budget (Appendix B) and eat the cost of purchasing the board. Since we waited until the
initial November delivery date before we decided to pull the trigger on this decision, certain
areas of our project timeline were pushed back to account for the wait period. We were in
constant contact with a GUI developer from Mentor Graphics about their Inflexion software.
This software would have saved us the hassle and time of having to program the foundation of
the board and simplify the task to a basic drag-and-drop option.
Another situation that we had to deal with was driver distractions and safety issues.
While we felt our GUI design was less of a distraction than many of the leading manufacturers, it
was still cause for concern. There are a large number of standards involving vehicle displays our
GUI must abide by. The current layout follows all of these standards but we needed to continue
to check these standards as the GUI is developed on the board.
4.3 First Semester Issues
22
Throughout the latter end of the first semester of the project we experienced issues with
installing the LTIB driver as described in previous sections. While we seemed to have solved the
problem by downloading an older version of the Ubuntu operating system, we saw this issue
reoccurring as the project developed. Since most of the software we’re using is open source
software, there is always the chance that it has bugs.
Towards the end of the first semester we received word from the project sponsors that
QNX, a user interface programming company, joined the project as a sponsor and would be
providing us with a foundation to our graphical user interface as well as their coding software.
This proved to be the solution to many of our problems in the first semester, but also opened up
new doors for more. This software is described in the next chapter.
Chapter V: Second Semester Progress
5.1 Semester Two Progress
Semester two was filled with much frustration, hard work, communication, teamwork,
and determination. Our team knew that it was time to buckle down since the rest of the EcoCar
team was counting on us for the competition. At the beginning of the semester, our team sat
down and had a meeting about who would be tackling which part of the project.
23
The project was broken down into four main parts: project management, bezel design,
wiring and amplification, and
GUI image programming. The
project manager would be taking
care of managing the team and
making sure everyone was up to
date with each other. He was
also in charge of communicating
with QNX for receiving our base
source code and talking to them
about debugging and other problems with the project. The bezel designer was in charge of
designing the bezel using a Computer Automated Designer (CAD) program and also
communicating with the 3D printing office on campus considering our bezel was printed with a
3D printer. The next part was the wiring the inside of the vehicle and also using an amplifier to
get the desired amount of sound amplification. The last part was programming the GUI and
moving around/modifying code for an enjoyable user interface experience.
The beginning of the semester came off to a slow start despite the team’s high ambition
to get going on the project.
Once the base source code
was provided to us by QNX
and the Software
Development Platform (SDP)
called QNX Car2, we got a
Figure 6: New Radio Layout
Figure 5: Competition Data Display
24
workable image running on the screen as seen in Figure 8. The image was equipped with a home
screen, radio/music menu, settings menu, a phone menu, navigation menu, and even an apps
menu. We modified the code to include an EcoCar menu which showed the user the required
competition data including battery charge, battery temperature, battery current, hydrogen
pressure, and hydrogen temperature.
The QNX Car2 SDP is an application platform designed to allow rapid development of
infotainment systems. This software along with a partially finished environment was generously
donate to the UI team by QNX. Using the provided environment, a customized user experience
was created. Considering our team had a small amount of time between the competition and
receiving the software, our main focus was to create the menu which had all the required
competition data.
Figure 7: Application File System Flow Chart
25
One of the biggest learning points for our team was understanding how a file system is
structured. Because of the vast complexity of the file system in the provided Car2 image, our
team took some time to learn how this system worked and even got some help from
representatives at QNX.
Navigating to the apps/ folder, there are 21 folders inside, each representing an
application that can be accessed when the environment is running (refer to Figure 8). Under each
folder are two sub-folders, META-INF/ and native/. META-INF/ contains a .bbr and .MF file
which affect core processes of the program and are therefore left alone. Native/, however,
contains all of the files we wish to edit for a customized environment. The files directly under
native/ define other files to include for the app and general formatting structures which can be
Figure 8: Resources File System Flow Chart
26
applied to specific javascripts in sub-folders.
One step further, into the resources/ folder (, the easiest customization is available. The
img/ folder contains the images referenced in the .css and .scss files. By switching the stock
images with newer, custom images, and retaining the original name, it is possible to alter the
appearance of a screen without sorting through layers of coding.
The css/ and scss/ folders contain the cascading stylesheets that define the formatting for
the application screen. For example, a picture used as a button is saved in the img/ folder, but the
placement and orientation of that picture is defined in a .scss file. The actions performed by the
button are also defined in a .js file.
5.2 Semester Two Project Complications
One of the main project complications that we ran into was actually receiving our Car2
image from QNX. QNX communicated to our team that we would be receiving the image and
the software development platform immediately after the winter workshop (January). However,
due to complications and other delays, we did not receive the software until February. Although
we had the donated software in our hands and ready to use, we could not touch it until everything
was cleared by CSU’s legal department and they had reviewed and accepted the contract. Due to
the CSU’s legal department being somewhat slow, it took approximately another month of
waiting till we could actually get our hands on it. We didn’t actually get to start working on the
image until March 17th
. Once we finally received our image it was crunch time.
Another project complication that our team ran into was getting the controller area
network (CAN) signals to function and output properly. At first we had trouble installing the
driver into the image. After sifting through QNX community forums, we finally found the
correct CAN driver to install into the image and which file to put the driver in. We had to un-
27
mount the image from the SD card to properly install the driver because the file system was a
read-only file system. Once this was accomplished, we had to learn how to send and receive
signals within the driver itself. This was achieved using various Linux commands to send and
receive CAN messages within the board itself.
One other complication our team ran into was designing the bezel. The 3D printer on
campus was not large enough to print what our team needed. Fortunately, while we were still in
the designing process of the bezel, CSU received a new 3D printer which allowed us to
successfully print our bezel in two pieces. Our first prototype bezel that we printed lacked
resolution and structural stability. In fact, while playing around with the prototype, a team
member accidentally broke off a piece of the prototype. However, our final design was
structurally stable and fully functional. A picture of our design can be found in the figures below.
Figure 9: Touchscreen Bezel Design
28
5.3 Current Status
Currently, our team is in a great spot and has set up year three’s team to succeed. We
have installed the needed CAN drivers into the image, programmed the screen to output different
values required by the competition as mentioned earlier in the paper, designed the bezel that the
screen will fit into (ultimately being integrated into the vehicle), established a working
relationship with some representatives at QNX, and installed both the needed wiring and
amplifier which will power the speakers. The coding that we built will be easily viewed and
understood by next year’s team. Also, the file system on the T drive is set up so that files can be
easily accessed and understood by anyone who views the files. The car is just about ready to be
shipped to Yuma, AZ where part one of the second year’s competitions will be held. The second
part of the competition will be held in California.
5.4 Future Work
Throughout the semester the EcoCar2 user interface team focused on goals that were
required by the competition, and set most of our own goals aside until these goals were
completed. Due to the nature of the competition we knew that there is still a year left to tweak
and better the design that we have set forth.
For year three of the EcoCar2 competition and year two of the User Interface team, there
are still a lot of goals that need to be achieved. If CAN signals are still unable to be
communicated from the Controls team onto the QNX Car2 platform, this is a major component
to year three’s objectives. While CAN signals can be displayed on an external image, the Car2
platform will enhance the users experience and make the data much more user friendly to read.
Another competition deliverable that was delayed from this year is being able to control the car’s
heating ventilation and air conditioning system. Since this is controlled through the same CAN
29
bus that the competition data is transferred through, this should be a quick deliverable to meet
once the CAN signals can communicate in the Car2 platform. Car2 already has an HVAC user
interface ready to handle HVAC controls.
The other parts of the project that need to be enhanced is the over entertainment value of
the system. Extra touchscreens have been purchased for the rear seats, as well as an extra
Freescale i.MX 6 processor board. With this availability, a rear entertainment system can be
installed for the passengers in the rear. Using a Linux kernel and an open source media system
called XBMC is one recommendation that we would give to next year’s group. There is even
Linux kernels ready to be set up with this program; we just didn’t have the time to design bezels
for the rear screens.
Chapter VI: Marketability and Ethics
6.1 Marketability
In the field of engineering, marketability is one of the main motives that drive an
engineer to fabricate a flawless product. If the product you are making is not marketable then
there is not any money to be made. For our specific project, we wanted to make sure our product
was not only applicable to the automotive industry but to other industries as well. At first look, a
vehicle user interface seems to be only applicable to the automotive industry. However, a user
interface can be applied to much more than simply a vehicle. The design concepts of a GUI
system can be used in industrial applications, roller coaster operations, large machinery, and
basically anything else that requires a human to machine interface. Obviously, our design
includes simplicity and large buttons to minimize distraction which is very applicable for the
automotive industry. The user friendliness of our GUI system can be easily applied to the
30
aforementioned applications. Who knows, a representative of Disneyland could see the user
friendliness of our design and hire us for a rollercoaster operations user interface project. The
design implications of user interface are limitless.
6.2 Budget
The budget that was approved by our project advisor for this project was five thousand
dollars. Throughout the project we ran into many separate issues that required us to spend money
on items that weren’t in our proposed budget. However, we still came in way under our proposed
budget due to donations of software and hardware. Our total expenditures for the year came in at
just over 2,600 dollars. The proposed and actual budget is shown in Appendix B.
6.3 Ethics
Ethics is becoming more and more important in the engineering world especially in the
fields of mechanical and civil engineering. Whether you like it or not, the work of engineers has
a direct effect on people. Take for example, a team of civil engineers who build a bridge. These
engineers are normal, everyday citizens yet are responsible for the numerous amounts of people
who cross that bridge. As a user interface team, we are responsible for many peoples’ lives. Not
only are we responsible for the driver of the EcoCar but other drivers on the road as well. At 75
miles per hour, one glance down at the radio is the equivalent of driving the length of a football
field and a lot can happen in the span of a football field. This is why we have the responsibility
of keeping the driver safe by reducing distraction. Our team is not willing to take shortcuts on
design to compromise driver safety.
The code of ethics was extremely important to us when we were designing both the
actual EcoCar and the user interface. As seniors, we need to be sensitive to rules of ethics as we
31
transition from homework, tests, and group projects to million dollar assignments and other
projects which will affect the general public. The state of mind of a professional engineer has to
take into account the code of ethics and also has to constantly keep in mind that their work could
possibly have the chance of putting the safety of a law abiding citizen into jeopardy. Our senior
design project specifically has to take into account this code of ethics. We are designing a user
interface center stack console which has the potential of putting drivers at risk of serious injury
or even death if not designed properly and carefully.
The main priorities of our design are keeping our users safe and providing the user with a
pleasurable user interface experience. To keep our users safe, our user interface team conducted
extensive research on driver distraction studies and came up with a few different graphical user
interface designs to see which ones would maximize attention to the road and minimize driver
distraction. At first, our team wanted to maximize the user interface experience for the driver by
adding many different menus, options, buttons, gizmos, and gadgets, and designing a flashy
graphical user interface which would make the screen aesthetically pleasing. Once our team
realized that this design proved to be dangerous, we decided to change the layout of the design
and proposed a design which had simplicity in mind minimizing driver distraction and improving
driver safety. After the very first prototype our team designed, I feel like our team really grasped
the concept of driver safety and came to a real appreciation of making our design ethically
sound.
Another part of the design of the car as a whole that the EcoCar2 team had to ethically
consider was the three relatively large hydrogen tanks inside the vehicle. Our whole team is
creating a car which has virtually zero tailpipe emissions by combining electric battery energy
and fuel cell energy. The safety of both our team and the driver of the car is the top priority of
32
our team. The hydrogen tanks inside the vehicle were strategically and ethically placed toward
the back of the vehicle which keeps the driver safer in the case of an accident. Our team took into
consideration that hydrogen is extremely flammable. Thus we wanted to keep the tanks as far
away from the driver as our design would allow.
During the actual building of our team’s car, we did not want to put any team members’
safety into jeopardy. The whole EcoCar2 team went through rigorous safety training exercises
and was educated about different safety practices. We were taught not to take shortcuts both in
the engineering design of the vehicle and the actual building of the vehicle. This included wiring
shortcuts, welding shortcuts, etc. Not only has our team met national safety standards but we
have exceeded them. The safety committee of the competition even took a trip out to Fort
Collins, Colorado to come visit our facility and judge both our facility and our vehicle to make
sure we were meeting safety standards and practicing safe building and engineering techniques.
Our team succeeded with flying colors and received honorable marks from the judges.
Ethics plays a huge part in both the professional world of engineering and the academia
world of engineering. As engineers we need to make a collaborative effort in following the
National Society of Professional Engineers’ code of ethics. In doing so, engineers both
professionally and academically can make the world a better and safer place. Our EcoCar2 team
has high hopes of following this code by watching each other’s backs and making sure our
design is up to code and keeping everyone safe.
33
Chapter VII: Conclusions
7.1 Conclusion
Throughout this year, we have overcome many obstacles and learned how to adjust
problems that may not be in our hands to control. While we had to shift some of our tasks and
deadlines back, we were able to accomplish many of the tasks that we set out to do. We are
confident that we contributed to the entire team to the best of our ability and are anxious to see
the final product come next spring. At this point we are excited to show the vehicle off at the
EcoCar2 year two competitions. We are prepared for other hold backs throughout the judging
process, but are taking steps to limit them. This project will be ready to demonstrate how vital
GUIs are to the automotive industry’s future.
34
Appendix A
1. GUI…… Graphical User Interface
2. HMI…... Human Machine Interface
3. HVAC…Heating, Ventilation, and Air Condition system
4. UI……...User Interface
5. ARM…. Advanced RISC Machine
6. MPE……Media Processing Engine
7. WLAN…Wireless Local Area network
8. DDR3….Double Data Rate Type Three
9. RAM…. Random Access Memory
10. UART…Universal Asynchronous Receiver/Transmitter
11. CAN……Controller Area Network
12. VGA……Video Graphics Array
13. OSD……On-screen Display
14. QML…..Qt Meta Language
15. LTIB…. Linux Target Image Builder
Appendix B
Proposed Budget Table 2: Proposed Budget
EcoCar 2 User Interface Team Budget
iMX Platform
Min Price Max Price
Starter Kit
$0.00 $0.00
iMX Add-Ons
Bluetooth Module $50.00 $150.00
GPS Module $50.00 $200.00
WiFi Module $100.00 $200.00
XM Module $100.00 $150.00
Yearly Cost $150.00 $200.00
Host Computer $400.00 $700.00
Wiring $50.00 $100.00
Misc. $50.00 $50.00
iMX Add-Ons Totals $950.00 $1,750.00
Car Add-Ons
Disk Drive
CD/DVD/Blue-Ray $200.00 $400.00
CD/DVD $100.00 $200.00
Seat Monitors $150.00 $250.00
Wiring $25.00 $25.00
35
Misc.
Second Touch Screen Mount $50.00 $100.00
Wiring $25.00 $50.00
Misc. $25.00 $25.00
Microphones (2)
Wiring
Car Add-Ons Totals $575.00 $1,050.00
Car Requirements
Hydrogen Meters $0.00 $0.00
Battery Meter $0.00 $0.00
Car Requirements Totals
SWAG Add-Ons
Playstation 3 or Xbox 360 $250.00 $350.00
Controllers (2) $50.00 $100.00
Game $20.00 $60.00
Mounting $50.00 $50.00
Wireless Internet Capabalitites $0.00 $100.00
Price/Year $35.00 $60.00
MISC. Overhead $1,000.00 $1,000.00
SWAG Add-Ons Totals $1,405.00 $1,720.00
Car Totals $2,930.00 $4,520.00
36
Table 3: Total Expenditures for the Year
Production Unit-Cost
Date Part Description Cost Vendor
Bezel
4/2/2013 Bezel support rods $26.28 McMaster-Carr
4/22/2013 3D-Printed Bezel $649.85 Colorado State University
Bezel Total: $676.13
Audio
3/21/2013 Kicker Amp installation kit $169.95 Sonic Electronix
3/21/2013 Infinity Audio Amp $289.99 Sonic Electronix
3/21/2013 Metra GMLAN wiring harness $31.99 Sonic Electronix
Audio Total: $491.93
Communications
2/6/2013 GPS receiver $35.95 Amazon
2/7/2013 Wi-fi Radio Card $76.99 Mouser Electronics
4/6/2013 Wireless router $102.98 Newegg
4/11/2013 Cellular Router $378.64 Express Systems
Communications Total: $594.56
Touchscreen Hardware/ Wiring
2/14/2013 VGA splitter cable $12.99 Newegg
3/3/2013 100-ft Cat 5 cable and 20 RJ45N $28.45 The Home Depot
3/5/2013 Power cables $12.40 Mountain State Electronics
3/7/2013 6-wire ribbon cord $10.80 Mountain State Electronics
3/14/2013 Picoblade connecion port $20.81 New Generation Hobbies
3/22/2013 Touch screen USB cable $42.51 Digi-Key
3/29/2013 Power supply cord $34.43 Jameco
4/8/2013 Wire Splitter $3.14 Newegg
4/9/2013 Touchscreen $544.56 Digi-Key
Touchscreen/Wiring Total: $721.06
Programming Accessories
2/8/2013 HDMI to AV converter $36.28 Amazon
2/14/2013 USB cable converters $39.57 Newegg
2/14/2013 Compact VGA cable $24.97 Newegg
3/21/2013 USB cable $32.86 Digi-Key
Programming Accessories Total: $317.64
Total per Unit: $2,606.39
37
Appendix C
Timeline 8/20/2012 (Original)
38
39
Timeline Update 10/9/12
40
Term 2 Timeline (Planned)
41
Updated Timeline 2/1/13
42
43
44
Updated Timeline 4/15/13
45
Acknowledgements
We’d first like to thank our sponsors GM, The Department of Energy, Argonne National
Laboratories, Freescale, A123 Systems, Immersion, QNX, and many more for providing us with
the resources we need to work on such a high caliber project. We’d also like to thank Dr. Bradley
for his continued help and support throughout the process. Our graduate assistants, Jake Bucher
and Shawn Salisbury, have been a vital resource to the project. Last, we’d like to thank our
mechanical engineering group members for their help throughout the project.
46
References
[1] Freescale. Accessed September 5, 2012. Available:
http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=IMX6_FAMILY
[2] EcoCAR 2. Accessed September 5, 2012. Available: http://www.ecocar2.org/about-
ecocar2
[3] W. Cunningham. (2011, Oct. 4). A glimpse at the future in Tesla’s Model S Beta 1
[online]. Available: http://www.cbsnews.com
[4] E. Evarts. (2012, Aug. 22). Why the MyFord Touch control system stinks [online].
Available: http://news.consumerreports.org
[5] A. Goodwin. (2012, Sept. 20). Less is more with the new-generation Chevrolet MyLink
System [online]. Avalable: http://reviews.cnet.com
[6] A. Goodwin. (2011, Apr. 11). Next Chevrolet Malibu’s MyLink interface teased [online].
Available: http://reviews.cnet.com
[7] Qt Software. Accessed: December 4, 2012. Available: http://qt.digia.com/
[8] Inflexion Software. Accessed: December 4, 2012. Available: http://www.mentor.com/em
bedded-software/inflexion/