1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

84 23 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

Thông tin cơ bản

Tiêu đề Nghiên cứu và phát triển hệ thống cảnh báo chệch làn đường cho xe điện Renault Twizy
Trường học trường đại học
Chuyên ngành công nghệ kỹ thuật ô tô
Thể loại đồ án tốt nghiệp
Định dạng
Số trang 84
Dung lượng 17,7 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI (10)
    • 1.1. Lí do chọn đề tài (10)
    • 1.2. Tình hình nghiên cứu (11)
      • 1.2.1. Tình hình nghiên cứu ngoài nước (11)
      • 1.2.2. Tình hình nghiên cứu trong nước (12)
    • 1.3. Mục tiêu của đề tài (12)
    • 1.4. Nội dung nghiên cứu (13)
    • 1.5. Phạm vi ứng dụng (13)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (14)
    • 2.1. Cơ sở lý thuyết về ảnh (14)
      • 2.1.1. Điểm ảnh (Picture Element) (14)
      • 2.1.2. Độ phân giải của ảnh (Resolution) (14)
      • 2.1.3. Mức xám của ảnh (15)
      • 2.1.4. Không gian màu (15)
      • 2.1.5. Định nghĩa ảnh số (18)
      • 2.1.6. Ảnh trắng đen và ảnh màu (18)
    • 2.2. Cơ sở lý thuyết về xử lý ảnh (19)
      • 2.2.1. Các bước cơ bản trong xử lý ảnh (20)
      • 2.2.2. Các thành phần cơ bản của hệ thống xử lý ảnh (24)
      • 2.2.3. Những vấn đề trong xử lý ảnh (25)
    • 2.3. Bài toán nhận dạng đối tượng (26)
  • CHƯƠNG 3 NGHIÊN CỨU XE ĐIỆN RENAULT TWIZY (28)
    • 3.1. Giới thiệu tổng quan về xe điện Renault Twizy (28)
    • 3.2. Khảo sát xe điện Renault Twizy (29)
      • 3.2.1. Đo đạc kích thước xe (29)
      • 3.2.2. Đường truyền công suất (31)
      • 3.2.3. Hệ thống điện thân xe (36)
  • CHƯƠNG 4 SƠ LƯỢC VỀ PHẦN CỨNG VÀ PHẦN MỀM (38)
    • 4.1. Phần cứng (38)
      • 4.1.1. Laptop (38)
      • 4.1.2. Máy tính nhúng AI (38)
      • 4.1.3. Camera (42)
      • 4.1.4. Màn hình LCD (42)
      • 4.1.5. Các thiết bị hỗ trợ khác (43)
    • 4.2. Phầm mềm (45)
      • 4.2.1. Hệ điều hành Ubuntu (45)
      • 4.2.2. NVIDIA Jetpack SDK (46)
      • 4.2.3. Bitvise SSH Client (46)
      • 4.2.4. Ngôn ngữ lập trình Python (47)
      • 4.2.5. ANACONDA (48)
      • 4.2.6. PyCharm (49)
      • 4.2.7. Các thư viện sử dụng trong đồ án (50)
  • CHƯƠNG 5 XÂY DỰNG HỆ THỐNG CẢNH BÁO CHỆCH LÀN ĐƯỜNG (53)
    • 5.1. Giới thiệu về hệ thống cảnh báo chệch làn đường (53)
    • 5.2. Xây dựng hệ thống cảnh báo chệch làn đường (54)
      • 5.2.1. Xây dựng phần mềm cho hệ thống cảnh báo chệch làn đường (55)
      • 5.2.2. Xây dựng phần cứng cho hệ thống cảnh báo chệch làn đường (72)
  • CHƯƠNG 6 KẾT QUẢ THỰC NGHIỆM (74)
    • 6.1. Chuẩn bị (74)
    • 6.3. Kết quả thực nghiệm (74)
  • CHƯƠNG 7 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (80)
    • 7.1. Kết luận (80)
    • 7.2. Hướng phát triển (81)
  • PHỤ LỤC (84)

Nội dung

CƠ SỞ LÝ THUYẾT

Cơ sở lý thuyết về ảnh

Ảnh tự nhiên là hình ảnh liên tục về không gian và độ sáng, nhưng để xử lý bằng máy tính, ảnh cần được số hoá Số hoá ảnh là quá trình chuyển đổi gần đúng một ảnh liên tục thành một tập hợp các điểm ảnh, tương ứng với vị trí và độ sáng thực tế Khoảng cách giữa các điểm ảnh được thiết lập sao cho mắt người không thể phân biệt được ranh giới giữa chúng Mỗi điểm ảnh, hay còn gọi là Pixel, được thể hiện qua cặp tọa độ (x, y) trong khuôn khổ ảnh hai chiều.

Điểm ảnh (Pixel) là phần tử cơ bản của ảnh số, được xác định tại tọa độ (x, y) với độ xám hoặc màu cụ thể Kích thước và khoảng cách giữa các điểm ảnh được điều chỉnh để tạo ra cảm giác liên tục về không gian và màu sắc, giúp mắt người cảm nhận ảnh số gần giống như ảnh thật Mỗi phần tử trong ma trận ảnh được gọi là một phần tử ảnh.

2.1.2 Độ phân giải của ảnh (Resolution) Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều.

Độ phân giải của màn hình CGA với kích thước 12” cho hình ảnh mịn hơn so với màn hình 17” có độ phân giải 320*200 Nguyên nhân là do mặc dù cả hai màn hình có cùng mật độ điểm ảnh, nhưng diện tích màn hình lớn hơn dẫn đến độ mịn của hình ảnh giảm.

Hình 2.2 Các độ phân giải ảnh

Một điểm ảnh (pixel) có hai đặc trưng chính: vị trí (x, y) và độ xám Độ xám của điểm ảnh thể hiện cường độ sáng và được gán giá trị số trong khoảng [0, 255] Các mức xám phổ biến bao gồm 16, 32, 64, 128 và 256, trong đó mức 256 thường được sử dụng nhất Nguyên nhân là do kỹ thuật máy tính sử dụng 1 byte (8 bit) để biểu diễn mức xám, cho phép tạo ra 256 mức từ 0 đến 255.

RGB là không gian màu phổ biến được sử dụng trong máy tính, máy ảnh, điện thoại và nhiều thiết bị kỹ thuật số khác, gần gũi với cách mà mắt người cảm nhận màu sắc Trong mô hình 24 bit, mỗi kênh màu (đỏ, xanh lục, xanh lam) sử dụng 8 bit để biểu diễn, với giá trị R, G, B nằm trong khoảng từ 0 đến 255 OpenCV sử dụng không gian màu này nhưng đảo ngược hai kênh R và B, tạo thành không gian màu BGR.

Bộ 3 số này biểu diễn cho từng điểm ảnh, mỗi số biểu diễn cho cường độ của một màu Với mô hình biểu diễn 24 bit, số lượng màu tối đa sẽ là:255 × 255 × 255 = 16581375

Hình 2.3 Không gian màu RGB 2.1.4.2 Không gian màu CMYK

Không gian màu CMYK là mô hình màu loại trừ, chủ yếu được sử dụng trong ngành in ấn Mô hình này hoạt động dựa trên việc trộn các chất màu từ bốn màu cơ bản: Cyan, Magenta, Yellow và Key (Black).

- C = Cyan trong tiếng Anh có nghĩa là màu xanh lơ hay cánh chả

- M = Magenta trong tiếng Anh có nghĩa là màu cánh sen hay hồng sẫm

- Y = Yellow trong tiếng Anh có nghĩa là màu vàng

K trong tiếng Anh thường được hiểu là yếu tố then chốt, và trong ngữ cảnh màu sắc, nó đại diện cho màu đen Mặc dù màu đen có tên tiếng Anh là black, nhưng chữ B đã được sử dụng để chỉ màu xanh lam (blue) trong mô hình màu RGB, dẫn đến việc K trở thành ký hiệu cho màu đen.

Hình 2.4 Không gian màu CMYK

Hỗn hợp lý tưởng của các màu CMY sẽ loại trừ ánh sáng, dẫn đến việc tạo ra màu đen khi in trên nền trắng Nguyên lý hoạt động của hệ màu CMYK dựa trên sự hấp thụ ánh sáng, với màu sắc mà chúng ta thấy là phần ánh sáng không bị hấp thụ Cụ thể, trong CMYK, sự kết hợp giữa màu hồng sẫm và vàng tạo ra màu đỏ, trong khi cánh sen kết hợp với xanh lơ cho ra màu xanh lam Màu xanh lá cây được tạo ra từ sự pha trộn giữa xanh lơ và vàng, và sự kết hợp của ba màu xanh lơ, cánh sen và vàng sẽ tạo ra màu đen.

Không gian màu HSV (còn gọi là HSB) là một cách tự nhiên hơn để mô tả màu sắc, dựa trên 3 số liệu:

- S: (Saturation) Độ bão hòa màu

- B (hay V): (Bright hay Value) Độ sáng

Hình 2.5 Không gian màu HSV

Trường biểu diễn màu sắc (Hue) được mô tả qua vòng tròn từ 0 đến 360 độ, bắt đầu từ màu đỏ (red primary) tại 0 độ, tiếp theo là màu xanh lục (green primary) trong khoảng 0-120 độ Khoảng từ 120 đến 240 độ thể hiện sự chuyển tiếp từ màu xanh lục sang màu xanh lơ (green primary - blue primary), và từ 240 đến 360 độ là sự chuyển đổi từ màu đen trở lại màu đỏ.

Không gian màu được biểu diễn theo hình trụ với độ sáng (V) từ 0 đến 1, trong đó V = 0 là tối nhất và V = 1 là sáng nhất Giá trị bão hòa màu sắc (S) nằm trong khoảng từ 0 đến 1, với S = 0 ở tâm hình trụ (màu nhạt nhất) và S = 1 ở mặt ngoài hình trụ (màu đậm đặc nhất) Mỗi bộ giá trị (H, S, V) sẽ xác định một màu sắc cụ thể, cung cấp đầy đủ thông tin về độ đậm đặc và độ sáng của màu đó.

2.1.5 Định nghĩa ảnh số Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật

2.1.6 Ảnh trắng đen và ảnh màu Ảnh trắng đen chỉ bao gồm 2 màu: màu đen và màu trắng Người ta phân mức đen trắng đó thành L mức Nếu sử dụng số bit B = 8 bít để mã hóa mức đen trắng (hay mức xám) thì L được xác định:

Trong xử lý ảnh, khi L bằng 2 và B bằng 1, ta có ảnh nhị phân với hai mức: mức 0 (màu tối) và mức 1 (màu sáng) Nếu L lớn hơn 2, ta có ảnh đa cấp xám, với mỗi điểm ảnh được mã hóa trên 1 bit cho ảnh nhị phân và 8 bit cho ảnh 256 mức xám, cho phép biểu diễn 256 mức xám từ 0 (đen nhất) đến 255 (sáng nhất) Ảnh nhị phân thường được sử dụng để phân biệt đối tượng với nền hoặc điểm biên Ảnh màu, theo lý thuyết của Thomas, là sự kết hợp của ba màu cơ bản: đỏ (R), lục (G) và lam (B), với mỗi điểm ảnh màu được biểu diễn bằng 24 bit, chia thành ba khoảng 8 bit cho từng màu, cho phép biểu diễn L cấp màu khác nhau, thường là 256.

Để lưu trữ ảnh màu, người ta có thể lưu trữ từng màu riêng biệt, với mỗi màu được xem như một ảnh đa cấp xám Vì vậy, dung lượng lưu trữ cho một ảnh màu sẽ lớn gấp ba lần so với một ảnh đa cấp xám có cùng kích thước.

Hình 2.6 Hình màu, hình xám, hình nhị phân

Cơ sở lý thuyết về xử lý ảnh

Xử lý ảnh là một lĩnh vực khoa học và công nghệ đang phát triển nhanh chóng, thúc đẩy nghiên cứu và ứng dụng, đặc biệt là trong việc phát triển máy tính chuyên dụng Các phương pháp xử lý ảnh chủ yếu tập trung vào nâng cao chất lượng ảnh và phân tích ảnh, với ứng dụng đầu tiên được ghi nhận từ những năm 1920 khi ảnh được truyền qua cáp từ Luân Đôn đến New York Sự phát triển của máy tính đã cho phép xử lý và nâng cao chất lượng ảnh từ vệ tinh, như trong trường hợp của vệ tinh Ranger 7 vào năm 1964 Kể từ đó, các công nghệ xử lý ảnh, nhận dạng và nâng cao chất lượng đã không ngừng tiến bộ, với việc áp dụng trí tuệ nhân tạo, mạng nơ-ron và các thuật toán hiện đại Quy trình xử lý ảnh bắt đầu bằng việc thu nhận ảnh từ thế giới bên ngoài qua các thiết bị như camera, nơi ảnh tương tự được chuyển đổi thành ảnh số để phục vụ cho các bước xử lý tiếp theo Ngoài ra, ảnh cũng có thể được thu nhận từ vệ tinh hoặc quét từ ảnh chụp bằng máy quét.

2.2.1 Các bước cơ bản trong xử lý ảnh

Quá trình xử lý ảnh bắt đầu bằng bước thu nhận ảnh, có thể thực hiện qua camera màu hoặc đen trắng Ảnh thu được thường là ảnh tương tự từ camera ống chuẩn CCIR với tần số 1/25, tạo ra 25 dòng mỗi giây, hoặc từ camera đã số hóa như CCD, sử dụng photodiot để ghi nhận cường độ sáng tại từng điểm ảnh Camera quét dòng thường được sử dụng, cho ra ảnh ở dạng hai chiều Chất lượng ảnh thu nhận phụ thuộc vào thiết bị sử dụng và các yếu tố môi trường như ánh sáng và phong cảnh.

2.2.1.2 Tiền xử lý ảnh (Image Processing)

Sau khi thu nhận, hình ảnh có thể gặp phải tình trạng nhiễu và độ tương phản thấp Do đó, cần sử dụng bộ tiền xử lý để cải thiện chất lượng hình ảnh Bộ tiền xử lý có chức năng chính là lọc nhiễu và nâng cao độ tương phản, giúp làm cho hình ảnh trở nên rõ ràng và sắc nét hơn.

Phân vùng ảnh là quá trình tách một bức ảnh thành các vùng thành phần, phục vụ cho việc phân tích và nhận dạng ảnh Chẳng hạn, để nhận diện chữ hoặc mã vạch trên phong bì thư nhằm phân loại bưu phẩm, cần chia nhỏ các câu, chữ và số thành từng phần riêng biệt Đây là bước phức tạp nhất trong xử lý ảnh, dễ dẫn đến lỗi và ảnh hưởng đến độ chính xác của kết quả nhận dạng Do đó, chất lượng của quá trình phân vùng ảnh có ảnh hưởng lớn đến hiệu quả nhận diện.

2.2.1.4 Biểu diễn ảnh (Representation) Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lận cận Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác.

2.2.1.5 Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)

Nhận dạng ảnh là quá trình xác định và phân loại hình ảnh, thường dựa vào việc so sánh với mẫu đã được học trước Quá trình này cho phép nội suy thông tin, như việc chuyển đổi các chữ số và nét gạch ngang trên phong bì thành mã điện thoại Theo lý thuyết nhận dạng, các mô hình toán học về ảnh được phân loại thành hai loại cơ bản, từ đó hỗ trợ trong việc phân tích và nhận diện hình ảnh hiệu quả hơn.

- Nhận dạng theo tham số.

- Nhận dạng theo cấu trúc.

Hiện nay, có nhiều phương pháp nhận dạng phổ biến trong khoa học và công nghệ, bao gồm nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch và nhận dạng khuôn mặt.

2.2.1.6 Cơ sở tri thức (Knowledge Base)

Ảnh là một đối tượng phức tạp với nhiều yếu tố như đường nét, độ sáng tối và dung lượng điểm ảnh, cùng với môi trường thu ảnh phong phú dẫn đến nhiễu Trong quá trình xử lý và phân tích ảnh, việc đơn giản hóa các phương pháp toán học là cần thiết để thuận tiện cho việc xử lý Hiện nay, nhiều bước trong quy trình này đã áp dụng các phương pháp trí tuệ nhân tạo, nhằm mô phỏng cách mà con người tiếp nhận và xử lý ảnh, từ đó phát huy các cơ sở tri thức.

2.2.1.7 Mô tả (biểu diễn ảnh)

Sau khi số hoá, ảnh sẽ được lưu trữ hoặc chuyển tiếp để phân tích Việc lưu trữ ảnh thô yêu cầu dung lượng bộ nhớ lớn và không hiệu quả về ứng dụng Do đó, các ảnh thô thường được mã hoá lại theo các đặc trưng ảnh như biên ảnh và vùng ảnh Một số phương pháp biểu diễn phổ biến được áp dụng trong quá trình này.

- Biểu diễn bằng mã chạy (Run-Length Code).

- Biểu diễn bằng mã xích (Chaine -Code).

- Biểu diễn bằng mã tứ phân (Quad-Tree Code).

Biểu diễn bằng mã chạy

Phương pháp này thường được sử dụng để biểu diễn vùng ảnh, đặc biệt là trong ảnh nhị phân Một vùng ảnh R có thể được mã hóa một cách đơn giản bằng cách sử dụng một ma trận nhị phân.

Hàm U(m, n) mô tả mức xám của ảnh tại tọa độ (m, n) Một vùng ảnh có thể được biểu diễn bằng các chuỗi số 0 hoặc 1 Đối với ảnh nhị phân, tọa độ (x, y) được mô tả bằng cách chỉ định giá trị "1", với dạng mô tả là (x, y)r, trong đó (x, y) là tọa độ và r là số lượng bit "1" liên tục theo chiều ngang hoặc dọc.

Biểu diễn bằng mã xích

Phương pháp này thường được sử dụng để biểu diễn đường biên của ảnh bằng cách chia một đường bất kỳ thành các đoạn nhỏ Bằng cách nối các điểm chia, ta tạo ra các đoạn thẳng liên tiếp, mỗi đoạn được gán một hướng cụ thể, hình thành một dây xích các đoạn Các hướng có thể được lựa chọn là 4, 8 hoặc 12.

24, … mỗi hướng được mã hoá theo số thập phân hoặc số nhị phân thành mã của hướng.

Biểu diễn bằng mã tứ phân

Phương pháp mã tứ phân là kỹ thuật mã hóa hiệu quả cho vùng ảnh bằng cách chia vùng ảnh thành bốn phần bằng nhau Nếu một vùng đồng nhất, chứa toàn điểm đen (1) hoặc trắng (0), sẽ được gán mã và không cần chia thêm Ngược lại, các vùng không đồng nhất sẽ tiếp tục được chia thành bốn phần cho đến khi tất cả các vùng đều đồng nhất Các mã từ quá trình phân chia này tạo thành một cây phân chia các vùng đồng nhất, giúp tối ưu hóa việc lưu trữ và xử lý hình ảnh.

Các thành phần cơ bản trong quy trình xử lý ảnh bao gồm nhiều khâu, tuy nhiên, không phải tất cả các ứng dụng đều cần phải trải qua hết các bước này Sau khi số hóa, ảnh sẽ được nén và lưu trữ để truyền cho các hệ thống khác hoặc để xử lý tiếp Trong một số trường hợp, nếu ảnh đã đạt chất lượng yêu cầu, có thể bỏ qua bước nâng cao chất lượng để chuyển thẳng đến khâu phân đoạn hoặc trích chọn đặc trưng Hình 2.2 minh họa rõ ràng các nhánh song song trong quy trình, trong đó nâng cao chất lượng ảnh có thể bao gồm tăng độ sáng, độ tương phản, lọc nhiễu hoặc khôi phục ảnh khi ảnh bị méo.

Hình 2.8 Sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối

2.2.2 Các thành phần cơ bản của hệ thống xử lý ảnh

Theo quy trình xử lý, các khối cơ bản đã được thể hiện trong hình 2.7, trong khi các khối chi tiết và luồng thông tin được mô tả trong hình 2.8 Hệ thống xử lý trên máy tính số bao gồm các thành phần như đầu đo (thu nhận ảnh), bộ số hóa, máy tính số, bộ hiển thị và bộ nhớ Các thành phần này không được nhắc lại ở đây và có thể được tìm hiểu thêm trong giáo trình cấu trúc máy tính.

Bài toán nhận dạng đối tượng

Thị giác máy tính, một lĩnh vực quan trọng của trí tuệ nhân tạo, bao gồm các phương pháp thu nhận và xử lý ảnh kỹ thuật số, phân tích và nhận dạng hình ảnh, cũng như phát hiện đối tượng và tạo ảnh Nhận dạng vật thể là khía cạnh nổi bật nhất của thị giác máy tính, nhờ vào tần suất ứng dụng cao trong thực tế.

Nhận dạng vật thể, một lĩnh vực của Machine Learning, nghiên cứu khả năng của hệ thống máy tính và phần mềm trong việc định vị và xác định các đối tượng trong hình ảnh và video Sự phát triển công nghệ đã thúc đẩy ứng dụng nhận dạng vật thể với độ tinh vi ngày càng cao Hiện nay, công nghệ này được sử dụng rộng rãi trong nhiều lĩnh vực như phát hiện khuôn mặt, nhận diện xe, đếm số người đi bộ, hệ thống bảo mật và xe không người lái Với tính ứng dụng cao, nhận dạng vật thể đang thu hút sự quan tâm lớn từ cộng đồng nghiên cứu và ngành công nghiệp.

 Thị giác máy tính – Computer Vision

Hình 2.10 Thị giác máy tính

Thị giác máy tính, một nhánh của trí tuệ nhân tạo, nhằm mục đích kết nối giữa ma trận số mà máy tính "nhìn" thấy và thông tin ngữ nghĩa trong ảnh Trong khi con người có thể dễ dàng mô tả nội dung và nhận diện các đối tượng trong một bức ảnh, việc này lại trở nên khó khăn đối với máy tính, vì nó chỉ hiểu ảnh dưới dạng tập hợp các điểm ảnh (pixel) được biểu diễn bằng các giá trị số theo hệ RGB (Đỏ - Xanh lá - Xanh dương) Thị giác máy tính tập trung vào việc giải quyết các bài toán liên quan đến nhận diện và phân tích nội dung hình ảnh.

- Phân loại ảnh, miêu tả ảnh,

- Phát hiện vật thể trong ảnh: Xe, làn đường, con người, biển báo giao thông, …

- Tạo ảnh với những phong cách khác nhau: Hiển thị nội dung ngữ nghĩa của ảnh gốc theo những phong cách khác nhau.

NGHIÊN CỨU XE ĐIỆN RENAULT TWIZY

Giới thiệu tổng quan về xe điện Renault Twizy

Renault Twizy là một chiếc xe điện nhỏ gọn với 4 bánh, 2 cửa và 2 chỗ ngồi, được thiết kế và sản xuất bởi hãng xe Pháp nổi tiếng Renault Ra mắt lần đầu tại Triển lãm Ô tô Frankfurt năm 2009 dưới dạng xe ý tưởng, Twizy được thiết kế bởi Françoise Leboinne và Luciano Bove Vào tháng 11 năm 2010, Nissan công bố một phiên bản cải tiến mang tên New Mobility Concept Đến tháng 5 năm 2011, Renault thông báo bắt đầu sản xuất và nhận đặt trước cho Twizy Chiếc xe này chính thức được phát hành tại thị trường Pháp vào tháng 3 năm 2012, sau đó mở rộng ra một số quốc gia châu Âu khác Tính đến năm 2020, Twizy đã có mặt tại Vương quốc Anh dưới hình thức mua trực tiếp.

Renault Twizy là một chiếc xe điện hai chỗ ngồi, lý tưởng cho việc di chuyển trong thành phố với công suất 17 mã lực và tốc độ tối đa 50 mph Xe được trang bị hệ thống phanh đĩa và hệ thống lái Pseudo MacPherson, mang lại khả năng vận hành ổn định Điểm nổi bật của Renault Twizy là thiết kế nhỏ gọn và vận hành êm ái, không gây tiếng ồn như xe chạy bằng nhiên liệu Hộp số tự động giúp người lái dễ dàng điều khiển xe chỉ với một nút nhấn Công nghệ cửa cắt kéo cũng làm tăng tính sang trọng cho xe Tuy nhiên, xe vẫn có một số nhược điểm như không có trợ lực lái, không trang bị hệ thống ABS và dễ bị ướt khi trời mưa.

Khảo sát xe điện Renault Twizy

Mặc dù đã có nghiên cứu về xe điện Renault Twizy, nhưng chưa có khảo sát cụ thể nào được thực hiện Nhóm nghiên cứu đã tìm hiểu kỹ quy trình tháo lắp xe và nhận được sự chấp thuận từ ban chủ nhiệm khoa Cơ khí Động lực cùng giảng viên hướng dẫn Qua đó, nhóm đã tiến hành tháo lắp một số chi tiết trên xe để khảo sát đường truyền công suất và hệ thống điện thân xe, đồng thời đo đạc kích thước xe nhằm thu thập thông số cho giải thuật cảnh báo chệch làn đường.

Hình 3.2 Xe Renault Twizy sau khi tháo một số chi tiết

3.2.1 Đo đạc kích thước xe

Trước khi tháo lắp, chúng tôi tiến hành đo đạc các thông số kích thước của xe để phục vụ cho việc cảnh báo chệch làn đường Đặc biệt, việc đo chính xác tổng chiều rộng của xe là rất quan trọng, vì đây là thông số cần thiết để tính toán độ lệch của xe so với làn đường.

Hình 3.3 Kích thước của xe điện Renault TwizyBảng 3.1 Thông số kích thước xe Renault Twizy

Sau khi tháo rời một số bộ phận của xe, nhóm đã nghiên cứu và tìm hiểu cách hoạt động cũng như thông số kỹ thuật của các bộ phận trong hệ thống truyền động Đồng thời, nhóm cũng đã tiến hành vẽ lại sơ đồ khối của hệ thống này.

Hình 3.4 Sơ đồ khối đường truyền công suất trên xe điện Renault Twizy

Xe điện Renault Twizy sử dụng cầu sau chủ động, với nguồn điện từ ắc quy kéo được điều khiển bởi bộ điều khiển SEVCON Gen4 Qua mạng CAN, bộ điều khiển tương tác với hệ thống quản lý pin (BMS) để điều chỉnh dòng điện từ pin, cung cấp năng lượng cho motor xoay chiều ba pha Motor gắn cố định với hộp số tự động, khi hoạt động sẽ truyền động qua bán trục đến bánh xe, giúp xe di chuyển Đồng thời, motor cũng gửi tín hiệu phản hồi về bộ điều khiển thông qua cảm biến và encoder.

Do điều kiện an toàn, cơ sở vật chất và thời gian thực hiện, nhóm không thể tháo rời các bộ phận trong đường truyền công suất ra khỏi khung xe để nghiên cứu, mà chỉ sử dụng thông tin có sẵn từ mạng để tra cứu thông số kỹ thuật Ắc quy kéo, nguồn năng lượng chính cho motor điện xoay chiều 3 pha, được đặt dưới ghế tài xế và cấu tạo từ các pin lithium-ion, được bảo vệ bằng khung kim loại Hệ thống quản lý (BMS) của ắc quy kéo giúp giao tiếp với bộ điều khiển thông qua mạng CAN.

Bảng 3.2 Thông số kỹ thuật của bình ắc – quy kéo trên xe Renault Twizy

Hình 3.5 Ắc quy kéo trên xe điện Renault Twizy

3.2.2.2 Ắc quy 12V Ắc – quy dùng để cấp điện cho các thiết bị điện trên xe như gạt mưa – rửa kính, các đèn chiếu sáng, … Ắc quy được sạc khi xe chạy, hoặc được sạc chung với bình ắc – quy kéo bởi bộ sạc Vị trí của bình ắc quy 12V như hình bên dưới.

Hình 3.6 Bình ắc – quy 12V trên xe điện Renault Twizy 3.2.2.3 Bộ sạc (Charger)

Bộ sạc (charger) có chức năng chuyển đổi dòng điện xoay chiều thành dòng điện một chiều, phục vụ cho việc sạc bình ắc-quy 12V và bình ắc-quy kéo Thiết bị này thường được đặt ở vị trí dưới chân của tài xế.

Bảng 3.3 Thông số kỹ thuật của bộ sạc trên xe Renault Twizy

Hình 3.7 Bộ sạc trên xe điện Renault Twizy 3.2.2.4 Bộ điều khiển Sevcon gen4

Bộ điều khiển Sevcon gen4 là thiết bị điều khiển động cơ xoay chiều 3 pha trên xe, hoạt động bằng cách lấy điện từ ắc quy kéo qua giao tiếp mạng CAN với hệ thống quản lý pin Nó điều chỉnh dòng điện đầu ra theo yêu cầu và cung cấp cho motor xoay chiều 3 pha Đồng thời, bộ điều khiển cũng nhận tín hiệu phản hồi từ motor, bao gồm tín hiệu cảm biến nhiệt độ và các loại encoder như Absolute UVW, Absolute Sin/Cos, và Incremental AB, để tối ưu hóa việc điều khiển dòng điện đầu ra.

Tính năng bảo vệ của Sevcon gen4:

 Tự động giảm nếu hoạt động ngoài phạm vi nhiệt độ bình thường.

 Tự động giảm tùy thuộc vào thời gian tải lên bộ điều khiển.

 Nó cũng sẽ tự bảo vệ nếu được nối dây không chính xác.

 Bảo vệ ngược pha motor khi khởi động nguồn và khi hoạt động.

 Khi bật Gen4 kiểm tra tải đầu ra hợp lệ trước khi xuất dòng.

Bảng 3.4 Thông số kỹ thuật của Sevcon gen4 trên xe Renault Twizy

Bộ điều khiển Sevcon gen4 được sử dụng trên xe điện Renault Twizy, kết hợp với động cơ điện xoay chiều 3 pha Động cơ này được gắn chặt với hộp số tự động giảm tốc thông qua liên kết bu-lông, tạo nên hiệu suất vận hành ổn định cho xe.

Bảng 3.5 Thông số kỹ thuật của động cơ điện trên xe Renault Twizy

Hình 3.9 Động cơ điện gắn với hộp số trên xe điện Renault Twizy

3.2.3 Hệ thống điện thân xe

Do hạn chế về thời gian và tình hình dịch COVID-19 căng thẳng, nhóm chỉ có thể vẽ lại sơ đồ khối của hệ thống điện thân xe mà không tháo bó dây hay rút giắc để đo kiểm Để giữ cho sơ đồ không bị rối, chúng tôi đã không thể hiện sự nối mass của các thiết bị điện, vì vậy có thể hiểu rằng các thiết bị đã được cấp mass.

SƠ LƯỢC VỀ PHẦN CỨNG VÀ PHẦN MỀM

Phần cứng

Cấu hình máy tính được sử dụng để thử nghiệm các source code trong đề tài được minh họa trong hình 3.1 Tuy nhiên, card đồ họa này không được cộng đồng DeepLearning ưa chuộng do vấn đề tương thích trình điều khiển với các nền tảng DeepLearning hiện tại Đây là một trong những lý do chúng em không áp dụng thuật toán DeepLearning trong đồ án này.

Hình 4.1 Cấu hình của laptop

The evolution of embedded computers has paralleled advancements in artificial intelligence applications, including Machine Learning, Computer Vision, Edge Computing, Speech Recognition, and Natural Language Processing Notable examples of embedded systems include the Raspberry Pi, LattePanda, and AI Coral Dev Board Among these, the powerful AI NVIDIA Jetson stands out, enabling users to run multiple neural networks simultaneously for applications such as Image Classification, Object Detection, Image Segmentation, and Speech Processing.

Trên thị trường hiện nay, dòng máy tính nhúng AI NVIDIA Jetson bao gồm nhiều loại như Jetson Nano Developer Kit, Jetson TX2 Developer Kit, Jetson Xavier NX Developer Kit và Jetson AGX Xavier Developer Kit, mỗi loại có những thông số kỹ thuật riêng biệt.

Hình 4.2 Thông số các loại máy tính nhúng dòng NVIDIA Jetson Dev Kit

Mục tiêu của đồ án là phát triển hệ thống cảnh báo chệch làn đường cho xe điện Renault Twizy, yêu cầu một máy tính nhúng nhỏ gọn nhưng mạnh mẽ để xử lý các thuật toán phức tạp, đồng thời đảm bảo chi phí phù hợp với ngân sách của nhóm.

Hình 4.3 Bảng so sánh Jetson Nano với các máy tính nhúng khác

Hình 4.4 Jetson Nano Developer Kit – B01

Camera Raspberry Pi NoIR V2 IMX219 8MP là phiên bản Camera Module tương thích với Jetson Nano, sử dụng cảm biến IMX219 8-megapixel từ Sony Với độ phân giải 3280 x 2464 và 8 triệu điểm ảnh, camera này nổi bật về chất lượng hình ảnh và video Do đó, nhóm đã quyết định lựa chọn Camera Raspberry Pi NoIR V2 IMX219 8MP cho đồ án của mình.

Hình 4.6 Camera Raspberry Pi NoIR V2 IMX219 8MP

Màn hình 7 inch IPS HDMI LCD(H) chính hãng Waveshare sở hữu độ phân giải 1024 x 600 pixels, mang đến chất lượng hình ảnh và chữ hiển thị sắc nét Kết nối HDMI giúp dễ dàng sử dụng và tương thích với nhiều thiết bị.

Trong đồ án của nhóm, màn hình LCD giữ vai trò quan trọng trong việc kiểm tra và theo dõi, đồng thời cung cấp tín hiệu cảnh báo bằng hình ảnh cho tài xế.

Hình 4.7 Màn hình Waveshare 7inch HDMI IPS LCD(H)

4.1.5 Các thiết bị hỗ trợ khác

 Bộ UPS Power Module và pin lithium – ion: dùng để cấp nguồn cho Jetson Nano khi hệ thống lắp đặt trên xe.

UPS là mô đun cung cấp nguồn liên tục từ hãng Waveshare, thiết kế đặc biệt cho NVDIA Jetson Nano Mô đun này mang đến giải pháp nguồn an toàn với các tính năng như bảo vệ quá dòng, ngược dòng và bảo vệ ngắn mạch Ngoài ra, UPS còn được trang bị màn hình OLED 0.91'' giúp theo dõi các thông số quan trọng như điện áp pin, đảm bảo hoạt động ổn định và hiệu quả cho Jetson Nano.

IP, mức sử dụng RAM, dung lượng pin …

Hình 4.8 UPS Power Module và pin Li-on

 USB wifi và thẻ nhớ 32GB: lần lượt dùng để thu sóng wifi và tăng lưu lượng bộ nhớ cho Jetson Nano.

Hình 4.10 USB wifi 802.11n và thẻ nhớ 32GB

 Bàn phím mini: dùng để thao tác trên màn hình LCD

Hình 4.11 Bàn phím mini Qwerty không dây

 Các linh kiện điện tử gồm led, nút nhấn, test board, điện trở 220 , …

Do tình hình dịch Covid-19 diễn biến phức tạp và thực hiện chỉ thị 16 của chính phủ, các cửa hàng điện tử không hoạt động, khiến nhóm không thể mua còi và động cơ rung để cảnh báo Vì vậy, nhóm đã quyết định tận dụng linh kiện có sẵn tại nhà, sử dụng đèn LED màu vàng để thay thế cho còi và động cơ rung.

Khi đèn LED màu vàng sáng, còi và động cơ rung sẽ hoạt động, trong khi đèn LED màu vàng tắt đồng nghĩa với việc còi và động cơ rung không hoạt động Ngoài ra, khi nhấn nút, đèn LED màu đỏ sẽ sáng, cho thấy rằng khi gạt công tắc xi nhan, đèn xi-nhan cũng sẽ sáng.

Hình 4.12 Các linh kiện điện tử

Phầm mềm

Ubuntu là một hệ điều hành máy tính dựa trên Debian GNU/Linux, nổi bật với triết lý "tình người" từ tiếng Zulu, nhấn mạnh sự kết nối trong cộng đồng Mục tiêu của Ubuntu là cung cấp một hệ điều hành ổn định, dễ cài đặt và thân thiện với người dùng Tính đến năm 2007, Ubuntu đã trở thành bản phân phối Linux phổ biến nhất cho máy tính để bàn, chiếm khoảng 30% thị phần Linux trên toàn cầu.

Ubuntu là phần mềm mã nguồn mở tự do, cho phép người dùng tự do chạy, sao chép, phân phối, nghiên cứu, thay đổi và cải tiến theo giấy phép GNU GPL Được tài trợ bởi Canonical Ltd, do Mark Shuttleworth sở hữu, Ubuntu không được bán mà Canonical kiếm doanh thu từ việc cung cấp hỗ trợ kỹ thuật Việc phát triển Ubuntu theo mô hình mã nguồn mở cho phép Canonical khai thác tài năng từ các nhà phát triển bên ngoài mà không cần tự mình phát triển tất cả các thành phần.

Hình 4.13 Giao diện hệ điều hành Ubuntu trên NVIDIA Jetson Nano Developer Kit

NVIDIA JetPack SDK là giải pháp toàn diện nhất từ NVIDIA cho việc phát triển ứng dụng AI, hỗ trợ tất cả các module Jetson và bộ công cụ dành cho nhà phát triển.

JetPack SDK cung cấp Gói trình điều khiển Jetson Linux mới nhất (L4T), bao gồm hệ điều hành Linux cùng với các thư viện và API CUDA-X được tối ưu hóa cho Deep Learning, Computer Vision, Accelerated Computing và Multimedia Ngoài ra, nó còn đi kèm với các mẫu, tài liệu và công cụ hỗ trợ cho nhà phát triển, phục vụ cho cả máy tính chủ và bộ công cụ phát triển, đồng thời tương thích với các SDK cao cấp như DeepStream cho phân tích video trực tuyến và Isaac cho robot.

Bitvise SSH Client là phần mềm truy cập từ xa an toàn dành riêng cho Windows, cho phép kết nối nhiều laptop với NVIDIA Jetson Nano Developer Kit Phần mềm này hỗ trợ việc truyền xuất và chỉnh sửa file một cách dễ dàng và hiệu quả.

Hình 4.14 Giao diện chính của Bitvise SSH Client

4.2.4 Ngôn ngữ lập trình Python

Python là một ngôn ngữ lập trình hướng đối tượng phổ biến, được sử dụng để phát triển các tiện ích hệ thống và tích hợp với C và C++ Được Guido van Rossum tạo ra vào năm 1990 tại Amsterdam, Python có kiểu dữ liệu động và cơ chế quản lý bộ nhớ tự động Được phát triển trong dự án mã nguồn mở dưới sự quản lý của Python Software Foundation, Python nổi bật với cú pháp đơn giản và rõ ràng, giúp lập trình viên mới dễ dàng tiếp cận Ban đầu được thiết kế cho hệ điều hành Unix, Python đã mở rộng sang nhiều hệ điều hành khác như MS-DOS, Mac OS, OS/2, Windows và Linux.

Python là một ngôn ngữ lập trình dễ học và dễ đọc, nổi bật với việc sử dụng từ khóa tiếng Anh và hạn chế các ký hiệu cũng như cấu trúc cú pháp phức tạp so với các ngôn ngữ lập trình khác.

Python có mã nguồn dễ bảo trì và mở rộng, cùng với một thư viện tiêu chuẩn phong phú Nó tương thích với nhiều hệ điều hành phổ biến như UNIX, Windows và Macintosh, đây là một trong những ưu điểm nổi bật của Python.

Python là một ngôn ngữ lập trình linh hoạt, có thể hoạt động như ngôn ngữ script hoặc ngôn ngữ biên dịch, cho phép xây dựng các chương trình lớn Chế độ Interactive của Python giúp người dùng dễ dàng nhập và kiểm tra kết quả từ các đầu cuối khác nhau, làm cho việc test và debug trở nên đơn giản hơn Ngoài ra, Python hỗ trợ tích hợp các module, bao gồm một tập hợp các module chuẩn mà lập trình viên có thể tái sử dụng, cung cấp nhiều chức năng hữu ích như truy xuất tập tin, gọi hệ thống và lập trình mạng (socket) Python cũng cung cấp giao diện cho các cơ sở dữ liệu thương mại lớn và dễ dàng tích hợp với các ngôn ngữ lập trình khác như C, C++, COM, CORBA, ActiveX và Java.

Anaconda là nền tảng mã nguồn mở phổ biến nhất cho Khoa học dữ liệu trên Python, với hơn 11 triệu người dùng Đây là phương pháp nhanh chóng và dễ dàng để học Khoa học dữ liệu bằng Python hoặc R trên các hệ điều hành Windows, Linux và Mac OS X Anaconda mang lại nhiều lợi ích cho người dùng trong việc phát triển và triển khai các dự án Khoa học dữ liệu.

- Dễ dàng tải 1500+ packages về Python/R cho data science

- Quản lý thư viện, môi trường và dependency giữa các thư viện dễ dàng

- Dễ dàng phát triển mô hình machine learning và deep learning với scikit-learn,tensorflow, keras

- Xử lý dữ liệu tốc độ cao với numpy, pandas

- Hiện thị kết quả với Matplotlib, Bokeh

Hình 4.16 Biểu trượng của ANACONDA

Phần mềm PyCharm là công cụ hoàn hảo cho các nhà phát triển Python chuyên nghiệp, với trình soạn thảo mã sâu sắc và trình sửa lỗi giúp theo dõi hoạt động của mã hiệu quả Nó tích hợp với các công cụ cộng tác như hệ thống kiểm soát phiên bản và các tracker, đồng thời hỗ trợ các khuôn khổ web, công cụ JavaScript, ảo hóa và containerization PyCharm cho phép người dùng khám phá dự án nhanh chóng chỉ với vài thao tác, cung cấp cái nhìn tổng quan về cấu trúc dự án và truy cập tài liệu liên quan ngay trong trình soạn thảo, từ đó thúc đẩy quá trình phát triển nhanh chóng hơn.

Hình 4.17 Biểu tượng của PyCharm

Các tính năng chính của PyCharm:

– Hỗ trợ Windows, macOS và Linux

– Hỗ trợ mã hoàn thiện thông minh, điều hướng bằng một cú nhấp chuột và kiểm tra kiểu PEP8

– Tự động phát hiện các vấn đề mã: ví dụ: phân tích mã không sử dụng

– Trình gỡ lỗi hiệu suất cao

– Chế độ mô phỏng Vim

4.2.7 Các thư viện sử dụng trong đồ án

OpenCV, initiated by Intel in 1999 by Gary Bradsky, stands for Open Source Computer Vision Library It is a leading open-source library for Computer Vision and Machine Learning, now featuring GPU acceleration for real-time operations Released under the BSD license, OpenCV is free for both educational and commercial use, and it supports various programming languages including C++, C, Python, and Java, as well as multiple operating systems such as Windows, Linux, Mac OS, iOS, and Android Designed for computational efficiency, OpenCV is particularly suited for real-time applications, and when optimized in C/C++, it can leverage multi-core processors effectively.

Hình 4.18 Biểu tượng của OpenCV 4.2.7.2 Numpy

Numpy, viết tắt của Numeric Python hoặc Numerical Python, là một thư viện cốt lõi trong Python dành cho tính toán khoa học Thư viện này cung cấp các đối tượng mảng đa chiều và các đối tượng dẫn xuất như mảng và ma trận có mặt nạ, cùng với nhiều quy trình hoạt động nhanh trên các mảng Numpy hỗ trợ các phép toán toán học, logic, thao tác hình dạng, sắp xếp, lựa chọn, I/O, biến đổi Fourier rời rạc, đại số tuyến tính cơ bản, hoạt động thống kê cơ bản, mô phỏng ngẫu nhiên và nhiều tính năng khác, mang lại hiệu suất cao cho việc xử lý dữ liệu.

Hình 4.19 Biểu tượng của Numpy 4.2.7.3 Matplotlib

Matplotlib.pyplot là thư viện vẽ đồ họa 2D nổi bật trong ngôn ngữ lập trình Python, cho phép người dùng tạo đồ họa trong các tập lệnh Python, shell, máy chủ ứng dụng web và giao diện người dùng đồ họa Thư viện này có thể được mở rộng thông qua nhiều bộ công cụ khác nhau, bao gồm cả các bản tải xuống riêng biệt và các mã nguồn tích hợp với các phụ thuộc bên ngoài.

 Basemap: Nó là một bộ công cụ vẽ bản đồ với nhiều phép chiếu bản đồ, đường bờ biển và ranh giới chính trị.

Cartopy là một thư viện mạnh mẽ dành cho việc ánh xạ, cung cấp các định nghĩa về phép chiếu bản đồ hướng đối tượng Thư viện này cho phép người dùng biến đổi các yếu tố như điểm, đường thẳng, đa giác và hình ảnh một cách linh hoạt và tùy ý.

 Công cụ Excel: Matplotlib cung cấp các tiện ích để trao đổi dữ liệu với Microsoft Excel.

 Mplot3d: Nó được sử dụng cho các ô 3-D.

 Natgrid: Nó là một giao diện của thư viện natgrid để tạo lưới không đều cho các dữ liệu cách nhau.

XÂY DỰNG HỆ THỐNG CẢNH BÁO CHỆCH LÀN ĐƯỜNG

Giới thiệu về hệ thống cảnh báo chệch làn đường

Hệ thống cảnh báo chệch làn đường (LDWS) lần đầu tiên được giới thiệu bởi hãng Mercedes-Benz trên mẫu xe tải Actros tại châu Âu vào cuối những năm 1990.

Hệ thống LDWS là một giải pháp an toàn hiệu quả cho việc lái xe trên đường cao tốc, giúp giảm thiểu tai nạn do chuyển động lệch hướng bất ngờ của ô tô Hệ thống này cảnh báo lái xe khi có nguy cơ chạm vạch phân làn mà không bật đèn báo rẽ, dựa vào thông tin từ các camera hoặc cảm biến hồng ngoại được lắp đặt ở các vị trí như kính chắn gió, tap-lo, trần xe và cản trước.

Hình 5.1 Hệ thống cảnh báo chệch làn đường

Bộ phận Camera sẽ giám sát các làn đường từ khoảng cách 25m trước xe, liên tục gửi dữ liệu về cụm xử lý trung tâm để phân tích và so sánh với vận tốc xe Các cảm biến có nhiệm vụ kiểm tra và phân tích vạch kẻ đường, sau đó truyền thông tin về trung tâm để phát hiện các chuyển động lệch khỏi làn đường, cảnh báo lái xe qua âm thanh và hình ảnh.

Hiện nay, hệ thống hỗ trợ duy trì làn đường (LKAS) đã phát triển hơn để hỗ trợ hệ thống cảnh báo chệch làn đường (LDWS) bằng cách kiểm soát bánh xe, giúp ô tô giữ đúng làn đường thông qua hệ thống lái trợ lực điện Nhiều hệ thống LKAS còn tích hợp công nghệ giám sát hành trình thích ứng hoặc radar, nâng cao mức độ an toàn cho người lái.

Mặc dù các hệ thống giám sát và kiểm soát làn xe rất hữu ích, nhưng chúng vẫn gặp khó khăn trong việc nhận diện vạch kẻ làn, đặc biệt trên các tuyến đường thi công và trong điều kiện thời tiết xấu Hiện tại, các công nghệ này chỉ đóng vai trò hỗ trợ an toàn cho lái xe, chứ chưa đạt đến mức công nghệ lái tự động Do đó, tài xế cần duy trì sự tỉnh táo khi lái xe, ngay cả khi xe được trang bị công nghệ cảnh báo chệch làn đường (LDW) hoặc tính năng hỗ trợ duy trì làn đường (LKA).

Xây dựng hệ thống cảnh báo chệch làn đường

Hình 5.2 Sơ đồ khối tổng quát hệ thống cảnh báo chệch làn đường

Nhóm chúng em đang phát triển hệ thống cảnh báo chệch làn đường dựa trên ngôn ngữ lập trình Python và sử dụng Jetson Nano làm bộ xử lý trung tâm Hệ thống này sẽ thu thập dữ liệu từ camera để nhận diện tình huống chệch làn Nếu xe di chuyển ra khỏi làn mà không có tín hiệu xi nhan, Jetson Nano sẽ phát tín hiệu cảnh báo âm thanh, rung vô-lăng, rung ghế tài xế và hiển thị cảnh báo trên màn hình LCD Khi người lái nhấn công tắc xi-nhan, hệ thống sẽ kích hoạt đèn xi nhan và không phát tín hiệu cảnh báo thêm trong quá trình đó.

Do tình hình dịch COVID-19 diễn biến căng thẳng, nhóm chúng em đã tuân thủ chỉ thị 16 của chính phủ bằng cách tận dụng linh kiện có sẵn tại nhà Chúng em mô phỏng lại hệ thống giao thông bằng cách sử dụng nút nhấn thay cho công tắc xi nhan, đèn LED màu đỏ thay cho đèn xi nhan và đèn LED màu vàng thay cho còi và động cơ rung.

5.2.1 Xây dựng phần mềm cho hệ thống cảnh báo chệch làn đường

Sau khi nghiên cứu về hệ thống cảnh báo chệch làn đường, nhóm chúng em đã phát triển sơ đồ khối thuật toán và xác định 6 bước chính để thực hiện thuật toán này.

 Bước 1: Tiếp nhận khung ảnh từ file video hoặc từ thiết bị camera và trạng thái của công tắc xi – nhan (nút nhấn).

Bước 2 trong quy trình xử lý ảnh là thực hiện xử lý ban đầu khung ảnh nhằm tạo điều kiện thuận lợi cho việc áp dụng bộ lọc đường biên Có nhiều phương pháp xử lý khác nhau, mỗi phương pháp có thể áp dụng một hoặc nhiều biện pháp như chuyển đổi không gian màu và khử nhiễu.

Bước 3: Sử dụng bộ lọc lấy đường biên để phân tách các khu vực trong ảnh có sự thay đổi đáng kể về cường độ màu sắc và ánh sáng.

Dựa vào kết quả từ bước 3, chúng ta sẽ áp dụng các thuật toán phát hiện làn đường để xác định khu vực có làn đường trong ảnh.

 Bước 5: Dùng thuật toán để tính toán tâm làn đường làn đường và tính độ lệch giữa tâm làn đường với tâm xe.

Khi không bật công tắc xi-nhan và xe di chuyển ra ngoài khu vực cho phép, hệ thống sẽ phát ra tín hiệu cảnh báo Ngược lại, nếu công tắc xi-nhan được bật, đèn xi-nhan sẽ sáng lên.

Hình 5.3 Sơ đồ khối thuật toán hệ thống cảnh báo chệch làn đường

Dựa trên sơ đồ khối thuật toán, nhóm chúng em sẽ thực hiện hai nhiệm vụ chính: đầu tiên, tham khảo các mã nguồn trên GitHub để chọn lựa giải thuật nhận diện làn đường; thứ hai, phát triển giải thuật cảnh báo khi xe chệch làn đường.

5.2.1.1 Lựa chọn giải thuật phát hiện làn đường cho đồ án

Sau khi nghiên cứu các phương pháp nhận diện làn đường trên GitHub để phát triển hệ thống cảnh báo chệch làn đường, chúng tôi đã xác định hai phương pháp chính: nhận diện làn đường thông qua xử lý ảnh và nhận diện làn đường bằng công nghệ deep learning, cụ thể là mạng nơ-ron CNN (Convolutional Neural Network).

Nhóm sẽ chọn thuật toán xử lý ảnh phù hợp với cấu hình của Jetson Nano và thời gian thực hiện của dự án.

 Áp dụng giải thuật Hough Transform để nhận diện làn đường cơ bản

Hình 5.4 Sơ đồ khối giải thuật Hough Transform

Để bắt đầu, chúng ta sẽ tiếp nhận hình ảnh từ video hoặc camera và sử dụng thư viện Matplotlib để ghép trục tọa độ cho hình ảnh Đây là bước quan trọng nhằm xác định tọa độ của vùng quan tâm (Region of Interest).

Hình 5.5 Ghép trục cho hình ảnh

 Bước 2 Áp dụng giải thuật canny edge detection để lọc đường biên

Thuật toán phát hiện cạnh Canny, được phát triển bởi John F Canny vào năm 1986, bao gồm nhiều giai đoạn, bắt đầu bằng việc chuyển đổi hình ảnh đầu vào từ không gian màu RGB sang ảnh xám (grayscale image) Việc này giúp bộ lọc biên Canny hoạt động hiệu quả hơn, vì hàm Canny dựa vào sự biến đổi độ sáng Ảnh xám chỉ chứa thông tin về cường độ sáng, với mỗi pixel có giá trị từ 0 đến 255, trong đó 0 đại diện cho màu đen và 255 cho màu trắng.

Để giảm nhiễu trong hình ảnh, chúng ta cần nhận diện các cạnh, nơi có sự thay đổi về cường độ pixel Việc phát hiện cạnh dựa vào tính toán gradient, do đó, kết quả thường nhạy cảm với nhiễu hình ảnh Bước đầu tiên trong quá trình này là áp dụng hiệu ứng mờ Gaussian để làm mịn các cạnh thô.

Phát hiện cạnh là một kỹ thuật quan trọng trong xử lý hình ảnh, sử dụng hàm OpenCV với ba đối số chính: hình ảnh đầu vào, ngưỡng trên và ngưỡng dưới của gradient cường độ cạnh Ngưỡng quyết định những cạnh nào được giữ lại; các cạnh có gradient lớn hơn ngưỡng trên sẽ được giữ, trong khi những cạnh thấp hơn ngưỡng dưới sẽ bị loại bỏ Các cạnh có giá trị ở giữa sẽ được xác định dựa vào sự kết nối với các pixel đã được xác nhận Giá trị ngưỡng thường được xác định theo kinh nghiệm, với tỷ lệ 2:1 hoặc 3:1 giữa ngưỡng tối đa và tối thiểu theo đề xuất của Canny Nếu ngưỡng trên quá cao, sẽ không phát hiện được cạnh nào, trong khi nếu quá thấp, số lượng cạnh được phát hiện sẽ quá nhiều.

Hình 5.6 Hình ảnh sau khi áp dụng giải thuật canny edge detection

 Bước 3 Xác định vùng quan tâm

Vùng quan tâm (ROI) là khu vực trong ảnh mà chúng ta sẽ thực hiện các xử lý và biến đổi, trong khi bỏ qua các phần còn lại Việc xử lý toàn bộ ảnh có thể không khả thi, đặc biệt với ảnh có kích thước lớn như 1024x1024, nơi có hơn một triệu điểm ảnh cần được xử lý.

KẾT QUẢ THỰC NGHIỆM

Ngày đăng: 05/06/2022, 17:46

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Điểm ảnh - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.1 Điểm ảnh (Trang 14)
Hình 2.5 Không gian màu HSV - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.5 Không gian màu HSV (Trang 17)
Hình 2.7 Các bước cơ bản trong xử lý ảnh 2.2.1.1. Thu nhận ảnh (Image Acquisition) - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.7 Các bước cơ bản trong xử lý ảnh 2.2.1.1. Thu nhận ảnh (Image Acquisition) (Trang 20)
Hình 2.9 Các thành phần cơ bản của hệ thống xử lý ảnh - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.9 Các thành phần cơ bản của hệ thống xử lý ảnh (Trang 25)
Hình 3.4 Sơ đồ khối đường truyền công suất trên xe điện Renault Twizy - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 3.4 Sơ đồ khối đường truyền công suất trên xe điện Renault Twizy (Trang 31)
Bảng 3.2 Thông số kỹ thuật của bình ắc – quy kéo trên xe Renault Twizy - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Bảng 3.2 Thông số kỹ thuật của bình ắc – quy kéo trên xe Renault Twizy (Trang 32)
Bảng 3.3 Thông số kỹ thuật của bộ sạc trên xe Renault Twizy - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Bảng 3.3 Thông số kỹ thuật của bộ sạc trên xe Renault Twizy (Trang 34)
Bảng 2: Tình hình hoạt động cho vay (2004-2006). - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Bảng 2 Tình hình hoạt động cho vay (2004-2006) (Trang 38)
Hình 4.2 Thông số các loại máy tính nhúng dòng NVIDIA Jetson Dev Kit - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 4.2 Thông số các loại máy tính nhúng dòng NVIDIA Jetson Dev Kit (Trang 39)
Hình 4.3 Bảng so sánh Jetson Nano với các máy tính nhúng khác - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 4.3 Bảng so sánh Jetson Nano với các máy tính nhúng khác (Trang 40)
Hình 4.6 Camera Raspberry Pi NoIR V2 IMX219 8MP - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 4.6 Camera Raspberry Pi NoIR V2 IMX219 8MP (Trang 42)
Hình 4.8 UPS Power Module và pin Li-on - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 4.8 UPS Power Module và pin Li-on (Trang 43)
Hình 4.10 USB wifi 802.11n và thẻ nhớ 32GB - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 4.10 USB wifi 802.11n và thẻ nhớ 32GB (Trang 44)
Hình 4.14 Giao diện chính của Bitvise SSH Client - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 4.14 Giao diện chính của Bitvise SSH Client (Trang 47)
Hình 5.2 Sơ đồ khối tổng quát hệ thống cảnh báo chệch làn đường - Nghiên cứu và phát triển hệ thống cảnh báo chệnh làn đường trên xe điện renault twizy   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5.2 Sơ đồ khối tổng quát hệ thống cảnh báo chệch làn đường (Trang 54)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN