1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đồ Án Nghiên Cứu Xây Dựng Hệ Thống Điều Khiển Bám Đường Tránh Vật Cản Cho Xe Tự Hành

78 7 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Xây Dựng Hệ Thống Điều Khiển Bám Đường Tránh Vật Cản Cho Xe Tự Hành
Tác giả Nguyễn Văn A, Nguyễn Thị B, Trần Văn C
Người hướng dẫn TS. Phạm Văn Thức
Trường học Đại học Công nghệ Tp.HCM
Chuyên ngành Công nghệ kỹ thuật ô tô
Thể loại Đồ án môn học
Thành phố Tp.HCM
Định dạng
Số trang 78
Dung lượng 2,91 MB

Cấu trúc

  • 1.1. Tổng quan về xe tự hành (6)
  • 1.2. Tình hình nghiên cứu xe tự hành trên thế giới và trong nước (13)
  • 1.3. Đặt bài toán xây dựng mô hình và hệ thống điều khiển xe tự hành (23)
  • 1.4. Kết luận chương 1 (24)
  • Chương 2: CƠ SỞ XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN CHO XE TỰ HÀNH (25)
    • 2.1. Tổng quan về các thư viện sử dụng cho hệ thống điều khiển xe tự hành (25)
      • 2.1.1. Thư viện Opencv (25)
      • 2.1.2. Thư viện wiringPi (27)
    • 2.2. Logic mờ và bộ điều khiển mờ (28)
      • 2.2.1. Lịch sử phát triển của logic và bộ điều khiển mờ (28)
      • 2.2.2. Khái niệm và các phép toán trên tập mờ (30)
      • 2.2.3. Luật hợp thành mờ (32)
      • 2.2.4. Phương pháp giải mờ (33)
      • 2.2.5. Cấu trúc và các bước xây dựng bộ điều khiển mờ (36)
    • 2.3. Kết luận chương 2 (40)
  • Chương 3: XÂY DỰNG MÔ HÌNH VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN (41)
    • 3.1. Xây dựng mô hình (41)
      • 3.1.1. Xây dựng cấu trúc hệ thống và sơ đồ kết nối thiết bị (41)
      • 3.1.2. Các thiết bị phần cứng sử dụng trong hệ thống (42)
    • 3.2. Xây dựng chương trình điều khiển cho xe tự hành (53)
      • 3.2.1. Xây dựng phần điều khiển bám đường (54)
    • 3.3. Thử nghiệm và đánh giá (74)
    • 3.4. Kết luận chương 3 (76)
  • Chương 4: KẾT LUẬN CHUNG (77)
  • TÀI LIỆU THAM KHẢO (78)

Nội dung

Xây dựng được mô hình xe tự hành có đầy đủ trang, thiết bị cho việc xác định làn đường và vật cản, xe có thể di chuyển được trên sa hình mô phỏng đường thực tế. - Nắm được các thiết bị phần cứng được trang bị cho xe để có thể lập trình, làm việc được với xe. - Nắm được các cơ sở liên quan đến việc xác định làn đường, xác định vật cản và các thuật toán điều khiển. - Nghiên cứu đưa ra được thuật toán xác định làn đường. - Nghiên cứu đưa ra được thuật toán điều khiển xe bám đường. - Nghiên cứu đưa ra được thuật toán xác định vật cản. - Nghiên cứu đưa ra được thuật toán điều khiển tránh vật cản. - Kết hợp các thuật toán lại thành một chương trình điều khiển xe bám đường, tránh vật cản hoàn chình. - Chạy thử nghiệm xe và đưa ra đánh giá.

Tổng quan về xe tự hành

a) Khái niệm về xe tự hành

Xe tự hành, cũng được biết đến như xe tự lái, là một chiếc xe có khả năng hoàn thành các khả năng vận chuyển con người của xe truyền thống Nó có khả năng cảm nhận môi trường và điều hướng mà không cần sự can thiệp của con người b) Lịch sử ra đời và phát triển

Các thí nghiệm về xe tự hành đã được tiến hành ít nhất là từ những năm 1920, thử nghiệm đầy hứa hẹn đã diễn ra vào những năm 1950 và công việc này đã được bắt đầu kể từ đó Những chiếc xe tự hành đầu tiên xuất hiện vào những năm 1980, do trường đại học Carnegie Mellon của Navlab trong dự án ALV (Autonomous Land Vehicle) năm 1984, Mercedes-Benz và Bundeswehr của trường đại học Munich trong dự án Prometheus EUREKA vào năm 1987 kể từ đó, nhiều công ty lớn và các tổ chức nghiên cứu đã phát triển xe tự hành, bao gồm Mercedes-Benz, General Motors, Continental Automotive Systems, IAV, Autoliv Inc., Bosch, Nissan, Renault, Toyota, Audi, Hyundai Motor Công ty, Volvo, Tesla Motors, Peugeot, Local Motors, AKKA Technologies, Vislab từ Đại học Parma, Đại học Oxford và Google Vào tháng Bảy năm 2013, Vislab chứng minh BRAiVE, một chiếc xe tự hành di chuyển trên một tuyến đường giao thông công cộng Trong năm 2015, năm quốc gia

Mỹ (Nevada, Florida, California, Virginia, và Michigan) cùng với Washington, DC cho phép thử nghiệm xe tự động hoàn toàn trên đường công cộng Trong khi xe ô tô tự trị nói chung đã được thử nghiệm trong thời tiết bình thường trên những con đường bình thường, Ford đã thử nghiệm xe tự trị của họ trên những con đường phủ đầy tuyết

Hình.1.1: Xe tự hành hãng Mercedes-Benz

Hình.1.2: Xe tự hành cấp độ 3 của hãng Tesla

Hình.1.3: Xe tự hành của hãng Google

Hình.1.4: Xe tự hành đầu tiên của hãng Vinfast

9 c) Ưu điểm của xe tự hành

- Tiết kiệm được vô số thời gian của con người

- Giải quyết các vấn đề về môi trường

- Các xe có thể tự giao tiếp với nhau, giảm thiểu được các tai nạn giao thông

- Giảm được số tài xế, nhân viên chỉ dẫn giao thông công cộng

- Kết quả nghiên cứu cho thấy người điều khiển là nguyên nhân chính gây ra tai nạn giao thông Với xe tự hành, sự phân tâm khi mệt mỏi hay say rượu sẽ không ảnh hưởng tới khả năng làm chủ trên đường bởi nhiệm vụ này được máy tính đảm nhận

- Đã giảm bớt gánh nặng đặt lên người điều khiển trên đường cao tốc hay khi tắc đường bởi tất cả đều được tự động hóa Từ phát hiện điểm mù, cảnh báo làn đường khi khởi hành, quản lý gia nhập làn đường và thậm chí tự đậu xe,

- Từ trước đến nay, điều khiển một chiếc xe chỉ dành cho người có thể vượt qua kì thi lấy bằng lái Những người quá trẻ hoặc quá già, người khuyết tật hoặc có triệu chứng tâm lý không thể có được trải nghiệm này Nhưng với xe tự hành, giao thông cá nhân sẽ mở ra tất cả các phân khúc đơn lẻ của xã hội Việc làm chủ một thiết bị di chuyển hiện đại sẽ nằm trong tầm tay của tất cả mọi người

- Về mặt thẩm mỹ, xe tự hành sẽ thay đổi cách nhìn nhận một chiếc xế hộp, hoặc ít nhất về khía cạnh nội thất sẽ rất khác biệt Vô-lăng, nút bấm, bàn đạp phanh, ga, cần sang số, đồng hồ tốc độ và nhiều cụm thiết bị khác bỗng trở nên thừa thãi Những nguyên tắc cứng nhắc như ghế ngồi phải hướng về phía trước sẽ không còn hiệu lực Nội thất xe sẽ được thiết kế phục vụ nhu cầu sinh hoạt và giải trí của người sử dụng Bạn có thể ăn, ngủ, nghỉ, thậm chí tận hưởng cuộc sống ngay trong lúc xe vẫn đang

10 chạy trên đường Xét về tính ứng dụng, xe tự hành giống như một ngôi nhà lưu động và trở thành giải pháp cho hiện trạng đô thị chật chội ngày nay d) Nhược điểm của xe tự hành

- Hệ thống cơ sở hạ tầng còn chưa phù hợp với xe tự hành

- Kinh phí xây dựng hệ thống giao thông, biển bảng rất lớn

- Giá thành của các xe sẽ tương đối cao

- Công nghệ còn chưa thay thế được con người hoàn toàn

- Vấn đề việc làm sẽ mất cân đối: nhiều tài xế, nhân viên giao thông bị thất nghiệp

- Hệ thống này không thực sự hoàn hảo bởi sự phụ thuộc vào điều kiện môi trường -Tính hiệu quả chỉ phát huy tối đa khi môi trường xung quanh hội tụ đủ tiêu chuẩn nhất định Thời tiết không thuận lợi sẽ ảnh hưởng tới độ chính xác cũng như an toàn của xe khi vận hành

- Tuy nhiên, rào cản lớn nhất không đến từ khía cạnh kỹ thuật mà là luật pháp

Ví dụ như khi tai nạn xảy ra, thật khó xác định lỗi thuộc về người ngồi trên xe hay không Luật pháp dù có cải tiến vẫn chậm chạp hơn tốc độ phát triển của công nghệ Một số tiểu bang Hoa Kỳ đã chú ý tới điều luật dành cho xe tự động và bán tự động e) Dự đoán tương lai của xe tự hành Ô tô trong tương lai sẽ được trang bị nhiều công nghệ tự lái hiện đại, giúp làm giảm căng thẳng và mệt mỏi cho các lái xe, đồng thời giảm thiểu khả năng va chạm với phương tiện khác Công nghệ xe tự hành hứa hẹn mang đến cho con người sự an toàn, thoải mái và cá nhân hoá hơn Ở Nhật dường như đang tiến gần hơn tới việc vận hành hệ thống giao thông công cộng một cách tự động sau khi một công ty nước này cho trình làng xe buýt không

11 người lái, có tên Robot Shuttle Hiện tại các công nghệ dành cho dòng xe cao cấp trước đây trở thành tiêu chuẩn như: bluetooth, GPS, cảm biến đỗ xe Xe hơi bây giờ còn được tích hợp một trạm phát Wi-Fi, cho phép người trên xe có thể truy cập internet và nó thực thụ trở thành một thiết bị di động với nhiều tính năng khác nhau

Năm 2021 sẽ có khoảng 10 chiếc xe tự hành đầu tiên được bán ra trên thị trường, nó được tích hợp thêm công nghệ giao tiếp giữa xe với xe giúp chúng cảm nhận và

“nhìn thấy nhau”.Trên xe các tiện ích đa phương tiện như âm nhạc, video, dữ liệu được tích hợp sẵn trong kết nối internet trong xe dựa vào công nghệ điện toán đám mây Người dùng sử dụng chúng thông qua câu lệnh bằng giọng nói

Hình.1.5: Xe tự hành năm 2021

12 Đến năm 2026, xe tự hành có thể di chuyển hoàn toàn tự động, nó đủ tinh vi và hiện đại để được sử dụng phổ biến Khi đó sẽ có pháp luật và quy định riêng dành cho xe tự hành Các vấn đề đạo đức cũng được quan tâm và thực hiện

Công nghệ xe tự hành hứa hẹn mang đến cho con người sự an toàn, thoải mái và cá nhân hoá hơn Hiện tại thì đã có khá nhiều mẫu xe được trang bị các công nghệ tự động như tự ra/vào garage, hay tự động đỗ xe, … Có lẽ phải mất đến vài năm nữa cho đến khi chúng ta có những mẫu xe tự hành thực thụ có thể chạy trên đường một cách an toàn Cuộc đua để đưa những chiếc xe tự hành đến với công chúng đang

Tình hình nghiên cứu xe tự hành trên thế giới và trong nước

a) Tình hình nghiên cứu xe tự hành của thế giới

Vào năm 2014, để thấy được tình hình nghiên cứu xe tự hành đang ở cấp độ nào, hiệp hội kỹ sư xe hơi (SAE) đã đưa ra 6 cấp độ cho xe tự hành Cấp độ 0 hoàn toàn không có tính năng tự lái Nhiều ô tô đang được lưu thông hiện nay được xếp vào cấp độ này, kể cả những ô tô được trang bị các tính năng như cảnh báo va chạm phía trước hay công nghệ cảnh báo điểm mù Ở cấp độ này, người ngồi phía sau vô lăng phải tự mình điều khiển hoàn toàn các tính năng của xe, như lái xe, gia giảm tốc độ, hay phanh khi xe đang chạy

Cấp độ 1 được trang bị một vài tính năng hỗ trợ người lái Các loại ô tô tự lái ở cấp độ này có thể có một hoặc nhiều hệ thống điều khiển tốc độ của xe hoặc hướng lái, nhưng không thể đồng thời vận hành cả hai tính năng này Nhiều mẫu ô tô hiện nay được trang bị tính năng Cruise Control nhằm giúp chiếc xe có thể tự vận hành ở tốc độ mong muốn của người lái xe, từ đó giảm tải việc liên tục phải giữ chân ga trên một quãng đường dài Đây là ví dụ cho một tính năng tự hành cấp độ một Tới năm

2021, hầu hết ô tô bán ra tại Mỹ sẽ được trang bị hệ thống phanh tự động khẩn cấp, vốn cũng là một tính năng của xe tự hành cấp độ 1 Bên cạnh đó, một vài hãng xe như Subaru còn có cả hệ thống chủ động kiểm soát làn đường, qua đó có thể tự động lái xe trở về đúng làn đường khi xe chạy chệch làn trên những xe thuộc phân khúc phổ thông, nhưng các hệ thống này không thịnh hành bằng hệ thống Cruise Control

Hình.1.7: Xe tự hành cấp độ 1

Cấp độ 2 được trang bị các hệ thống hỗ trợ người lái nhiều hơn Nhiều nhà sản xuất ô tô hạng sang hiện đã cung cấp các xe tự hành cấp độ hai có thể đồng thời tự điều khiển hướng lái và tốc độ, mà không cần sự tương tác từ người lái trong một khoảng thời gian ngắn (dưới 1 phút hay vài giây) Hiện tại, các “ông lớn” như Volvo, Mercedes-Benz và BMW đều đã cung cấp các tính năng tự hành cấp độ hai, nhưng tất cả đều yêu cầu người lái phải theo dõi điều kiện môi trường xung quanh khi xe di chuyển Hệ thống tự hành cấp độ hai nổi tiếng nhất hiện nay có lẽ là Autopilot của Tesla Hệ thống này có thể đo lực xoay trên vô lăng để đảm bảo rằng người lái đang tập trung lái xe Xe tự hành ở cấp độ này không thể tự điều khiển ở mọi trường hợp,

15 bao gồm cả việc nhập làn vào đường cao tốc hay lái xe trong trình trạng tắc đường Hiện nay các xe tự hành đã được ra mắt trên thế giới mới chỉ dừng lại ở cấp độ này

Hình.1.8: Xe tự hành cấp độ 2

Cấp độ 3 là xe tự hành có điều kiện Không giống như các xe tự hành cấp độ 2, xe tự hành cấp độ 3 có thể tự điều khiển trong mọi tình huống, đồng thời liên tục tự theo dõi điều kiện đường xá Song không giống như những cấp độ tự hành cao hơn, xe cấp độ 3 sẽ chuyển sang chế độ người lái điều khiển khi chúng không thể xử lý tình huống Theo định nghĩa của SAE, xe tự hành cấp độ 3 sẽ yêu cầu người lái can thiệp khi hệ thống tự lái ngừng hoạt động Tuy nhiên, một số nhà sản xuất ô tô cho rằng đây là một vấn đề về an toàn đối với người lái vì họ quá phụ thuộc vào các hệ thống này và có thể không sẵn sàng để can thiệp khi cần thiết Đây cũng là lý do mà nhiều hãng xe như Ford hay Volvo cho biết họ sẽ bỏ qua giai đoạn này

Hình.1.9: Xe tự hành cấp độ 3

Cấp độ 4 được mô tả là gần như tự hành Ford và Volvo gần đây đều lên báo sẽ cho ra đời những chiếc xe tự hành cấp độ 4 trước năm 2021 Hiện chưa rõ liệu khách hàng bình thường có được sử dụng những chiếc xe này, hay chúng chỉ dành cho các hoạt động chia sẻ xe hoặc chỉ có mặt ở một số thành phố nhất định, nhưng rõ ràng là nhiều hãng xe đang hướng mục tiêu tới cấp độ này Xe tự hành cấp độ 4 sẽ không cần đến sự tương tác của người lái nữa mà thay vào đó sẽ tự động dừng lại khi các hệ thống tự hành ngừng hoạt động Đây là điểm khác biệt quan trọng của xe cấp độ

4 so với cấp độ 3 Nhiều nhà sản xuất ô tô như Tesla hay Mercedes Benz đã tích hợp tính năng tự giảm dần tốc độ xe đến khi dừng hẳn hoặc bật đèn cảnh báo nguy hiểm khi phát hiện tín hiệu cho thấy người lái không tương tác với xe Nhiều hãng xe cho rằng việc tích hợp cả tính năng tự lái và có người lái là thừa và tốn kém Volvo là hãng xe duy nhất cho đến nay cho biết họ sẽ tung ra chiếc XC90 tự hành cấp độ 4 với cả hai tính năng này Cấp độ 5 là những xe tự hành hoàn toàn Dù cấp độ 4 và cấp độ 5 có vẻ như không mấy khác biệt, song trên thực tế, đây là một bước nhảy

17 vọt khi xe tự hành cấp độ năm hoàn toàn không cần đến sự tương tác của người lái trong quá trình vận hành Các bộ phận cơ bản của xe như vô lăng, chân ga và chân phanh sẽ không còn cần thiết trên một chiếc xe tự hành cấp độ này bởi chúng không cần sự điều khiển của con người nữa

Hiện nay trên thế giới đã có rất nhiều hãng tham gia nghiên cứu xe tự hành và trong tương lai gần họ sẽ ra mắt và thử nghiệm một số loại xe tự hành vào đời sống như:

- Audi: Chiếc Audi A7 đã hoàn tất hành trình tự lái dài 885km vào năm 2016 tuy nhiên Audi vẫn chưa có tuyên bố chính thức về ngày ra mắt của chiếc xe Audi cũng là hãng xe đầu tiên nhận được sự cho phép vận hành xe tự hành ở Nevada (2012) và California (2014)

Hình.1.10: Xe Audi A7 tự hành đầu tiên

- Daimler: Người đứng đầu của hãng Mercedes-Benz, Thomas Weber tuyên bố Daimler muốn là hãng xe đầu tiên trang bị công nghệ tự hành trên các mẫu xe của mình, và hứa với người tiêu dùng rằng hãng sẽ cho ra mắt mẫu xe tự hành đầu tiên vào cuối thập niên này

Hình.1.11: Xe tự hành đầu tiên hãng Mercedes-Benz

- Apple: Dự án Titan của Apple dự kiến cho ra mắt vào năm 2019 Tuy nhiên, chưa có thông báo chính thức nào về việc này nên cũng còn phải chờ xem liệu Apple có thể đánh bại Google trong lĩnh vực này hay không

Hình.1.12: Xe tự hành đầu tiên của hãng Apple

- General Motors: Hãng xe sẽ cho ra mắt hệ thống xe tự hành dành cho nhân viên của hãng di chuyển trong công ty vào cuối năm 2016 Trên web của hãng cũng có nhắc đến việc cho ra mắt dòng xe bán tự hành vào năm 2020 và dòng xe tự hành 100% vào thập niên kế tiếp

- Ford: Ford cũng vừa thành lập một đội ngũ kỹ sư chuyên nghiên cứu công nghệ tự hành vào tháng 6/2016 vừa qua Tuy nhiên, hãng cũng cho biết có thể đến năm 2020 các xe của Ford sẽ không phải là mẫu xe sở hữu công nghệ tự hành 100% vì Ford muốn phát triển công nghệ để có thể trang bị trên tất cả các phân khúc xe của hãng chứ không chỉ trang bị cho phân khúc siêu sang

Hình.1.13: Xe tự hành của hãng Ford

Đặt bài toán xây dựng mô hình và hệ thống điều khiển xe tự hành

Để nắm bắt được xu thế công nghệ xe tự hành, em lựa chọn đồ án “Nghiên cứu xây dựng hệ thống điều khiển bám đường, tránh vật cản cho xe tự hành” Với mục đích là xây dựng được mô hình xe tự hành có thể bám được đường dựa theo mô phỏng đường thực tế và tránh được vật cản Để đạt được mục đích như vậy, em đưa ra mục tiêu nghiên cứu như cứu như sau:

- Xây dựng được mô hình xe tự hành có đầy đủ trang, thiết bị cho việc xác định làn đường và vật cản, xe có thể di chuyển được trên sa hình mô phỏng đường thực tế

- Nắm được các thiết bị phần cứng được trang bị cho xe để có thể lập trình, làm việc được với xe

- Nắm được các cơ sở liên quan đến việc xác định làn đường, xác định vật cản và các thuật toán điều khiển

- Nghiên cứu đưa ra được thuật toán xác định làn đường

- Nghiên cứu đưa ra được thuật toán điều khiển xe bám đường

- Nghiên cứu đưa ra được thuật toán xác định vật cản

- Nghiên cứu đưa ra được thuật toán điều khiển tránh vật cản

- Kết hợp các thuật toán lại thành một chương trình điều khiển xe bám đường, tránh vật cản hoàn chình

- Chạy thử nghiệm xe và đưa ra đánh giá Để thực hiện được các mục tiêu trên sử dụng các phương pháp sau:

- Phương pháp nghiên cứu tài liệu;

- Phương pháp phân tích và tổng hợp;

- Phương pháp hỏi ý kiến chuyên gia;

- Phương pháp thực nghiệm; Để thực hiện được đồ án này em đưa ra hướng giải quyết như sau:

- Nghiên cứu xử lý ảnh sử dụng thư viện Opencv;

- Nghiên cứu các thiết bị phần cứng Raspberry Pi 3, cảm biến siêu âm HC-SR04, camera A4 tech, điều khiển động cơ qua L298N;

- Nghiên cứu thuật toán xác định làn đường, xác định vật cản và chương trình điều khiển xe.

CƠ SỞ XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN CHO XE TỰ HÀNH

Tổng quan về các thư viện sử dụng cho hệ thống điều khiển xe tự hành

2.1.1.1 Tổng quan về thư viện Opencv

OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer vision), xử lý ảnh, máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian thực OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho cả học thuật và thương mại Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android OpenCV được thiết kế để tính toán hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi Được sử dụng trên khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng download vượt quá 6 triệu lần Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác mỏ, bản đồ trên web hoặc công nghệ robot

OpenCV đang được sử dụng rộng rãi trong các ứng dụng bao gồm:

- Kiểm tra và giám sát tự động

- Robot và xe hơi tự lái

- Phân tích hình ảnh y tế

- Tìm kiếm và phục hồi hình ảnh/video

- Phim - cấu trúc 3D từ chuyển động

- Nghệ thuật sắp đặt tương tác

OpenCV có một cấu trúc modul, cái mà là các gói thư viện được chia sẻ chung hoặc thư viện tĩnh Phía dưới là modul có

- Core – là modul nhỏ gọn xác định cấu trúc dữ liệu cở bản, bao gồm mảng đa chiều Mat và các hàm cơ bản được sử dụng bởi tất cả các modul khác

- Imgproc – là modul xử lý ảnh bao gồm lọc tuyến tính và phi tuyến tính, biến đổi hình học (thay đổi kích thước, affine và phối cảnh nhân tạo, sửa đổi dựa trên bảng chung), chuyển đổi không gian màu, lược đồ, v.v…

- Video – là modul phân tích video bao gồm đánh giá chuyển động, phép trừ nền và các thuật toán theo dõi đối tượng

- Calib3d – Các thuật toán hình học nhiều chiều cơ bản, hiệu chuẩn camera đơn và âm thanh, ước lượng các đối tượng, thuật toán tương phản stereo và các yếu tố tái tạo 3D

- Features2d – trình dò đặc trưng, mổ tả và kết nối mô tả

- Objdetect – phát hiện các đối tượng và các lớp được xác định trước (ví dụ khuân mặt, mắt, cốc, người, xe hơi, v.v…)

- Highgui – một giao diện dễ sử dụng để quay video, hình ảnh và codecs video, cũng như giao diện người dùng đơn giản

- Gpu – Các thuật toán tăng tốc CPU từ các modul opencv khác nhau

WiringPi là thư viện truy cập GPIO dựa trên các mã PIN, viết bằng ngôn ngữ C cho BCM2835 được sử dụng trong Raspberry Pi Nó được phát hành theo giấy phép của GNU LGPLv3 và có thể sử dụng từ ngôn ngữ C, C++ và RTB (BASIC) cũng như nhiều ngôn ngữ khác với các phiên bản phù hợp Nó được thiết kế để tương thích với những ai sử dụng “wiring” của hệ thống Arduino WiringPi bao gồm một tiện ích gpio cho dòng lệnh, cái mà có thể được sử dụng cho chương trình và cài đặt các chân GPIO Bạn có thể sử dụng nó để đọc và ghi các chân và thậm chí sử dụng để kiểm soát chúng từ đoạn vỏ WiringPi có thể mở rộng được và các modul cung cấp để mở rộng wiringPi cho việc sử dụng các thiết bị giao diện tương tự trên Gertboard, và để sử dụng các chip GPIO mở rộng phổ biến MCP23x17/MCP23x08, cũng như mô-đun cho phép các khối lên đến 4 74x595 thanh ghi dịch để kết hợp đồng thời cho việc thêm 32 bit của đầu ra như một đơn vị duy nhất Một mô-đun mở rộng cho phép bạn sử dụng Atmega (ví dụ Arduino, hoặc Gertboard) cũng như mở rộng nhiều GPIO hơn thông qua cổng truyền thông nối tiếp của Pi WiringPi hỗ trợ đọc và ghi tín hiệu tương tự mặc dù trong nó không có phần cứng tương tự trên Pi theo mặc định Các mô-đun được cung cấp để hỗ trợ chip tương tự Gertboard và các thiết bị A/D, D/A khác có thể được thực hiện tương đối dễ dàng[10] Trước khi sử dụng thư viện GPIO WiringPi, bạn cần khai báo file header của nó trong chương trình Để biên dịch chương trình cần phải bổ sung thêm thuộc tính –lwiringPi Có 4 cách để khởi tạo wiringPi: int wiringPiSetup (void); int wiringPiSetupGpio (void); int wiringPiSetupPhys (void); int wiringPiSetupSys (void);

Một trong các hàm cài đặt phải được gọi ở đầu của chương trình, nếu không chương trình sẽ làm việc không đúng

Sự khác nhau giữa 4 hàm cài đặt được chỉ ra là:

- wiringPiSetup(void) - Hàm này dùng để khởi tạo wiringPi và giả định chương trình sử dụng sơ đồ đánh số chân của wiringPi Hàm này cần được gọi dưới quyền root

- wiringPiSetupGpio(void) - Hàm này giống hệt như trên, tùy nhiên nó cho phép chương trình sử dụng số chân trực tiếp không cần lập lại bản đồ Hàm này cũng cần được gọi dưới quyền root

- wiringPiSetupPhys(void) - Cho phép chương trình sử dụng số chân vật lý trên chỉ trên đầu nối P1 Hàm này cần được gọi với quyền root

- wiringPiSetupSys(void) - Hàm này khởi tạo wiringPi nhưng sử dung giao diện /sys/class/gpio thay vì truy cập trực tiếp phần cứng Hàm này có thể được gọi với người dùng không cung cấp quyền root nếu các chân GPIO đã được xuất ra trước khi chương trình sử dụng Số chân trong chế độ này là số GPIO Broadcom gốc, giống như wiring PiSetup Gpio () ở trên, vì vậy cần biết sự khác biệt giữa các bảng Rev 1 và Rev 2[11].

Logic mờ và bộ điều khiển mờ

2.2.1 Lịch sử phát triển của logic và bộ điều khiển mờ

Logic mờ được công bố lần đầu tiên tại Mỹ vào năm 1965 do giáo sư Lotfi Zadeh

Kể từ đó, logic mờ đã có nhiều phát triển qua các chặng đường sau phát minh ở Mỹ, áp dụng ở Châu Âu và đưa vào các sản phẩm thương mại ở Nhật Ứng dụng đầu tiên của logic mờ vào công nghiệp được thực hiện ở Châu Âu, khoảng sau năm 1970 Tại trường Queen Mary ở Luân Đôn – Anh, Ebrahim Mamdani dùng logic mờ để điều khiển một máy hơi nước mà trước đây ông ấy không thể điều khiển được bằng các kỹ thuật cổ điển Và tại Đức, Hans Zimmermann dùng logic mờ cho các hệ ra

29 quyết định Liên tiếp sau đó, logic mờ được áp dụng vào các lĩnh vực khác như điều khiển lò xi măng, … nhưng vẫn không được chấp nhận rộng rãi trong công nghiệp

Kể từ năm 1980, logic mờ đạt được nhiều thành công trong các ứng dụng ra quyết định và phân tích dữ liệu ở Châu Âu Nhiều kỹ thuật logic mờ cao cấp được nghiên cứu và phát triển trong lĩnh vực này Cảm hứng từ những ứng dụng của Châu Âu, các công ty của Nhật bắt đầu dùng logic mờ vào kỹ thuật điều khiển từ năm 1980

Nhưng do các phần cứng chuẩn tính toán theo giải thuật logic mờ rất kém nên hầu hết các ứng dụng đều dùng các phần cứng chuyên về logic mờ Một trong những ứng dụng dùng logic mờ đầu tiên tại đây là nhà máy xử lý nước của Fuji Electric vào năm 1983, hệ thống xe điện ngầm của Hitachi vào năm 1987

Những thành công đầu tiên đã tạo ra nhiều quan tâm ở Nhật Có nhiều lý do để giải thích tại sao logic mờ được ưa chuộng Thứ nhất, các kỹ sư Nhật thường bắt đầu từ những giải pháp đơn giản, sau đó mới đi sâu vào vấn đề Phù hợp với việc logic mờ cho phép tạo nhanh các bản mẫu rồi tiến đến việc tối ưu Thứ hai, các hệ dùng logic mờ đơn giản và dễ hiểu Sự “thông minh” của hệ không nằm trong các hệ phương trình vi phân hay mã nguồn Cũng như việc các kỹ sư Nhật thường làm việc theo tổ, đòi hỏi phải có một giải pháp để mọi người trong tổ đều hiểu được hành vi của hệ thống, cùng chia sẽ ý tưởng để tạo ra hệ Logic mờ cung cấp cho họ một phương tiện rất minh bạch để thiết kế hệ thống Và cũng do nền văn hóa, người Nhật không quan tâm đến logic Boolean hay logic mờ; cũng như trong tiếngNhật, từ “mờ’ không mang nghĩa tiêu cực Do đó, logic mờ được dùng nhiều trong các ứng dụng thuộc lĩnh vực điều khiển thông minh hay xử lý dữ liệu Máy quay phim và máy chụp hình dùng logic mờ để chứa đựng sự chuyên môn của người nghệ sĩ nhiếp ảnh Misubishi thông báo về chiếc xe đầu tiên trên thế giới dùng logic mờ trong điều khiển, cũng như nhiều hãng chế tạo xe khác của Nhật dùng logic mờ trong một số thành phần Trong lĩnh vực tự động hóa, Omron Corp có khoảng 350 bằng phát

30 minh về logic mờ Ngoài ra, logic mờ cũng được dùng để tối ưu nhiều quá trình hóa học và sinh học

Năm năm trôi qua, các tổ hợp Châu Âu nhận ra rằng mình đã mất một kỹ thuật chủ chốt vào tay người Nhật và từ đó họ đã nỗ lực hơn trong việc dùng logic mờ vào các ứng dụng của mình Đến nay, có khoảng 200 sản phẩm bán trên thị trường và vô số ứng dụng trong điều khiển quá trình – tự động hóa dùng logic mờ Từ những thành công đạt được, logic mờ đã trở thành một kỹ thuật thiết kế “chuẩn” và được chấp nhận rộng rãi trong cộng đồng

2.2.2 Khái niệm và các phép toán trên tập mờ

Khái niệm tập hợp được hình thành trên nền tảng logic và được định nghĩa như là sự sắp xếp chung các đối tượng có cùng tính chất, được gọi là phần tử của tập hợp đó Cho một tập hợp A, một phần tử x thuộc A được ký hiệu xA Để biểu diễn A một tập hợp A trên tập nền X, ta dùng hàm thuộc A(x) (x) chỉ nhận một trong hai giá trị là “1” hoặc “0” ký hiệu = (xM x thỏa mãn một số tính chất nào đó) Ta nói tập A được định nghĩa trên tập nền X

Tập mờ B được xác định trên tập kinh điển M là một tập mà mỗi phân tử của nó được biểu diễn bởi một cặp giỏ trị (x, àM (x)) Trong đú xM và àB(x) là ỏnh xạ

- Ánh xạ àB(x) được gọi là hàm liờn thuộc của tập mờ B

- Tập kinh điển M được gọi là cơ sở của tập mờ B

2.2.2.3 Các thông số đặc trưng cho tập mờ

Các thông số đặc trưng cho tập mờ là độ cao, miền xác định và miền tin cậy

- Độ cao của tập mờ B là giá trị lớn nhất trong các giá trị của hàm liên thuộc

Một tập mờ có ít nhất một phần tử có độ phụ thuộc bằng 1 được gọi là tập mờ chính tắc (H = 1) Ngược lại, một tập mờ B với H < 1 gọi là tập mờ không chính tắc

- Miền xác định của tập mờ B (định nghĩa trên cơ sở M) được ký hiệu bởi S là tập con của M có giá trị hàm liên thuộc khác không

- Miền tin cậy của tập mờ B (định nghĩa trên cơ sở M) được ký hiệu bởi T, là tập con của M có giá trị hàm liên thuộc bằng 1

Hình 2.1: Độ cao, miền xác định, miền tin cậy của tập mờ 2.2.2.4 Các dạng hàm liên thuộc của tập mờ

Có rất nhiều cách khác nhau để biểu diễn hàm liên thuộc của tập mờ Dưới đây là một số dạng hàm liên thuộc thông dụng:

- Hàm liên thuộc hình tam giác

- Hàm liên thuộc hình thang

- Hàm liên thuộc dạng Gauss

- Hàm liên thuộc dạng Sign

Xột hai biến ngụn ngữ χ và γ; Biến χ nhận giỏ trị (mờ) A cú hàm liờn thuộc àA(x) và γ nhận giỏ trị (mờ) B cú hàm liờn thuộc àB(x) thỡ hai biểu thức: χ = A; γ = B được gọi là hai mệnh đề Luật Điều khiển: nếu χ = A thì γ = B được gọi là mệnh đề hợp thành Trong đó χ = A gọi là mệnh đề điều kiện và γ = B gọi là mệnh đề kết luận Một mệnh đề hợp thành có thể có nhiều mệnh đề điều kiện và nhiều mệnh đề kết luận, các mệnh đề liên kết với nhau bằng toán tử "và" Dựa vào số mệnh đề điều kiện và số mệnh đề kết luận trong một mệnh đề hợp thành mà ta phân chúng thành các cấu trúc khác nhau:

- Cấu trúc SISO (một vào, một ra): Chỉ có một mệnh đề điều kiện và một mệnh đề kết luận Ví dụ: nếu χ = A thì γ = B

- Cấu trúc MISO (Nhiều vào, một ra): Có từ 2 mệnh đề điều kiện trở lên và một mệnh đề kết luận Ví dụ: nếu 𝜒1 = 𝐴1 và 𝜒2 = 𝐴2 thì γ = B

- Cấu trúc MIMO (Nhiều vào, nhiều ra): Có ít nhất 2 mệnh đề điều kiện và 2 mệnh đề kết luận Ví dụ: nếu 𝜒1 = 𝐴1 và 𝜒2 = 𝐴2 thì 𝛾1 = 𝐵1 và 𝛾2 = 𝐵2

2.2.3.2 Mô tả mệnh đề hợp thành

Xét mệnh đề hợp thành: nếu χ = A thì γ = B; Từ một giá trị x0 có độ phụ thuộc àA(x0) đối với tập mờ A của mệnh đề điều kiện, ta xỏc định được độ thoả món mệnh đề kết luận Biểu diễn độ thoả mãn của mệnh đề kết luận như một tập mờ B’ cùng cơ sở với B thỡ mệnh đề hợp thành chớnh là ỏnh xạ: àA(x0) → àB(y) Ánh xạ này chỉ ra rằng mệnh đề hợp thành là một tập mà mỗi phần tử là một giỏ trị (àA(x0), àB’(y)) tức là mỗi phần tử là một tập mờ Mụ tả mệnh đề hợp thành tức là mụ tả ỏnh xạ trờn Ánh xạ (àA(x0), àB’(y)) được gọi là hàm liờn thuộc của luật hợp thành Để

33 xõy dựng àB’(y) đó cú rất nhiều ý kiến khỏc nhau Trong kỹ thuật điều khiển ta thường sử dụng nguyên tắc của Mamdani Từ đó ta có hai công thức xác định hàm liên thuộc cho mệnh đề hợp thành A => B:

Luật hợp thành là tên chung gọi mô hình R biểu diễn (một hay nhiều) hàm liên thuộc àA=>B(x, y) cho (một hay nhiều) mệnh đề hợp thành A ⇒ B Một luật hợp thành chỉ có 1 mệnh đề hợp thành gọi là luật hợp thành đơn, có từ 2 mệnh đề hợp thành trở lên gọi là luật hợp thành phức Xét luật hợp thành R gồm 3 mệnh đề hợp thành:

Với mỗi giá trị rõ x0 của biến ngôn ngữ đầu vào, ta có 3 tập mờ ứng với 3 mệnh đề hợp thành R1, R2, R3 của luật hợp thành R Gọi hàm liên thuộc của các tập mờ đầu ra

(y) thì giá trị của luật hợp thành R ứng với x0 là tập mờ B’ thu được qua phép hợp 3 tập mờ: B’ = B1’∪ B2’∪ B3’

Tuỳ theo cỏch thu nhận cỏc hàm liờn thuộc à

Từ một giá trị rõ x0 ở đầu vào, sau khi qua khối luật hợp thành ta có tập mờ đầu ra B' Vấn đề đặt ra là cần phải xác định giá trị rõ y0 từ tập mờ đầu ra đó Muốn vậy

Kết luận chương 2

Trong chương 2 em đã trình bày về các cơ sở cần thiết để xây dựng chương trình điều khiển cho xe tự hành Trong đó gồm tổng quan về thư viện Opencv, em đã trình bày các hàm đã được sử dụng trong chương trình của em Tổng quan về thư viện wiringPi Thư viện dùng để điều khiển các gpio của raspberry pi Và đặc biệt quan trọng là cơ sở lý thuyết về điều khiển mờ Thuật toán điều khiển sẽ được áp dụng để điều khiển chính cho xe Chương 2 giúp chúng ta hiểu đươc các cơ sở cần thiết để xây dựng được chương điều khiển cho xe tự hành Nó là phần cơ sở lý thuyết giúp chúng ta hiểu được các nội dung ở chương 3 Trong chương 3 em sẽ giới thiệu về mô hình xe mà em xây dựng, giới thiệu các phần cứng liên quan và xây dựng chương trình điều khiển cho xe tự hành

XÂY DỰNG MÔ HÌNH VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

Xây dựng mô hình

3.1.1 Xây dựng cấu trúc hệ thống và sơ đồ kết nối thiết bị

Xe mô hình được xây dựng dựa trên các phần cứng: Máy tính nhúng Raspberry

Pi 4, camera pi version 2, cảm biến HC-SR04, mô đun khuếch đại công suất L298 Các thiết bị phần cứng này được liên kết với nhau dựa theo sơ đồ liên kết Hình 3.1

Hình 3.1: Sơ đồ liên kết các phần cứng

Trong đó Raspberry Pi đóng vai trò là bộ xử lý trung tâm Nó nhận hình ảnh từ camera và thông tin từ cảm biến HC-SR04 Sau đó nó xử lý và truyền tín hiệu điều khiển đến L298 và động cơ servo Camera có vai trò là ghi hình ảnh từ môi trường bên ngoài và truyền về cho Raspberry xử lý Cảm biến HC-SR04 có tác dụng đo khoảng cách từ xe đến vật cản L298 là mạch đệm để điều khiển động cơ Động cơ servo dùng để điều chỉnh hướng của cảm biến HC-SR04 Từ sơ đồ liên kết các phần cứng trên, ta đưa ra sơ đồ kết nối thực tế

Tên Thiết Bị Công Dụng Chân Kết Nối

Servo Lái Được sử dụng cho cơ cấu lái C1-D2-G

Rasberry Pi 4 Kiểm soát phần tự động của xe tự hành A-B-C-D

Arduino Uno R3 Kiểm soát cơ cấu lái, động cơ chính D1-C4-D5 Camera Pi vesion 2 Dùng để nhận diện hình ảnh và gửi về Pi A3-C3-D7 Mạch hạ áp LM2596 Dùng chuyển đổi dòng điện DC-DC A9-B7-A3 Điều khiển động cơ Dùng để điều khiển tốc độ động cơ C7-C3-C9 Cáp camera Pi Dùng để kết nối camera với Pi D5-C8-B1 Cảm biến siêu âm HC-SR04 dùng để xác định khoảng cách D4-C7-A5 Nguồn Rasberry Pi4 Cung cấp dòng điện 5.1V cho Pi USB-TYPE C Nguồn điện 1 chiều Pin 3s cung cấp dòng 12V cho động cơ Chân JACK

Bảng tên các thiết bị điện tử

3.1.2 Các thiết bị phần cứng sử dụng trong hệ thống

3.1.2.1 Giới thiệu về Raspberry Pi

Raspberry Pi là một seri các máy tính chỉ có một board mạch kích thước chỉ bẳng một thẻ tín dụng, được phát triển tại Anh bởi Raspberry Pi Foundation với mục đích thúc đẩy việc giảng dạy về khoa học máy tính cơ bản trong các trường học và các nước đang phát triển Raspberry Pi ban đầu được dựa trên hệ thống trên một vi mạch (SoC) BCM2835 của Broadcom, bao gồm một vi xử lý ARM1176JZF-S 700 MHz, VideoCore IV GPU, và ban đầu được xuất xưởng với 256 MB RAM, sau đó được nâng cấp (model B và B +) lên đến 512 MB Board này cũng có socket Secure Digital (SD) (model A và B) hoặc MicroSD (model A + và B +) dùng làm thiết bị khởi động và bộ lưu trữ liên tục

Trong năm 2014, Raspberry Pi Foundation đã phát hành Compute Module, đóng gói một BCM2835 với 512 MB RAM và một flash chip eMMC vào một module để

43 sử dụng như một phần của hệ thống nhúng Foundation này cung cấp Debian và Arch Linux ARM để người dùng download về Các công cụ có sẵn cho Python như là ngôn ngữ lập trình chính, hỗ trợ cho BBC BASIC (thông qua RISC OS image hoặc Brandy Basic clone cho Linux), C, C++, Java, Perl và Ruby Tính đến ngày

08 Tháng Sáu năm 2015, khoảng 5-6.000.000 board Raspberry Pi đã được bán Trong khi đã trở thành máy tính cá nhân bán chạy nhanh nhất của Anh, nó cũng đã được vận chuyển số lượng đơn vị lớn thứ hai phía sau Amstrad PCW, "Personal Computer Word-processor", bán được tám triệu chiếc

Vào đầu tháng 2 năm 2015, thệ tiếp theo của Raspberry Pi, Raspberry Pi 2, đã được phát hành Board máy tính mới này đầu tiên chỉ có một cấu hình (model B) và trang bị SoC Broadcom BCM2836, với một nhân ARM Cortex-A7 CPU lõi tứ và một VideoCore IV dual-core GPU; 1 GB bộ nhớ RAM với thông số kỹ thuật còn lại tương tự như của các thế hệ model B+ trước đó

Ngày 29/01/2016, Raspberry Pi Foundation chính thức ra mắt Raspberry Pi 3 với rất nhiều điểm cải tiến mới, đặc biệt là hỗ trợ Wifi và Bluetooth sẵn trên bo mạch Raspberry Pi 3 với CPU ARM Cortex-A53 Quadcore 1.2GHz 64-bit, RAM 1GB và đặc biệt hỗ trợ chuẩn Wifi 802.11n cùng Bluetooth 4.1 Thông tin cấu hình Raspberry

- Broadcom BCM2837 chipset running at 1.2 GHz

- 64-bit quad-core ARM Cortex-A53

- Dual core Videocore IV® Multimedia co-processor

- Supports all the latest ARM GNU/Linux distributions and Windows 10 IoT

- MicroUSB connector for 2.5 A power supply

- Ứng dụng của Raspberry Pi 3:

- Đầu coi phim HD giống như Android Box, hỗ trợ KODI đầy đủ

- Máy chơi game cầm tay, console, game thùng Chơi như máy điện tử băng ngày xưa, giả lập được nhiều hệ máy

- Cắm máy tải Torrent 24/24 - Dùng làm VPN cá nhân

- Biến ổ cứng bình thường thành ổ cứng mạng (NAS)

- Làm camera an ninh, quan sát từ xa

- Hiển thị thời tiết, hiển thị thông tin mạng nội bộ

- Máy nghe nhạc, máy đọc sách

- Làm thành một cái máy Terminal di động có màn hình, bàn phím,pin dự phòng để sử dụng mọi lúc mọi nơi, dò pass Wi-Fi

- Làm thiết bị điều khiển Smart Home, điều khiển mọi thiết bị điện tử trong nhà

- Điều khiển robot, máy in không dây từ xa, Airplay

Hình 3.3: GPIO Raspberry Pi 3 model B

GPIO của Raspberry gồm 40 chân, trong đó có 28 chân có thể giao tiếp và lập trình được 4 chân nguồn, trong đó 2 chân cấp điện 3v, 2 chân cấp điện áp 5v và 8 chân đất Sơ đồ bố trí các chân được chỉ ra trong Hình 3.6 Để giao tiếp với các GPIO của Raspberry, ta có hai cách đánh số chân đó là: đánh số chân trực tiếp và đánh số chân theo thư viện wiringPi Việc cài đặt đánh số chân này được thực hiện bằng code đã được chỉ ở mục 2.1.2

Module L298 là một module tích hợp nguyên khối gồm 2 mạch cầu H bên trong Có tác dụng khuếch đại công suất điều khiển L298 được dùng để điều khiển động cơ

DC, động cơ bước, có thể đảo chiều động cơ

Hình 3.4: Sơ đồ chân của module L298

- VS: Nguồn đầu vào cho động cơ, điện áp từ 3V – 45V, dòng điện

Ngày đăng: 16/06/2024, 17:50

HÌNH ẢNH LIÊN QUAN

Hình.1.14: Hình xe tự hành đầu tiên của nước ta - Đồ Án Nghiên Cứu Xây Dựng Hệ Thống Điều Khiển Bám Đường Tránh Vật Cản Cho Xe Tự Hành
nh.1.14 Hình xe tự hành đầu tiên của nước ta (Trang 22)

TỪ KHÓA LIÊN QUAN

w