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

Điều hướng xe tự hành dùng trí tuệ nhân tạo

71 29 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 đề Điều Hướng Xe Tự Hành Dùng Trí Tuệ Nhân Tạo
Tác giả Dương Minh Thiện
Người hướng dẫn TS. Lê Mỹ Hà
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Điều Khiển Và Tự Động Hóa
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2019
Thành phố Tp Hồ Chí Minh
Định dạng
Số trang 71
Dung lượng 5,78 MB

Cấu trúc

  • Chương 1: TỔNG QUAN (17)
    • 1.1. Đặt vấn đề (17)
    • 1.2. Mục tiêu đề tài (18)
    • 1.3. Giới hạn đề tài (18)
    • 1.4. Nội dung đề tài (19)
  • Chương 2: CƠ SỞ LÝ THUYẾT CỦA XE TỰ HÀNH (20)
    • 2.1. Giới thiệu về xe tự hành (20)
    • 2.2. Tổng quan về trí tuệ nhân tạo (21)
      • 2.2.1. Trí tuệ nhân tạo (Artificial Intelligence- AI) (21)
      • 2.2.2. Machine Learning (23)
      • 2.2.3. Deep Learning (28)
    • 2.3. Convolutional Neural Network (CNN) (32)
    • 2.4. Bộ điều khiển PID (41)
  • Chương 3: THIẾT KẾ VÀ LỰA CHỌN THIẾT BỊ (43)
    • 3.1. Các thành phần phần cứng (43)
      • 3.1.1. Xe điều khiển Trophy Truck (43)
      • 3.1.2. Động cơ Brushed Motor RC-540PH (44)
      • 3.1.3. Động cơ RC Servo TowerPro MG946R (45)
      • 3.1.4. Waterproof Brushed ESC Controller WP-1040 (45)
      • 3.1.5. Raspberry Pi 3 Model B (46)
      • 3.1.6. Raspberry Pi Power Pack (47)
      • 3.1.7. Raspberry Pi Camera Module (47)
      • 3.1.8. Arduino Uno R3 (48)
      • 3.1.9. PWM/Servo Driver PCA9685 (49)
      • 3.1.10. Encoder Omron E6B2-CWZ6C 10P/R (50)
      • 3.1.11. Pin Lipo 2S-30C 3600mAh (50)
    • 3.2. Sơ đồ kết nối phần cứng (51)
    • 3.3. Cấu trúc phần cứng của mô hình xe tự hành (51)
  • Chương 4: GIẢI THUẬT ĐIỀU KHIỂN CỦA MÔ HÌNH XE TỰ HÀNH (54)
    • 4.1. Sơ đồ khối thu thập dữ liệu huấn luyện (54)
    • 4.2. Sơ đồ khối điều hướng mô hình xe tự hành (55)
    • 4.3. Cấu trúc mạng và tối ưu các thông số (56)
    • 4.4. Phần mềm và các thư viện sử dụng để lập trinhg (59)
      • 4.4.1. Giới thiệu thư viện Tensorflow (59)
      • 4.4.2. Giới thiệu thư viện Keras (59)
  • Chương 5: THỰC NGHIỆM (60)
    • 5.1. Môi trường thực nghiệm (60)
    • 5.2. Mô tả tập dữ liệu (61)
    • 5.3. Các phương pháp để tạo ra các nhiều dữ liệu khác nhau (62)
    • 5.4. Quá trình huấn luyện (62)
    • 5.5. Kết quả thực nghiệm ngoài trời (64)
  • Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (66)
    • 6.1. Kết luận (66)
    • 6.2. Hướng phát triển (67)
  • TÀI LIỆU THAM KHẢO (68)
  • PHỤ LỤC (70)

Nội dung

TỔNG QUAN

Đặt vấn đề

Ngày nay, sự phát triển của khoa học công nghệ và giao thông vận tải đã dẫn đến việc nhiều phương tiện được trang bị chế độ tự lái, giúp người lái duy trì sức khỏe trong những chuyến đi dài và giảm thiểu tai nạn giao thông Điều hướng quỹ đạo cho phương tiện là một yếu tố quan trọng trong sự phát triển của xe không người lái Để đạt được kết quả tốt nhất trong bối cảnh cuộc cách mạng công nghiệp 4.0, việc áp dụng các thuật toán trí tuệ nhân tạo, đặc biệt là thuật toán mạng nơ-ron tích chập (CNN), là rất cần thiết cho việc điều hướng các phương tiện tự hành.

Học tập sâu (Deep Learning) là một nhánh của máy học (Machine Learning) dựa trên mạng nơron nhân tạo, với một ví dụ nổi bật là mạng nơ-ron tích chập (CNN hay ConvNet) CNN khác biệt so với mạng thần kinh truyền thống ở chỗ số lượng nơ-ron trong mỗi lớp có thể giảm, trong khi số lớp ẩn lại tăng lên, tạo thành mạng sâu Các mạng này thường được huấn luyện thông qua chiến lược lan truyền ngược, cho phép xây dựng các hệ thống thông minh với độ chính xác rất cao.

Nhiều nghiên cứu đã được thực hiện về điều hướng cho xe tự hành, bao gồm các phương pháp như phát hiện làn đường theo thời gian thực và hệ thống theo dõi làn đường cho ứng dụng xe thông minh Mặc dù các phương pháp này đạt độ chính xác cao trong việc phát hiện làn đường, nhưng vẫn tồn tại một số nguyên nhân khiến việc phát hiện không thành công Nguyên nhân đầu tiên là tính chủ quan, vì sau khi phát hiện hai vạch kẻ đường, cần phải tính toán và xây dựng một đường ảo tại tâm của làn xe, sau đó ước tính góc lệch giữa thân xe và đường ảo để điều chỉnh góc lái phù hợp.

Để đảm bảo xe luôn ở vị trí chính giữa làn đường, việc tính toán góc lái là rất phức tạp và dễ dẫn đến sai số Ngoài ra, một yếu tố khách quan là nhiều con đường không có vạch kẻ hoặc bị mờ, làm cho việc xác định vị trí trở nên khó khăn Hơn nữa, khi xe di chuyển trên đường dốc, camera gắn phía trước có thể hướng lên trời, không theo kịp làn đường phía trước, dẫn đến khả năng phát hiện không chính xác.

Phương pháp GPS được áp dụng trong việc điều hướng xe tự lái, nhưng nếu sử dụng độc lập, nó có thể gây ra lỗi cao Do đó, việc áp dụng GPS trên mô hình xe không người lái gặp nhiều khó khăn và cần điều chỉnh để giảm sai số.

Tác giả đề xuất sử dụng mạng nơ-ron tích chập để cải thiện khả năng điều hướng cho các phương tiện tự lái, nhằm khắc phục những hạn chế hiện tại.

Trong nghiên cứu này, chúng tôi phát triển một mô hình xe tự hành bằng cách dự đoán góc lái từ hình ảnh thô thông qua mạng CNN Dữ liệu được thu thập từ một camera gắn phía trước xe, sau đó được tiền xử lý và đưa vào mạng CNN để tính toán giá trị góc lái Giá trị góc lái tính toán được so sánh với giá trị mong muốn cho hình ảnh tương ứng, từ đó trọng số của mạng CNN được điều chỉnh nhằm cải thiện kết quả.

Mục tiêu đề tài

Mục tiêu của đề tài là phát triển một mô hình xe tự lái có khả năng tự động điều hướng trong thời gian thực, thích ứng với nhiều điều kiện lái xe khác nhau trong môi trường ngoài trời.

Giới hạn đề tài

Phương pháp dựa trên thị giác gặp khó khăn trong việc duy trì hiệu quả khi có sự thay đổi về ánh sáng và bị ảnh hưởng bởi nhiễu từ môi trường xung quanh.

Vì vậy đề tài “Điều hướng xe tự hành dung trí tuệ nhân tạo” có những giới hạn như:

3 chưa chạy được trong môi trường ban đêm, sương mù và quỹ đạo di chuyển còn khá đơn giản.

Nội dung đề tài

Đề tài “Điều hướng xe tự hành dung trí tuệ nhân tạo” bao gồm các chương sau:

Chương I: Tổng quan: Chương này trình bày tổng quan sơ bộ về các yêu cầu của cuốn báo cáo như đặt vấn đề, mục tiêu, giới hạn và nội dung đề tài

Chương II: Cơ sở lý thuyết: Chương này trình bày về giới thiệu xe tự hành, các công nghệ khác nhau được sử dụng trong xe tự hành, tổng quan về trí tuệ nhân tạo và lý thuyết và mạng nơ-ron tích chập (CNN)

Chương III: Thiết kế phần cứng và lựa chọn thiết bị: Chương này trình bày về thiết kế phần cứng và lựa chọn thiết bị phần cứng cho mô hình xe tự hành

Chương IV: Giải thuật điều khiển xe tự hành : Chương này sẽ trình bày giải thuật, lưu đồ thu thập dữ liệu huấn luyện, điều hướng xe tự hành bằng mô hình đã được huấn luyện, cấu trúc mạng và tối ưu hóa các thông số

Chương V: Thực nghiệm: Chương này sẽ trình bày về việc thực hiện điều hướng cho xe tự hành theo hai quỹ đạo hình bầu dục và hình số 8

Chương VI: Kết quả: Kết luận chung về ưu điểm và hạn chế của đề tài, khẳng định những kết quả đóng góp đạt được, đề xuất ý kiến để cải thiện khuyết điểm và định hướng phát triển đề tài

CƠ SỞ LÝ THUYẾT CỦA XE TỰ HÀNH

Giới thiệu về xe tự hành

Xe tự hành là phương tiện di chuyển tự động, không cần người lái liên tục giám sát Công nghệ của xe tự hành phải đạt được các tiêu chí an toàn, hiệu quả và khả năng nhận diện môi trường xung quanh.

- Xử lý một lượng dữ liệu rất lớn và sử dụng nó để đưa ra quyết định thông minh

- Có khả năng thích nghi với môi trường đã biết hoặc chưa biết

Trong tương lai, chúng ta có thể kỳ vọng rằng vô lăng sẽ hoàn toàn biến mất, nhường chỗ cho những chiếc xe tự hành hoạt động tự động Những chiếc xe này sẽ tích hợp các hệ thống cảm biến, radar và bản đồ GPS, cho thấy sự tiến bộ vượt bậc trong công nghệ ô tô Sự thông minh của xe ô tô ngày càng gia tăng, như được minh họa trong hình 2.1.

Xe tự hành sử dụng công nghệ tự động để mang lại phương thức di chuyển thông minh Để đạt được điều này, cần có sự đồng bộ giữa các cảm biến thu thập thông tin về môi trường và các thuật toán phức tạp xử lý dữ liệu, giúp điều khiển xe một cách hiệu quả trong thời gian thực.

Các công nghệ này có khả năng nhận diện đối tượng như con người và ô tô, đồng thời đánh dấu đường, biển báo và đèn giao thông Chúng tuân thủ các quy tắc luật giao thông đường bộ và cảnh báo người dùng về nhiều mối nguy hiểm không thể đoán trước.

Hình 2.1: Sự phát triển của xe tự hành trong tương lai

Tổng quan về trí tuệ nhân tạo

2.2.1 Trí tuệ nhân tạo (Artificial Intelligence- AI)

Trí tuệ nhân tạo (AI) đang định hình lại nhiều ngành công nghiệp và trở thành một trong những chủ đề quan trọng trong các vấn đề khoa học, kinh tế và xã hội hiện nay Mặc dù AI mang lại nhiều lợi ích cho quy trình vận hành và sản xuất của các công ty tiên tiến, nhưng cũng có những lo ngại về việc nó có thể thay thế lao động con người và làm biến đổi các ngành công nghiệp truyền thống.

Trí tuệ nhân tạo (AI) là công nghệ cho phép máy móc mô phỏng quá trình ra quyết định và nhận thức của con người Để hoạt động hiệu quả, máy cần có khả năng hiểu và phân tích thông tin từ môi trường xung quanh, bao gồm cả không gian vật lý và dữ liệu từ cơ sở dữ liệu Nhờ vào khả năng này, hệ thống AI có thể tối ưu hóa hành động để đạt được các mục tiêu cụ thể, chẳng hạn như thực hiện lại các nhiệm vụ đã được huấn luyện hoặc giành chiến thắng trong các trò chơi như cờ.

Trí tuệ nhân tạo (AI) là một lĩnh vực rộng lớn bao gồm nhiều trường con, kỹ thuật và thuật toán, với mục tiêu chính là phát triển cỗ máy thông minh tương tự như con người Mục tiêu này đã được xác định từ năm 1956, khi các nhà nghiên cứu tập hợp tại Dartmouth để lập trình máy tính hành xử giống như con người, đánh dấu sự ra đời hiện đại của AI Để làm rõ hơn về các mục tiêu của trí tuệ nhân tạo, các nhà nghiên cứu đã mở rộng mục tiêu ban đầu thành sáu mục tiêu chính.

Lý luận logic cho phép máy tính thực hiện các nhiệm vụ tinh thần phức tạp tương tự như con người Ví dụ, máy tính có khả năng giải quyết các vấn đề lý luận logic thông qua việc chơi cờ và giải các bài toán đại số.

