Chương 1. GIGI THIỆU DE TÀI. Giới thiệu về để tài. Mục tiêu của để tài.
Mục tiêu tổng quát. Muc tiêu chỉ tiết. Đối tượng và phạm vi nghiên cứu. _ Đối tượng nghiên cứu.
Phạm vi nghiên cứu.--- - -+5+552SS+c2t+tsrexexerrkerereree 5 Chương2. | TONG QUAN CƠ SỞ LÝ THUYÉT VA PHAN CỨNG SỬ DỤNG l6 2. Android Automotive OS. — Giới thiệu về Android Automotive OS.
Kiến trúc của Android Automotive OS:. Ưu điểm của Android Automotive. Tổng quan về QI:.----cc:5222+zt22Cvvrterrktrrrrrrrrrrrrrrrree 20 2. Các module quan trọng của Ọ(.3 Qt cho Android Automotive OS.
ào grưện 22 “ “DA 0i. Android debug bridge. Tổng quan về android debug bridge. __ adb trên Raspberry pi.
Sáng HH HH HH ngàn 27 2. Giới thiệu về Raspberry pi.5222ccccEEEErtrrrrrrrrrrrrrrrrreerrre 28 Chương3. THIẾT KÉ HỆ THÓNG. Tổng quan công VIỆC.
Xây dựng môi trường Android Automotive OS cho Raspberry pi. Setup môi trường build Android Automotive. Lấy source code của Android. Chỉnh sửa source COdE.
Build Android linux kernel. Nạp Android Automotive OS đã build lên SD card. Thiết kế giao diện. Nguyên lý hoạt động.
Camera capture thread. 8 Second video recorder thread. Hiện thực các chức năng. Lấy dữ liệu từ camera.
Hiển thị dữ liệu của camera lên màn hình. Tương tác với người dùng. | KET QUA ĐẠT ĐƯỢC. Kết quả ứng dụng hiện thực được trên thực tế 4.
Thông số đo lường hoạt động. _ Thông số hệ thống. Do đạc cho chức năng của camera. KÉT LUẬN VÀ ĐÁNH GIIÁ.
Kết quả đạt được. Các hạn chế iO 8. Hướng phát triỀn.----2-2222+++2222EEEE tri 61 DANH MỤC HÌNH Hình 1.1 Đồng hồ số truyền thống.----22222¿£222222vv2+rrrtEEEEEErvrrrrrrrrrrrrer 13 Hình 1.2 Đồng hồ điện tử.1 Android Automotive trên polestar 2 .-- 5: 552525 s£sc+tzx+eererx 16 Hình 2.2 Kiến trúc của Android Automotive Hình 2.4 Kiến trúc các lớp trừu tượng của Android Automotive.5 Logo của QT .7 Qt trên Android Automotive oo.8 Một ứng dụng được thiết kế sử dụng QML .9 Minh họa về thiết bị UVC.10 Sơ đồ hoạt động của adb.- + cv ng it26 Hình 2.11 Kết nối Raspberry pi với router cho adb.¿--+22sszz+2csscez 26 Hình 2.--¿- - - ¿5+ 5+ ++£E+++E#EEEk+EEkeEeErkrkekekrkrkrkeree 27 Hình 3.1 Install các packages cần thiết trên Ubuntu cho build AAOS.3 Tao thư mục dé build AAOS .-- c5 SE ST HH. eee eeeescseseescsescsseesescsessesssesesessesesssesssseseeseeesseeeeee Od Hình 3.6 Lay file local manifest dé cấu hình cho việc build AAOS .7 Quá trình repo Syn.
¿E121 St SE 1211 HH HH1.8 thêm HW reset cho Bluetooth HCI.9 Disable low power mode cho Bluetooth.10 Enable audio & camera hal 64bit build.11 Build Android Linux Kernel .-- - 5-5555 cc+S+‡xce+ecrxerzxrrxee 34 Hình 3.13 Phân vùng bộ nhớ cho SD card. --¿--- 5-5252 5+2++*ts++ersxexerrrrx 35 Hình 3.14 Tạo file system cho sdx1 và sdX⁄{.15 Mount sdx1 và thêm các tệp cần thiết.16 sao chép system image và vendor image vào sdx2 và sdx3 .17 Android Automotive OS trên Raspberry pi .18 Giao diện màn hình chính của €ÏuS(€T. --- 5-5 5+5 £+xs++veezvxsee 37 Hình 3.19 Giao diện màn hình menu của €ÌuS(€T. -¿- - ¿+5 sss++sss+vzes+>sx 37 Hình 3.20 Giao diện camera app của cÏUS(€T .21 Sơ đồ các thread của hệ thống.22 Finite state machine của chức năng video record.23 Sơ đồ hoạt động của camera capture thread.25 Sơ đồ giải thuật lưu video back up 8 giây không dùng FIFO.26 Cấu trúc của lớp uvc_thread cho việc lấy dữ liệu từ camera.27 Khởi tạo libuve COTI€X(.- 5c 2233313 SE +tEEEEEErkEeterrsersesrrrrerrsesrree 45 Hình 3.28 Tìm kiếm và kết nói với thiết bị uvc.29 Setup format cho camera streaming.30 Setup stream format và bắt đầu stream 6 Hình 3.31 Hiển thị video từ camera lên màn hình 7 Hình 3.32 Cai đặt codec cho việc encode video .33 Cài đặt AVCodecContext.34 Cấp phát và khởi tao cho các A VFrame.---::cz+2sccze+z 49 Hình 3.35 thiết lập SwsCOntext.--- 222222+£2222EESS+++rtttEEEEEYvrrrrrrrrrrrrrrrcee 50 Hình 3.36 Chuyển đổi định dang frame cho việc encode.
-- + ¿+ + E xxx SE 1T n HH ưy51 Hình 3.38 Thao tác với dir liệu nhận được theo các state của encoder.39 Các hàm thao tác với người dùng .40 Cấu trúc của lớp CameraHandler .1 Màn hình chính của cluster trên AAOS.2 Màn hình menu của cluster trên AAOS.3 Màn hình chính của ứng dụng camera trên AAOS.4 Màn hình của Media Player đang phát triển cho cluster trên AAOS.5 Minh họa lệnh adb shell top -m 1(.- 5c + + 5++x+£££++v£vzxexererr+ 57 DANH MỤC BANG Bang 2-1 Một số frame format thông dụng của UVC.-cz+2sccec+ 24 Bang 2-2 Các thông số phần cứng của Raspberry 4 model B.----- 29 Bảng 4-1 Thông số đo đạc hệ thống của cluster.:--¿©225c++2cvsvcecrz 58 Bang 4-2 Thông sé đo đạc các chức năng camera của cÏusfer.------------ 59 DANH MUC TU VIET TAT AAOS Android Automotive OS QML Qt Modeling Language adb Android debug bridge IVI In-Vehicle Infotainment HAL Hardware Abstraction Layer VHAL Vehicle Hardware Abstraction Layer UVC USB Video Class UI User Interface TÓM TÁT KHÓA LUẬN Trong dé tài khóa luận nhóm tiến hành nghiên cứu đề có thé thiết kế ứng dụng camera có các chức năng hiền thị và quay lại video lấy được từ camera trên Android Automotive OS với nền tang Qt. Hướng tiếp cận ban dau là sử dụng Java va Kotlin dé phát triển ứng dụng. Tuy nhiên bên phía công ty TNHH Bosch Global Software Technology muốn tái sử dụng lại source code của hệ thống cluster được phát triển bằng Qt nên nhóm đã quyết định sử dung Qt dé phát trién ứng dụng. Ban đầu nhóm tiếp cận với thư viện QCamera của Qt để phát triển ứng dụng camera, tuy nhiên thư viện này không hỗ trợ cho các thiết bị external camera nên nhóm đã chuyển sang hướng giải quyết khác là sử dụng một thư viện thứ ba dé đọc dữ liệu từ camera, và thư viện được sử dụng là libuvc.
Với việc sử dụng thư viện libuvc đề đọc đữ liệu từ camera, đề tài đã xây dựng ra một số kết quả nhất định như là đã có thé tích hợp được giao điện đồng hồ số đã được tích hợp trước đó lên Android Automotive đồng thời cũng tạo ra được một ứng dụng cho phép tương tác được với camera trên nền tảng này. GIỚI THIỆU DE TÀI 1. Giới thiệu về đề tài Đồng hỗ số của xe gắn máy là một bộ phận có vai trò hết sức quan trọng trong các loại phương tiện giao thông nói chung và trên xe gắn máy nói riêng. Cụm đồng hỗ của xe gắn máy giúp người tham gia giao thông điều khién và theo doi phương tiện, đảm bảo an toàn trong quá trình tham gia giao thông.
Hiện nay các dòng sản phâm đồng hồ analog truyền thống vẫn đang chiếm đa số trên thị trường, tuy nhiên loại đồng hồ này vẫn còn nhiều nhược điểm như là lượng thông tin hiển thị còn hạn chế. Với việc phát triển không ngừng của công nghệ trong những năm gần đây, hệ thống cụm đồng hồ hiền thị kỹ thuật số đã được phát triển và ứng dụng rộng rãi trong các phương tiện di chuyền, phổ biến nhất là trên xe 6 tô. Việc sử dụng đồng hồ kỹ thuật số để hiền thị thông tin hỗ trợ giám sát và điều khiển mô tô đã được nghiên cứu và phát triển trong những năm gần đây. Đồng hồ kỹ thuật số có nhiều ưu điểm vượt trội hơn so với đồng hồ analog truyền thống như là giúp hiển thị được nhiều thông tin hơn, giao diện bắt mắt hơn, thuận tiện tương tác và hỗ trợ kiểm soát phương tiện, cho phép ứng dụng nhiều kỹ thuật mới giúp nâng cao độ an toàn và hiệu quả trong sử dụng phương tiện.
Các tính năng của đồng hồ số là vượt trội so với đồng hồ cơ truyền thống.2 minh họa hình ảnh về hai loại đồng hồ kỹ thuật số và đồng hồ cơ truyền thống.2 Đồng hồ điện tử Các ứng dụng camera trên xe hai bánh còn chậm phát triển do tính ứng dụng còn chưa cao. Tuy nhiên với sự phát triển chóng mặt của các ứng dụng thị giác máy tính trong những năm gan đây các ứng dụng camera có thé được sử dụng như những nền tảng cốt lõi để hiện thực và đưa các ứng dụng này lên các hệ thống xe moto. Nhận thấy được tiềm năng phát triển của nền tảng Android Automotive OS, được giới thiệu gần đây và đã thu hút sự quan tâm của các hãng xe lớn như Volvo, BMW, Audi. Cùng với đó là sự phát triển không ngừng nghỉ của các ứng dụng thị giác máy tính với nền móng là các ứng dụng thu nhận dữ liệu từ camera.
Nhóm đã quyết định sử dụng nền tảng Android Automotive OS để nghiên cứu và phát triển ứng dụng camera đề tích hợp cho đồng hồ kỹ thuật só. Mục tiêu của đề tài 1. Mục tiêu tổng quát Với sự hỗ trợ của Công ty Bosch Global Software Technologies, nghiên cứu dé ứng dụng Android Automotive trong phát triển ứng dụng camera cho hệ thống đồng ho kỹ thuật số của phương tiện giao thông hai bánh. Sử dụng nền tang QT và phát triển trên Raspberry Pi 4 model B.
Mục tiêu chỉ tiết - Nghiên cứu nền tảng mới Android Automotive OS đề phát triển ứng dụng. 14 - Thiết lập và build Android Automotive OS cho Raspberry Pi. - Tái sử dụng mã nguồn đồng hồ hiền thị kỹ thuật số sử dụng nền tảng Qt được cung cấp và hỗ trợ bởi công ty Bosch Global Software Technologies. - Tạo được một ứng dụng có các chức năng camera cơ bản được tích hợp trong hệ thống đồng hồ số.
Đối tượng và phạm vi nghiên cứu 1. Đối tượng nghiên cứu Đối tượng nghiên cứu chính trong khóa luận là Android Automotive, hệ điều hành mã nguồn mở cho các hệ thống In-Vehicle Infotainment (IVI) của các hệ thống xe được phát triển bởi Google. Pham vi nghiên cứu Đề tài sẽ tập trung nghiên việc phát trién một ứng dụng camera với các chức năng cơ bản như streaming, record video và một chức năng đặc biệt cho phép lưu dữ liệu trong một khoảng thời gian 8 giây trước một trigger không biết trước được. TONG QUAN CƠ SỞ LÝ THUYET VA PHAN CỨNG SỬ DỤNG 2.
Android Automotive OS 2. Giới thiệu về Android Automotive OS Hinh 2.1 Android Automotive trén polestar 2 Android Automotive (hay còn gọi là Android Automotive OS hoặc AAOS) là một biến thé của hệ điều hành Android của Google, được thiết kế dé chuyên dụng để ứng dụng trong các hệ thống dashboard trong các phương tiện xe hơi. Được giới thiệu vào tháng 3 năm 2017 [1], nền tảng này được phát triển bởi Google và Intel, hợp tác cùng với các nhà sản xuất ô tô lớn như Volvo và Audi. Android Automotive OS được tạo ra nhằm mục đích cung cấp một hệ cơ sở mã nguồn mở cho các nhà sản xuất phương tiện đề phát trién phiên bản hệ điều hành của riêng họ.
Bên cạnh các tác vụ thông tin giải trí, chang hạn như nhắn tin, điều hướng và phát nhạc, hệ 16 điều hành nhằm xử lý các chức năng dành riêng cho xe như điều khiển điều hòa không khí, hiển thị thông tin của xe. Trái ngược với Android Auto, Android Automotive là một hệ điều hành đầy đủ chạy trên thiết bị của phương tiện, không phụ thuộc vào smartphone đề vận hành.