Đồ á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

Đồ án tốt nghiệp về xe tự hành tránh vật cản ứng dụng thị giác máy tính. Trình bày giải pháp phát hiện làn đường, biển báo và điều hướng thông minh.

2020

94
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Đồ án Xe Tự Hành Tránh Vật Cản

Đồ án xe tự hành tránh vật cản bằng thị giác máy tính là một trong những chủ đề nghiên cứu hàng đầu trong lĩnh vực kỹ thuật điều khiển và tự động hóa. Đây là dự án tốt nghiệp được thực hiện tại Trường Đại Học Sư Phạm Kỹ Thuật TP. HCM, nhằm phát triển mô hình xe tự hành thông minh có khả năng nhận diện môi trường xung quanh. Dự án này kết hợp công nghệ AIthị giác máy tính để tạo ra một hệ thống điều hướng hiện đại. Sự phát triển của phương tiện tự hành không chỉ là xu hướng công nghệ mà còn là nhu cầu thực tiễn trong cuộc sống hiện đại. Dự án giải quyết các thách thức chính trong xây dựng hệ thống tự động, bao gồm phát hiện làn đường, nhận biết biển báo giao thông và tránh vật cản.

1.1. Bối cảnh và Ý nghĩa của Đề tài

Trong bối cảnh cách mạng công nghiệp 4.0, công nghệ thị giác máy tính đang là công cụ hữu ích cho phát triển xe tự hành. Đồ án này giải quyết các vấn đề cốt lõi của hệ thống điều hướng tự động. Ý nghĩa của đề tài nằm ở việc ứng dụng OpenCV - thư viện xử lý ảnh mạnh mẽ - để thực hiện các tác vụ nhận diện. Kết quả thử nghiệm cho thấy hiệu suất cao ở tốc độ 6-7km/h trong các điều kiện lái xe khác nhau.

1.2. Mục tiêu chính của Dự án

Mục tiêu chính của đồ án xe tự hành là phát triển một hệ thống tránh vật cản tự động thông qua xử lý hình ảnh. Dự án tập trung vào ba nhiệm vụ cốt lõi: phát hiện làn đường, nhận diện biển báo giao thôngphát hiện vật cản. Những kết quả này sẽ tạo nền tảng cho tính toán điều hướng chính xác, đảm bảo xe có thể di chuyển an toàn trong môi trường thực tế.

II. Cơ Sở Lý Thuyết và Công Nghệ Ứng Dụng

Thị giác máy tính là nền tảng kỹ thuật chính cho đồ án xe tự hành. Để thực hiện phát hiện vật cảnđiều hướng tự động, dự án sử dụng các công nghệ tiên tiến như xử lý ảnh kỹ thuật số, thuật toán phát hiện đối tượnggiao tiếp I2C cho điều khiển phần cứng. Thư viện OpenCV cung cấp các công cụ mạnh mẽ để xử lý tín hiệu video từ camera. Các không gian màu khác nhau (RGB, HSV, CMYK) được áp dụng để tối ưu hóa việc nhận diện biển báo giao thôngphát hiện làn đường. Giao thức I2C (Inter-Integrated Circuit) được sử dụng để kết nối các cảm biếnbộ điều khiển trên xe một cách hiệu quả.

2.1. Xử Lý Ảnh và Thị Giác Máy Tính

Xử lý ảnh kỹ thuật số là quá trình chuyển đổi tín hiệu video thành dữ liệu có thể xử lý. Ảnh số được biểu diễn bằng mức xám hoặc thông tin màu sắc qua các không gian màu khác nhau. Độ phân giải ảnh ảnh hưởng trực tiếp đến chất lượng phát hiện vật cảnnhận diện biển báo. Các thuật toán lọc ảnh, phát hiện cạnhnhận diện mô hình được áp dụng để trích xuất thông tin quan trọng từ dữ liệu hình ảnh.

2.2. Giao Tiếp I2C và Điều Khiển Phần Cứng

Giao thức I2C là tiêu chuẩn giao tiếp tuần tự được sử dụng để kết nối cảm biếnbộ điều khiển trên xe tự hành. Công thức Start-Stop bit xác định khởi đầu và kết thúc truyền dữ liệu. Chế độ Master-Slave cho phép bộ vi xử lý chính điều khiển các thiết bị ngoại vi. Tốc độ truyền dữ liệu qua I2C ảnh hưởng đến tốc độ phản ứng của hệ thống tránh vật cản.

III. Các Vấn Đề Chính trong Hệ Thống Tự Hành

Đồ án xe tự hành tránh vật cản giải quyết ba vấn đề kỹ thuật chính. Thứ nhất là phát hiện làn đường - một tác vụ quan trọng để xe tự hành duy trì vị trí chính xác trên đường. Thứ hai là nhận biết biển báo giao thông giúp xe tuân thủ luật lệ giao thông. Thứ ba là phát hiện vật cản - nhiệm vụ cốt lõi của hệ thống an toàn. Những vấn đề này yêu cầu sử dụng thuật toán xử lý ảnh tiên tiến và machine learning để đạt độ chính xác cao. Tốc độ di chuyển của mô hình xe trong khoảng 6-7km/h cho phép hệ thống có đủ thời gian xử lý tín hiệu videotính toán điều hướng một cách an toàn.

3.1. Phát Hiện Làn Đường

Phát hiện làn đường là bước đầu tiên trong điều hướng xe tự hành. Hệ thống sử dụng xử lý ảnh để xác định vị trí của các vạch kẻ đường. Các thuật toán phát hiện cạnh như Canny Edge Detection được áp dụng để tìm ra biên giới của làn đường. Biến đổi Hough giúp xác định các đường thẳng biểu diễn vạch kẻ. Thông tin này được sử dụng để tính toán điều hướng và giữ xe trong làn đường một cách ổn định.

3.2. Nhận Diện Biển Báo Giao Thông

Nhận biết biển báo giao thông giúp xe tự hành hiểu các quy tắc giao thông. Hệ thống phân tích không gian màu (đặc biệt là HSV) để xác định các hình dạng và màu sắc của biển báo. Các thuật toán nhận diện như template matching hoặc CNN được sử dụng để phân loại biển báo. Kết quả giúp xe điều chỉnh tốc độhướng đi theo yêu cầu giao thông.

IV. Kết Quả Thực Nghiệm và Ứng Dụng Thực Tiễn

Các kết quả thử nghiệm của đồ án xe tự hành tránh vật cản cho thấy hiệu suất ấn tượng trong các điều kiện lái xe khác nhau. Mô hình xe đạt tốc độ di chuyển 6-7km/h đồng thời duy trì độ chính xác cao trong phát hiện và tránh vật cản. Hệ thống xử lý dữ liệu video real-time từ camera, phân tích thông tin hình ảnhtính toán điều hướng nhanh chóng. Những kết quả này chứng minh rằng thị giác máy tính là công cụ hiệu quả để xây dựng phương tiện tự hành. Dự án này mở ra hướng tiếp cận mới cho ứng dụng AI trong giao thông thông minhkỹ thuật tự động hóa tại Việt Nam.

4.1. Hiệu Suất Hệ Thống

Hiệu suất của xe tự hành được đánh giá thông qua độ chính xác phát hiện vật cảnkhả năng giữ làn đường. Hệ thống thực hiện xử lý ảnhtốc độ khung hình cao, cho phép phản ứng nhanh với các thay đổi môi trường. Thuật toán phát hiện đạt độ chính xác tốt trong điều kiện ánh sáng khác nhau. Tốc độ di chuyển 6-7km/h là tối ưu cho xử lý real-timean toàn giao thông.

4.2. Ứng Dụng Thực Tiễn và Hướng Phát Triển

Ứng dụng thực tiễn của đồ án xe tự hành bao gồm giao thông thông minh, vận chuyển tự độngrobotic. Kỹ thuật thị giác máy tính được phát triển có thể mở rộng cho các hệ thống điều khiển phức tạp hơn. Hướng phát triển tiếp theo bao gồm tích hợp AI nâng cao, xử lý đa sensorcải thiện độ ổn định trong các điều kiện lái khó khăn.

28/12/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng Quan: Chương này cung cấp một cái nhìn tổng quan ngắn gọn về các yêu cầu của đề tài bao gồm giới thiệu, mục tiêu, phạm vi và nội dung đề tài. • Chương 2: Cơ Sở Lý Thuyết: Chương này cung cấp các kiến thức cơ bản được áp dụng trong đề tài này như board hỗ trợ, các phương pháp kết nối và các thuật toán xử lý ảnh. • Chương 3: Nội Dung Thực Hiện: Chương này sẽ giới thiệu các bộ phận của mô hình xe tự hành, xây dựng mô hình xe và quá trình thực nghiệm. • Chương 4: Kết Luận Và Hướng Phát Triển: Chương này sẽ trình bày kết quả của đề tài, lợi thế và giới hạn sau khi thực nghiệm và cũng sẽ đề xuất và đóng góp các ý tưởng, hướng phát triển trong tương lai.

5 Chương 2: Cơ Sở Lý Thuyết CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2. Chuẩn giao tiếp I 2C (Inter-Integrated Circuit) 2. Giới thiệu chung về I 2C I 2C (Inter-Integrated Circuit) là phương thức giao tiếp được sản xuất và phát triển bởi công ty sản xuất bán dẫn toàn cầu Philips. Ban đầu, phương thức giao tiếp này chỉ được sử dụng trong các thiết bị điện tử của Philips.

Nhưng một thời gian ngắn sau đó, do có nhiều ưu điểm, dễ sử dụng. Phương thức giao tiếp I 2C nó đã được chuẩn hóa và được sử dụng phổ biến trong các thiết bị truyền thông nối tiếp của vi mạch tích hợp ngày nay. I 2C trở thành một chuẩn công nghiệp trong các giao tiếp điều khiển, có thể kể đến: Texas Intrument (TI), Maxim-Dallas, Analog Device, …. Phương thức giao tiếp I 2C được sử dụng làm phương thức giao tiếp giao tiếp ngoại vi cho rất nhiều loại mạch tổ hợp khác nhau như các loại vi điều khiển 8051, PIC, AVR, Arm, … Hình 2.

Phương thức giao tiếp I 2C và các thiết bị ngoại vi [4] 2. Đặc điểm chung về I 2C Một phương thức giao tiếp I 2C gồm có 2 dây: Serial Data (SDA) và Serial Clock (SCL). SDA là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung đồng hồ và chỉ theo một hướng. Trong một thiết bị ngoại vi kết nối vào đường I 2C thì chân SDA của nó sẽ nối với dây SDA, chân SCL sẽ nối với dây SCL.

Mỗi dây SDA hay SCL đều được nối với điện áp dương của nguồn cấp thông qua một điện trở kéo lên (pull‐up resistor). Việc sử dụng các điện trở kéo này là vì chân giao tiếp I 2C của các thiết bị ngoại vi thường là dạng cực máng hở (open‐drain or open -collector). 6 Chương 2: Cơ Sở Lý Thuyết Các giá trị của các điện trở này thay đổi tùy vào từng thiết bị và chuẩn giao tiếp thường dao động trong khoảng 1 k đến 4.2], thì có thể thấy có rất nhiều thiết bị cùng được kết nối vào một giao tiếp I 2C , nhưng sẽ không xảy ra chuyện nhầm lẫn giữa các thiết bị, do mỗi thiết bị sẽ được nhận biết bởi một địa chỉ duy nhất với một quan hệ chủ/tớ duy trì trong suốt thời gian kết nối. Mỗi thiết bị có thể hoạt đông như là thiết bị nhận dữ liệu hay có thể vừa truyền vừa nhận.

Kết nối thiết bị vào phương thức giao tiếp I2C ở chế độ chuẩn (standard mode) và chế độ nhanh (fast mode) [4] Hoạt động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ (master) hay tớ (slave). Một thiết bị hay một mạch tổ hợp khi được kết nối với giao tiếp I2C, ngoài một địa chỉ để phân biệt, nó còn được cấu hình là thiết bị chủ (master) hay tớ (slave). Có sự phân biệt này là do trên một giao tiếp I2C thì quyền điều khiển thuộc về thiết bị chủ (master),thiết bị nắm vai trò tạo xung đồng hồ cho toàn hệ thống. Khi giữa hai thiết bị chủ/tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp.

Thiết bị chủ giữ vai trò chủ động, còn thiết bị tớ giữ vai trò bị động trong viêc giao tiếp. Truyền nhận dữ liệu giữa chủ/tớ [4] 7 Chương 2: Cơ Sở Lý Thuyết Nhìn hình [2.4], ta thấy xung đồng hồ chỉ có một hướng từ chủ đến tớ, còn luồng dữ liệu có thể đi theo hai hướng, từ chủ đến tớ hay ngược lại tớ đến chủ. Về dữ liệu truyền trên giao tiếp I 2C , một giao tiếp I 2C chuẩn truyền 8‐bit dữ liệu có hướng trên đường truyền với tốc độ là 100 Kbits/s ở chế độ chuẩn (Standard mode). Tốc độ truyền có thể lên tới 400Kbits/s ở chế độ nhanh (Fast mode) và cao nhất là 3,4Mbits/s khi đang ở chế độ cao tốc (High‐speed mode).

Một giao thức I 2C có thể hoạt động ở nhiều chế độ khác nhau: • Một chủ một tớ (one master – one slave). • Một chủ nhiều tớ (one master – multi slave). • Nhiều chủ nhiều tớ (Multi master – multi slave). Dù ở chế độ nào, một giao tiếp I 2C đều dựa vào quan hệ chủ/tớ.

Giả thiết một thiết bị A muốn gửi dữ liệu đến thiết bị B, quá trình được thực hiện như sau: • Thiết bị A (Chủ) xác định đúng địa chỉ của thiết bị B (tớ), cùng với việc xác định địa chỉ, thiết bị A sẽ quyết định việc đọc hay ghi vào thiết bị tớ. • Thiết bị A gửi dữ liệu tới thiết bị B. • Thiết bị A kết thúc quá trình truyền dữ liệu. Khi A muốn nhận dữ liệu từ B, quá trình diễn ra như trên, chỉ khác là A sẽ nhận dữ liệu từ B.

Trong giao tiếp này, A là chủ còn B vẫn là tớ. Chi tiết việc thiết lập giao tiếp với một thiết bị nào đó trong mạng I 2C. Bit bắt đầu và kết thúc (Start-Stop) Start là điều kiện khởi đầu, báo hiệu bắt đầu của giao tiếp, còn STOP báo hiệu kết thúc một giao tiếp.4] mô tả điều kiện START và STOP. Ban đầu khi chưa thực hiện quá trình giao tiếp, cả hai đường SDA và SCL đều ở mức cao (SDA = SCL= HIGH).

Lúc này giao tiếp I 2C được coi là bộ nối trống, sẵn sàng cho một giao tiếp. Hai điều kiện START và STOP là không thể thiếu trong việc giao tiếp giữa các thiết bị I 2C với nhau. 8 Chương 2: Cơ Sở Lý Thuyết Hình 2. Điều kiện START và STOP của giao tiếp I 2C [4] Điều kiện START: một sự chuyển đổi trạng thái từ cao xuống thấp trên đường SDA trong khi đường SCL đang ở mức cao (cao = 1; thấp = 0) báo hiệu một điều kiện START.

Điều kiện STOP: Một sự chuyển đổi trạng thái từ mức thấp lên cao trên đường SDA trong khi đường SCL đang ở mức cao. Cả hai điều kiện START và STOP đều được tạo ra bởi thiết bị chủ. Sau tín hiệu START, giao tiếp I 2C coi như đang trong trạng thái làm việc. Giao tiếp I 2C sẽ trống, sẵn sàng cho một giao tiếp mới sau tín hiệu STOP từ phía thiết bị chủ.

Sau khi có một điều kiện START trong quá trình giao tiếp, khi có một tín hiệu START được lặp lại thay vì một tín hiệu STOP thì giao tiếp I 2C vẫn tiếp tục trong trạng thái bận. Tín hiệu START và lặp lại START đều có chức năng giống nhau là khởi tạo một giao tiếp. Định dạng dữ liệu truyền Dữ liệu được truyền trên giao tiếp I 2C theo từng bit. Bit dữ liệu được truyền đi tại mỗi sườn dương của xung đồng hồ trên dây SCL, khi SCL ở mức thấp thì quá trình thay đổi dữ liêu sẽ được xảy ra.

Mỗi byte dữ liệu được truyền có độ dài là 8 bits và không hạn chế số lượng byte được truyền đi trong mỗi lần. Mỗi byte được truyền đi theo sau là một bit ACK để báo hiệu đã nhận dữ liệu. Bit có trọng số cao nhất sẽ được truyền đi đầu tiên, các bít sẽ được truyền đi lần lượt. Sau 8 xung clock trên dây SCL thì 8 bit dữ liệu sẽ được truyền đi.

Lúc này thiết bị nhận, sau khi đã nhận đủ đủ 8 bít dữ liệu sẽ kéo SDA xuống mức thấp tạo một xung ACK ứng với xung clock thứ 9 trên dây SDA để báo hiệu đã 9 Chương 2: Cơ Sở Lý Thuyết nhận đủ 8 bit. Thiết bị truyền khi nhận được bit ACK sẽ tiếp tục thực hiện quá trình truyền hoặc kết thúc. Quá trình truyền 1 bit dữ liệu [4] Hình 2. Dữ liệu truyền trên phương thức giao tiếp I 2C [4] Hình 2.

Bit ACK trên phương thức giao tiếp I 2C [4] Mỗi byte truyền đi có kèm theo bit ACK là điều kiên bắt buộc, để đảm bảo cho quá trình truyền nhận được diễn ra chính xác. Khi không nhận được đúng địa hay 10 Chương 2: Cơ Sở Lý Thuyết khi muốn kết thúc quá trình giao tiếp, thiết bị nhận sẽ gửi một xung Not‐ACK (SDA ở mức cao) để báo cho thiết bị chủ biết, thiết bị chủ sẽ tạo xung xung STOP để kết thúc hay lặp lại một xung START để bắt đầu quá trình mới. Định dạng địa chỉ thiết bị Mỗi thiết bị ngoại vi tham gia vào phương thức giao tiếp I 2C đều có một địa chỉ duy nhất, nhằm phân biệt giữa các thiết bị với nhau. Độ dài địa chỉ là 7 – bit, điều đó có nghĩa là trên một phương thức giao tiếp I 2C ta có thể phân biệt tối đa 128 thiết bị.

Khi thiết bị chủ muốn giao tiếp với ngoại vi nào trên phương thức giao tiếp I 2C , nó sẽ gửi 7 bit địa chỉ của thiết bị đó ngay sau xung START. Byte đầu tiên được gửi sẽ bao gồm 7 bit địa chỉ và một bít thứ 8 điều khiển hướng truyền đó mà có sự phản hồi tương ứng đến con chủ. Cấu trúc byte dữ liệu đầu tiên [4] Mỗi một thiết bị ngoại vi sẽ có một địa chỉ riêng do nhà sản xuất ra nó quy định. Địa chỉ đó có thể là cố định hay thay đổi.

Riêng bit điều khiển hướng sẽ quy định chiều truyền dữ liệu. Nếu bit này bằng “0” có nghĩa là byte dữ liệu tiếp theo sau sẽ được truyền từ chủ đến tớ, còn ngược lại nếu bằng “1” thì các byte đầu tiên sẽ là dữ liệu từ tớ gửi đến chủ. Việc thiết lập giá trị cho bit này do con chủ thi hành, con tớ sẽ tùy theo giá trị đó mà có sự phản hồi tương ứng đến con chủ. Việc thiết lập giá trị cho bit này do con chủ thi hành, con tớ sẽ tùy theo giá trị.

Truyền dữ liệu trên phương thức giao tiếp I 2C , chế độ Master‐Slave Việc truyền dữ liệu diễn ra giữa thiết bị chủ và thiết bị làm con.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