Trình bày kiến thức cho phép máy tính mô tả các đối tượng, con người và ngôn ngữ, với một ví dụ điển hình là ngôn ngữ lập trình hướng đối tượng như Smalltalk.

- Lập kế hoạch và điều hướng: Cho phép một robot đi từ điểm A đến điểm B

Ví dụ, robot tự lái đầu tiên được chế tạo vào đầu năm 1960

Xử lý ngôn ngữ tự nhiên (NLP) giúp máy tính hiểu và xử lý ngôn ngữ con người Một trong những dự án đầu tiên trong lĩnh vực này đã tập trung vào việc dịch tiếng Anh sang tiếng Nga và ngược lại.

- Nhận thức: Cho phép máy tính tương tác với thế giới thông qua thị giác, thính giác, xúc giác và khứu giác

Dưới đây là sáu thuật toán và kỹ thuật chính trong trí tuệ nhân tạo, mặc dù những mục tiêu này không phân loại cụ thể các thuật toán và kỹ thuật.

- Machine Learning là lĩnh vực trí tuệ nhân tạo cung cấp cho máy tính khả năng học mà không cần lập trình rõ ràng

- Tìm kiếm và tối ưu hóa: Các thuật toán như Gradient Descent để lặp lại tìm kiếm tối đa hoặc tối thiểu cục bộ

- Sự thỏa mãn ràng buộc là quá trình tìm giải pháp cho một tập hợp các ràng buộc áp đặt các điều kiện mà các biến phải thỏa mãn

Lý luận logic trong trí tuệ nhân tạo có thể được minh họa qua hệ thống máy tính chuyên gia, hệ thống này mô phỏng khả năng ra quyết định tương tự như một chuyên gia con người.

Lý luận xác suất kết hợp lý thuyết xác suất để xử lý sự không chắc chắn với khả năng suy diễn logic, nhằm khai thác cấu trúc của lập luận chính thức.

Lý thuyết điều khiển cung cấp một phương pháp chính thức để thiết kế các bộ điều khiển với các thuộc tính có thể chứng minh Phương pháp này thường áp dụng cho các hệ thống được mô tả bằng các phương trình vi phân, điển hình là các hệ thống vật lý như robot hoặc máy bay.

Hình 2.2: Mối quan hệ giữa AI, Machine Learning và Deep Learning

Trí tuệ nhân tạo (AI), học máy (Machine Learning) và học sâu (Deep Learning) là các lĩnh vực liên quan, trong đó trí tuệ nhân tạo là khái niệm tổng quát nhất Học máy là một phần của trí tuệ nhân tạo, và học sâu lại là một nhánh của học máy.

Machine Learning là một nhánh của trí tuệ nhân tạo, với mục tiêu giúp máy tính trở nên thông minh hơn Khái niệm này nhấn mạnh việc cung cấp dữ liệu cho máy tính để nó có thể tự học Ý tưởng về khả năng tự học của máy tính được Arthur Samuel đưa ra lần đầu vào năm 1959.

Sự phát triển mạnh mẽ của Machine Learning như một động lực chính cho trí tuệ nhân tạo bắt nguồn từ sự ra đời của internet Internet đã tạo ra một khối lượng lớn thông tin kỹ thuật số, cho phép lưu trữ và phân tích dữ liệu Điều này đã dẫn đến sự xuất hiện của khái niệm dữ liệu lớn (big data) Các thuật toán Machine Learning đã chứng minh hiệu quả vượt trội trong việc khai thác và tận dụng nguồn dữ liệu khổng lồ này.

Mạng nơ-ron là thành phần quan trọng và thành công nhất trong nhiều thuật toán Machine Learning, giúp máy tính suy nghĩ và hiểu thế giới giống như con người Mạng nơ-ron mô phỏng cấu trúc của bộ não con người, với các tế bào thần kinh được kết nối qua các khớp thần kinh, tạo nên một hệ thống học tập mạnh mẽ và hiệu quả.

Cấu trúc của một tế bào thần kinh sinh học bao gồm 8 đồ của các nút (nơ ron) được kết nối với nhau bởi các cạnh có trọng số (khớp thần kinh), như được minh họa trong hình 2.3.

Convolutional Neural Network (CNN)

Mạng nơron thần kinh (CNN) là mô hình học sâu hàng đầu trong lĩnh vực thị giác máy tính, hiện đang vượt trội hơn con người trong nhiều nhiệm vụ phức tạp CNN đóng vai trò quan trọng trong sự thành công của thị giác máy, mang lại kết quả xuất sắc cho hầu hết các bài toán như phân loại và nhận dạng.

CNN, hay Mạng Nơ-ron Tích Chập, là một loại mạng nơ-ron nhân tạo (ANN) có cấu trúc truyền thẳng Kiến trúc chính của CNN bao gồm nhiều thành phần được kết nối theo cấu trúc nhiều tầng, cho phép xử lý và phân tích dữ liệu hình ảnh một cách hiệu quả.

 ReLU (tinh chỉnh các đơn vị tuyến tính)

 Fully connected (liên kết đầy đủ)

Trước khi khám phá các thành phần chính của mạng nơ-ron tích chập (CNN), chúng ta sẽ xem xét một ví dụ về cách mà mạng nơ-ron truyền thẳng (ANN) xử lý thông tin đầu vào Qua đó, chúng ta có thể hiểu rõ hơn về vai trò và tác dụng của các thành phần trong mạng CNN.

Hình 2.12 minh họa một ví dụ về việc xử lý bức ảnh kích thước 200x200 bằng mạng nơ-ron nhân tạo (ANN) với kết nối đầy đủ giữa các tầng Nếu giả sử có 40,000 nơ-ron ở tầng ẩn, tổng số tham số cần thiết, cụ thể là các trọng số kết nối W giữa tầng đầu vào và tầng ẩn, sẽ rất lớn.

Việc ước lượng lên đến 1.6 tỉ dữ liệu gây ra hai thách thức lớn trong việc huấn luyện mạng nơ-ron nhân tạo (ANN): chi phí cao để xây dựng bộ dữ liệu huấn luyện và thời gian huấn luyện kéo dài.

Để giảm số lượng tham số trong mạng nơ-ron, cần giảm số lượng kết nối giữa các lớp Do đó, thành phần convolution được áp dụng, với ý tưởng rằng mỗi nơ-ron chỉ cần kết nối với một vùng cục bộ của ảnh thay vì toàn bộ ảnh.

Hình 2.12: Ví dụ cách thức xử lý của ANN với cấu trúc kết nối đầy đủ

Hình 2.13: Ý tưởng thiết kế CNN

Hình 2.14: Minh họa tích chập 2.3.1.1 Lớp tích chập (Convolution layer)

Tầng Convolution (Conv) là thành phần cốt lõi trong cấu trúc của mạng nơ-ron tích chập (CNN), đóng vai trò quan trọng trong việc trích xuất thông tin từ dữ liệu Dựa trên lý thuyết xử lý tín hiệu số, tích chập giúp nhận diện các đặc trưng quan trọng trong hình ảnh và video Hình thức hoạt động của tích chập có thể được hình dung như một cửa sổ trượt (Sliding Window) trên ma trận đại diện cho ảnh, trong đó mỗi giá trị của ma trận tương ứng với một điểm ảnh (pixel), với 0 biểu thị màu đen và 1 màu trắng, trong khi ảnh xám có giá trị từ 0 đến 255.

Sliding window, hay còn gọi là kernel, feature, hoặc filter, là một phương pháp sử dụng ma trận với bộ lọc kích thước 3x3 để nhân với từng thành phần tương ứng của ma trận ảnh bên trái Giá trị đầu ra được tính bằng tổng của các tích này Kết quả của phép tích chập là một ma trận (Convoled Feature) được tạo ra từ việc trượt ma trận bộ lọc và thực hiện tích chập trên toàn bộ ma trận ảnh bên trái.

Phép tính Conv trong xử lý ảnh giúp biến đổi thông tin đầu vào thành các yếu tố đặc trưng, tương ứng với các bộ phát hiện đặc trưng như cạnh, hướng và đốm màu Hình 2.15 minh họa việc áp dụng phép tính Conv trên ảnh, trong đó (a) thể hiện kết quả biến đổi hình ảnh từ các phép Conv khác nhau, và (b) trực quan hóa các kernel được sử dụng để phát hiện các đặc trưng về cạnh, hướng và đốm màu.

Để minh họa ứng dụng của tích chập, chúng ta xem xét bài toán tính giá trị đầu ra của một bức ảnh có kích thước 𝑊1 * 𝐻1 * 𝐷1 Trong đó, một lớp tích chập sẽ sử dụng một cửa sổ trượt, thực chất là một ma trận có kích thước F*F, áp dụng trên từng chiều của ảnh đầu vào với K bộ lọc Trong quá trình xử lý, các bộ lọc sẽ được dịch chuyển trên toàn bộ bức ảnh theo bước S (stride) tính bằng pixel.

Mỗi vùng mà bộ lọc áp đặt lên ma trận đầu vào được gọi là receptive field Để cân bằng giữa số bước dịch chuyển và kích thước của ảnh, có thể chèn thêm P pixel với giá trị màu cho trước (thường là 0) xung quanh viền của ảnh Khi thực hiện điều này, ma trận đầu ra (feature map) sẽ có kích thước 𝑊 2 * 𝐻 2 *𝐷 2.

Giá trị trong các ô của ma trận bộ lọc có kích thước (F*F*𝐷 1) + 1, trong đó +1 là tham số ngưỡng của filter, đại diện cho trọng số Các giá trị này của mỗi bộ lọc không thay đổi khi di chuyển trên bức ảnh đầu vào Tính chất này, gọi là dùng chung bộ trọng số (shared weights), giúp giảm số lượng tham số cần học trong quá trình huấn luyện mạng.

Hình 2.16: Các thành phần của lớp tích chập số cần học cho quá trình sử dụng tích chập là (F*F*𝐷 1 )*K +K (ở đây cộng thêm K tham số ngưỡng của K filter)

Trong ví dụ cụ thể ở hình 2.16, đầu vào là ảnh kích thước (32*32*3) với 𝑊 1 = 𝐻 1 2 và 𝐷 1 = 3, tương ứng với các kênh màu RGB Sử dụng 6 bộ lọc (K=6) có kích thước (5*5*3) với bước dịch chuyển S=1 và P=0, mỗi bộ lọc tạo ra một feature map khác nhau Kích thước của feature map được tính bằng 𝑊 2 = 𝐻 2 = (𝑊 1 – F)/1 +1 Mỗi neuron trong feature map có số tham số là (F*F*𝐷 1) = 5*5*3 +1 Nếu không áp dụng tính chất shared weights, tổng số tham số cần học cho tất cả feature map của 6 bộ lọc là (28*28*6) * (5*5*3 +1), mặc dù đã giảm so với việc không dùng tích chập, nhưng vẫn cao hơn so với (F*F*𝐷 1)K + K = 5*5*3*6 +6 khi sử dụng shared weights.

Như vậy sử dụng tích chập có những ưu điểm sau:

Giảm số lượng tham số trong mạng nơ-ron nhân tạo (ANN) truyền thống là cần thiết để tránh tình trạng quá tải, khi mà các nơ-ron ở lớp trước kết nối đầy đủ với các nơ-ron ở lớp sau Tình trạng này không chỉ dẫn đến overfitting mà còn làm tăng thời gian huấn luyện Việc áp dụng tích chập giúp chia sẻ trọng số, từ đó giảm thiểu số lượng tham số cần học và cải thiện hiệu quả của mô hình.

Figure 2.17 illustrates the Convolution layer in an image, highlighting the use of shared weights and local receptive fields instead of fully connected layers, which helps to reduce the number of parameters.

Bộ điều khiển PID

Bộ điều khiển vi tích phân tỉ lệ (PID) là một cơ chế phản hồi vòng điều khiển phổ biến trong các hệ thống công nghiệp, được sử dụng rộng rãi để tối ưu hóa hiệu suất điều khiển PID hoạt động bằng cách tính toán sai số, tức là sự chênh lệch giữa giá trị đo được và giá trị mong muốn, từ đó điều chỉnh giá trị điều khiển đầu vào nhằm giảm thiểu sai số Để đạt được hiệu quả tối ưu, các thông số PID cần được điều chỉnh phù hợp với đặc tính của hệ thống.

Bộ điều khiển PID hoạt động dựa trên ba thông số chính: tỉ lệ (P), tích phân (I) và đạo hàm (D) Giá trị tỉ lệ P xác định tác động của sai số hiện tại, trong khi giá trị tích phân I tính toán tác động của tổng sai số trong quá khứ Giá trị vi phân D dự đoán các sai số tương lai dựa trên tốc độ thay đổi hiện tại Sự kết hợp của ba thông số này giúp điều chỉnh quá trình thông qua các phần tử điều khiển như van hay bộ nguồn gia nhiệt, tạo ra một mối quan hệ rõ ràng giữa các yếu tố thời gian trong quá trình điều khiển.

