TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG VÕ HIỆP THÀNH CHÂU TRÍ VIỄN ĐỒ ÁN 1 ỨNG DỤNG QR CODE TRONG ĐỊNH VỊ VÀ ĐIỀU KHIỂN ĐỘNG CƠ CỦA XE TỰ HÀNH TRONG CÔNG.
TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG VÕ HIỆP THÀNH CHÂU TRÍ VIỄN ĐỒ ÁN ỨNG DỤNG QR CODE TRONG ĐỊNH VỊ VÀ ĐIỀU KHIỂN ĐỘNG CƠ CỦA XE TỰ HÀNH TRONG CÔNG NGHIỆP NGÀNH KỸ THUẬT ĐIỀU KHIỂN & TỰ ĐỘNG HĨA TP HỒ CHÍ MINH, 2022 TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG VÕ HIỆP THÀNH - 1910535 CHÂU TRÍ VIỄN - 1912434 ĐỒ ÁN ỨNG DỤNG QR CODE TRONG ĐỊNH VỊ VÀ ĐIỀU KHIỂN ĐỘNG CƠ CỦA XE TỰ HÀNH TRONG CÔNG NGHIỆP NAVIGATION AND MOTOR CONTROL USING QR CODE FOR AUTOMATED GUIDED VEHICLE NGÀNH KỸ THUẬT ĐIỀU KHIỂN & TỰ ĐỘNG HÓA GIẢNG VIÊN HƯỚNG DẪN TS NGUYỄN VĨNH HẢO TP HỒ CHÍ MINH, 2022 Lời cảm ơn Lời đầu tiên, chúng em xin bày tỏ lòng biết ơn sâu sắc tới quý thầy cô Trường đại học Bách Khoa – Đại học Quốc gia Thành phố Hồ Chí Minh nói chung, q thầy khoa Điện – Điện tử, quý thầy cô chuyên ngành Điều khiển Tự động hóa nói riêng, truyền đạt cho chúng em kiến thức hướng quý giá để phục vụ cho q trình hồn thành Đồ án Chúng em xin gửi lời cảm ơn đặc biệt đến thầy Nguyễn Vĩnh Hảo – Trưởng môn Điều khiển tự động Chúng em ấn tượng với cách dạy làm việc thầy môn Hệ thống điều khiển nhúng, qua chúng em thầy cho hội tham gia nhóm thầy hướng dẫn, bảo q trình hồn thành Đồ án Bên cạnh kiến thức thầy giảng dạy, thầy hỗ trợ nhiệt tình qua liên lạc mặt phịng lab, địa điểm họp làm việc Có hỗ trợ thầy hội lớn chúng em có năm học khó khăn vừa qua Chúng em xin chân thành cảm ơn! TP.HCM, ngày tháng năm 2022 Kế hoạch thực Châu Trí Viễn Võ Hiệp Thành Giai đoạn 1: Tìm hiểu tổng quan Giai đoạn 1: Tìm hiểu tổng quan AGV QR code • Tìm hiểu AGV • Tìm hiểu sơ lược QR code • Khảo sát thị trường AGV • Tìm hiểu cấu trúc QR code • Tìm hiểu sơ lược • Xem cách giải mã ứng dụng phương pháp định vị AGV QR cơng nghiệp Giai đoạn 2: Tìm hiểu Ubuntu Giai đoạn 2: Tìm hiểu lập trình thử nghiệm ứng dụng giao diện QT • Học lập trình cross platform QT Python • Lập trình giao diện mở Camera python • Lập trình thử giao diện QT • Tìm hiểu giải thuật xử lý QR bản: Mở ảnh, chỉnh sửa Code thử nghiệm ảnh, mở camera Python Giai đoạn 3: Lập trình giao diện Giai đoạn 3: Đóng góp hồn chỉnh giải thuật giao diện lập trình • Xây dựng giao diện hồn firmware STM32F407 chỉnh • Kết nối Serial Port, hiển thị camera thơng số, kết • Lập trình firmware cho STM32F407, giao tiếp UART, điều khiển động nối với Camera bên Giai đoạn 4: Thực nghiệm xử lý laptop Giai đoạn 4: Thực nghiệm xử lý số liệu số liệu MỤC LỤC DANH MỤC HÌNH ẢNH TÓM TẮT ĐỒ ÁN CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu xe tự hành AGV (Automated Guided Vehicles) 1.2 Các phương pháp dẫn đường AGV 1.2.1 Dẫn đường tương đối 1.2.2 Dẫn đường tuyệt đối 1.2.3 So sánh giá thành phương pháp dẫn đường AGV 1.2.4 Các xe AGV thị trường nước quốc tế sử dụng định vị QRCode 1.2.5 Cơ dẫn đường QR Code 10 CHƯƠNG THỬ NGHIỆM THỰC TIỄN TRÊN PHẦN MỀM 13 2.1 Giao diện người dùng Qt kết hợp thư viện OpenCV 13 2.1.1 Giới thiệu Qt OpenCV 13 2.1.2 Sơ đồ kết nối phần cứng điều khiển với giao diện Qt 15 2.2 Kết thực nghiệm với giao diện người dùng Qt điều khiển động mã QR Code 20 2.2.1 Ảnh hưởng khoảng cách đến khả Scan QR Code 20 2.2.2 Ảnh hưởng ánh sáng đến khả Scan QR Code 22 2.2.3 Ảnh hưởng độ bẩn đến khả Scan QR Code 23 2.3 Đánh giá, kết luận hướng phát triển dẫn đường QRCode 25 2.3.1 Kết luận 25 2.3.2 Hướng phát triển tương lai 26 TÀI LIỆU THAM KHẢO 27 DANH MỤC HÌNH ẢNH Hình Các spot từ dán/nhúng sàn Hình Cảm biến Hall Hình Định vị đường từ/đường line Hình Định vị QR Code Hình Mẫu AGV TPA Hình Mẫu Smart AGV sử dụng QR Code Hình Mẫu AGV sử dụng QR Code Intech Group Hình Mẫu AGV IKV Robot Hình Mẫu Delta Robotics sử dụng QR Code Hình 10 Mẫu AGV EDS Robotics 10 Hình 11 Cấu tạo QR code 10 Hình 12 Cấu trục định vị QR code 11 Hình 13 Sơ đồ khối hệ thống định vị QR code 12 Hình 14 Mô tả định vị QR code 12 Hình 15 Giao diện QT Creator 5.15 13 Hình 16 Giao diện kéo thả QT Designer 14 Hình 17 Sơ đồ khối trình giải mã nội dung QR code 15 Hình 18 Sơ đồ kết nối phần cứng thực nghiệm điều khiển động QR code 16 Hình 19 Giao diện GUI cở thiết kế QT Designer 16 Hình 20 Giao diện GUI sau thiết kế lập trình 17 Hình 21 Serial Port Group 17 Hình 22 Vùng làm việc PID 18 Hình 23 Gửi thơng số điều khiển động 18 Hình 24 Tạo mã QR code từ tab QR Generate 19 Hình 25 Hiển thị camera quét QR code 19 Hình 26 Tổng thể giao diện GUI 20 Hình 27 Thu thập số liệu để thực nghiệm điều khiển động 20 Hình 28 Điều chỉnh biến đếm theo frame để thu thập số liệu 21 Hình 29 Khả scan QR Code qua lần tăng khoảng cách 21 Hình 30 Setup cường độ ánh sáng để khảo sát khả nhận diện QR code 22 Hình 31 Ảnh hưởng cường độ ánh sáng đến khả nhận diện 23 Hình 32 Bụi bẩn nhẹ QR code 23 Hình 33 Camera giao diện nhận diện khoảng từ 1~5 frame 24 Hình 34 Bụi bẩn nặng mã QR code 24 Hình 35 Với mơi trường bẩn nặng, mã QR nhận diện 25 TÓM TẮT ĐỒ ÁN Đồ án trình bày trình tìm hiểu xây dựng mơ hình điều khiển định vị xe tự hành QR code Trong báo cáo bao gồm khái niệm xe tự hành công nghiệp (Automated Guided Vehicle), phương pháp định vị thường thấy Ngồi ra, báo cáo cịn khảo sát thị trường mẫu xe sử dụng QR code cơng nghiệp Trong q trình thực nghiệm, giao diện người dùng xây dựng tảng QT tích hợp thư viện OpenCV Zbar để xử lý camera quét QR Code Dữ liệu sau quét giao diện gửi xuống vi điều khiển STM32 thông qua giao tiếp Serial Port Sau điều khiển động cơ, người dùng xem lại đồ thị đáp ứng từ STM32 gửi ngược lên thông qua giao diện Trong phạm vi đồ án 1, thực nghiệm cho thấy kết khả quan sử dụng QR code để điều khiển động Quá trình thực nghiệm bao gồm môi trường ánh sáng khác nhau, khoảng cách khác mức độ bám bẩn nặng, nhẹ Báo cáo đồ án bao gồm phần hướng phát triển tương lai CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu xe tự hành AGV (Automated Guided Vehicles) Xe tự hành AGV, Robot AGV, tiếng anh Automated Guided Vehicle, loại xe sử dụng công nghệ dẫn đường để vận chuyển hàng hóa, nguyên vật liệu đến địa điểm đánh dấu sẵn mà không cần đến can thiệp người Xe tự hành AGV hay gọi Robot kéo hàng, Robot vận chuyển hàng tự động Loại xe vận chuyển phần q trình phát triển nhà máy thơng minh doanh nghiệp tự động hóa cơng nghiệp Trên thị trường nay, dịng xe AGV sử dụng để vận chuyển nguyên vật liệu nhiều ngành nghề khác Chẳng hạn công nghiệp ô tô, Logistic, dược phẩm, điện điện tử, hàng tiêu dùng, y tế… 1.2 Các phương pháp dẫn đường AGV Trong tốn định vị vị trí xe tự hành, thông thường chia loại: vị trí tương đối vị trí tuyệt đối, vị trí tương đối định vị cách đo quãng đường từ điểm bắt đầu tìm vị trí (thường dùng IMU, Encoder, …) Cách định vị có khuyết điểm sai số bị tích lũy theo thời gian Chính để có vị trí xác, thơng thường ta kết hợp với cách đo vị trí tuyệt đối (Gửi thơng tin xác điểm đánh dấu: QR Code, magnetic line, magnetic spot…) 1.2.1 Dẫn đường tương đối Trong phạm vi đồ án 1, sinh viên tìm hiểu dẫn đường tuyệt đối Vấn đề dẫn đường tương đối phát triển đồ án tương lai để kết hợp với đồ án 1.2.2 Dẫn đường tuyệt đối 1.2.2.1 Dẫn đường spot từ Sử dụng cảm biến Hall để phát viên nam châm có kích thước nhỏ lắp đặt sàn đo đạc phân bố mật độ từ thơng nam châm, từ tính tốn qng đường cần di chuyển bánh xe (moving distances) góc lái (steering angle) Hình Các spot từ dán/nhúng sàn Là cảm biến tuyến tính có giá thành rẻ, hiệu cao Cảm biến có khả dị chuyển động, vị trí thay đổi từ Cùng với đó, cảm biến tiêu tốn lượng Hai thông số cần quan tâm cảm biến Hall “flux density’ – “mật độ thông” (lượng từ qua) cực (the North and South poles) Hình Cảm biến Hall 1.2.2.2 Dẫn đường đường từ/dây cảm ứng Với phương pháp dò đường này, AGV hướng dẫn di chuyển thông qua đường vật lý, băng keo từ (magnetic tape), dây cảm ứng (inductive wire) lắp đặt sàn Phương pháp hoạt động theo cách sau: AGV sử dụng cảm biến hồng ngoại (đối với line màu sắc) cảm biến từ lắp theo module (line từ) dị đường line sàn Tiếp đó, đo đạc sai số hướng di chuyển sử dụng thông tin để điều chỉnh quỹ đạo robot Hình Định vị đường từ/đường line 1.2.2.2 Dẫn đường mã QR Code Bước để dẫn đường xe AGV dán mã QR Code đất theo dạng ma trận, mã QR Code liệu bao gồm: Thơng tin vị trí xe ma trận QR Code dán đường Hình Định vị QR Code CHƯƠNG THỬ NGHIỆM THỰC TIỄN TRÊN PHẦN MỀM 2.1 Giao diện người dùng Qt kết hợp thư viện OpenCV 2.1.1 Giới thiệu Qt OpenCV 2.1.1.1 Lập trình giao diện người dùng Qt C++ Qt phần mềm phát triển giao diện người dùng đa tảng, mạnh Qt thể phát triển hệ điều hành khác nhau, đặc biệt hệ điều hành có hệ nhúng (Linux) Qt cho phép tạo giao diện cách kéo thả (Qt Designer) Điểm đơn giản Qt giúp người dùng dễ tiếp cận giao diện ngôn ngữ làm việc C++, người dùng tạo số GUI việc kéo thả tạo signals/slots để tương tác Hình 15 Giao diện QT Creator 5.15 13 Hình 16 Giao diện kéo thả QT Designer 2.1.1.2 Quá trình giải mã QR code dựa thư viện OpenCV Video trực tiếp trích xuất từ camera Rapoo, để giải mã nội dung QR code video camera ghi lại, ta làm sau: Bước 1: Đọc frame ảnh từ video Bước 2: Sử dụng thư viện zbar - thư viện hỗ trợ mạnh việc dị tìm giải mã QR code, để dị QR code có frame mà ta đọc từ bước Bước 3: Sử dụng hàm có sẵn để giải mã nội dung QR dị bước Ngồi ta cịn xác định tọa độ điểm góc trái (x, y), chiều cao h độ rộng w, từ ta vẽ hình chữ nhật bao quanh QR code 14 Hình 17 Sơ đồ khối trình giải mã nội dung QR code 2.1.2 Sơ đồ kết nối phần cứng điều khiển với giao diện Qt 2.1.2.1 Phần cứng USB Camera Rapoo dùng để scan QR, camera dùng để phát triển thêm nhiều tính sau này, tùy theo vị trí lắp đặt khác mà phát triển phát chuyển động… Máy tính/máy tính nhúng để nhận data từ camera truyền qua usb port, data xử lý GUI STM32 động để giả lập trình điều khiển động mã QR, STM32 kết nối với tính thơng qua UART Các mã QR Code in để dán sàn nhà, mô lại điều khiển động sử dụng QR Code 15 Hình 18 Sơ đồ kết nối phần cứng thực nghiệm điều khiển động QR code 2.1.2.2 Giao diện người dùng Qt C++ điều khiển động scan QR Code Qt Designer cho phép người dùng tạo lập giao diện cách kéo thả, tạo signals/slots thủ cơng cách click chọn Hình 19 Giao diện GUI cở thiết kế QT Designer 16 Hình 20 Giao diện GUI sau thiết kế lập trình Vùng giao tiếp Serial Port bao gồm ComboBox lựa chọn thơng số: Hình 21 Serial Port Group 17 Vùng PID Tuning bao gồm line để chỉnh gửi thơng số PID, với vẽ đồ thị Tunning: Hình 22 Vùng làm việc PID Vùng Control Parameters để gửi thông số điều khiển động sau quét thành công QR Code: Hình 23 Gửi thơng số điều khiển động Tab QR Generate để người dùng chủ động tạo mã QR Code mà không cần ứng dụng bên thứ 3: 18 Hình 24 Tạo mã QR code từ tab QR Generate Tab QR Scanner để hiển thị camera hiển thị Vùng QR Code quét được: Hình 25 Hiển thị camera quét QR code 19 Hình 26 Tổng thể giao diện GUI 2.2 Kết thực nghiệm với giao diện người dùng Qt điều khiển động mã QR Code 2.2.1 Ảnh hưởng khoảng cách đến khả Scan QR Code Yếu tố ảnh hưởng lớn đến khả scan QR khoảng cách, thực nghiệm này, sinh viên đo đạc thu số liệu qua lần tăng khoảng cách, camera đặt hướng xuống sàn góc 90 độ Hình 27 Thu thập số liệu để thực nghiệm điều khiển động 20 Hình 28 Điều chỉnh biến đếm theo frame để thu thập số liệu Số liệu thí nghiệm sau lần thu thập tăng khoảng cách đến ngưỡng 80cm sau đưa vào Matlab để xử lý: Hình 29 Khả scan QR Code qua lần tăng khoảng cách Nhận xét: Giao diện xử lý QR code qua khoảng cách cho kết tốt khoảng từ - 30 cm, QR Code phát qua frame truyền 21 xuống điều khiển động Trên 30 cm hiệu suất giảm dần, kéo dài đến ngưỡng 80cm qua gần 75 frame xác định QR khung hình (tốc độ camera 30fps) Với vấn đề khoảng cách, ta hồn tồn khắc phục camera gắn gầm xe, thông thường gầm xe cao ngưỡng 15~25 cm 2.2.2 Ảnh hưởng ánh sáng đến khả Scan QR Code Trong khảo sát này, tiến hành giảm cường độ ánh sáng để xem ảnh hưởng ánh sáng đến hiệu suất Scan QR Code giao diện Trong điều kiện ánh sáng, camera setup với góc hướng xuống trực tiếp với mặt đất, khoảng cách đặt 30cm (ngưỡng camera hoạt động tốt) Hình 30 Setup cường độ ánh sáng để khảo sát khả nhận diện QR code 22 Hình 31 Ảnh hưởng cường độ ánh sáng đến khả nhận diện Nhận xét: Khả nhận diện QR qua điều kiện ánh sáng tốt, khoảng từ đến frame chấp nhận q trình điều khiển Ngồi ra, tăng khả nhận diện cách trang bị led gầm xe để tránh môi trường thiếu sáng 2.2.3 Ảnh hưởng độ bẩn đến khả Scan QR Code Trong khảo sát này, xét ảnh hưởng bụi bẩn lên mã QR Code Trong môi trường vận hành công nghiệp, khả ảnh hưởng bụi bẩn lên mã cao, nên mã QR thực khảo sát bị chà xát bám bẩn qua mức độ nhẹ nặng Hình 32 Bụi bẩn nhẹ QR code 23 Hình 33 Camera giao diện nhận diện khoảng từ 1~5 frame Hình 34 Bụi bẩn nặng mã QR code 24 Hình 35 Với mơi trường bẩn nặng, mã QR nhận diện Nhận xét: Trong môi trường công nghiệp, để nhận diện mã QR mức độ bận nhẹ trung bình có khả thi Bụi bẩn mức độ cịn cho phép nhận dạng được, không che lắp nhiều bit data giao diện hoạt động tốt Để khắc phục vấn đề này, bịt mã QR keo bảo vệ (Tránh khả trầy xước giảm mức độ bụi) 2.3 Đánh giá, kết luận hướng phát triển dẫn đường QRCode 2.3.1 Kết luận Trong phạm vi đồ án nhóm xây dựng giao diện (GUI), firmware (Code điều khiển động cơ) phần cứng (STM32F407, Động DC, cảm biến Encoder, Camera) Trong trình nghiên cứu thực mình, nhóm rút kết luận đánh giá kết sau: Về phần cứng: kết nối thành khối Động (tích hợp Encoder) - Vi điều khiển STM32F407 - Máy tính - USB Camera Rapoo 25 Về phần giao điện điều khiển: Nhóm tạo mã QR GUI, nhúng camera vào GUI, dùng camera để dò QR code giải mã nội dung chứa QR code Về firmware: Từ nội dung giải mã phía gửi thẳng xuống vi điều khiển thông qua truyền thông nối tiếp (UART), điều khiển lựa chọn PID controller Nhận xét tổng quan: Phương pháp điều khiển động định vị QR Code khả thi vận hành thực tế Qua khảo sát thị trường, có mẫu AGV định vị QR code trình Trong phạm vi đồ án này, bên cạnh ưu điểm giá thành khả nhận dạng nhanh chóng QR code, nhiều khuyết điểm (Khả cân sáng chậm, khả phục hồi mã QR code hỏng chưa có, ), khuyết điểm nghiên cứu khắc phục tương lai 2.3.2 Hướng phát triển tương lai Để hồn thiện robot, nhóm phát triển thêm khung robot, tích hợp thêm cảm biến định vị trí giao thức kết nối board máy tính nhúng Phát triển thêm khung robot: Hiện với phạm vi đồ án 1, sinh viên chạy tạm thời với động nhằm test khả điều khiển động băng QR Code, hương phát triển đồ án bao gồm phần thiết kế khung xe tính tốn, lựa chọn động Tích hợp thuật tốn định vị vị trí tương đối: Sử dụng IMU cảm biến Laser thường dùng công nghiệp Với khả QR Code, hoạt động độc lập không mang lại độ xác cao có thể, trình bày phần giới thiệu, phương pháp định vị tuyệt đối cần kết hợp với nhiều phương pháp kết tốt 26 TÀI LIỆU THAM KHẢO [1] Zhuo Qingliang (2019) Qt and OpenCV Computer Vision Projects [2] Roman Szewczyk, Cezary Zieliński, Małgorzata Kaliczyńska, “Progress in Automation, Robotics and Measuring Techniques”, 2015 [3] Tansuriyavong Suriyon, Higa Keisuke and Boonmee Choompol, “Development of Guide Robot by Using QR Code Recognition”, The Second TSME International Conference on Mechanical Engineering, 2011 [4] Payam Nazemzadeh, Daniele Fontanelli, David Macii, Luigi Palopoli, “Indoor Localization of Mobile Robots through QR Code Detection and Dead Reckoning Data Fusion”, IEEE Trans on Mechatronics, vol 22, pp 2588 2599, 2017 [5] Zhang, Yang, Chen, “Localization and navigation using QR code for mobile robot in indoor environment”, IEEE International Conference on Robotics and Biomimetics, pp 2501 - 2506, 2015 [6] Weibing Chen, Gaobo Yang, Ganglion Zhang, “A Simple and Efficient Image Pre-processing for QR Decoder”, The Second International Conference On Electronic and Mechanical Engineering and Information Technology, 2012 [7] Christopher Kirsch, Christof Rohrig, “Global Localization and Position Tracking of an Automated Guided Vehicle”, Preprints of the 18th IFAC World Congress Milano (Italy), 2011 [8] Carlos Garcia - Saura, “Self-calibration of a differential wheeled robot using only a gyroscope and a distance sensor”, Imperial College London, 2015 [9] Ross Eisenbeis, “Understanding & Applying Hall Effect Sensor Datasheets”, SLIA086, 2014 [10] Said Abdo Ahmed Elshayeb, “Multi-sensor Fusion For Automated Guided Vehicle Positioning”, 2010 27 ... Các mã QR Code in để dán sàn nhà, mô lại điều khiển động sử dụng QR Code 15 Hình 18 Sơ đồ kết nối phần cứng thực nghiệm điều khiển động QR code 2.1.2.2 Giao diện người dùng Qt C++ điều khiển động... sử dụng QR Code Hình 10 Mẫu AGV EDS Robotics 10 Hình 11 Cấu tạo QR code 10 Hình 12 Cấu trục định vị QR code 11 Hình 13 Sơ đồ khối hệ thống định vị QR code. .. KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG VÕ HIỆP THÀNH - 1910535 CHÂU TRÍ VIỄN - 1912434 ĐỒ ÁN ỨNG DỤNG QR CODE TRONG ĐỊNH VỊ VÀ ĐIỀU KHIỂN ĐỘNG CƠ CỦA XE TỰ HÀNH TRONG CÔNG NGHIỆP NAVIGATION