STATE OF ART
Chapter 2 introduces all the important fundamentals this thesis is based on, in order to provide a better understanding of the concepts related to AmbiLight system, image processing using JAVA and OpenCV libraries. Initially, the general architecture of the AmbiLight system is explained elaborating each modules and components of the system. Going further, the basics of image processing, its need and various techniques of image processing are discussed. Finally, the chapter focuses on JAVA and OpenCV libraries which will be used to implement the image processing techniques.
2.1 AMBILIGHT SYSTEM
The AmbiLight system is a Car Environment Light System (CELS) designed to dynamically adapts to the driving situation and enhances the orientation and perception of the passenger compartment in vehicles. Light sources are integrated in the roof liner in-order to create the ambience. These light sources are fed with colour information by the scanning devices attached to the vehicle to capture the colours of the outside environment. Hence, the colour of the light emitted by the lightings in the roof liner can dynamically adapt to the outside environment in real-time. Thus, the CELS provides an enlargement of the visual perception. In particular, the effect is created as the colours displayed by the lightings correspond to the view from the window. Therefore, by looking out of the window, one perceives the coloured light as an extension of the window.
This thesis is part of the TUM CREATE joint research programme. The programme is funded by the National Research Foundation of Singapore and executed by the two universities, namely, Technische Universitat Munchen from Germany and Nanyang Technological University, Singapore. Apart from other research topics, one of the major goals of TUM CREATE is to design and build the world’s first purpose-built electric taxi.
The AmbiLight system will also provide the driver and the passengers a pleasant spatial atmosphere thereby creating a feel-good experience psychologically. It also improves the orientation within the vehicle, facilitating the search for things.
The below section will cover the design of the Car Environment Light System (CELS). The general system structure of the CELS is also specified.
Fig.1 Architecture of the AmbiLight system
The design of the Car Environment Light System comprises of camera(s), a computer, a micro-controller unit (MCU) and LED strip which act as the colour display. The camera(s) take images of the car’s surrounding environment. By running a program the computer will acquire and process the images that are captured by the camera(s). The program also determines the representative colours that will be emitted by the LEDs by means of several implemented calculations. The LED-strip is mounted in the roof liner of the car. This arrangement in conjunction with the correspondence of the light colour results in the perception of a larger view.
In the below section we will discuss in detail about the design of the input component – the camera, the processing unit – CPU, the micro-controller unit – the arduino and the output component – the LED strips.
1. Design of the Input Component
This section discusses the realization of the input component. Also the input data types are also discussed.
In order to create the enlargement of the perceptual view, the CELS needs to adapt to particular changes in the environment. This comprises of the illuminance, colour and motion. Thus, images as holistic visual information have to be considered to function as CELS input data. Cameras are used since they satisfy the requirement of providing images of the present.
Google provides different online services such as Street View which systematically takes and saves images with its geographic parameters, like the GPS coordinates and the cardinal direction. Hence these images can be utilized in a deliberate manner [Goo12]. The Street View data base covers most of Singapore’s streets, hence permitting the possible operation of the CELS.
Summarizing, apart from cameras, Google Street View can also be used as a input device providing real-time input data for the CELS, if the vehicle movement is defined as the only changing parameter.
Since the Street View images are stored online, access to the internet must be ensured. In general, this does not present a big challenge, as the automotive human-machine interface, which was presented in Section 1.5, provides internet access via a 3G connection. However, the use is still problematic due to the risk of low connectivity or even complete loss of either the mobile or the GPS signal. This would result in asynchronous data, which obviously deteriorates the pursued effect.
But, relying on Google Street View implies a disadvantage. Buildings are generally not frequently teared down and constructed again. Walking people and driving cars for instance however are in motion, hence are not considered by the Street View images. The designed CELS, being the first prototype, the achievement of the maximum effect possible is preferable. Consequently, the dynamic features of the environment have to be considered in the calculation of the representative colour. Otherwise, the enlargement of the visual perception could be impaired. Due to this fact, the input component has been realized with a camera.
2. Design of the Processing Component
In-order to cater various features and needs of the vehicle, the system relies on a centralized Car PC with a multitude of input and output possibilities. TANK-700-QM67 is chosen as the Car PC. The TANK-700-QM67 provides high performance and cost-effective solutions. The high performance TANK-700-QM67 fanless embedded system is furnished with powerful computing capability, video capture, dual display, flexible I/O configuration, and long product life support. It supports Intel Mobile Core i7/i5/i3 processors and full feature I/O such as Gigabit Ethernet, two high-speed USB 3.0 ports and optional 8 channel video/audio capture and IEEE802.11a/b/g/n wireless module.It also supports DDR3 memory up to 4GB. The TANK-700 embedded computer is fit for high performance embedded controller and rugged environments. These features ensure complex programs written using high-level programming languages like C, C++ or Java can be processed effectively.
3. Design of the MCU
Arduino as SPI-Interface
For the processing unit to communicate with the output device, here, the LEDs of the LED strip, a MCU is used. Its task is the communication with the LED drivers via the SPI bus. For this purpose, the Arduino board has been used. It is an open-source computing platform which is based on a microcontroller board” [Ard13] and is illustrated in Figure 5.1. In particular, the used Arduino Uno model utilizes the 8-bit ATmega 328 microcontroller from Atmel Corporation. Apart from other features, the ATmega 328 has a 16 MHz processor and 32 kBytes of programmable flash memory [Atm12]. Moreover, it supports the required SPI interface. An integrated UART enables the RS-232 serial communication with the computer.
Fig.2 Arduino UNO board
The Arduino board comes with its own environment, particularly an integrated development environment (IDE) and programming language. The Arduino programming language is a set of commands, which facilitates the programming of microcontrollers. This is achieved by simplifying the AVR C programming language, which the Arduino originates from. In addition, the Arduino programming language bundles several native commands to single command in some cases. The Arduino software is published as open source. This ensures programmers to develop and offer C++ libraries which can expand the functionality of the Arduino software [Ard13].
FastSPI, a third-party library has been used to facilitate the control of LED-strips. It provides several distinct commands to configure and control LED-strips. Moreover, characteristics of different LED-drivers are integrated. Thus, the library allows a fast adaptation of the existing code to different LED-strips. The library version from the October, 14th, 2012 bas been used for the implementation of the process structure.
4. Design of the Output Component
LEDs are suitable for interior lightings due to their minimal size, long service life, low power consumption and also quick response. The specification of the LED-strip is discussed in the following section.
In order to achieve the necessary colour environment adaptation, the LEDs need to be capable of emitting different colours. For this purpose, the LED strip that utilize RGB-LEDs that is able to display up to 16.7 million different colours by mixing the three primary colours red, green and blue is chosen.
The LEDs of the LED-strip are individually addressable to enable a smooth light colour adaptation over the whole roof liner. This enables the control of both the brightness and the colour of each LED.
12 V input voltage
To avoid the necessity of additional devices such as voltage converters, the compatibility to the 12V auxiliary power grid is preferable.
LPD8806 LED driver has been used. It offers SPI communication interface having a LED density of 32 LEDs/m
Amount of LEDs
Two parameters have been taken into account for determining the Amount of LEDs. They are
1. LED density
32 LEDs per meter or a LED distance of 31.3 mm has been assumed for the calculation of the total amount of LEDs.