Một số ứng dụng điều khiển chỉ yêu cầu một hoặc hai thông số, thường được gọi là P, PI hoặc PD Độ lợi tỉ lệ (Kp) ảnh hưởng đến tốc độ đáp ứng: giá trị Kp càng lớn thì đáp ứng càng nhanh, nhưng sai số cũng sẽ lớn hơn, dẫn đến sự cần thiết phải bù khâu tỉ lệ Tuy nhiên, nếu giá trị Kp quá cao, hệ thống có thể trở nên mất ổn định và dao động Đối với độ lợi tích phân (Ki), giá trị càng lớn giúp khử sai số ổn định nhanh hơn, nhưng cũng đồng nghĩa với việc độ vọt lố sẽ lớn hơn, khiến bất kỳ sai số âm nào cũng sẽ được tích phân trong suốt quá trình đáp ứng.

Để đạt được trạng thái ổn định, cần triệt tiêu quá độ bằng cách giảm sai số dương Độ lợi vi phân (Kd) có ảnh hưởng quan trọng: giá trị cao giúp giảm độ vọt lố nhưng có thể làm chậm phản ứng quá độ và dẫn đến mất ổn định do khuếch đại nhiễu tín hiệu trong quá trình vi phân sai số.

Bộ điều khiển PID, như hình 2.23, được sử dụng để duy trì tốc độ trong xe tự hành bằng cách tính toán sai số giữa vận tốc thực tế và giá trị mong muốn từ Raspberry Pi 3 Nó giảm thiểu sai số bằng cách điều chỉnh giá trị điều khiển đầu vào, gửi đến ESC và động cơ của xe.

Hình 2.22: Bộ điều khiển PID

Hình 2.23: Bộ điều khiển PID cho tốc độ của xe

THIẾT KẾ VÀ LỰA CHỌN THIẾT BỊ

Các thành phần phần cứng

3.1.1 Xe điều khiển Trophy Truck

Trophy Truck là một chiếc xe điều khiển từ xa tốc độ cao, hoạt động trên tần số vô tuyến 2,4 GHz với phạm vi lên đến 150 mét Xe được trang bị đầy đủ chức năng, bao gồm tay lái và khả năng di chuyển tiến lùi, như thể hiện trong hình ảnh minh họa.

Hình 3.1: Sơ đồ khối của mô hình xe tự hành

Hình 3.2: Xe điều khiển Trophy Truck

Hình 3.3: Chi tiết bên trong xe điều khiển

3.1.2 Động cơ Brushed Motor RC-540PH

Hình 3.4: Động cơ Brushed Motor RC-540PH

3.1.3 Động cơ RC Servo TowerPro MG946R Đề tài sẽ chọn động cơ RC Servo TowerPro MG946R để điều khiển góc lái cho xe tự hành

RC Servo TowerPro MG946R như hình 3.5:

Hình 3.5: RC Servo TowerPro MG946R

Bảng 3.1: Thông số hoạt động của RC Servo TowerPro MG946R

Stall torque 10.5kg/cm(4.8V) – 13kg/cm(6V)

Operating speed (Tốc độ hoạt động) 0.20sec/60degree(4.8V) – 0.17s/60d(6V) Operating voltage (Điện áp hoạt động) 4.8V – 7.2V

Temperature range (Khoảng nhiệt độ) 0 o C – 55 o C

3.1.4 Waterproof Brushed ESC Controller WP-1040

ESC là mạch điện tử giúp điều khiển và điều chỉnh tốc độ động cơ điện, có khả năng đảo chiều và phanh động Nó hoạt động dựa trên tín hiệu tham chiếu tốc độ từ ga, cần điều khiển hoặc đầu vào thủ công khác, điều chỉnh tốc độ chuyển đổi của mạng lưới transistor hiệu ứng trường (FET) thông qua việc thay đổi chu kỳ nhiệm vụ hoặc tần số ESC WP-1040 được thiết kế chống thấm nước và chống bụi, phù hợp với mọi điều kiện thời tiết.

Hình 3.6: Waterproof Brushed ESC Controller WP-1040

Raspberry Pi là một máy vi tính nhỏ gọn, kích thước tương đương với một thẻ ATM, tích hợp đầy đủ các thành phần cần thiết như CPU, GPU, RAM, khe cắm thẻ microSD, Wi-Fi, Bluetooth và 4 cổng USB 2.0 Để sử dụng, bạn chỉ cần cài đặt hệ điều hành bằng cách sao chép thư mục vào thẻ nhớ, sau đó kết nối chuột, bàn phím và màn hình, hoặc có thể sử dụng remote desktop hoặc SSH từ một máy khác.

Raspberry Pi là lựa chọn lý tưởng cho mô hình xe điều khiển nhờ thiết kế nhỏ gọn và dễ lắp đặt Nó hỗ trợ giao tiếp với nhiều thiết bị ngoại vi như camera và USB, cùng với các giao thức truyền nhận như Bluetooth, I2C, và SPI Điều này giúp đơn giản hóa quá trình lập trình các hệ thống nhúng.

Hình 3.8: Raspberry Pi Power Pack

Raspberry Pi Power Pack là một thiết bị nhỏ gọn nhưng mạnh mẽ, cung cấp hiệu suất lên đến 9 giờ sử dụng liên tục Sản phẩm sử dụng pin Lithium sạc lại với dung lượng 3800mAh, cho công suất 5.1V - 1.8A và trọng lượng chỉ 80g Với hai cổng USB, nó có khả năng cấp nguồn cho hai Raspberry Pi hoặc các phụ kiện khác như màn hình có thể tháo rời.

Trước khi có camera, Raspberry Pi (RPi) chỉ có thể nhận diện hình ảnh thông qua webcam kết nối USB, với webcam Logitech hỗ trợ định dạng mjpeg giúp xử lý nhanh hơn Tuy nhiên, giá thành webcam Logitech, đặc biệt là các loại có độ phân giải cao, khá đắt Raspberry Pi Camera tích hợp camera 5 megapixel với độ nhạy sáng cao, cho phép chụp ảnh chất lượng tốt trong nhiều điều kiện ánh sáng khác nhau, cả trong nhà và ngoài trời, đặc biệt nổi bật với khả năng chụp hình độ nét cao trong quá trình quay phim.

Khi sử dụng Raspberry Pi Camera, người dùng không cần sử dụng cổng USB vì camera được kết nối trực tiếp qua socket CSI Điều này giúp giảm thiểu tình trạng nghẽn băng thông cho chip xử lý USB trên Raspberry Pi, đồng thời tối ưu hóa hiệu suất hoạt động của thiết bị.

