ЗАВРШНИ (BACHELOR) РАД

Similar documents
Podešavanje za eduroam ios

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

Port Community System

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

za STB GO4TV in alliance with GSS media

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

Bušilice nove generacije. ImpactDrill

STRUČNA PRAKSA B-PRO TEMA 13

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

3D GRAFIKA I ANIMACIJA

Kooperativna meteorološka stanica za cestovni promet

Otpremanje video snimka na YouTube

Upute za korištenje makronaredbi gml2dwg i gml2dgn

Uvod u relacione baze podataka

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

ЗАВРШНИ (BACHELOR)РАД

1. Instalacija programske podrške

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

Интеграција Дахуа ИП камерe у ОБЛО систем кућне аутоматизације

Tutorijal za Štefice za upload slika na forum.

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

SAS On Demand. Video: Upute za registraciju:

Једно решење корисничког интерфејса за руковање листама канала и реализација електонског програмског водича за дигиталне ТВ пријемнике

Графичка корисничка спрега за приказ података на контролној табли возила заснована на Андроид платформи

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

Dr Smiljan Vukanović, dis

Mindomo online aplikacija za izradu umnih mapa

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

1.UVOD. Ključne reči: upotrebljivost, praćenje, korisnički interfejs, aplikacija

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

Интеграција система паметне куће са Амазон Алекса сервисом

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

DC MILIAMPERSKA MERNA KLJESTA,Procesna merna kljesta KEW KYORITSU ELECTRICAL INSTRUMENTS WORKS, LTD. All rights reserved.

PROJEKTNI PRORAČUN 1

Nejednakosti s faktorijelima

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

Једно решење даљинског управљања симулацијом периферних уређаја на Андроид платформи

Activity of Faculty of Technical Science in Realization GPS Permanent Stations Networks

GIGABIT PASSIVE OPTICAL NETWORK

ЗАВРШНИ (BACHELOR) РАД

KORISNIČKO UPUTSTVO ZA SVR MANAGER SAMSUNG

MikroC biblioteka za PDU format SMS poruke

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

Uputstvo za konfigurisanje uređaja Roadstar

Upotreba selektora. June 04

Pravljenje Screenshota. 1. Korak

Mogudnosti za prilagođavanje

СТРУКТУРА СТАНДАРДА СИСТЕМАМЕНАЏМЕНТАКВАЛИТЕТОМ

Aplikacija za podršku transferu tehnologija

Windows Easy Transfer

PRIMENA ANDROID APLIKACIJA U OBRAZOVANJU MOBILE APPLICATIONS IN EDUCATION

The Second General Project Meeting ADAGIO

VIŠEKORISNIČKA IGRA POGAĐANJA ZA OPERACIJSKI SUSTAV ANDROID

ЗАВРШНИ (BACHELOR) РАД

Prvi koraci u razvoju bankarskog on-line sistema u Japanu napravljeni su sredinom 60-tih godina prošlog veka i to najpre za on-line, real-time obradu

Klasterizacija. NIKOLA MILIKIĆ URL:

11 Analiza i dizajn informacionih sistema

ЗАВРШНИ (BACHELOR) РАД

Croatian Automobile Club: Contribution to road safety in the Republic of Croatia

Priprema podataka. NIKOLA MILIKIĆ URL:

TEHNIČKO (TEHNOLOŠKO) OBRAZOVANJE U SRBIJI

ECONOMIC EVALUATION OF TOBACCO VARIETIES OF TOBACCO TYPE PRILEP EKONOMSKO OCJENIVANJE SORTE DUHANA TIPA PRILEP

APLIKACIJA ZA PRIKAZ REZULTATA ANALIZE MREŽNOG SAOBRAĆAJA

TEHNIČKO REŠENJE. Univerzalna hardversko-softverska platforma za realizaciju korisničkog i upravljačkog interfejsa uređaja za fizikalnu medicinu

KnowledgeFOrResilient society

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011.

ZNANJE ČINI RAZLIKU!!!!

TEHNIČKO REŠENJE. Integrisani sistem za fizikalnu terapiju

RANI BOOKING TURSKA LJETO 2017

Mobilno računarstvo. Mobilni uređaji i njihove karakteristike

ЗАВРШНИ (BACHELOR) РАД

PLAN RADA. 1. Počnimo sa primerom! 2. Kako i zašto? 3. Pejzaž višestruke upotrebe softvera 4. Frameworks 5. Proizvodne linije softvera 6.

Analysis and design of road and bridge infrastructure database using online system

ROAD ACCIDENTS PREVENTION 2012 Novi Sad, Serbia, 11 th and 12 th October 2012.

Advertising on the Web

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

POSEBNA POGLAVLJA INDUSTRIJSKOG TRANSPORTA I SKLADIŠNIH SISTEMA

Connect Cop Connect Stelvio IT.indd 1 08/02/17 10:55

1.7 Predstavljanje negativnih brojeva u binarnom sistemu

Visoka škola strukovnih studija za informacione i komunikacione tehnologije. SMS Gateway. Dr Nenad Kojić

P R O J E K T N I R A D

Struktura i organizacija baza podataka

ЗАВРШНИ (BACHELOR) РАД

Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll)

SOFTVERSKO INŽENJERSTVO INTELIGENTNIH SISTEMA

A new multimedia platform for in-room TV technology

UPUTSTVO ZA UPOTREBU Infotainment Amundsen i Bolero

WWF. Jahorina

SimPal-T3 GSM UPRAVLJAČKI MODUL-TERMOSTAT

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJ. Sveučilišni diplomski studij

Transcription:

УНИВЕРЗИТЕТ У НОВОМ САДУ ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА УНИВЕРЗИТЕТ У НОВОМ САДУ ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА НОВИ САД Департман за рачунарство и аутоматику Одсек за рачунарску технику и рачунарске комуникације ЗАВРШНИ (BACHELOR) РАД Кандидат: Кристина Омеровић Број индекса: РА45/2012 Тема рада: Интеграција мултимедијалног екрана са системима у возилу нове генерације Ментор рада: Доц. др Милан Бјелица Нови Сад, септембар, 2016

УНИВЕРЗИТЕТ У НОВОМ САДУ ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА 21000 НОВИ САД, Трг Доситеја Обрадовића 6 КЉУЧНА ДОКУМЕНТАЦИЈСКА ИНФОРМАЦИЈА Редни број, РБР: Идентификациони број, ИБР: Тип документације, ТД: Тип записа, ТЗ: Врста рада, ВР: Аутор, АУ: Ментор, МН: Наслов рада, НР: Монографска документација Текстуални штампани материјал Завршни (Bachelor) рад Кристина Омеровић Доц. др Милан Бјелица Интеграција мултимедијаног екрана са системима у возилу нове генерације Језик публикације, ЈП: Језик извода, ЈИ: Земља публиковања, ЗП: Уже географско подручје, УГП: Српски / латиница Српски Година, ГО: 2016 Издавач, ИЗ: Република Србија Војводина Ауторски репринт Место и адреса, МА: Нови Сад; трг Доситеја Обрадовића 6 Физички опис рада, ФО: (поглавља/страна/ цитата/табела/слика/графика/прилога) Научна област, НО: Научна дисциплина, НД: Предметна одредница/кључне речи, ПО: УДК 7/36/8/0/11/0/0 Електротехника и рачунарство Рачунарска техника Андроид, АДАС, Кластер Чува се, ЧУ: У библиотеци Факултета техничких наука, Нови Сад Важна напомена, ВН: Извод, ИЗ: Мултимедијални екрани и системи за помоћ возачу су доста заступљени у модерним аутомобилима. Они омогућавају возачу лакше и сигурније контролисање возила. У раду је описана реализација интеграције мултимедијалног екрана са осталим системима у возилу. Ти системи су волан, педале, ручни контролер, дигитална инструмент табла и систем за помоћ возачу. Са системом за помоћ возачу веза је успостављена директно, док се комуникација са осталим системима реализује преко диспечера. Датум прихватања теме, ДП: Датум одбране, ДО: 02.09.2016. Чланови комисије, КО: Председник: prof. dr Ilija Bašičević Члан: doc. dr Ivan Kaštelan Потпис ментора Члан, ментор: doc. dr Milan Bjelica

UNIVERSITY OF NOVI SAD FACULTY OF TECHNICAL SCIENCES 21000 NOVI SAD, Trg Dositeja Obradovića 6 KEY WORDS DOCUMENTATION Accession number, ANO: Identification number, INO: Document type, DT: Type of record, TR: Contents code, CC: Author, AU: Mentor, MN: Title, TI: Monographic publication Textual printed material Bachelor Thesis Kristina Omerovic Milan Bjelica, PhD Integration of an In-Vehicle Infotainment Unit with next generation vehicle components Language of text, LT: Language of abstract, LA: Country of publication, CP: Locality of publication, LP: Serbian Serbian Republic of Serbia Vojvodina Publication year, PY: 2016 Publisher, PB: Author s reprint Publication place, PP: Novi Sad, Dositeja Obradovica sq. 6 Physical description, PD: (chapters/pages/ref./tables/pictures/graphs/appendixes) Scientific field, SF: Scientific discipline, SD: Subject/Key words, S/KW: UC 7/36/8/0/11/0/0 Electrical Engineering Computer Engineering, Engineering of Computer Based Systems Android, ADAS, Cluster Holding data, HD: The Library of Faculty of Technical Sciences, Novi Sad, Serbia Note, N: Abstract, AB: Multimedia displays and driver assistance systems are very common in modern cars. They allow the driver to easily and safely operate the vehicle. This paper describes the integration of multimedia screen with other systems in vehicle. These systems are the steering wheel, pedals, Jog Shuttle, cluster and driver assistance system. With advanced driver assistance system (ADAS) connection is established directly, while the communication with other systems is realized through dispatcher. Accepted by the Scientific Board on, ASB: Defended on, DE: 02.09.2016. Defended Board, DB: President: Ilija Bašičević, PhD Member: Ivan Kaštelan, PhD Menthor's sign Member, Mentor: Milan Bjelica, PhD

Zahvalnost Zahvalnost Zahvaljujem se doc. dr Milanu Bjelici i Mileni Milošević na stručnoj pomoći i savetima prilikom izrade ovog rada. Posebno se zahvaljujem članovima svoje porodice na pruženoj podršci tokom celog školovanja. Na kraju se zahvaljujem institutu RT-RK, kao i svima ostalima koji su omogućili i doprineli realizaciji ovog rada. I

Sadržaj SADRŽAJ 1. Uvod... 1 2. Teorijske osnove... 3 2.1 Napredni sistemi za pomoć vozaču... 3 2.1.1 Sistem za prikaz potpunog okruženja vozila... 4 2.2 Head Unit... 5 2.3 Klaster ekran... 6 2.4 HMI u vozilu... 7 2.5 Android u automobilu... 8 2.5.1 Android platforma... 8 2.5.2 Android Studio... 9 2.5.3 Head Unit kao Android aplikacija... 9 3. Koncept rešenja... 10 3.1 Integracija video signala sa ADAS platforme u Head Unit... 11 3.2 Integracija HMI komponenti sa Head Unit-om... 12 3.3 Integracija Jog Shuttle kontrolera sa Head Unit aplikacijom... 14 3.4 Integracija klaster ekrana sa Head Unit-om... 15 4. Programsko rešenje... 16 4.1 Integracija video signala sa ADAS platformom u Head Unit... 16 4.2 Integracija HMI komponenti sa Head Unit-om... 20 4.3 Integracija Jog Shuttle kontrolera sa Head Unit aplikacijom... 22 4.4 Integracija klaster ekrana sa Head Unit-om... 22 5. Rezultati... 24 6. Zaključak... 28 7. Literatura... 29 II

