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

73 3 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 DANH MỤC CÁC HÌNH VẼ 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 CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT Độ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 đó, đề 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 DA NANG UNIVERSITY UNIVERSITY OF TECHNOLOGY AND EDUCATION -INFORMATION ON RESEARCH RESULTS General information: - Project title: RESEARCH AND IMPLEMENTATION OF DRIVEN VEHICLES BY IMAGE PROCESSING - Code number: T2020-06-157 - Project Leader: Tuan Pham - Member: Chung Tran Duy - Duration: from November 2020 to November 2021 Objectives: - Model of self-driving car following lines using image processing (The - length*width*height of the vehicle is 60*30*30, the speed is 1km/h) Image processing software can detect and follows lines Creativeness and innovativeness: - Previously, self-driving cars had to use sensors to detect lines with fixed paint colors to be able to move But in fact there are many problems with the lines such as: the distance between the lines is not uniform, the lines may fade over time, the color is not uniform Nowadays, with the development of the machine Studies in the field of image processing have created many applications in self-driving cars Therefore, we propose a solution to use image processing in self-driving cars to solve the above problems instead of - the traditional solution of using sensors Mastering technology and product localization Research results: - Model of self-driving car following lines using image processing (The - length*width*height of the vehicle is 60*30*30, the speed is 1km/h) Image processing software can detect and follows lines A scientific paper: “Semantic Road Segmentation using Deep Learning”, 2020 Applying New Technology in Green Buildings (ATiGB) Effects, transfer alternatives of reserach results and applicability: - Mastering technology and product localization - Transfer source code, and technology to Faculty of electrical and electronic engineering 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 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 59 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: 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: 60 Hình 43 Menu Pi Tại tab interfaces kích hoạt chứng SSH 61 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: 62 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ử 63 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, 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 tơi 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 64 Hình 47 a Đường cong đến 90 độ b Đường thẳng 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ử 65 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ẻ 66 Hình 49 Hình 50 Khu vực màu đỏ tách 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 67 Hình 51 Vạch kẻ, hướng xe mơ hình 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 độ 68 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() 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: 69 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() 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 70 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 71 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 72 73 ... trình xử lý ảnh 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. .. 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... ả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 11 Nội dung nghiên

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

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

TÀI LIỆU LIÊN QUAN

w