32 nối camera đã được thiết kế tỉ mỉ để đạt độ dài tối ưu, đồng thời đảm bảo tốc độ truyền tải hình ảnh từ module đến RPi.

Arduino Uno được trang bị vi điều khiển Atmega328 và có 14 chân vào/ra, trong đó 6 chân hỗ trợ đầu ra PWM Nó bao gồm 6 ngõ ra Analog, một cổng USB, một jack nguồn, ICSP và một nút nhấn Reset Board này tích hợp đầy đủ các thành phần cần thiết để hỗ trợ vi điều khiển, cho phép kết nối với máy tính qua cáp USB hoặc sử dụng với bộ chuyển đổi AC sang DC hoặc pin để bắt đầu dự án.

Hình 3.10: Board Arduino Uno (mặt trước và sau)

Bảng 3.2: Thông số của board Arduino Uno

Digital I/O Pins 14 (of which 6 provide PWM output)

DC Current per I/O Pin 40 mA

DC Current for 3.3V Pin 50 mA

Mạch điều khiển 16 kênh PWM PCA9685 cho phép xuất ra 16 xung PWM đồng thời từ 16 cổng khác nhau thông qua giao tiếp I2C Sử dụng IC PCA9685, mạch này giúp bạn điều khiển 16 servo RC hoặc 16 thiết bị dimmer một cách hiệu quả.

Mạch điều khiển 16 kênh PWM PCA9685 có thiết kế phần cứng đơn giản và đi kèm với thư viện hỗ trợ trên Arduino, giúp người dùng dễ dàng sử dụng và kết nối.

Hình 3.11: Mạch Điều Khiển 16 Chanel PWM PCA9685

 Mạch điều khiển 16 Chanel PWM PCA9685

 Điện áp sử dụng: 2.3 ~ 5.5VDC

 Số kênh PWM: 16 kênh, tần số: 40~1000Hz

 Độ phân giải PWM: 12 bit

 Giao tiếp: I2C (chấp nhận mức Logic TTL 3 ~ 5VDC)

 Kích thước: 62.5mm x 25.4mm x 3mm

Sơ đồ kết nối phần cứng

Hình 3.14: Sơ đồ kết nối phần cứng

Trong hình 3.14, Pi Camera kết nối với Raspberry sử dụng giao thức điện CSI-

2 PCA 9685 kết nối với Raspberry Pi qua hai chân I2C (SDA và SCL), 3.3V và đất Động cơ được kết nối với Channel 0 và Servo với Channel 1 Arduino board được sử dụng để đọc các giá trị ga mong muốn từ PWM module PCA 9685, tốc độ thực tế đọc từ encoder sau đó duy trì vận tốc của xe với thuật toán điều khiển PID.

Cấu trúc phần cứng của mô hình xe tự hành

Sau khi hoàn thành thiết kế sơ đồ phần cứng và sơ đồ kết nối dây, quy trình xây dựng xe tự hành bắt đầu bằng việc điều chỉnh khung gầm của xe RC Car, kết hợp với các thành phần phần cứng đã được đề cập trong phần 3.2.

Bên ngoài xe được thể hiện trong hình 3.15 và hình 3.16 Hình 3.17 minh họa thành phần bên trong xe

Hình 3.15: Phía trên của mô hình xe tự hành

Hình 3.16: Phía trái của mô hình xe tự hành

Hình 3.17: Bên trong xe tự hành (a) bên trong xe nhìn từ phía trên (b) bánh răng của encoder (c) hệ thống bể lái (d) Motor và ESC b) c) d) a)

GIẢI THUẬT ĐIỀU KHIỂN CỦA MÔ HÌNH XE TỰ HÀNH

Sơ đồ khối thu thập dữ liệu huấn luyện

Hình 4.1: Sơ đồ khối thu thập dữ liệu huấn luyện

Khi khởi động xe, bước đầu tiên là kiểm tra kênh ga để điều chỉnh thanh ga, giúp xe chạy với tốc độ mong muốn Tiếp theo, cần kiểm tra các góc lái; nếu điều chỉnh thanh góc lái, xe sẽ thay đổi hướng theo góc đã nhận từ tay cầm điều khiển, nếu không, xe sẽ tiếp tục di chuyển về phía trước Trong quá trình xe đang chạy, chúng tôi chụp ảnh đường và lưu lại tên hình ảnh cùng với giá trị góc và ga vào tập dữ liệu Cuối cùng, để dừng xe, chỉ cần nhấn nút tắt.

Sơ đồ khối điều hướng mô hình xe tự hành

Hình 4.2: Sơ đồ khối điều hướng mô hình xe tự hành

Để bắt đầu quá trình tự động lái xe, bạn chỉ cần nhấn nút khởi động, sau đó xe sẽ di chuyển và chụp ảnh để gửi đến mô hình CNN nhằm dự đoán tốc độ và góc lái Chiếc xe sẽ tự động điều hướng dựa trên các thông tin từ mô hình CNN Cuối cùng, để dừng xe, bạn chỉ cần nhấn nút dừng.

Cấu trúc mạng và tối ưu các thông số

Mạng nơ-ron tích chập được thiết kế để huấn luyện dữ liệu với kiến trúc bao gồm 9 lớp, trong đó có 1 lớp chuẩn hóa, 3 lớp chập, 3 lớp gộp tối đa và 2 lớp kết nối hoàn toàn Kiến trúc mạng này được tác giả trình bày trong Hình 4.3.

Hình 4.3: Cấu trúc mạng huấn luyện cho mô hình xe tự hành

Lớp đầu tiên chuẩn hóa tất cả các ảnh có giá trị pixel trong khoảng từ -1 đến 1 Các lớp pooling được thiết kế dựa trên thực nghiệm, với kernel kích thước 5x5 và không có bước trượt cho lớp đầu tiên, trong khi các kernel kích thước 3x3 cũng không có bước trượt Độ sâu tương ứng của mỗi lớp là 16, 32 và 64.

Các lớp max-pooling, thường được sử dụng trong mạng nơ-ron tích chập (CNN), đóng vai trò quan trọng trong việc giảm kích thước hình ảnh mà vẫn giữ lại thông tin quan trọng Phương pháp này hoạt động bằng cách trượt một khung cửa sổ nhỏ qua hình ảnh và lấy giá trị tối đa tại mỗi vị trí Kết quả là hình ảnh sau khi gộp sẽ chỉ còn khoảng một phần tư kích thước ban đầu, giúp giảm số lượng hyperparameters cần tính toán, từ đó rút ngắn thời gian xử lý và hạn chế hiện tượng overfitting Tất cả các lớp max-pooling đều sử dụng kernel 2x2 và không có bước trượt.

Các lớp được kết nối hoàn toàn được thiết kế với việc giảm dần kích thước:

19456 và 500 Lớp đầu ra chắc chắn là 1 nơtron vì mô hình của chúng tôi dự đoán một giá trị như một lệnh điều khiển đầu ra cho góc lái

Chúng tôi sử dụng kích hoạt lớp là ELUs (đơn vị tuyến tính theo cấp số nhân) để cải thiện sự hội tụ, với mục tiêu duy trì giá trị trung bình gần bằng không, từ đó tăng tốc độ học tập Nghiên cứu cho thấy ELUs có khả năng đạt được độ chính xác phân loại cao hơn so với ReLUs Khác với ReLU, đầu ra của ELU không chỉ giữ kích thước đầu vào mà còn xử lý các giá trị âm một cách hiệu quả hơn.

Với a là siêu tham số và một điều kiện là a  0

Chúng tôi đã áp dụng hàm MSE (Mean-Square-Loss) cho đề tài này, một công cụ thường được sử dụng trong các bài toán hồi quy Hàm này tính toán giá trị trung bình của tổng bình phương sự khác biệt giữa kết quả thực tế và giá trị dự đoán.

Để giảm thiểu sự mất mát trong quá trình học, thuật toán tối ưu hóa Adam được lựa chọn, thường được ưa chuộng trong các ứng dụng học sâu Tác giả đã sử dụng các tham số mặc định của Adam trong Keras, với tốc độ học là 0.001.

Mạng nơron giải mã với nhiều lớp ẩn phi tuyến tính tạo ra các mô hình phức tạp, dẫn đến mối quan hệ phức tạp giữa đầu vào và đầu ra Để tăng cường kiến trúc và ngăn chặn overfitting, các lớp dropout được thêm vào, vô hiệu hóa một phần tế bào thần kinh với xác suất nhất định, từ đó ngăn cản sự đồng thích hợp Trong nghiên cứu này, tác giả áp dụng tỷ lệ dropout là 20%.

Hình 4.4: Lớp dropout a) mạng nơ-ron tiêu chuẩn, b) mạng nơ-ron sau khi áp dụng dropout a) b)

Phần mềm và các thư viện sử dụng để lập trinhg

4.4.1 Giới thiệu thư viện Tensorflow

 TensorFlow là một thư viện phần mềm mã nguồn mở dành cho máy học trong nhiều loại hình tác vụ nhận thức và hiểu ngôn ngữ

Chạy trên hệ điều hành desktop Linux hoặc Mac OS X 64-bit, cũng như trên các hệ thống máy chủ và các nền tảng di động như Android và iOS của Apple.

 TensorFlow có thể chạy trên nhiều CPU và GPU

 TensorFlow cung cấp một API Python, cũng như một ít tài liệu API C/C++

4.4.2 Giới thiệu thư viện Keras

Keras is a Python-based machine learning framework designed to minimize the time between conceptualizing ideas and implementing them It features two high-level APIs: Keras Sequential and Keras Functional, making it user-friendly for developers.

 Nó có thể sử dụng chung với các thư viện Deep Learning nổi tiếng như Tensorflow

 Dễ sử dụng, xây dựng model nhanh

 Keras có thể run trên cả CPUvà GPU

 Hỗ trợ xây dựng CNN, RNN và có thể kết hợp cả hai.

THỰC NGHIỆM

Môi trường thực nghiệm

Hình 5.1: Quỹ đạo thực nghiệm 1: (a) Quỹ đạo hình bầu dục.(b) góc rẽ của đường đi (c) mô hình xe đang di chuyển theo quỹ đạo

Hình 5.2:Quỹ đạo thực nghiệm 2: (a) quỹ đạo hình số 8 (b) và (c) biển báo hiệu chỉ đường a) b) c) a) b) c)

Để thu thập dữ liệu đào tạo, mô hình xe tự hành được điều khiển trên quỹ đạo ngoài trời với hình dạng oval dài 50 mét và rộng 70 cm, bao gồm dải băng rộng 10 cm Xe có khả năng rẽ trái hoặc phải tại các đường cong bán kính 3 mét Quỹ đạo hình số 8 bao gồm hai vòng tròn tạo thành giao lộ ngang, dài 40 mét với cả đường cong bên phải và bên trái Bên ngoài đường có bốn biển báo giao thông đường kính 15 cm để hướng dẫn xe.

Mô tả tập dữ liệu

Chuẩn bị dữ liệu là rất quan trọng trong việc phát triển các mạng học tập sâu Raspberry Pi thu thập hình ảnh và thông tin lái xe từ người dùng khi di chuyển quanh đường đua với tốc độ 5-6 km/h Dữ liệu này bao gồm hơn 15.500 hình ảnh kèm theo góc lái, với độ phân giải ban đầu là 160x120 Pi Camera được thiết lập để chụp với tốc độ 10 khung hình/giây và thời gian phơi sáng 5000us, giúp giảm thiểu hiện tượng mờ do rung động khi xe di chuyển Các hình ảnh mẫu từ tập dữ liệu này được trình bày trong Hình 5.3.

Hình 5.3: Tập dữ liệu thu thập được: (a) là các mẫu từ tập dữ liệu lái xe (b), (c) và

(d) là những hình ảnh điển hình trong tập dữ liệu

Các phương pháp để tạo ra các nhiều dữ liệu khác nhau

Mô hình học tập sâu thường gặp khó khăn khi làm việc với tập dữ liệu nhỏ, dẫn đến hiệu suất tổng quát kém do thiếu mẫu huấn luyện Để khắc phục điều này, tăng cường dữ liệu là một công nghệ hiệu quả, giúp tạo ra nhiều trường hợp dữ liệu huấn luyện hơn bằng cách biến đổi ngẫu nhiên các mẫu hiện có Phương pháp này không chỉ tăng số lượng mà còn cải thiện chất lượng của tập huấn luyện thông qua các phép biến đổi như lật ngang, điều chỉnh độ sáng, tạo bóng ngẫu nhiên và thay đổi kích thước ảnh.

Hình 5.4: Ví dụ về các phương pháp tạo thêm dữ liệu huấn luyện

Quá trình huấn luyện

Tác giả đã chia tập dữ liệu lưu trữ thành hai phần: dữ liệu huấn luyện và dữ liệu thử nghiệm, với tỷ lệ 80:20 Sơ đồ huấn luyện được minh họa trong Hình 5.5, và tác giả đã tận dụng GPU NVIDIA GeForce để tối ưu hóa quá trình này.

GT 740M với bộ nhớ là 2GB có sẵn để huấn luyện mạng với ba lần, mỗi lần lượt là

Hình 5.5: Sơ đồ huấn luyện cho mô hình xe tự hành

Thời gian tổng cộng để thực hiện đào tạo với 100 chu kỳ cho 15,500 mẫu là khoảng 280 phút, tương đương với trung bình 168 giây cho mỗi chu kỳ Hình 5.6 minh họa một số hình ảnh đại diện cho các lớp tích chập.

Bảng 5.1: Sự ảnh hưởng của chu kỳ huấn luyện đến độ chính xác của mô hình

Số lượng mẫu huấn luyện

Thời gian huấn luyện Độ chính xác

Hình 5.6: Trực quan các lớp tích chập a) ảnh gốc b), c) và d) là lần lượt là các lớp tích chập thứ 1,2 và 3

Kết quả thực nghiệm ngoài trời

Sau khi được huấn luyện trên laptop, mô hình đã được sao chép trở lại Raspberry

Bộ điều khiển chính của xe sử dụng mạng Pi để nhận khung hình từ Camera Pi làm đầu vào Mỗi giây, hệ thống xử lý 10 hình ảnh, cho phép xe di chuyển với tốc độ tối đa khoảng 5-6 km/h khi đi quanh các khúc cua.

Mô hình dự đoán góc lái cho xe tự hành đạt độ chính xác 98,23%, cho thấy khả năng tự động điều hướng hiệu quả trong nhiều điều kiện lái xe khác nhau, bất kể có dấu hiệu làn đường hay không Giá trị góc lái được dự đoán một cách tương đối chính xác, minh chứng cho sự tiềm năng của công nghệ này trong việc cải thiện tính an toàn và hiệu suất của xe tự hành.

Hình 5.7: Độ chính xác của mạng CNN được đề xuất

Hình 5.8: Giá trị góc lái được dự đoán

Ngày đăng: 24/01/2022, 09:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Minh-Thien Duong, Truong-Dong Do and My-Ha Le, “Navigating Self- Driving Vehicles Using Convolutional Neural Network”, 2018 4th International Conference on Green Technology and Sustainable Development (GTSD). IEEE, 2018. p. 607-610 Sách, tạp chí
Tiêu đề: Navigating Self-Driving Vehicles Using Convolutional Neural Network
[2] S. G. Jeong et al., “Real time lane detection for autonomous navigation,” in Proc. IEEE Intell. Transp. Syst., Aug. 2001, pp. 508–513 Sách, tạp chí
Tiêu đề: Real time lane detection for autonomous navigation
[3] K. A. Redmill, S. Upadhya, A. Krishnamurthy, and ĩ. ệzgỹner, “A lane tracking system for intelligent vehicle application,” in Proc. IEEE Intell.Transp.Syst., Aug. 2001, pp. 273–279 Sách, tạp chí
Tiêu đề: A lane tracking system for intelligent vehicle application
[4] Hsu-Yung Cheng, Bor-Shenn Jeng, Pei-Ting Tseng, and Kuo-Chin Fan, “Lane Detection with Moving Vehicles in Traffic Scenes”, IEE Transactions on intelligent transportation systems, vol 7, No.4, December 2006 Sách, tạp chí
Tiêu đề: Lane Detection with Moving Vehicles in Traffic Scenes
[5] Kamarul Ghazali, Rui Xiao, Jie Ma, “Road Lane Detection Using H-Maxima and Improve Hough Transform”, 2012 Fourth International Conference on Computational Intelligence, Modelling and Simulation Sách, tạp chí
Tiêu đề: Road Lane Detection Using H-Maxima and Improve Hough Transform
[6] Mohamed Aly, “Real time Detection of Lane Markers in Urban Streets” 2008 IEEE Intelligent Vehicles Symposium Eindhoven University of Technology Eindhoven, The Netherlands, June 4-6, 2008 Sách, tạp chí
Tiêu đề: Real time Detection of Lane Markers in Urban Streets
[7] S. Hong, M. Hyung Lee, S. Hong Kwon and H. Hwan Chun, “A car test for the estimation of GPS/INS alignment errors,” IEEE Trans. Intell. Trans. Syst. 5(3), 208–218 (2004) Sách, tạp chí
Tiêu đề: A car test for the estimation of GPS/INS alignment errors

HÌNH ẢNH LIÊN QUAN

Hình 2.2: Mối quan hệ giữa AI, Machine Learning và Deep Learning - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.2 Mối quan hệ giữa AI, Machine Learning và Deep Learning (Trang 23)
Hình 2.3: Cấu trúc của một tế bào thần kinh sinh học - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.3 Cấu trúc của một tế bào thần kinh sinh học (Trang 24)
Hình 2.4: Cấu trúc tế bào thần kinh nhân tạo - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.4 Cấu trúc tế bào thần kinh nhân tạo (Trang 26)
Hình 2.5: Học có giám sát - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.5 Học có giám sát (Trang 27)
Hình 2.10: Mô hình RNN  Autoencoders: - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.10 Mô hình RNN Autoencoders: (Trang 31)
Hình 2.11: Kiến trúc mạng autoencoders - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.11 Kiến trúc mạng autoencoders (Trang 32)
Hình 2.12: Ví dụ cách thức xử lý của ANN với cấu trúc kết nối đầy đủ - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.12 Ví dụ cách thức xử lý của ANN với cấu trúc kết nối đầy đủ (Trang 33)
Hình 2.13: Ý tưởng thiết kế CNN - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.13 Ý tưởng thiết kế CNN (Trang 33)
Hình 2.15: Ví dụ ứng dụng tích chập - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.15 Ví dụ ứng dụng tích chập (Trang 35)
Hình 2.16: Các thành phần của lớp tích chập. - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.16 Các thành phần của lớp tích chập (Trang 36)
Hình 2.18: Cách tính tham số của lớp pooling - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.18 Cách tính tham số của lớp pooling (Trang 38)
Hình 2.19: Quá trình tinh chỉnh tuyến tính - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.19 Quá trình tinh chỉnh tuyến tính (Trang 39)
Hình 2.21: Kiến trúc mạng CNN cơ bản  2.3.1.5.  Kiến trúc mạng CNN - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 2.21 Kiến trúc mạng CNN cơ bản 2.3.1.5. Kiến trúc mạng CNN (Trang 40)
Hình 3.8: Raspberry Pi Power Pack - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 3.8 Raspberry Pi Power Pack (Trang 47)
Hình 3.10: Board Arduino Uno (mặt trước và sau). - Điều hướng xe tự hành dùng trí tuệ nhân tạo
Hình 3.10 Board Arduino Uno (mặt trước và sau) (Trang 48)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN