1. Trang chủ
  2. » Giáo Dục - Đào Tạo

NGHIÊN cứu VÀ CHẾ tạo XE tự HÀNH THEO VẠCH KẺ DÙNG xử LÝ ẢNH

70 12 0

Đ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

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG NGHIÊN CỨU VÀ CHẾ TẠO XE TỰ HÀNH THEO VẠCH KẺ DÙNG XỬ LÝ ẢNH Mã số: T2020-06-157 Chủ nhiệm đề tài: TS Phạm Tuấn Đà Nẵng, Tháng 11 Năm 2021 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG NGHIÊN CỨU VÀ CHẾ TẠO XE TỰ HÀNH THEO VẠCH KẺ DÙNG XỬ LÝ ẢNH Mã số: T2020-06-157 Xác nhận quan chủ trì đề tài Chủ nhiệm đề tài DANH SÁCH NHỮNG THÀNH VIÊN THAM GIA NGHIÊN CỨU ĐỀ TÀI Chủ nhiệm đề tài: TS Phạm Tuấn Khoa Điện, Trường Đại học Sư phạm Kỹ thuật - Đại học Đà Nẵng ThS Trần Duy Chung Khoa Điện, Trường Đại học Sư phạm Kỹ thuật - Đại học Đà Nẵng MỤC LỤC Chương TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP PHÁT HIỆN VẠCH KẺ 1.1 Phương pháp phát vạch kẻ xử lý ảnh 1.1.1 Hệ màu RGB .7 1.1.2 Hệ màu HSV .7 1.1.3 Ảnh xám ảnh nhị phân 10 1.1.4 Giới thiệu edge detection 10 1.1.5 Edge detection 12 1.1.6 Edge detection với OpenCV 13 1.1.7 Phát vạch kẻ OpenCV 23 1.2 Phương pháp phát vạch kẻ học sâu .26 1.2.1 Convolution .26 1.2.2 Ví dụ convolution .27 1.2.3 Phát vạch kẻ đường với mạng học sâu Unet 29 Chương THIẾT KẾ CHẾ TẠO XE TỰ HÀNH 31 2.1 Thiết kế phần khí .31 2.1.1 Giới thiệu L298N .31 2.1.2 Thông số kỹ thuật 31 2.1.3 Chức L298N 32 2.1.4 Phương pháp điều chế độ rộng xung (PWM) 33 2.1.5 Liên hệ với Raspberry .34 2.1.6 Động Planet 36 2.1.7 Mạch điều khiển PCA9685 .37 2.1.8 Chế tạo khí cho xe mơ hình 37 2.2 Thiết kế phần điều khiển 39 2.2.1 Phát cạnh với thuật toán Canny .39 2.2.2 Phát vạch kẻ đường 41 2.2.3 Kết hợp cạnh để tìm vạch kẻ đường 43 2.2.4 Các vấn đề cần lưu tâm 43 2.2.5 Nội suy góc đánh lái 45 2.2.6 Ổn định góc lái 46 2.2.7 Lưu đồ thuật toán 47 2.3 Thiết kế phần mềm cho hệ thống nhúng 48 2.3.1 Cài đặt hệ điều hành cho hệ thống nhúng .48 2.3.2 Cài đặt môi trường 50 2.3.3 Cài đặt kết nối cho Raspberry Pi 51 Chương KIỂM TRA KHẢ NĂNG TỰ HÀNH .54 3.1 Xây dựng sa hình 54 3.2 Thử nghiệm chỉnh sửa .56 Kết luận 60 Kiến nghị 60 Hướng phát triển đề tài 60 TÀI LIỆU THAM KHẢO 61 DANH MỤC CÁC HÌNH VẼ Hình Hệ màu RGB Hình Hệ màu HSV Hình Hình ảnh thí nghiệm tách vật thể cho hệ màu HSV .8 Hình Hình chữ Hán có màu trắng đen 11 Hình Hình ảnh phóng to hình 11 Hình Ảnh gốc edge detection 12 Hình Các thơng số để xác định edge detection tốt .13 Hình Ảnh gốc họa edge detection 14 Hình Bức ảnh trắng đen từ ảnh gốc 15 Hình 10 Bộ lọc Gaussian .16 Hình 11 Hình ảnh qua lọc 17 Hình 12 Nhân Sobel dạng 3D .18 Hình 13 Hình ảnh qua lọc Sobel 19 Hình 14 Bản đồ vùng ngưỡng .20 Hình 15 Bản đồ vùng ngưỡng có thêm đường cong dốc 21 Hình 16 Các cạnh Canny cuối .22 Hình 17 Hình ảnh đầu vào 23 Hình 18 ROI để phát đường 24 Hình 19 Vạch kẻ xác dịnh từ hình ảnh đầu vào 25 Hình 20 Hình ảnh gốc vạch kẻ phát 25 Hình 21 Đầu vào tích chập .26 Hình 22 Bảng tính tốn tích chập 27 Hình 23 Chạy hết hàng 28 Hình 24 Chạy xuống hàng kết cuối 29 Hình 25 Phát đường phương pháp học sâu 30 Hình 26 Mạch cầu L298N .31 Hình 27 Sơ đồ chân L298N 32 Hình 28 Bảng trạng thái mạch cầu H L298 33 Hình 29 Nguyên lý điều xung PWM 34 Hình 30 Xung sử dụng với hàm AnalogWrite raspberry 35 Hình 31 động planet 36 Hình 32 Mạch PCA9685 .37 Hình 33 Kết nối Pi4 PCA9685 38 Hình 34 Bức ảnh nhận từ camera 38 Hình 35 Khu vực màu xanh phân tách 39 Hình 36 Cạnh vạch kẻ đường phát 40 Hình 37 Các cạnh vạch kẻ đường phát 42 Hình 38 Hướng xe nội suy 45 Hình 39 Lưu đồ thuật tốn 47 Hình 40 Mạch Raspberry Pi .48 Hình 41 Chọn file image tải .49 Hình 42 Flash image vào thẻ nhớ 49 Hình 43 Menu Pi 51 Hình 44 Bảng Interfaces Pi 52 Hình 45 Hình 46 Hình 47 Hình 48 Hình 49 Bảng IP Raspberry Pi .53 Địa điểm phát triển kiểm thử phần mềm 55 Khu vực màu đỏ tách 56 Vạch kẻ phát 57 Vạch kẻ, hướng xe mơ hình .57 DANH MỤC CÁC CHỮ VIẾT TẮT CỦA CÁC THUẬT NGỮ TIẾNG ANH RGB HSV PWM Red, Green, Blue Hue, Saturation, Value Pulse-width modulation ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc THƠNG TIN KẾT QUẢ NGHIÊN CỨU Thơng tin chung: - Tên đề tài: NGHIÊN CỨU VÀ CHẾ TẠO XE TỰ HÀNH THEO VẠCH KẺ DÙNG XỬ LÝ ẢNH - Mã số: T2020-06-157 - Chủ nhiệm: TS Phạm Tuấn - Thành viên tham gia: ThS Trần Duy Chung - Cơ quan chủ trì: Trường ĐH Sư phạm Kỹ thuật – Khoa Điện – Điện tử - Thời gian thực hiện: 11/2020 đến 11/2021 Mục tiêu: - Mơ hình xe tự hành theo vạch kẻ dùng xử lý ảnh (Xe có kích thước dài*rộng*cao 60*30*30, tốc độ 1km/h) - Chương trình xử lý ảnh phát nội suy vạch kẻ Tính sáng tạo: - Trước đây, loại xe tự hành phải dùng cảm biến để phát vạch kẻ với màu sơn cố định để di chuyển Nhưng thực tế có nhiều vấn đề vạch kẻ như: khoảng cách vạch kẻ khơng đồng nhất, vạch kẻ phai màu theo thời gian, màu sắc không đồng nhất…Ngày nay, với phát triển máy học lĩnh vực xử lý ảnh tạo nhiều ứng dụng xe tự hành Do đó, chúng tơi đề xuất giải pháp sử dụng xử lý ảnh xe tự hành để giải vấn đề thay cho giải pháp truyền thống dùng cảm biến - Làm chủ công nghệ nội địa hóa sản phẩm Tóm tắt kết nghiên cứu: Cách tiếp cận - Nghiên cứu phương pháp phát nội suy vạch kẻ - Xây dựng chương trình cho thiết bị nhúng, nhận hình ảnh từ camera điều khiển xe Phương pháp nghiên cứu - Nghiên cứu tài liệu khoa học phát nội suy vạch kẻ xử lý ảnh - Thiết kế, chế tạo xe tự hành tiến hành thử nghiệm khả tự hành Tên sản phẩm: - Mơ hình xe tự hành theo vạch kẻ dùng xử lý ảnh (Xe có kích thước dài*rộng*cao 60*30*30, tốc độ 1km/h) - Chương trình xử lý ảnh phát nội suy vạch kẻ - Một báo khoa học có tên: “Semantic Road Segmentation using Deep Learning”, 2020 Applying New Technology in Green Buildings (ATiGB) Hiệu quả, phương thức chuyển giao kết nghiên cứu khả áp dụng: - Làm chủ cơng nghệ nội địa hóa sản phẩm - Chuyển giao sản phẩm cho Khoa Điện – Điện tử trường Đại học Sư phạm Kỹ thuật Hình ảnh, sơ đồ minh họa chính: Hội đồng KH&ĐT đơn vị (ký, họ tên) Ngày tháng năm Chủ nhiệm đề tài (ký, họ tên) XÁC NHẬN CỦA TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT • Góc lái > (Xe sang trái) • Góc lái < (Xe sang phải) 2.3 Thiết kế phần mềm cho hệ thống nhúng 2.3.1 Cài đặt hệ điều hành cho hệ thống nhúng Máy tính nhúng sử dụng đề tài Raspberry Pi Hình 40 Mạch Raspberry Pi Truy cập website thức Raspberry Pi tải “Raspbian Buster with Desktop and recommended software” 48 Hình 41 Chọn file image tải Tải Balena Etcher để flash image hệ điều hành vào thẻ nhớ: Hình 42 Flash image vào thẻ nhớ Chờ đợi một vài phút, q trình báo hồn thành chèn thẻ nhớ vào Raspberry Pi 49 2.3.2 Cài đặt môi trường Khởi chạy Raspberry Pi đợi vài phút, sau mở terminal hình desktop, install thư viện cần thiết sau: sudo apt-get update && sudo apt-get upgrade sudo apt-get install build-essential cmake pkg-config sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install libxvidcore-dev libx264-dev sudo apt-get install libfontconfig1-dev libcairo2-dev sudo apt-get install libgdk-pixbuf2.0-dev libpango1.0-dev sudo apt-get install libgtk2.0-dev libgtk-3-dev sudo apt-get install libatlas-base-dev gfortran sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103 sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103 sudo apt-get install python3-dev Sau cài đặt môi trường ảo python với câu lệnh sau: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py sudo python3 get-pip.py sudo rm -rf ~/.cache/pip sudo pip install virtualenv virtualenvwrapper Khi thư viện cần thiết virtualenv virtualenvwrapper cài đặt thành công, mở file ~/.bashrc với câu lệnh nano ~/.bashrc chèn dòng sau vào file trên: # virtualenv and virtualenvwrapper export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh Lưu lại thay đổi file bashrc áp dụng cài đặt vào terminal tại, tạo môi trường ảo python lệnh sau: 50 source ~/.bashrc mkvirtualenv cv -p python3 2.3.3 Cài đặt kết nối cho Raspberry Pi Ở hình chính, nút menu chọn chức sau: Hình 43 Menu Pi Tại tab interfaces kích hoạt chứng SSH 51 Hình 44 Bảng Interfaces Pi Kích hoạt SSH Raspberry Pi Sau đó, phải khởi động lại hệ thống, Raspberry Pi lấy địa IP lệnh ifconfig sau: 52 Hình 45 Bảng IP Raspberry Pi Bây connect đến Raspberry Pi thông qua laptop câu lệnh sau ssh pi@192.168.1.50 với mật mặc định raspberry Sau setup thứ hoàn chỉnh, đưa đoạn code vào Raspberry Pi chạy thử 53 Chương KIỂM TRA KHẢ NĂNG TỰ HÀNH 3.1 Xây dựng sa hình Để mơ cung đường sa hình đáp ứng trường hợp bắt gặp từ thực tế hình bên Cung đường sa hình mơ phải đáp ứng trường hợp sau: đường thẳng, đường cong, góc rẽ 90 độ Và ta ý rằng, thực tế đường thường màu đen vạch kẻ màu trắng màu vàng, từ ta thấy độ tương phản vạch kẻ đường đường lớn Hình 46 Một cung đường thực tế Từ yêu cầu thực tế vậy, chúng tơi tạo sa hình đáp ứng với yêu cầu thực tế đường thẳng đường cong đến 90 độ Chúng chọn vạch kẻ đường có màu đỏ để tạo mức độ tương phản định với mặt sàn màu xanh 54 a Đường cong đến 90 độ b Đường thẳng Hình 47 Các thử thách cần thiết sa hình thử nghiệm Từ yều cầu thử thách trên, xây dựng sa bên Sa hình sử dụng với mục đích sau: - Tinh chỉnh phần mềm xử lý ảnh để phát vạch kẻ - Tỉnh chỉnh tốc độ lái phù hợp với độ cong vạch kẻ Hình 48 Địa điểm phát triển kiểm thử 55 Như thấy sa hình thử nghiệm màu xanh, vạch kẻ đường màu đỏ, phải tinh chỉnh cận cận giá trị màu để phần mềm phát vạch kẻ đường màu đỏ Trong thực tế, màu vạch kẻ đường thường màu vàng trắng, nhiên điều kiện thử nghiệm khác biệt với thực tế nên ta chọn màu đỏ 3.2 Thử nghiệm chỉnh sửa Việc thử nghiệm điều cần thiết để tinh chỉnh xe mơ hình phù hợp với sa hình định Thử nghiệm giúp có thơng tin để tinh chỉnh phần sau: - Phần mềm xử lý ảnh để phát vạch kẻ - Tốc độ lái phù hợp với độ cong vạch kẻ Đối với phần mềm xử lý ảnh, với màu vạch kẻ cần phải tỉnh chỉnh thông số định, cụ thể là: lower_red = np.array([0,50,50]) upper_red = np.array([10,255,255]) mask0 = cv2.inRange(img_hsv, lower_red, upper_red) Với giá trị cận giúp phát vạch kẻ màu đỏ cách dễ dàng Sau tinh chỉnh cận không gian màu HSV ta kết hình Chúng ta tiếp tục dùng lọc Canny Houghspace để tạo đường thẳng trùng khớp với cạnh vạch kẻ Hình 49 Khu vực màu đỏ tách 56 Hình 50 Vạch kẻ phát Dựa vạch kẻ phát được, nội suy hướng xe mô hình góc cần đánh lái Chú ý rằng, góc đánh lái cũ phải lưu trữ để tính tốn góc đánh lái mới, điều giúp ổn định góc lái xe mơ hình Hình 51 Vạch kẻ, hướng xe mơ hình 57 Sau xe phát vạch kẻ, cần tinh chỉnh tốc độ lái phù hợp với độ cong vạch kẻ Thông qua thử nghiệm thực nghiệm điều chỉnh tốc độ lái sau: if np.abs(steer)> 17: speed = 20 elif 17> np.abs(steer)> 10: speed = 35 Trong đó, độ cong vạch kẻ lớn 17 độ tốc độ lái là: 7.5/5 = 1.5 Km/h, độ cong vạch kẻ từ 10 đến 17 độ tốc độ 2.5 Km/h 10 độ tốc độ lái Km/h Chúng ta tóm tắt qua hình sau: Hình 52 Tương quan góc cua tốc độ Khi thử nghiệm, có lúc mơ hình xe bị chệch khỏi vạch kẻ ảnh hướng điều kiện khách quan như: - Ánh sáng mặt trời chiếu thẳng vào vạch kẻ làm màu vạch kẻ bị lệch - Vạch kẻ làm từ băng keo bóng làm độ bám bánh xe giảm rõ rệt Ngoài điều kiện xe hoạt động tốt địa hình thử nghiệm Và chương trình phần mềm điều khiển tổng kết thông qua lần tinh chỉnh sau: from lane_detector import HandCodedLaneFollower import cv2 import time import constants from robot_controller import RobotController import numpy as np def millis(): return int(time.time() * 1000) rc = RobotController() 58 lane_follower = HandCodedLaneFollower() cap = cv2.VideoCapture(0) offset = speed = 40 try: while cap.isOpened(): _, frame = cap.read() combo_image= lane_follower.follow_lane(frame) print('angle= ', lane_follower.curr_steering_angle-90) time.sleep(0.001) steer = lane_follower.curr_steering_angle - 90 if np.abs(steer)> 17: speed = 20 elif 17> np.abs(steer)> 10: speed = 35 rc.set_speed(speed) rc.set_steer(steer) combo_image = cv2.resize(combo_image, (640,640)) cv2.imshow("Road with Lane line", combo_image) if cv2.waitKey(1) & 0xFF == ord('q'): rc.set_speed(0) rc.set_steer(0) break finally: cap.release() cv2.destroyAllWindows() 59 KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Qua thời gian thực đề tài từ tháng 11/2020 đến tháng 11/2021, nhóm thực đề tài hoàn thành đầy đủ nhiệm vụ đăng ký Nhóm thực đề tài tạo sản phẩm cụ thể, phần mềm xử lý ảnh giúp mơ hình xe tự lái theo vạch kẻ, mơ hình xe báo khoa học đăng tạp chí nước Thơng qua việc thực đề tài này, nhóm thực đề tài nâng cao trình độ chun mơn, làm chủ công nghệ thiết kế chế tạo hệ thống từ phần cứng đến phần mềm Kiến nghị Đề tài thực đáp ứng yêu cầu đề ra, chạy thử mơ sa hình nhỏ Tuy nhiên, đề tài cần mở rộng theo phần cứng lần phần mềm để chạy nhiều địa hình khác nhau, nhiều cung đường khác Nhà trường đầu tư xe thực, trang bị hệ thống phụt, đánh lái quy chuẩn để phát triển đề tài xe tự hành cách sâu Hướng phát triển đề tài Nghiên cứu cải tiến sản phẩm theo hướng xử lý nâng cao, dùng mơ hình học sâu để xử lý đường khơng có vạch kẻ, loại với nhiều vạch kẻ phức tạp Phần cứng nâng cấp mơ hình xe lớn hơn, trang bị thêm camera, cảm biến để mơ hình xe tự lái làm nhiều chức chạy đường thực tế thay chạy sa hình 60 TÀI LIỆU THAM KHẢO Matt Richardson & Shawn Wallace, Getting Started with Raspberry Pi Maik Schmidt, Raspberry Pi, A Quick-Start Guide OpenCV, Opencv provides a real-time optimized Computer Vision library, tools, and hardware, URL: https://opencv.org/ Python & CircuitPython, Adafruit Motor Shield V2, URL: https://learn.adafruit.com/ Tesla, Autopilot, URL: https://www.tesla.com/autopilot A Lane detection approach for selfd driving vehicles https://medium.com/@ldesegur/a-lane-detection-approach-for-self-drivingvehicles-c5ae1679f7ee FPT thử nghiệm thành công xe tự hành khu đô thị Ecopark, URL: https://viettimes.vn/fpt-thu-nghiem-thanh-cong-xe-tu-hanh-trong-khu-dothi-ecopark-post117506.html Alexandre Carlier, U-Net for Road Segmentation URL: https://github.com/aschneuw/road-segmentation-unet 61 62 ... TRƯỜNG NGHIÊN CỨU VÀ CHẾ TẠO XE TỰ HÀNH THEO VẠCH KẺ DÙNG XỬ LÝ ẢNH Mã số: T2020-06-157 Xác nhận quan chủ trì đề tài Chủ nhiệm đề tài DANH SÁCH NHỮNG THÀNH VIÊN THAM GIA NGHIÊN CỨU ĐỀ... phát nội suy vạch kẻ Đối tượng phạm vi nghiên cứu đề tài Đối tượng nghiên cứu: − Mơ hình xe tự hành theo vạch kẻ dùng xử lý ảnh Phạm vi nghiên cứu: − Nghiên cứu chế tạo xe tự hành theo vạch kẻ dùng... Độc lập - Tự - Hạnh phúc THÔNG TIN KẾT QUẢ NGHIÊN CỨU Thông tin chung: - Tên đề tài: NGHIÊN CỨU VÀ CHẾ TẠO XE TỰ HÀNH THEO VẠCH KẺ DÙNG XỬ LÝ ẢNH - Mã số: T2020-06-157 - Chủ nhiệm: TS

Ngày đăng: 12/08/2022, 11:55

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w