(Đồ án hcmute) điều hướng xe tự hành tránh vật cản ứng dụng thị giác máy tính

98 5 0
(Đồ án hcmute) điều hướng xe tự hành tránh vật cản ứng dụng thị giác máy tính

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA ĐIỀU HƯỚNG XE TỰ HÀNH TRÁNH VẬT CẢN ỨNG DỤNG THỊ GIÁC MÁY TÍNH GVHD: PGS.TS LÊ MỸ HÀ SVTH: LƯ MINH TRIẾT MSSV: 16151093 SVTH: NGUYỂN VĂN HIỂN MSSV: 16151021 SKL 0 7 Tp Hồ Chí Minh, tháng 08/2020 an TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP ĐIỀU HƯỚNG XE TỰ HÀNH TRÁNH VẬT CẢN ỨNG DỤNG THỊ GIÁC MÁY TÍNH SVTH: LƯ MINH TRIẾT MSSV: 16151093 SVTH: NGUYỂN VĂN HIỂN MSSV: 16151021 Khóa: 16 Ngành: CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HĨA GVHD: PGS.TS LÊ MỸ HÀ Tp Hồ Chí Minh, tháng năm 2020 an i Tp Hồ Chí Minh, ngày tháng năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Lư Minh Triết MSSV:16151093 Họ tên sinh viên 2: Nguyễn Văn Hiển MSSV:16151021 Chuyên ngành: CNKT Điều Khiển Và Tự Động Hóa Lớp: 16151CL3 Giáo viên hướng dẫn : PGS.TS Lê Mỹ Hà Ngày giao nhiệm vụ : 02/2020 Ngày hoàn thành nhiệm vụ : 07/2020 Tên Đề Tài: Điều Hướng Xe Tự Hành Tránh Vật Cản Ứng Dụng Thị Giác Máy Tính Các số liệu, tài liệu ban đầu: • Nguyễn Thanh Tuấn (10/2019), Deep Learing Cơ Bản • Udemy (2020), The Complete Self-Driving Car Course – Applied Deep Learning • Hình ảnh, video thu từ camera Nội dung thực đề tài: • Nghiên cứu lý thuyết • Xây dựng phần cứng, sa hình • Tìm hiểu thuật tốn điều khiển • Tìm hiểu thuật tốn xử lý ảnh Sản phẩm: • Quyển báo cáo đồ án • Chương trình điều khiển • Mơ hình thực nghiệm GIẢNG VIÊN HƯỚNG DẪN TRƯỞNG NGÀNH an ii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên sinh viên 1: Lư Minh Triết Họ tên sinh viên 2: Nguyễn Văn Hiển Chuyên ngành: CNKT Điều Khiển Và Tự Động Hóa Giáo viên hướng dẫn : PGS.TS Lê Mỹ Hà MSSV:16151093 MSSV:16151021 Lớp: 16151CL3 NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Nội dung khối lượng đạt yêu cầu Đồ Án Tốt Nghiệp bậc đại học Ưu điểm: Hệ thống hoạt động ổn định bám theo đường có độ xác cao Khuyết điểm: Tốc độ xe thấp Để nghị cho bảo vệ hay không? Đồng ý cho bảo vệ Đánh giá loại: Tốt Điểm: 8/10 (Bằng chữ: Tám/mười) Tp Hồ Chí Minh, ngày 25 tháng năm 2020 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) an iii BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐH SPKT TP.HCM Độc Lập – Tự Do – Hạnh Phúc PHIẾU NHẬN XÉT PHẢN BIỆN Họ tên sinh viên 1: Lư Minh Triết Họ tên sinh viên 2: Nguyễn Văn Hiển Giáo viên hướng dẫn : PGS.TS Lê Mỹ Hà Giảng viên Phản biện : Nguyễn Trần Minh Nguyệt MSSV:16151093 MSSV:16151021 Ý KIẾN NHẬN XÉT Nhận xét chung nội dung đề tài Đề tài đạt mục tiêu đề Xe tự hành nhận diện loại biển báo giao thông tránh vật cản Ý kiến kết luận (ghi rõ nội dung cần bổ sung, hiệu chỉnh) Ưu điểm: - Xe chạy ổn định Khuyết điểm: - Chỉ nhận diện loại biển báo: rẽ phải, rẽ trái, dừng - Không phân biệt vật cản màu sắc trùng với đường Đề nghị : Được bảo vệ:  Bổ sung để bảo vệ:  Không bảo vệ:  Câu hỏi phản biện (Giảng viên không cho SV biết trước) Sinh viên trình bày cơng thức tính góc điểm Trong đề tài, sinh viên chưa điều khiển xe giảm tốc vòng cua Hãy đề xuất cách khắc phục để đảm báo xe chạy ổn định Nếu số biển báo cần nhận dạng nhiều hơn, sinh viên đề xuất giải pháp Điểm đánh giá đề tài: 8/10 (Bằng chữ: Tám/mười) Tp Hồ Chí Minh, ngày 03 tháng 08 năm 2020 Người nhận xét an iv LỜI CẢM ƠN  Trong trình thực đề tài, nhóm sinh viên thực đề tài xin chân thành cảm ơn: Thầy Lê Mỹ Hà đã theo sát, quan tâm, tận tình hướng dẫn, giải đáp thắc mắc tạo điều kiện thuận lợi trình thực đề tài Ban giám hiệu, quý Thầy Cô trường đặc biệt quý Thầy Cô khoa Điện – Điện Tử khoa Đào tạo Chất lượng cao Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM, tận tình dẫn, truyền đạt kiến thức tảng, để nhóm hồn thành đề tài, tạo điều kiện thuận lợi cho nhóm thực suốt trình học tập vừa qua Các thành viên Intelligent System Laboratory (IS Lab), bạn sinh viên tập thể lớp 16151CL3 có giúp đỡ thiết thực, cung cấp tài liệu liên quan, động viên trình thực đề tài Và xin chân thành gửi lời cảm ơn sâu sắc đến gia đình người thân hỗ trợ tất điều kiện để đề tài hoàn thành tốt đẹp Trong thời gian qua, nhóm cố gắng để hồn thành đề tài mình, kiến thức hạn chế, nội dung nghiên cứu thời gian, chắn khơng tránh khỏi thiếu sót, mong q Thầy/Cơ thơng cảm Nhóm thực đề tài mong nhận ý kiến đóng góp q Thầy/Cơ để đề tài hoàn thiện Xin chân thành cảm ơn! TP Hồ Chí Minh, Ngày 24 tháng 07 năm 2020 Nhóm thực đề tài Lư Minh Triết an Nguyễn Văn Hiển (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh v TÓM TẮT Những năm gần đây, với bối cảnh xã hội ngày phát triển, công nghệ phát triển theo để đáp ứng cầu ngày cao người thời đại 4.0 Trong phải kể đến lĩnh vực liên quan đến AI thị giác máy tính, học máy phương tiện tự hành phát triển mạnh mẽ giới nói chung Việt Nam ta nói riêng, thu hút quan tâm từ nhiều nhà nghiên cứu để ứng dụng vào thực tiễn Trong đồ án này, nhóm nghiên cứu ứng dụng thư viện OpenCV từ đưa lựa chọn cho thiết bị, thuật toán phù hợp thực giải đề tài “Điều Hướng Xe Tự Hành Tránh Vật Cản Ứng Dụng Thị Giác Máy Tính” giải vấn đề chính, tiền đề xây dựng mơ hình xe tự hành phát đường, nhận biết biển báo giao thông phát vật cản để từ sở tính tốn điều hướng cho xe q trình di chuyển Các kết thực nghiệm cho thấy tính hiệu mạnh mẽ giải thuật nhiệm vụ giữ đường, phát biển báo giao thông phát tránh vật cản với tốc độ di chuyển mơ hình xe khoảng 6-7km/h nhiều điều kiện lái xe khác ABSTRACT In recent years, in the context of increasing social development, technology has also developed to meet the increasing demands of people in the current "era 4.0" Which must include some witnessed amazing progress in AI related fields such as computer vision, machine learning and autonomous vehicles All that technologies are being strongly developed in the world in general and in Vietnam in particular, attracting the attention of many researchers to apply in practice In this thesis, we have studied the application of OpenCV's library From there we have decided which is appropriate equipment and algorithms to solve the topic "Navigating Autonomous Vehicles Avoiding Obstructions Applied Computer Vision Application" This thesis will solving three main problems, which is the premise for building a self-driving car model which are lane detection, traffic signs recognition and obstacles detection so that it is the basis for calculating to navigating the vehicle during the move Experimental results have shown the effectiveness and robustness of the algorithm in lane keeping, traffic sign recognition and obstacle avoidance with the movement speed of vehicle models in the range of 6-7km / h in various driving conditions (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh vi MỤC LỤC  Trang phụ bìa TRANG Nhiệm vụ đồ án tốt nghiệp i Trang phiếu nhận xét giáo viên hướng dẫn ii Trang phiếu nhận xét giáo viên phản biện iii Lời cảm ơn iv Tóm tắt/Abstract v Mục lục vi Danh mục chữ viết tắt ix Danh mục lưu đồ - bảng biểu xi Danh mục hình ảnh - biểu đồ xii CHƯƠNG 1: TỔNG QUAN 1.1 Đặt vấn đề 1.2 Lý chọn đề tài 1.3 Mục tiêu đối tượng nghiên cứu 1.4 Phạm vi đề tài 1.5 Phương pháp nghiên cứu 1.6 Nội dung đề tài CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Chuẩn giao tiếp I C (Inter-Integrated Circuit) 2.1.1 Giới thiệu chung I C 2.1.2 Đặc điểm chung I C 2.1.3 Bit bắt đầu kết thúc (Start-Stop) 2.1.4 Định dạng liệu truyền 2.1.5 Định dạng địa thiết bị 11 2.1.6 Truyền liệu phương thức giao tiếp I C , chế độ Master‐Slave 11 2.1.7 Chế độ Multi Master 12 2.2 Ảnh số khái niệm ảnh 13 2.2.1 Ảnh số 13 2.2.2 Mức xám ảnh độ phân giải ảnh 14 2.2.3 Các không gian màu biểu diễn ảnh 14 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh vii 2.2.3.1 Không gian màu RGB 14 2.2.3.2 Không gian màu CMYK 15 2.2.3.3 Không gian màu HSV (HSB) 15 2.2.3.4 Không gian màu CIE LAB 16 2.2.4 Chuyển đổi không gian màu 17 2.2.4.1 Chuyển đổi RGB sang CMYK ngược lại 17 2.2.4.2 Chuyển đổi RGB sang HSV ngược lại 17 2.2.5 Ảnh nhị phân 18 2.2.5.1 Ảnh nhị phân công dụng ảnh nhị phân 18 2.2.5.2 Các bước nhị phân hóa ảnh 19 2.3 Các phép tiền/hậu xử lý ảnh 20 2.3.1 Thay đổi kích thước hình ảnh 20 2.3.2 Xử lý hình thái học (Morphology) 21 2.3.2.1 Phép toán giãn nở (Dilation) 22 2.3.2.2 Phép toán co ảnh (Erosion) 22 2.3.3 Phép tốn tích chập (convolution), tính chất hướng tối ưu phép tốn 23 2.3.3.1 Bộ lọc (kernel) 23 2.3.3.2 Phép tốn tích chập (convolution) 24 2.3.3.3 Tính chất hướng tối ưu phép toán 25 2.3.3 Các kỹ thuật đệm ảnh (padding image) 26 2.4 Thuật toán phát cạnh Canny (Canny Edge Detection) 29 2.4.1 Giảm nhiễu, làm mờ ảnh 30 2.4.2 Tính gradient hướng gradient 32 2.4.3 Loại bỏ không cực đại (Non-maximum Suppression) 33 2.4.4 Lọc ngưỡng 33 2.5 Thuật toán phát đường thẳng biến đổi Hough (Hough Transform) 34 2.5.1 Phương trình đường thẳng khơng gian ảnh (A) 34 2.5.2 Chuyển đổi không gian ảnh (A) không gian Hough (B) 36 2.5.3 Cách hoạt động thuật toán Hough Transform 37 2.5.4 Biến đổi xác suất Hough (Probabilistic Hough Transform) 38 2.6 Phép tốn tìm đường viền (Find Contours) 39 2.7 Điều hướng xe tự hành 39 2.8 Nhận dạng biển báo giao thông 40 CHƯƠNG 3: NỘI DUNG THỰC HIỆN 43 3.1 Thiết kế phần cứng sa hình thực nghiệm 43 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh viii 3.1.1 Mơ hình RC Car 43 3.1.2 Board NVIDIA Jetson Nano Developer Kit 44 3.1.2.1 Giới thiệu chung 44 3.1.2.2 Ứng dụng board NVIDIA Jetson Nano Developer Kit 45 3.1.2.3 Hệ điều hành cho board NVIDIA Jetson Nano Developer Kit 49 3.1.3 Mạch điều khiển Motor Servo 51 3.1.4 Mạch giảm áp DC 51 3.1.5 Mạch điều khiển động DC 52 3.1.6 Động DC 53 3.1.7 Động servo 54 3.1.8 Module Camera 57 3.1.9 Pin 58 3.1.10 Bố trí thiết bị phần cứng lên mơ hình xe 59 3.1.11 Thiết kế sa hình thực nghiệm thực tế 61 3.2 Xe tự hành sa hình 62 3.2.1 Tiền xử lý ảnh line đường thực tế 64 3.2.2 Xác định mốc line đường để tính tốn góc lái xe tự hành 65 3.3 Xe tự hành sa hình có biển báo giao thơng 68 3.3.1 Tiền xử lý ảnh biển báo thực tế 70 3.3.2 Nhận biết biển báo 71 3.4 Xe tự hành sa hình tránh vật cản 74 3.4.1 Nhận biết vật cản 75 3.4.2 Chế độ chạy xe với vật cản 76 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 78 4.1 Kết luận 78 4.2 Hướng Phát Triển 78 TÀI LIỆU THAM KHẢO 80 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện Sau tính tốn dùng cơng thức theo dõi màu sắc thư viện OpenCV, thu kết nhận sau chạy nhiều vòng trịn sa hình thực tế Sau chạy thực nghiệm nhiều vịng, nhóm thu kết line màu bám theo xe tự hành, coi hành trình xe Sau vịng chạy vòng tròn bám line, khoảng cách xe so với line đường bên phải đảm bảo khoảng 50 pixel Xe tự hành sa hình có biển báo giao thơng Áp dụng kết từ chạy vịng tròn, tiến hành nhận biết loại biển báo để chạy quy định biển báo Có loại biển báo sử dụng: - Rẽ trái - Rẽ phải - Dừng lại 3.3 Trong lưu đồ [3.2] thể thiện ý tưởng nhóm việc điều hướng xe tự hành kết hợp biển báo giao thông: • Khi xe xử lý tín hiệu đường để tự hành sa hình lúc khu vực biển báo xử lý • Đối với tín hiệu ảnh cho biển báo, tín hiệu ảnh phân biệt dựa bảng màu chọn trước hệ màu HSV • Nếu có tín hiệu ảnh màu đỏ khu vực biển báo hiểu biển báo dừng xuất tín hiệu dừng xe • Nếu ảnh màu xanh, tín hiệu ảnh khoanh vùng khu vực màu, sau chuyển tín hiệu ảnh khoanh vùng sang ảnh nhị phân đếm số pixel khác khơng góc phần tư bên trái • Chương trình dừng lại có tín hiệu ngắt từ bàn phím sau kết thúc chương trình 68 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện Lưu đồ 3.2 Giải thuật chế độ chạy vòng số kết hợp nhận biết biển báo xe tự hành 69 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện 3.3.1 Tiền xử lý ảnh biển báo thực tế Hình ảnh có biển báo camera nhận phải qua bước tiền xử lý chọn vùng cần quan tâm, vùng góc bên trái camera để giảm thiễu nhiễu sai lệch mảng màu ảnh hưởng mơi trường xung quanh Vùng quan tầm có kích thước theo khung hình chiều rộng từ pixel thứ 300 đến 600, chiều dài từ pixel thứ 200 đến 400 Tiếp theo hình ảnh giảm thiểu nhiễu từ môi trường làm mờ ảnh sử dụng lọc làm mờ Gaussian (Gaussian Filter) với kernel có kích thước 5*5 Sau đó, hình ảnh chuyển sang hệ màu HSV để tiến hành tìm mảng màu tương ứng với màu tương thích xanh dương đỏ Do xe thực nghiệm môi trường bên ngồi nên có tình trạng ngược sáng nên cần xác định thêm mảng màu ứng với trường hợp Sau tiền xử lý, hình ảnh rõ mảng màu mảng màu, môi trường xung quanh chuyển thành màu đen Hình 3.23 Tiền xử lý ảnh biển báo thực tế (a) Giảm nhiễu biển báo rẽ phải; (b) Chọn vùng quan tâm biển báo rẽ phải; (c) Chọn mảng màu nhận diện màu biển báo rẽ phải; (d) Giảm nhiễu biển báo rẽ trái; (e) Chọn vùng quan tâm biển báo rẽ trái; (f) Chọn mảng màu nhận diện màu biển báo rẽ trái; (g) Giảm nhiễu biển báo dừng lại; (h) Chọn vùng quan tâm biển báo dừng lại; (i) Chọn mảng màu nhận diện màu biển báo dừng lại 70 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện 3.3.2 Nhận biết biển báo Sử dụng hàm cv2.findContours() thư viện OpenCV để xác định vị trí biển báo khung hình Hàm cv2.findContours() trả ảnh, danh sách đường viền có ảnh nhị phân hệ thống cấp bậc Mỗi đường viền trả mảng gồm tọa độ (x,y) Các tham số hàm cv2.findContours() [26]: • Hình ảnh cần tìm biên, ảnh nhị phân • Đường viền: lưu trữ đường viền tìm được, đường viền lưu trữ duới dạng vector điểm • Hệ thống cấp bậc: chứa thơng tin hình ảnh số đường viền, xếp hạng đường viền theo kích thước, ngồi, • Chế độ : CV_RETR_EXTERNAL : sử dựng cờ lấy đường biên bên ngoài, biên bên vật thể bị loại bỏ Trong đề tài nhóm áp dụng chế độ - CV_RETR_LIST : Khi sử dụng cờ lấy tất đường viền tìm CV_RETR_CCOMP : sử dụng cờ lấy tất đường biên chia làm level, đường biên bên đối tượng, đường biên bên đối tượng CV_RETR_TREE : sử dụng cờ lấy tất đường biên tạo hệ thống phân cấp đầy đủ đường lồng • Phương pháp : CV_CHAIN_APPROX_NONE : sử dụng cờ lưu trữ tất điểm đường viền CV_CHAIN_APPROX_SIMPLE : nén đường viền trước lưu trữ, nén phân đoạn theo chiều ngang, chiều dọc chéo Ví dụ : hình chữ nhật mã hố toạ độ đỉnh Trong đề tài nhóm áp dụng phương pháp Sau xác định vị trí biển báo khung hình, cắt khung hình vị trí biển báo Nếu vùng chọn thuộc mảng màu đỏ ngược sáng thuận sáng nhận biết biển báo dừng lại 71 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện Nếu thuộc mảng màu xanh dương ngược sáng thuận sáng cần phải phân loại xem biển báo rẽ trái rẽ phải Với biển báo thuộc mảng màu xanh dương ngược sáng thuận sáng cắt thêm góc ¼ phía bên trái Sau sử dụng việc tìm ngưỡng để đưa hình ảnh ¼ phía bên trái ảnh nhị phân Sử dụng hàm cv2.threshold() thư viện OpenCV để xác định vị trí biển báo khung hình Hàm cv2.threshold() trả ảnh nhị phân Các tham số hàm cv2.threshold() [27]: • Hình ảnh gốc (ảnh biển báo màu) • Ảnh nhị phân thu • Ngưỡng: Là ngưỡng nhị phân cần tìm để ảnh biển báo chuyển ảnh nhị phân (170) • Giá trị cường độ ánh sáng lớn ảnh (255 tiền xử lý chuyển ảnh ảnh xám) • Kiểu nhị phân: THRESH_BINARY: Nếu giá trị pixel lớn ngưỡng gán maxval, ngược lại gán (Nhóm sử dụng kiểu nhị phân này) THRESH_BINARY_INV: Nếu giá trị pixel lớn ngưỡng gán 0, ngược lại gán maxval THRESH_TRUNC: Nếu giá trị pixel lớn ngưỡng gán giá trị ngưỡng, ngược lại giữ nguyên giá trị THRESH_TOZERO: Nếu giá trị pixel lớn ngưỡng giữ nguyên giá trị, ngược lại gán THRESH_TOZERO_INV: Nếu giá trị pixel lớn ngưỡng gán giá trị 0, ngược lại giữ nguyên Áp dụng hàm cv2.countNonZero() để đếm pixel có giá trị khác (màu trắng thực tế) 72 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện Hình 3.24 Nhận diện biển báo: (a) Hình biển báo rẽ trái xác định; (b) Nhị phân hóa ảnh biển báo rẽ trái; (c) Góc ¼ phía bên trái biển báo rẽ trái; (d) Biển báo rẽ trái nhận diện; (e) Hình biển báo rẽ phải xác định; (f) Nhị phân hóa ảnh biển báo rẽ phải; (g) Góc ¼ phía bên trái biển báo rẽ phải; (h) Biển báo rẽ phải nhận diện; (i) Hình biển báo dừng lại xác định; (k) Biển báo dừng lại nhận diện Hình 3.25 Kết điều hướng xe tự hành sa hình có biển báo giao thơng 73 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện 3.4 Xe tự hành sa hình tránh vật cản Lưu đồ 3.3 Giải thuật chế độ chạy vòng tròn kết hợp né vật cản xe tự hành 74 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện Dựa vào lưu đồ giải thuật [3.3], Trong lưu đồ [3.2] thể thiện ý tưởng nhóm việc điều hướng xe tự hành tránh vật cản: • Nhóm sử dụng hệ màu HSV nhận dạng vật thông qua màu sắc để từ sử dụng thuật tốn tìm đường viền (findContour) thư viện OpenCV để xác định vị trí vật • Với vị trí vật cản màu cam dịch trái 160 pixel, lấy vị trí pixel sau dịch tạo với điểm cố định xe ban đầu tạo thành góc điều hướng cho xe chuyển tránh vật cản • Khi gặp vị trí vật cản màu xanh xe dịch phải 450 pixel, sau lấy điểm pixel vừa dịch tạo điểm cố định thành góc lái điều hướng cho xe tránh vật cản • Chương trình thúc có tín hiệu báo ngắt từ bàn phím 3.4.1 Nhận biết vật cản Đối với việc xử lý vật cản việc chọn vùng quan tâm khơng cần vật cản có khung hình cần phải xử lý, nên bước tiền xử lý ảnh việc điều hướng xe tự hành né vật cản hình ảnh nhận vào khung hình mặc định camera với kích thước chiều rộng 600 pixel chiều dài 400 pixel Ở bước tiền xử lý việc nhận biết vật cản tương đối giống với bước tiền xử lý nhận biết biển báo Hình ảnh camera nhận vào giảm thiểu nhiễu từ môi trường làm mờ ảnh sử dụng lọc làm mờ Gaussian (Gaussian Filter) với kernel có kích thước 5*5 Sau đó, hình ảnh chuyển sang hệ màu HSV để tiến hành tìm mảng màu tương ứng với vật cản xanh dương cam Sau tiền xử lý, hình ảnh rõ mảng màu mảng màu, môi trường xung quanh chuyển thành màu đen Sử dụng hàm cv2.findContours() thư viện OpenCV để xác định vị trí vật cản khung hình 75 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện Hình 3.26 Nhận biết vật cản thực tế: (a) Hình vật cản màu cam; (b) Chọn mảng màu nhận diện vật cản màu cam; (c) Vật cản màu cam nhận diện; (d) Hình vật cản màu xanh; (e) Chọn mảng màu nhận diện vật cản màu xanh; (f) Vật cản màu xanh nhận diện 3.4.2 Chế độ chạy xe với vật cản Sau xác định khung hình có vật cản tiến hành đóng khung vật cản Từ ứng với vật cản có chế độ xe khác nhau: • Vật cản màu cam: xác định điểm góc trái vật trừ sang trái 160 pixel, sau vẽ đường thẳng từ điểm hình phía tới điểm Tính góc điểm: - Điểm góc trái vật trừ sang trái 160 pixel - Điểm bên trái khung hình - Điểm bên khung hình • Vật cản màu xanh dương: trường hợp vật cản đặt chéo xác định điểm góc trái vật cộng sang phải 450 pixel Nếu vật cản đặt 76 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 3: Nội Dung Thực Hiện thẳng hàng xác định điểm góc trái vật trừ sang trái 160 pixel sau vẽ đường thẳng từ điểm hình phía tới điểm Tính góc điểm: - Điểm tính tốn góc lái tính từ vật cản xanh dương - Điểm bên trái khung hình - Điểm bên khung hình Hình 3.27 Tính tốn góc lái ứng với vật cản: (a) Vật cản màu cam nhận diện; (b) Tính tốn góc lái xe vật cản màu cam; (c) Vật cản màu xanh nhận diện; (d) Tính tốn góc lái xe vật cản màu xanh Sau xe di chuyển theo góc vừa tính tốn, xe bỏ qua góc line mà tiếp tục di chuyển với góc vật cản Khi xe di chuyển để né vật cản hình ảnh vật cản gần làm góc xe thay đổi liên tục khung hình khơng cịn nhận thấy vật cản chạy với chế độ chạy vịng trịn bình thường 77 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 4: Kết Luận Và Hướng Phát Triển CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận Qua thực nghiệm với mơ hình phần cứng nhóm xây dựng, kết cho thấy tốc độ khung hình giây mà thiết bị ln xử lý ổn định đáp ứng thời gian thực đạt tới 14 fps Kết thể qua phần thực nghiệm xe Trong phần xe tự hành sa hình sau nhiều vòng chạy cho thấy xe tự hành bám đường tốt Dựa kết đường màu vẽ theo xe, mục đích ghi lại lịch sử di chuyển xe cho thấy khoảng cách đường xe lệch khoảng 1-3 pixel, thêm vào độ cao camera thu kết 3m ta thấy độ lệch thực tế sa hình vào khoảng 2cm Tiếp đến phần xe tự hành sa hình có biển báo giao thơng xe tự hành thực hành trình theo hình số Xe tự hành di chuyển bám theo đường với độ xác cao Việc nhận diện biển báo giao thơng có sa hình dù điều kiện mơi trường bên ngồi có thuận sáng ngược sáng xe nhận biết xác biển báo Do đó, việc điều hướng cho xe theo biển báo quy định thực dễ dàng Cuối phần xe tự hành sa hình tránh vật cản, xe tự hành hoàn thành tốt việc điều hướng xe theo đường bên phải có kết tương đồng với phần Tiếp đó, xe tự hành gặp vật cản, xe phát nhận biết xác màu vật cản quy định Ở trường hợp, hai vật cản thẳng hàng hay vật cản chéo cho thấy xe phát hiện, nhận biết tốt vật cản điều hướng di cuyển với mục tiêu yêu cầu Bên cạnh nhóm thực tốt bước loại bỏ nhiễu trình xử lý ảnh điển áp dụng tốt hệ màu HSV phát nhận diện màu trắng đường so với môi trường xung quanh, khoanh vùng đối tượng cần xử lý giúp giảm tối đa thời gian chu kỳ xử lý ảnh thêm vào áp dụng tốt thuật tốn giúp xử lý pixel không mong muốn ảnh hưởng điều kiện ánh sáng trời 4.2 Hướng Phát Triển Để giúp đề tài có hướng giải tốn thực tế tối ưu hơn, nhóm đề xuất trang bị thiết bị cảm biến phát vật, đo khoảng cách vị trí 78 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 4: Kết Luận Và Hướng Phát Triển vị trí khuất hai bên hơng xe, giúp xe kiểm sốt tốt q trình di chuyển Đối với xử lý tín hiệu tự nhiên để có kết tối ưu nâng cấp phần cứng điều vô quan trọng Một nhóm để xuất nâng cấp thiết bị thu tín hiệu hình ảnh, giúp cải thiện chất lượng tín hiệu hình ảnh tốt bên cạnh cần nâng cấp thiết bị xử lý tín hiệu sau thu để thể giải thêm nhiều toán phức tạp thực tế Do đó, tương lai, nhóm cố gắng cải thiện phần cứng tăng kích thước xe, tăng chất lượng camera tăng thêm số lượng camera thay đổi sa hình để đạt u cầu thực nghiệm sát với thực tế Việc thay đổi xe tự hành với chất lượng tốt thực toán ứng dụng điều khiển tốc độ, việc điều hướng góc lái có độ xác cao (độ phân giải góc lớn) Điều quan trọng nhóm ứng dụng số giải thuật cao ứng dụng mạng học sâu (Deep Learning) việc nhận dạng phát đối tượng, giúp đa dạng hóa khả nhận biết tốn phân loại đối tượng cho xe đưa đề tài đến sát với thực tế 79 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh TÀI LIỆU THAM KHẢO Tiếng Việt [7] Trương Xuân Đạt (06/09/2017), https://www.stdio.vn/article/ky-thuat-grayscale -va-nhi-phan-hoa-anh-adaptive-threshold-Fhjcg (02/03/2020) [10] Nguyễn Thanh Tuấn (10/2019) , Deep Learing Cơ Bản, trang 106-114 (03/02/2020) Tiếng Anh [1] Agvegroup, Automated Guided Vehicles, https://www.agvegroup.com/services_ it em/au tomated-guided-vehicles/ (11/03/2020) [2] Wewalk, WeWALK Smart Cane For Visually Impaired and Blind People, https ://wewalk.io/en/ (13/05/2020) [3] David Shepardson (24/01/2020), Uber self-driving cars, https://www.reuters com/article/us-uber-self-driving/uber-self-driving-cars-with-humans-in-control-tocruise-washington-d-c-friday-idUSKBN1ZM2PH (01/03/2020) [4] Philips Semiconductors (01/2000), The I2c-Bus Specification - Version 2.1 [5] Graphics Mill, Color Spaces, https://www.graphicsmill.com/docs/gm/color-spac es.html (08/04/2020) [6] Rapid Tables, Color Conversion, https://www.rapidtables.com/convert/color/in dex.html (07/06/2020) [8] Nick Efford, Morphological Image Processing, https://www.cs.auckland.ac.nz/ courses/compsci773s1c/lectures/ImageProcessing-html/topic4.htm (18/07/2020) [9] OpenCV, Eroding and Dilating, https://docs.opencv.org/2.4/doc/tutorials/imgp roc/erosion_dilatation/erosion_dilatation.html (19/07/2020) [11] Rachel Draelos (26/07/2019), Convolution vs cross-correlation, https://glassbo xmedicine.com/2019/07/26/convolution-vs-cross-correlation/ (11/03/2020) [12] OpenCV, Basic Operations on Images, https://docs.opencv.org/3.3.0/d3/df2/tut orial_py_basic_ops.html (14/06/2020) [13] Wikipedia, Canny Edge Detector, https://en.wikipedia.org/wiki/Canny_edge_ detector#:~:text=The%20Canny%20edge%20detector%20is,explaining%20why%2 0the%20technique%20works (20/04/2020) 80 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh Chương 4: Kết Luận Và Hướng Phát Triển [14] OpenCV, Canny Edge Detection, https://docs.opencv.org/master/da/d22/tutoria l_py_canny.html (27/05/2020) [15] Moeslund, T (23/03/2009), Canny Edge Detection [16] OpenCV, Smoothing Images, https://docs.opencv.org/2.4/doc/tutorials/imgproc /gausian_median_blur_bilateral_filter/gausian_median_blur_bilateral_filter.html#ga ussian-filter (30/05/2020) [17] The University of Auckland – New Zealand, Edge detection-Sobel_2up [18] OpenCV, Hough Line Transform, https://docs.opencv.org/master/d6/d10/tutori al_py_houghlines.html (04/04/2020) [19] Udemy (2020),The Complete Self-Driving Car Course – Applied Deep Learning (02/2020) [20] Iain Macdonald, Probabilistic Hough Transform [21] Tomasz Kacmajor 06/06/2017), Hough Lines Transform Explained, https://m edium.com/@tomasz.kacmajor/hough-lines-transform-explained-645feda072ab (10/03/2020) [22] Krutika Bapat, (19/03/2019), Hough Transform with OpenCV (C++/Pyth on),https://www.learnopencv.com/hough-transform-with-opencv-c-python/#:~:te xt=Hough%20transform%20is%20a%20feature,by%20only%20a%20few%20para meters (19/05/2020) [23] Dustin Franklin (18/03/2019), Jetson Nano Brings AI Computing to Everyone, https://developer.nvidia.com/blog/jetson-nano-ai-computing/ (25/03/2020) [24] NVIDIA, Getting Started With Jetson Nano Developer Kit, https://developer.n vidia.com/embedded/learn/get-started-jetson-nano-devkit (25/03/2020) [25] Wikipedia, Ubuntu, https://vi.wikipedia.org/wiki/Ubuntu (26/03/2020) [26] OpenCV, Contours: Getting Started, https://docs.opencv.org/3.4/d4/d73/tutoria l_ py_contours_begin.html (08/04/2020) [27] GeeksforGeeks, Thresholding techniques using OpenCV, https://www.geeksf orgeeks.org/python-thresholding-techniques-using-opencv-set-1-simple-thresholdin g/ (10/04/2020) 81 (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh an (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh (Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh(Do.an.hcmute).dieu.huong.xe.tu.hanh.tranh.vat.can.ung.dung.thi.giac.may.tinh

Ngày đăng: 27/12/2023, 02:55

Tài liệu cùng người dùng

Tài liệu liên quan