Spisak slika SPISAK SLIKA Slika 2.1: Prikaz okruženja vozila (Surround View)... 4 Slika 2.2: Head Unit... 6 Slika 2.3: Klaster ekran... 7 Slika 2.4: Android stek... 8 Slika 3.1: Predlog povezivanja sistema u vozilu... 10 Slika 4.1: Prikaz sadržaja... 17 Slika 4.2: Primer potpunog okruženja vozila (Surround View)... 19 Slika 4.3: Primer videa dobijenog sa zadnje kamere (Rear View)... 19 Slika 5.1: Prikaz okruženja za testiranje... 25 Slika 5.2: Vremena potrebna da se pusti video signal na Head Unit... 26 Slika 5.3: ADAS platforma na demo automobilu... 26 III

Skraćenice SKRAĆENICE ACC Adaptive Cruise Control - Prilagodljiva kontrola brzine ADAS Advanced Driver Assistance System Napredni sistem za pomoć vozaču API Application Programming Interface Aplikativna programska sprega AVC Advanced Video Coding Napredno video kodovanje CAN Controller Area Network CD Compact Disc Kompakt disk HMI Human-Machine Interface Sprega čovek-računar IP Internet Protocol, Internet protokol JPEG Joint Photographic Experts Group Udruženje fotografskih eksperata LIN Local Interconnect Network MPEG Moving Picture Experts Group Grupa eksperata za pomerajuću sliku OSI - Open Systems Interconnection Otvoreno povezivanje sistema PCS Pre-Crash Safety Pred-udesna bezbednost PNG Portable Network Graphics Prenosiva mrežna grafika SDK Software Development Kit Softverski razvojni komplet SGL Scalable Graphics Library Prilagodljiva grafička biblioteka TCP Transmission Control Protocol Protokol kontrole prenosa TMC - Traffic Message Channel - Kanal saobraćajnih poruka TSR Traffic Sign Recognition Prepoznavanje saobraćajnih znakova USB Universal Serial Bus Univerzalna serijska magistrala IV

Uvod 1. Uvod Iz dana u dan automobili postaju sve inteligentniji i korisnicima se prezentuju konstantna poboljšanja njihovih karakteristika i funkcija. Head Unit i sistem za pomoć vozaču (engl. Advanced Driver Assistance System - ADAS) postaju veoma važni za poboljšanje ugođaja putnika tokom vožnje i njihove bezbednosti. Iz tog razloga se povezuju kako bi se podaci sa ADAS platforme prikazali korisniku u njemu što razumljivijem obliku. U modernim automobilima se mogu naći i ekrani koji se koriste u druge svrhe (na primer digitalni klaster ekran), ali i razni HMI uređaji. Da bi podaci bili prikupljeni i prikazani vozaču, neophodno je sve te komponente automobila povezati i omogućiti njihovu komunikaciju u realnom vremenu. Zadatak ovog rada je da integriše Head Unit zasnovan na Android platformi, sa ostalim modernim sistemima u vozilu, kao što su ulazni interfejsi čovek-računar, klaster ekran i platforma za pomoć vozaču, kroz realizaciju nekoliko slučajeva korišćenja. Slučajevi korišćenja su: kontrola aplikacije putem dodira ekrana, ali i eksternih tastera; prihvatanje informacija o vozilu i o okruženju vozila; prosleđivanje informacija sa Head Unit ekrana na klaster ekran. 1

Uvod Rad je organizovan u šest poglavlja. U drugom poglavlju navedeni su osnovi iz oblasti, poput teorijskih osnova i opisa Head Unit aplikacije, ADAS platforme, klaster ekrana, interfejsa čovek-računar (Human-Machine Interface), kao i opis Android platforme. Treće poglavlje opisuje Head Unit softver i korisničke zahteve koji se odnose na njega, dok je u četvrtom poglavlju dat opis modula njihove programske realizacije. U petom poglavlju se nalaze rezultati ispitivanja funkcionalnosti i korisničkih zahteva. Mereno je vreme potrebno da se podaci prenesu od Head Unit aplikacije do drugih sistema u vozilu i obrnuto. razvoja. Šesto poglavlje sadrži kratak opis šta je urađeno u ovom radu i koji su pravci daljeg 2

Teorijske osnove 2. Teorijske osnove U ovom poglavlju su opisane teorijske osnove na kojima je rad zasnovan. Opisano je trenutno stanje u automobilskoj industriji i dat je prikaz novih tehnologija kao sto su napredni sistemi za pomoć vozaču i multimedijalni i klaster ekrani. Multimedijalni ekran realizuje se na Android platformi, tako da su izložene i osnovne informacije te platforme i njenih aplikacija. 2.1 Napredni sistemi za pomoć vozaču Napredni sistemi za pomoć vozaču (ADAS Advanced driver assistance systems) su sistemi razvijeni da poboljšaju sigurnost vozača. Sigurnosni dodaci su osmišljeni tako da izbegnu saobraćajne nesreće, nudeći tehnologije koje upozoravaju vozača na potencijalne probleme ili preuzimaju kontrolu nad vozilom. Primeri sistema za pomoć vozaču [1]: navigacioni sistem u automobilu za pružanje informacija o saobraćaju u realnom vremenu TMC (engl. Traffic Message Channel); sistem za ublažavanje posledica sudara - PCS (engl. Pre-Crash Safety); sistem za detekciju pešaka (engl. Pedestrian Safety Systems); prilagodljivi tempomat ACC (engl. Adaptive Cruise Control); sistem za upozorenje pri napuštanju trake (engl. Lane Departure); prepoznavanje saobraćajnih znakova TSR (engl. Traffic Sign Recognition); detekcija pospanosti vozača (engl. Drowsiness Detection System); sistem za pomoć pri smanjenoj vidljivosti (npr. Night Vision); sistem za prikaz potpunog okruženja vozila (Surround View); pomoć pri parkiranju (engl. Park Assist); 3

Teorijske osnove pregled mrtvog ugla (engl. Blind Spot Detection). ADAS platforme su dostupne u više formi. Neka svojstva su ugrađena u automobile, a neka su dostupna kao dodatni paket. ADAS platforme se oslanjaju na više ulaza, uključujući ulaze sa kamera, LiDAR (laserski daljinomer), radar, obradu slike i komunikacija vise sistema u vozilu. 2.1.1 Sistem za prikaz potpunog okruženja vozila Kombinovanjem više kamera omogućuje se vozaču da vidi sliku od 360 koja okružuje automobile. To zahteva 4 ili više kamera, spajanje slika u realnom vremenu i ispravljanje prikaza koji omogućava normalan pogled na spoljašnjost vozila. [2] Slika 2.1: Prikaz okruženja vozila (Surround View) Na Slici 2.3 se vidi primer potpunog okruženja vozila. Za potpuno okruženje vozila se koriste su 4 posebne vrste sočiva (eng. Fisheye lens), da bi se dobila šira slika okoline. Spajanjem ovih slika i korišćenjem algoritama za ispravljanje dobija se jedna slika. 4

Teorijske osnove 2.2 Head Unit Head Unit (Slika 2.2) je skup hardvera i softvera u automobilima koji omogućavaju audio ili video zabavu. Ranije su to bili uređaji za kasete i CD, a sada uključuju navigaciju, video plejere, USB i Bluetooth, kao i internet. Ovi sistemi donose informacije vozaču i obezbeđuju fokus na putnike. Mogućnost proizvođača automobila da se izdvoje među konkurencijom zavisi od toga da li će uspeti da korisniku omoguće što bolju povezanost sa životnim stilom. Proizvođači koji uspeju u tome biće vodeći na tržištu [4]. Multimedijalni ekrani su sada dostupni u automobilima od različitih proizvođača kao što su [5]: Ford (SYNC i MyFord Touch); Toyota (Entune); Kia Motors (UVO); Cadillac (CUE); Fiat (Blue&Me). Iako je svaka Head Unit aplikacija drugačija, standardni zadaci su: Kontrola i puštanje audio sadržaja; Podešavanje navigacije; Preslušavanje dolazećeg SMS-a; Slanje novog SMS-a; Pozivanje i prihvatanje poziva; Internet. 5

Teorijske osnove Slika 2.2: Head Unit 2.3 Klaster ekran Analogna instrument tabla zamenjena je ekranom. Taj ekran se naziva klaster ekran ili digitalna instrument tabla. Analognu instrument tablu čini skup instrumenata, kao što su brzinomer, merač pređenog puta, obrtomer, nivo goriva itd. Digitalni klaster ekran donosi još neke korisne informacije. To je trenutna potrošnja, nadmorska visina, navigacija, brzinomer koji pokazuje brzinu u metrima i miljama, ali i mnoge druge. Da bi se to sve omogućilo, klaster se mora povezati sa ostalim komponentama automobilima (Head Unit i HMI uređaji). Sa Head Unit aplikacijom je povezan preko Ethernet veze i na taj način prima podatke kao što su informacije o dolazećim pozivima i promeni radio stanice i na taj način vozaču omogućava sigurniju vožnju. Sa HMI uređajima je takođe povezan Ethernet vezom preko koje dobija podatke sa pedala i volana. Na slici 2.4 se nalazi primer klaster ekrana. 6

Teorijske osnove Slika 2.3: Klaster ekran 2.4 HMI u vozilu Sprega čovek-mašina je prostor u kojem se interakcija čoveka i mašine dešava. Cilj je da se omoguće operacije i kontrole mašine koje zahteva čovek. HMI tehnologije se mogu podeliti na 3 grupe: mehanički, akustički i vizuelni. U mehaničke sprege svrstavaju se pedale, menjač, volan, ručni kontroler, ekran na dodir itd. Kod akustičkih tehnologija vozač ne mora da skreće pogled sa saobraćaja, što im daje prednost. Neke od ovih sprega su sirene, koje daju signale upozorenja (npr. vrata su otvorena, pojas nije vezan, itd). Vizuelnim spregama pripadaju multimedijalni i klaster ekrani. U ovaj tip sprega ubraja se i Head Unit. Najzastupljenije sprežne tehnologije su [7]: CAN prenosi podatke kao što su informacije o vožnji i pritisku tastera na Jog Shuttle kontroleru LIN prenosi podatke kao što je podešavanje sedišta, svetlo, zaključavanje vrata Ethernet prenosi informacije sa radara, kamere, Head Unit aplikacije FlexRay prenosi kontrole gasa i kočnice 7

Teorijske osnove 2.5 Android u automobilu Android platforma se prvobitno koristila u mobilnoj industriji, ali se odnedavno ona integriše i u automobile nove generacije. Proizvođači automobila razvijaju aplikacije za multimedijalni ekran jer na taj način održavaju specifičnost i korisnicima omogućavaju upotrebu već poznatog okruženja u automobilu. Prednost u odnosu na druge platforme u automobilu, kao što su AGL i GENIVI, je što donosi i neke benefite iz mobilne industrije kao što je nekoliko proverenih verzija koje su već na tržištu. Iz tog razloga proizvođačima štedi vreme i smanjuje troškove [3]. 2.5.1 Android platforma Android je paket programske podrške za mobilne uređaje koji uključuje operativni sistem, srednji sloj (eng. middleware) i ključne aplikacije. Android SDK obezbeđuje alatke i API potreban za razvoj aplikacija na Android platformi korišćenjem Java programskog jezika. Slika 2.4: Android stek Android obuhvata skup C i C++ biblioteka koje koriste razne komponente Android sistema. Ove mogućnosti su dostupne programeru kroz Android aplikacione okvire. Neke od osnovnih biblioteka su: 8

Teorijske osnove Sistemska C biblioteka izvedena implementacija standardne C sistemske biblioteke, podešene za namenske Linux bazirane uređaje; Medija biblioteka podrška za reprodukciju i snimanje mnogih popularnih audio i video formata, kao i statičnih slika, uključujući i MPEG4, H.264, MP3, AAC, AMP, JPG, PNG; Upravljač površine upravlja pristupu podsistemu prikaza; Biblioteke Web pretraživača; SGL osnovna 2D grafička podrška; 3D biblioteke; Slobodan tip bitmape i vektore iscrtavanja; SQLite alat za relacione baze podataka dostupan za sve aplikacije. 2.5.2 Android Studio Android Studio predstavlja razvojno okruženje namenjeno za pisanje Android aplikacija. Google je IntelliJ platformu razvio Android Studio i objavio 2013. godine. One je zamenio Eclipse koji se do njegove pojave koristio za programiranje Android aplikacija. Dostupan je besplatno. Može se koristiti na svim operativnim sistemima. Nalazi se pod Apache 2.0 licencom. 2.5.3 Head Unit kao Android aplikacija Head Unit aplikacija može raditi na raznim platformama, ali Android ima prednost zbog već postojećih funkcija koje su implenentirane u mobilnoj industriji, a mogu se preneti i na automobilsku industriju. Manu koju je imala Android platforma jeste što samo jedan prozor moze biti vidljiv u određenom vremenskom trenutku, ali pomoću plugin-a (dodataka) taj problem se može rešiti i korisnik neće morati da izlazi iz aplikacije ukoliko želi da koristi neku od popularnih aplikacija [6]. 9

Koncept rešenja 3. Koncept rešenja U ovom poglavlju dat je opis rešenja povezivanja različitih sistema u vozilu. Predlog povezivanja sistema dat je na Slici 3.1. Slika 3.1: Predlog povezivanja sistema u vozilu HMI agent prikuplja podatke sa pedala (gas i kočnica), tastera na volanu, kao i senzora za ugao na volanu. Te podatke HMI agent obrađuje i šalje klaster aplikaciji. U okviru klaster aplikacije postoji plugin (dodatak). Plugin sadrži funkcije koje primaju podatke posebno za svaku komponentu i šalje ih klaster aplikaciji kroz biblioteku pisanu u 10

Koncept rešenja JavaScript programskom jeziku. Klaster aplikacija, realizovana uz pomoc HTML5 i CSS3 tehnike, prihvata podatke i ispisuje ih na ekran kako bi bili vidljivi korisniku. ADAS platforma prikuplja podatke sa kamera koje se nalaze na vozilu i obrađuje ih tako što na slici iscrtava i prepreke koje se nalaze oko vozila, kao i predikciju kretanja vozila. Head Unit aplikacija, koja je i tema ovog rada, komunicira i sa HMI agentom i sa ADAS platformom. Od ADAS platforme prima video sa kamera vozila, zajedno sa iscrtanim preprekama i putanjom vozila. Taj video se prikazuje korisniku i olakšava mu vožnju. Sa HMI agenta pristižu podaci o automobilu, kao što su brzina kretanja, pređen put i nivo goriva i ulja u vozilu. Podaci se obrađuju i iscrtavaju na ekran, kako bi bili dosputni korisniku. 3.1 Integracija video signala sa ADAS platforme u Head Unit Slike koje se prikupljaju sa kamera ADAS-a obrađuju se u zavisnosti od korisnikovog zahteva. U zahtevu se zadaje željeni ADAS algoritam. Komunikacija između ADAS sistema i Head Unit aplikacije se odvija u 3 faze. Prva faza je slanje komande za pokretanje određenog prikaza, druga prenos podataka i treća slanje komande za isključivanje pokrenutog prikaza. Na slici 3.2 je ilustrovana komunikacija. Slika 3.2: Komunikacija Head Unit aplikacije sa ADAS platformom 11

Koncept rešenja U prvoj fazi korisnik zahteva, preko Head Unit aplikacije, okruženje koje želi da mu bude prikazano. Postoje dve vrste zahteva. To su potpuni prikaz okruženja vozila i prikaz sa zadnje kamere. Za potpuni prikaz okruženja vozila pored prikaza okoline obeležene su i prepreke, dok za prikaz sa zadnje kamere, pored toga, iscrtava se i predikcija kretanja vozila. Zahtev za odabrano okruženje se šalje u vidu poruke ADAS platformi. Poruka je direktna komanda platformi koja se šalju u obliku niza heksadecimalnih cifara. Platforma prihvata poruku i otpočinje prikupljanje podataka za korisnikov zahtev. Druga faza je slanje slike preko Ethernet veze do Head Unit aplikacije. Podaci Head Unit-u konstantno pristižu nakon čega ih on obrađuje. Obrađeni frejmovi se reprodukuju na ekran preko komponente za prikaz slike u Android-u Image View-a. Treća faza je prekid slanja video signala. Kada korisnik ne želi više da mu na ekranu bude prikazan video, pritiskom na dugme back (nazad) izlazi iz dela aplikacije koji prikazuje video. Tada aplikacija, kao i u prvoj fazi, šalje poruku platformi, u vidu komande od niza heksadecimalnih cifara, za isključivanje prikupljanja podataka sa kamera. Celokupna komunikacija se vrši u sloju sesije koja se oslanja na transportni sloj OSI (Open Systems Interconnection) referentnog modela u kojem se nalazi TCP protokol. Slojevi OSI modela su: fizički sloj; sloj veze; mrežni sloj; transportni sloj; sloj sesije; aplikativni sloj. 3.2 Integracija HMI komponenti sa Head Unit-om Preko HMI agenta, Head Unit dobija informaciju o pritisku dugmića na volanu, kao i informacije o potrošnji goriva, brzini i slično, kao i informaciju da li je na klaster ekranu izabran rikverc rezim. Ukoliko je vozač na klaster ekranu izabrao rikverc režim preko HMI komponente stiže obaveštenje i na Head Unit-u se automatski uključuje video sa zadnje kamere koji stiže sa ADAS platforme. 12

Koncept rešenja su: Dugmići sa volana, čije aktivnosti dispečer šalje Head Unit-u vide se na slici 3.3 i oni Prebacivanje radio stanice unapred; Prebacivanje radio stanice unazad; Pokretanje osluškivanja glasovnih komandi. Slika 3.3: Prikaz dugmića volana na koje reaguje Head Unit Head Unit prikazuje i neke informacije o vožnji, kao i o samom vozilu. Dispečer računa informacije o stanju vozila na osnovu pritiska pedala (gas i kočnica) i prosleđuje ih kako klaster ekranu, tako i Head Unit aplikaciji. Slanje podataka se obavlja nakon uspostave TCP veze i konstantno se šalje. 13

Koncept rešenja 3.3 Integracija Jog Shuttle kontrolera sa Head Unit aplikacijom Rucni kontroler (Jog Shuttle Slika 3.4) je povezan sa Head Unit ekranom preko USB porta. Svako dugme na njemu očitava se kao dugme sa regularne tastature. Na Jog Shuttle kontroleru ima 7 tastera i točkić za kretanje kroz elemente na Head Unit ekranu. Dugmići su: Media (otvara prozor za muziku); Radio (otvara prozor za radio); Menu (otvara prozor menia); Tel (otvara prozor sa propuštenim pozivima); Nav (otvara prozor sa navigacijom); Back (vraća na prethodni prozor); Option (glavni prozor stavlja na mesto sporednog i obrnuto). Slika 3.4: Jog Shuttle 14

Koncept rešenja 3.4 Integracija klaster ekrana sa Head Unit-om Preko prethodno pomenutog dispečera povezuje se i Head Unit sa klaster aplikacijom. Head Unit se povezuje preko TCP veze sa HMI agentom i preko Ethernet mreže mu šalje dešavanja. Agent dalje prosleđuje klaster aplikaciji koja ih nakon primanja iscrtava na ekran. Dešavanja koja Head Unit prosleđuje klasteru su: Promena radio stanice; Dolazni poziv; Trajanje prihvaćenog poziva (Slika 3.5). Slika 3.5: Primer obaveštenja o trajanju dolazećeg poziva na klaster ekranu Dešavanja Head Unit aplikacija šalje u obliku stringa. String se sastoji iz dve celine odvojene karakterom. Prva celina je tip dešavanja. Tip dešavanja označava da je došlo do promene radio stanice, da li imamo dolazeći poziv ili da li je primljeno obaveštenje o trajanju poziva. Druga celina je vrednost tipa dešavanja. To može biti: koja radio stanica je aktivna nakon promene; od koga je dolazeći poziv; vreme trajanja poziva. Komunikacija između Head Unit aplikacije i HMI agenta se odvija u sloju sesije koja se oslanja na transportni sloj OSI referentnog modela u kojem se nalazi TCP protokol. 15

Programsko rešenje 4. Programsko rešenje U ovom poglavlju dat je prikaz programskog rešenja integracije Head Unit-a sa sistemima u vozilu nove generacije. Okruženje za izradu je Android Studio u programskim jezicima C i Java. Programsko rešenje se sastoji iz vise delova jer obuhvata integraciju Head Unit-a sa ADAS platformom, klaster ekranom i ostalim sistemima u vozilu. 4.1 Integracija video signala sa ADAS platformom u Head Unit ADAS i Head Unit se povezu preko TCP veze na dva porta. Jedan port služi za slanje komandi ploči za uključivanje i isključivanje odabranog prikaza, a drugi za primanje videa sa kamere. Na prvi port povezuje se kada se uđe u listu mogućih prikaza okoline vozila u Head Unit aplikaciji (Slika 4.1). 16

Programsko rešenje Slika 4.1: Prikaz sadržaja Konektuje se funkcijom: void connecttoserver(); Opis funkcije: Tip: void funkcija ne vraća povratnu vrednost Argument: - Povratna vrednost: - Funkcija nema argument jer se unutar nje vrši čitanje IP adrese iz fajla, što olakšava promenu IP adrese u toku demonstracije. Nakon odabira perspective, ako je povezivanje bilo uspešno, poziva se funkciju: void sendcommand(int command); Opis funkcije: Tip: void funkcija ne vraća povratnu vrednost Argument: command Povratna vrednost: - 17

Programsko rešenje Argument command je promenljiva tipa int i predstavlja željeni prikaz okoline vozila. Prikaz vozila može biti potpuni ili samo prikaz videa sa zadnje kamere. Ta komanda se u vidu niza heksadecimalnih cifara šalje ADAS platformi. Zatim se poziva funkcija: void onplay(); Opis funkcije: Tip: void funkcija ne vraća povratnu vrednost Argument: - Povratna vrednost: - U funkciji onplay() aplikacija se konektuje na drugi port za primanje video signala, prihvata pristigle frejmove i prikazuje ih na Head Unit-u. Prikazivanje videa vozač moze prekinuti pritiskom na back dugme. Kada se detektuje pritisak dugmeta, poziva se funkcija: void onstopplaying(); Opis funkcije: Tip: void funkcija ne vraća povratnu vrednost Argument: - Povratna vrednost: - Ovde se zatvara otvorena mrežna utičnica za primanje videa i poziva se funkcija: void stopcommand(int command); Opis funkcije: Tip: void funkcija ne vraća povratnu vrednost Argument: command Povratna vrednost: - Promenljiva command je tipa int i ona predstavlja komandu za isključivanje prethodno uključenog prikaza okoline. Funkcija šalje tu komandu ADAS ploči. Prikaz vozila koji se iscrtava na Head Unit ekranu može biti potpuni (Slika 4.2) ili samo prikaz videa sa zadnje kamere (Slika 4.3). 18

Programsko rešenje Slika 4.2: Primer potpunog okruženja vozila (Surround View) Slika 4.3: Primer videa dobijenog sa zadnje kamere (Rear View) 19

Programsko rešenje 4.2 Integracija HMI komponenti sa Head Unit-om Integracija ove dve komponente je implementirana u programskim jezicima C i Java. Pri pokretanju Android aplikacije se preko nativnog dela pisanom u programskom jeziku C šalje zahtev za uspostavu veze sa HMI agentom funkcijom: jint connecttoserver(jint port); Opis funkcije: Tip: jint Argument: port Povratna vrednost: jint Promenljiva port je tipa jint, koja predstavlja broj porta na kojem želi da uspostavi vezu sa HMI agentom. Povratna vrednost je tipa jint, jer funkcija vraća broj na osnovu koga se određuje da li je uspostava veze prošla uspešno. Ukoliko je uspostava veze završena uspešno, HMI agentu se šalju identifikacioni brojevi željenih događaja. To se obavlja funkcijom: jint sendid(); Opis funkcije: Tip: jint Argument: - Povratna vrednost: jint Ova funkcija šalje HMI agentu identifikacioni broj tipova na koje događaje želimo da se pretplatimo. Identifikacioni brojevi tipova događaja: 2 događaj se desio na volanu; 4 primaju se informacije o vozilu; 5 aplikacija koja je napravljena u demonstrativne svrhe. Svi događaji stižu u obliku stringa u nativni deo iz kog se šalje u deo aplikacije pisanog u Java programskom jeziku. Funkcija koja prihvata podatke je: void receivefromserver(); Opis funkcije: Tip: void funkcija ne vraća povratnu vrednost Argument: - 20

Programsko rešenje Povratna vrednost: - Odavde se poziva funkcija za obradu događaja koja podatke čini dostupnim u Java programskom jeziku. Ta funkcija je: void sendeventtojava(char* data); Opis funkcije: Tip: void funkcija ne vraća povratnu vrednost Argument: data Povratna vrednost: - Argument data predstavlja niz podataka tipa char. Taj niz podataka se prosleđuje delu aplikacije pisanom u Java programskom jeziku, gde se ti podaci obrađuju u zavisnosti od tipa događaja. Obrađivanje radi funkcija: void eventreceive(string data); Opis funkcije: Tip: void funkcija ne vraća povratnu vrednost Argument: data Povratna vrednost: - Argument data predstavlja niz podataka poslatih iz dela aplikacije pisanom u C programskom jeziku, koje treba obraditi i izvršiti. Ukoliko je stigao identifikacioni broj 2 to znači da je pritisnut neki od tastera na volanu. Head Unit reaguje na tri dugmeta sa volana. To su: Prebacivanje radio stanice unapred; Prebacivanje radio stanice unazad; Pokretanje osluškivanja glasovnih komandi. Ako stigne broj 4 to znači da su primljene informacije o vozilu kao što su pređena kilometraza, brzina, potrošnja, informacija o gorivu i slično. Pristigle informacije se obrađuju i ispisuju na Head Unit. Identifikacioni broj 5 označava aplikaciju napravljenu za demonstrativne svrhe koja simulira način prilagođavanja Head Unit aplikacije osobi koja se nalazi na mestu vozača. U našem slučaju su napravljena dva profila u zavisnosti od kojih se menjaju scene na Head Unit ekranu. 21

Programsko rešenje 4.3 Integracija Jog Shuttle kontrolera sa Head Unit aplikacijom Pomoću postojećeg Android mehanizma KeyListener detektovani su pritisci na tastere Jog Shuttle kontrolera. Tasteri su označeni kao dugmići na tastaturi za PC: Media taster koji otvara prozor za muziku predstavlja dugme F6; Radio taster koji otvara prozor za radio predstavlja dugme F7; Menu taster koji otvara prozor menija predstavlja dugme F1; Tel taster koji otvara prozor sa propuštenim pozivima predstavlja dugme F9; Nav taster koji otvara prozor sa navigacijom predstavlja dugme F8; Back taster koji vraća na prethodni prozor predstavlja BACK dugme; Option taster koji glavni prozor stavlja na mesto sporednog i obrnuto predstavlja dugme F5. 4.4 Integracija klaster ekrana sa Head Unit-om Ovaj deo aplikacije implementiran je u nativnom delu Androida u programskom jeziku C. Prilikom pokretanja Android aplikacije iz Java dela softvera se preko nativnog dela aplikacije šalje zahtev HMI komponenti za povezivanje funkcijom: jint connect(string address); Opis funkcije: Tip: jint Argument: address Povratna vrednost: jint Promenljiva address je tipa String koja predstavlja IP adresu HMI agenta preko kojeg se šalju podaci do klaster aplikacije. Konekcija se uspostavlja preko TCP protokola. Kada se promeni radio stanica ili se dogodi telefonski poziv, aplikacija šalje događaj HMI komponenti preko funkcije: jint send(jstring data); Opis funkcije: Tip: jint Argument: data Povratna vrednost: jint 22

Programsko rešenje Argument data je promenljiva tipa jstring koji je sačinjen od naziva nove radio stanice ili imena osobe koja nas poziva. Ukoliko se poziv prihvati, na svaki sekund se šalje i proteklo vreme razgovora. 23

Rezultati 5. Rezultati Okruženje u kom je testirano prikazano je na Slici 5.1 i sastoji se od multi touch ekrana, sa rezolucijom 1920x1080, na kojem se prikazuje aplikacija, volana, pedala, Jog Shuttle kontrolera, klaster ekrana i ADAS platforme. Volan je povezan na Arduino koji podatke šalje aplikaciji preko HMI agenta. Pedale i Jog Shuttle takodje su povezani na Arduino. Princip prenosa podataka sa pedala je sličan principu prenosa podataka sa volana, dok Jog Shuttle ne ide preko agenta, vec se priključuje direktno u ekran. Povezivanje Head Unit i klaster aplikacije se takođe odvija preko HMI agenta, a Head Unit aplikacije i ADAS ploče preko gigabitnog rutera. Vršena testiranja su: merenje vremena potrebno da se prikaže video na ekranu, od trenutka kada je pristigao; merenje vremena od trenutka pritiska tastera na Jog Shuttle kontroleru do izvršavanja operacije; merenje vremena od trenutka slanja klaster aplikaciji do trenutka ispisa informacija na ekran. 24

Rezultati Slika 5.1: Prikaz okruženja za testiranje Testiranje aplikacije sastojalo se od proveravanja unapred zadatih use case-ova: Komunikacija sa ADAS platformom (Slika 5.3) i puštanje video signala pristiglog sa nje. Izvršeno je 10 merenja vremena od trenutka primanja prvog frejma do trenutka puštanja videa na Head Unit. Merenja se mogu videti na Slici 5.2. Prosečno vreme puštanja videa iznosi 0,104 sekundi. Svaki sledeći frejm se brže iscrtava, jer dok se jedan frejm prikazuje drugi se obrađuje. 25

Rezultati Slika 5.2: Vremena potrebna da se pusti video signal na Head Unit Slika 5.3: ADAS platforma na demo automobilu 26

Rezultati Primanje informacija preko HMI agenta. Testirano je pomeranje kružnog tastera i dugme za zamenu scena, snimanjem HMI uređaja i ekrana. Listanje imenika je korišćeno za testiranje kružnog tastera i iznosilo je 80ms, a nakon pritiska dugmeta za zamenu scena vreme potrebno dok animacija ne počne da se menja bilo je 40ms. Može se smatrati prihvatljivim, jer optimalno vreme u automobilsokoj industriji za reakciju na HMI događaje 70 ms [8]. Slanje informacija HMI agentu. Testiranje je vršeno video snimanjem HMI uređaja i ekrana. Testirano je vreme od pritiska na polje za promenu stanice do trenutka ispisivanja naziva radio stanice na klaster ekranu i ono iznosi 30ms. 27

Zaključak 6. Zaključak U ovom radu predstavljeno je rešenje integracije Head Unit ekrana sa sistemima u vozilu nove generacije. Integracija podrazumeva četiri aspekta: integraciju Head Unit elementa sa ADAS platformom koja vozaču omogućava lakši i bolji pregled okruženja vozila, kao i obeležavanje i upozoravanje na prepreke; integraciju ručnog kontrolera sa Head Unit elementom koja omogućava lakšu navigacij unutar aplikacije; integraciju Head Unit elementa sa HMI agentom i prihvatanje informacija o vozilu sa njega, kao i obaveštavanje o pritiscima na tastere volana. Na taj način omogućeno je kontrolisanje Head Unit aplikacije bez sklanjanja ruke sa volana; integraciju Head Unit elementa i klaster ekrana kao i slanje informacija klasteru preko HMI agenta i prikazivanje na klaster ekranu. To korisniku omogućava, na primer, da vidi ime osobe koja ga zove, kao i obaveštenje da je promenio radio stanicu, to mu omogućava da bez skretanja pogleda sa saobraćaja dobije te informacije. Dalji razvoj uključivao bi dodavanje više prikaza okoline koji se dobavljaju sa ADAS ploče (npr. Camera Mirror Replacement kamera umesto retrovizora), kao i prihvatanje ugla volana preko HMI agenta i prosleđivanje ADAS platformi zbog predikcije kretanja automobila. To bi omogućava dalji razvoj softvera u skladu sa današnjim zahtevima modernih automobila koji akcenat stavljaju na povezivanje ADAS platforme i Head Unit aplikacije. 28

Literatura 7. Literatura [1] A. Hakanović, Sistemi za pomoć vozaču, Sarajevo, 2011 [2] Advanced driver assistance systems, Surround View, https://www.altera.com/solutions/industry/automotive/applications/driveassistance/surround-view-camera.html [Dostupno 25.08.2016.] [3] Diego Buffa, Android & IVI systems, http://www.windriver.com/seminars/7839-android/4_ivi_android.pdf [Dostupno 25.08.2016.] [4] http://www.ics.com/services/ivi [Dostupno 25.08.2016.] [5] http://www.webopedia.com/term/i/in-vehicle-infotainment-ivi.html [Dostupno 25.08.2016.] [6] B. Kovacevic, M. Kovacevic, T. Maruna, D. Rapic, Android4Auto: A proposal for integration of Android in vehicle infotainment systems, IEEE International Conference, 2016 [7] A. Dakic, T. Srejic, M. Z. Bjelica, M. Krbanjevic, Pilot In-Vehicle Infotainment Learning Platform, [8] E. Kollorz, A. Barke, Gesture recognition with a tiome-of-flight camera, International Journal of Intelligent Systems Technologies and Application, 2008 29