1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án tốt nghiệp thiết kế và điều khiển xe tự hành sử dụng định vị gps

69 9 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 đề Thiết Kế Và Điều Khiển Xe Tự Hành Sử Dụng Định Vị GPS
Tác giả Vũ Hữu Lực, Hoàng Hải Anh, Nguyễn Văn Đức, Nguyễn Văn Thắng
Người hướng dẫn TS. Dương Văn Lạc, TS. Bùi Đình Bá
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Cơ điện tử
Thể loại đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 69
Dung lượng 4,08 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (12)
    • 1.1 Giới thiệu xe tự hành (12)
    • 1.2 Lý do chọn đề tài, mục tiêu, nhiệm vụ và phạm vi đồ án (14)
  • CHƯƠNG 2. LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ XE TỰ HÀNH (17)
    • 2.1 Phương án cơ khí (17)
    • 2.2 Thiết kế cơ khí (18)
      • 2.1.2 Thiết kế khung xe (19)
      • 2.1.3 Thiết kế vỏ xe (20)
  • CHƯƠNG 3. THIẾT KẾ HỆ THỐNG ĐIỆN – ĐIỆN TỬ (21)
    • 3.1 Sơ đồ khối chung của hệ thống điện (21)
    • 3.2 Lựa chọn thông số cho các thiết bị (21)
    • 3.3 Sơ đồ kết nối (28)
  • CHƯƠNG 4. NGUYÊN LÝ HOẠT ĐỘNG (31)
    • 4.1 Nguyên lý hoạt động (31)
    • 4.2 Thuật toán điều khiển (32)
    • 4.3 Các chế độ hoạt động (36)
  • CHƯƠNG 5. XỬ LÝ TÍN HIỆU (37)
    • 5.1 Cảm biến GPS (37)
    • 5.2 Cảm biến La bàn số (39)
    • 5.3 Cảm biến siêu âm (40)
    • 5.4 Ổn định tốc độ sử dụng bộ điều khiển PID (41)
    • 5.5 Truyền nhận dữ liệu giữa Arduino và máy tính (42)
  • CHƯƠNG 6. LẬP TRÌNH ĐIỀU KHIỂN – GIAO DIỆN (45)
    • 6.1 Lựa chọn ngôn ngữ lập trình (45)
    • 6.2 Lập trình cho Arduino (46)
    • 6.3 Lập trình giao diện (53)
  • CHƯƠNG 7. KẾT QUẢ THỰC NGHIỆM (66)
    • 7.1 Kết quả thực nghiệm (66)
    • 7.2 Đánh giá kết quả (66)
  • CHƯƠNG 8: TỔNG KẾT (68)
    • 8.1 Đánh giá kết quả đề tài (68)
      • 8.1.1 Những công việc đã đạt được (68)
      • 8.1.2 Những hạn chế trong thực đề tài (68)
    • 8.2 Hướng phát triển của đồ án trong tương lai (68)
  • TÀI LIỆU THAM KHẢO (69)

Nội dung

TỔNG QUAN

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

Xe tự hành vận chuyển hàng đang nổi lên như một công nghệ tiên tiến trong ngành logistics Với hệ thống GPS và bộ điều khiển tự động, loại xe này có khả năng tự động tìm đường và di chuyển giữa các điểm mà không cần sự can thiệp của con người Sự phát triển mạnh mẽ của xe tự hành hứa hẹn sẽ mang lại hiệu quả cao trong việc vận chuyển hàng hóa.

Sử dụng xe tự hành trong vận chuyển hàng hóa mang lại nhiều lợi ích vượt trội, bao gồm tăng hiệu suất, giảm chi phí và nâng cao tính an toàn Nhờ khả năng hoạt động liên tục 24/7 mà không cần người điều khiển, xe tự hành giúp tăng tốc độ vận chuyển và tiết kiệm chi phí cho doanh nghiệp Hơn nữa, việc sử dụng xe tự hành còn giảm thiểu rủi ro cho người lái và hành khách, góp phần tăng cường an toàn trên đường.

Tuy nhiên, cũng có một số giới hạn về việc sử dụng xe tự hành vận chuyển hàng Một trong những giới hạn chính là sự cố

Các loại phương pháp vận chuyển

Mỗi loại hàng hóa có yêu cầu khi lưu trữ và vận chuyển khác nhau, do đó có nhiều phương pháp vận chuyển hàng hóa

Xe tự hành được thiết kế với móc và ngàm để kéo các khay hàng, phù hợp cho việc di chuyển hàng hóa với khoảng cách xa Loại xe này có thể vận chuyển hàng hóa với số lượng và kích thước đa dạng, tùy thuộc vào khay hàng Tuy nhiên, để đảm bảo an toàn, lối đi cần phải rộng rãi và các đoạn cua nên có bán kính lớn để tránh va chạm.

Hình 1.1 Xe tự hành kéo hàng

Xe tự hành được trang bị bộ phận chứa hàng, nâng hàng hoặc băng tải, giúp lấy hàng một cách hiệu quả Loại xe này thường được sử dụng để vận chuyển hàng hóa kết hợp với băng tải trong các dây chuyền sản xuất và lắp ráp.

Xe tự hành chở hàng mang lại khả năng di chuyển linh hoạt vượt trội so với phương pháp kéo hàng, đặc biệt là trong các kho hàng với không gian hẹp và góc cua nhỏ.

Hình 1.2 Xe tự hành chở hàng

Xe tự hành được trang bị bộ phận nâng hàng tự động, cho phép nâng hàng hóa lên nhiều độ cao khác nhau Một trong những ưu điểm nổi bật của xe tự hành nâng hàng là khả năng hoạt động hiệu quả trong việc xử lý hàng hóa Tuy nhiên, xe tự hành theo phương pháp nâng hàng yêu cầu không gian rộng rãi để có thể xoay chuyển linh hoạt khi nâng hàng.

Hình 1.3 Xe tự hành nâng hàng

Lựa chọn phương pháp vận chuyển

Phương pháp vận chuyển hàng hóa mang lại nhiều ưu điểm, đặc biệt là tính linh hoạt và khả năng hoạt động hiệu quả trong không gian ngoài trời Do đó, chúng tôi quyết định áp dụng phương pháp này trong đồ án của mình.

Các loại phương pháp tìm đường

• Dẫn đường: xe tự hành sẽ theo một đường dẫn được xác định trước để vận chuyển hàng hóa từ nơi này đến nơi khác

Xe tự hành sử dụng cảm biến và thiết bị định vị để tự động tìm đường, điều này giúp chúng điều khiển chính xác đến đích mà không cần sự can thiệp của con người.

• Hệ thống lái tự động: xe tự hành sẽ sử dụng một hệ thống lái tự động để tự động điều khiển và vận chuyển hàng hóa

Xe tự hành sẽ sử dụng hệ thống tự động hóa tập trung để quản lý và điều khiển quá trình vận chuyển hàng hóa một cách hiệu quả.

Lựa chọn phương pháp tìm đường:

Dựa vào yêu cầu đề tài đồ án, chúng ta sẽ dùng phương pháp đó là dẫn đường tự động.

Lý do chọn đề tài, mục tiêu, nhiệm vụ và phạm vi đồ án

Lý do chọn đề tài

Chúng em đã chọn đề tài "Thiết kế và điều khiển xe tự hành sử dụng định vị GPS" nhằm đáp ứng sự quan tâm ngày càng tăng của xã hội đối với công nghệ xe tự hành Xe tự hành không chỉ cải thiện chất lượng cuộc sống mà còn góp phần giảm thiểu tai nạn giao thông, nâng cao tính tiện lợi và giảm chi phí so với các phương tiện giao thông truyền thống.

Sử dụng định vị GPS trong xe tự hành là giải pháp tiềm năng cho các thách thức về định vị và định hướng Với độ chính xác cao trong điều kiện lý tưởng, hệ thống xe tự hành có khả năng xác định chính xác vị trí trên bản đồ và tìm ra lộ trình tối ưu đến đích.

Việc phát triển hệ thống xe tự hành dựa trên công nghệ định vị GPS không chỉ mở ra nhiều cơ hội nghiên cứu mà còn thúc đẩy ứng dụng các công nghệ tiên tiến như trí tuệ nhân tạo, học máy và thuật toán điều khiển Điều này đã thu hút sự chú ý của nhiều nhà nghiên cứu và doanh nghiệp công nghệ toàn cầu.

Mô hình này được áp dụng để vận chuyển hành lý tại các sân bay, chuyển hàng hóa đến kho bãi trong môi trường công nghiệp, cũng như giao hàng trong các trường học và khu dân cư.

Mục tiêu của đồ án như sau:

Thiết kế một hệ thống định vị GPS chính xác và ổn định là yếu tố quan trọng giúp xe tự hành xác định vị trí trên bản đồ và tìm đường đến đích hiệu quả.

Phát triển phần mềm điều khiển xe tự hành yêu cầu sử dụng các giải thuật và thuật toán điều khiển để đưa ra quyết định chính xác, đảm bảo xe hoạt động hiệu quả và an toàn Việc áp dụng công nghệ tiên tiến trong việc phát triển này giúp tối ưu hóa quá trình điều khiển và nâng cao khả năng tự động hóa của xe.

• Tích hợp các cảm biến vào xe tự hành để xe có thể phát hiện và tránh các chướng ngại vật trong quá trình di chuyển

Để đảm bảo xe tự hành hoạt động an toàn và không gây nguy hiểm cho người tham gia giao thông, việc thực hiện các bài kiểm tra an toàn là rất cần thiết.

• Đánh giá và cải tiến hệ thống để tăng tính ổn định và độ chính xác của xe tự hành

1.2.3.1 Thiết kế hệ thống cơ khí

Dựa trên kết cấu cơ khí đã chọn, tiến hành tính toán thiết kế, công việc bao gồm:

• Tính toán thiết kế các chi tiết cơ khí của xe tự hành

1.2.3.2 Thiết kế hệ thống điện – điện tử

Với các phương án đã chọn, cần tiến hành xác định thông số và sử dụng các thiết bị, kết hợp chúng thành một hệ thống hoàn chỉnh Công việc này bao gồm việc lựa chọn thiết bị phù hợp và tối ưu hóa quy trình lắp ráp.

• Lựa chọn thông số vi điều khiển, các mô đun động cơ và cảm biến

• Đọc và xử lý các thông số từ cảm biến

1.2.3.3 Xây dựng thuật toán điều khiển

Tiến hành tiết kế các thuật toán điều khiển cho xe với các công việc sau:

• Thiết kế thuật toán tìm đường

Lập trình trên vi điều khiển và máy tính, công việc bao gồm:

• Lập trình vi điều khiển o Nhận dữ liệu cảm biến o Gửi về máy tính thông số cảm biến

• Lập trình trên máy tính o Lập trình thuật toán tìm đường đi đến đích o Lập trình giao diện hiện thị tọa độ với góc của xe

1.2.3.5 Thực nghiệm và đánh giá kết quả

• Đánh giá kết quả thực nghiệm

• Nêu lên được ưu và nhược điểm của xe

• Phương hướng cải tiến xe

LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ XE TỰ HÀNH

Phương án cơ khí

Bánh xe đa hướng cho phép xe di chuyển linh hoạt trong không gian chật hẹp bằng cách kích hoạt theo một hướng và chuyển động thụ động theo hướng khác, mang lại nhiều phương án di chuyển hơn.

• Với việc lựa chọn cơ cấu chuyển động trên, có thể phân tích chuyển động của xe theo 11 cách khác nhau

Hình 2.2 Các cách chuyển động của xe

Thiết kế cơ khí

Trọng lượng xe có tải: (m car +m obj )*9.81 (5 10)*9.81 147.15= + = (N)

Kiểm nghiệm bền của thanh và khung

Khi chịu tải trọng lớn nhất từ trọng lực, khung sẽ tạo ra moment uốn trên thanh chịu lực, điều này có thể được phân tích thông qua phần mềm Inventor với vật liệu Altium.

Hình 2.3 Biểu đồ Momen lực

Hình 2.4 Kích thước thanh trên Inventor

Kích thước thanh chịu lực >12.3345mm

 Chọn hộp vuông 15x15mm Ý tưởng thiết kế 3D khung xe:

Hình 2.3 Hình ảnh khung xe

Biểu đồ khung chịu ứng suất khi chịu lực tải: F = 10*9.81 98.1 = (N)

Kết quả dự đoán ảnh hưởng lực tới ứng suất kết cấu khung

Hình 2.4 Biểu đồ ứng suất biến dạng

Yêu cầu tốc độ hoạt động của xe đạt tốc độ của người(5km/h): v=1.38(m s/ )Lực phát động cần thiết: F = c W =0.35 147.15 Q.5( )N

Tốc độ quay động cơ: 1.38 100 60

Moment yêu cầu động cơ: 60 17.65 60 6.4( )

Hình 2.7 Hình ảnh khung xe

THIẾT KẾ HỆ THỐNG ĐIỆN – ĐIỆN TỬ

Sơ đồ khối chung của hệ thống điện

Hình 3.1 Sơ đồ khối hệ thống điện- điện tử

Lựa chọn thông số cho các thiết bị

Arduino là vi điều khiển phổ biến nhờ tính dễ sử dụng và nguồn tài liệu phong phú Phần mềm biên dịch Arduino IDE sử dụng ngôn ngữ C++, giúp việc lập trình trở nên thuận tiện và hiệu quả.

Hình 3.2 Bo mạch arduino Mega 2560

Bo mạch được sử dụng trong đồ án là Arduino Mega 2560

Arduino Mega 2560 là một mạch mở rộng cho các dự án điện tử của Arduino

Arduino Mega 2560 cung cấp nhiều chân và bộ nhớ hơn so với phiên bản cơ bản Arduino UNO, phù hợp cho các dự án yêu cầu đầu vào/đầu ra đa dạng và bộ nhớ lớn Nó tích hợp đầy đủ các tính năng của các mạch Arduino khác, giúp mở rộng khả năng sáng tạo cho người dùng.

11 hơn Nó có thể kết nối với các thiết bị ngoại vi, như cảm biến, actuators, LCD, để thực hiện các dự án điện tử tùy ý

Thông số kỹ thuật bo mạch Arduino Mega 2560:

- Vi xử lý: ATmega2560, 8-bit AVR, tốc độ 16 MHz

- Số lượng chân đầu ra digital: 54 (trong đó 14 chân có hỗ trợ PWM)

- Số lượng chân đầu vào digital: 16

- Số lượng chân đầu vào analog: 16

- Bộ nhớ flash: 256 KB (trong đó 8 KB dành cho bootloader)

- Điện áp nguồn tối thiểu: 7-12V

- Điện áp nguồn tối đa: 20V

- Cổng giao tiếp: USB, ICSP

Giao tiếp truyền thông trong các hệ thống điện tử thường sử dụng các giao thức như UART, I2C và SPI Động cơ JGB 37-545, được sản xuất bởi công ty Johnson Electric, là một loại động cơ điện DC nhỏ gọn, hiệu suất cao và bền bỉ Với công nghệ tiên tiến, động cơ này đảm bảo chất lượng và độ tin cậy tối ưu cho nhiều ứng dụng khác nhau Đặc biệt, động cơ JGB 37-545 có độ bền cao và tuổi thọ dài, giúp tiết kiệm chi phí bảo trì và sửa chữa cho người sử dụng.

Các thông số kỹ thuật chính của động cơ JGB 37-545:

- Điện áp định mức: từ 3V đến 24V

- Tốc độ quay không tải: 332RPM (332 vòng 1 phút)

- Dòng chịu đựng tối đa khi có tải: 5A

- Moment xoắn định mức: 2.4KG.CM

- Hệ thống bảo vệ quá tải

- Tuổi thọ dài và độ bền cao

Các yêu cầu của driver:

• Dòng ngõ ra đủ đáp ứng cho động cơ

• Điều khiển được bằng xung PWM

• Hoạt động ổn định trong thời gian dài

• Có thể lắp đặt trên xe tự hành thường xuyên di chuyển

Từ các yêu cầu trên, chọn driver động cơ L298N

Các thông số kỹ thuật của driver động cơ L298N:

- Tần số hoạt động tối đa: 150 KHz

- Điện áp hoạt động: 5V - 46V DC

- Điện dòng tối đa: 2A (mỗi kênh)

- Điện dòng tối đa tổng cộng: 4A

- Điện áp đầu ra PWM: 5V – Vcc

- Giao tiếp: kết nối với vi điều khiển qua chân PWM, IN1, IN2, IN3, IN4

Mạch logic được thiết kế nhằm điều khiển đồng bộ các động cơ thông qua một chân băm xung PWM Nguyên lý hoạt động của mạch dựa vào sự phụ thuộc giữa hai ngõ vào PWM và DIR, trong khi hai ngõ ra mong muốn là IN1 và IN2.

Bảng 1: bảng chân lý của mạch logic cho driver L298N

Từ bảng chân trị này, chúng ta có thể viết hàm bool cho 2 ngõ In1 và In2:

Từ đó, lựa chọn được 2 IC logic là 74HC08 và 74HC04 để tạo mạch logic điều khiển động cơ

Hình 3.5 Mạch logic cho L298N xây dựng trên Proteus

NEO-M8N là cảm biến GPS cao cấp, lý tưởng cho các thiết bị định vị, quản lý vị trí và lập bản đồ Cảm biến này cung cấp thông tin chính xác về vị trí, tốc độ và hướng di chuyển bằng cách nhận tín hiệu từ các vệ tinh GPS Với khả năng hoạt động trong môi trường khắc nghiệt, NEO-M8N có thể hoạt động liên tục 24/7, mang lại hiệu suất cao cho người dùng.

Hình 3.6 Cảm biến GPS NEO M8N

Các thông số kỹ thuật của cảm biến GPS NEO M8N:

- Độ chính xác: tới 2.5m CEP (Circular Error Probable)

- Tần số hoạt động: 1575.42 MHz

- Độ mở rộng: 66 tổ hợp vệ tinh (channels)

- Thời gian phản hồi: tới 1 giây (hot start) và 38 giây (cold start)

- Độ nhiệt độ hoạt động: -40°C đến 85°C

Cảm biến la bàn số HMC5883L

Cảm biến la bàn số HMC5883L là thiết bị giám sát la bàn, có khả năng đo từ trường trong ba chiều x, y và z với độ chính xác cao.

Cảm biến HMC5883L là thiết bị quan trọng trong nhiều ứng dụng như hệ thống định vị, theo dõi hướng, định hướng cho máy bay và rô-bốt, cũng như đo la bàn trong thiết bị điện tử Trong đồ án này, cảm biến HMC5883L được sử dụng để đo góc của xe so với phương Bắc.

Hình 3.7 Cảm biến la bàn số HMC5883L

Thông số kỹ thuật chính của cảm biến HMC5883L bao gồm:

- Độ chính xác: tới 1.3 gauss

- Tần số hoạt động: 75 kHz

- Độ nhiệt độ hoạt động: -40°C đến 85°C

Cảm biến siêu âm HCSR04

Cảm biến siêu âm HCSR04 là thiết bị đo khoảng cách sử dụng sóng siêu âm, gồm hai phần chính: đầu phát và đầu nhận Nó hoạt động bằng cách phát tín hiệu siêu âm, sau đó đo thời gian tín hiệu phản hồi để tính toán khoảng cách đến vật thể.

Cảm biến HCSR04 là một thiết bị đa năng, có khả năng ứng dụng trong nhiều lĩnh vực khác nhau như đo khoảng cách, tự động điều khiển vận tốc, giám sát khoảng cách gần xa và cung cấp cảnh báo khi đối tượng đến gần.

Hình 3.8 Cảm biến siêu âm HCSR04

Thông số kỹ thuật chính của cảm biến HCSR04 bao gồm:

- Phạm vi đo: 2cm đến 400cm

- Tần số hoạt động: 40kHz

- Thời gian phát tín hiệu: 10 μs

- Kích thước: 45 mm x 20 mm x 15 mm

The Pin LiPo (Lithium Polymer) Tiger 3S-4500mAh-35C is designed for mobile devices and RC (Radio Controlled) aircraft This LiPo battery enhances performance and longevity compared to other battery types.

Pin "3S 4500mAh 35C" có nghĩa là pin gồm ba tấm (3S) với dung lượng 4500mAh Tốc độ sạc tối đa của pin là 35C, trong đó "35" đại diện cho tốc độ sạc và "C" là hạn mức dung lượng.

Hình 3.9 Pin LiPo Tiger 3S-4500mAh-35C

Thông số kỹ thuật chính của Pin LiPo Tiger 3S-4500mAh-35C bao gồm:

LoRaWAN là giao thức kết nối không dây cho IoT, cho phép truyền dữ liệu từ các thiết bị IoT đến mạng cục bộ hoặc toàn cầu AS32, một module của Semtech, hỗ trợ công nghệ LoRaWAN với kết nối không dây an toàn, tiêu thụ năng lượng thấp và phạm vi truyền dẫn rộng, phù hợp cho các ứng dụng IoT.

Một số thông số của module LoRa AS32 của Semtech bao gồm:

- Điện áp hoạt động: DC2.5~5.5V

- Cổng đầu vào: TTL UART

- Cổng đầu ra: TTL UART

Còi chip 5V là thiết bị âm thanh nhỏ gọn, lý tưởng cho các mạch điện tử như Arduino và hệ thống điều khiển tự động Với đầu vào 5V, nó được thiết kế để phát ra âm thanh đơn giản nhưng rõ ràng, phục vụ hiệu quả cho nhiều ứng dụng khác nhau.

Còi chip 5V được sản xuất với kích thước nhỏ gọn, dễ sử dụng, và phổ biến trong các dự án DIY Chúng có thể kết nối với mạch điện tử qua các chân GPIO và được điều khiển bằng tín hiệu điện từ vi điều khiển như Arduino hoặc Raspberry Pi.

Thông số kỹ thuật chung của còi chip 5V:

- Dòng điện tiêu thụ: thường khoảng 30mA

- Âm lượng: thường khoảng 85dB

- Tần số: thường khoảng 2kHz

- Điện áp đầu ra: thường khoảng 3V

Sơ đồ kết nối

Để đọc dữ liệu từ cảm biến GPS NEO M8N, cần cấp nguồn 5V và nguồn âm cho nó Arduino Mega 2560 và cảm biến GPS giao tiếp thông qua giao tiếp truyền thông UART Trong đồ án này, chỉ cần kết nối chân Rx của Arduino Mega 2560 với chân Tx của NEO M8N để lấy dữ liệu từ cảm biến GPS lên vi điều khiển.

Hình 3.13 Sơ đồ kết nôi Arduino với HMC5883L

Cảm biến la bàn số với arduino giao tiếp với nhau thông qua truyền thông I2C

Ta nối 2 chân SCL ở 2 thiết bị với nhau để dùng cùng xung Clock Còn chân SDA để

2 thiết bị truyền nhận dữ liệu

Hình 3.14 Sơ đồ kết nối Arduino với HCSR04 Để đo được kết quả chính xác nhất thì chúng ta phải cấp nguồn 5Vcho HCSR

04 Nếu ta chỉ cấp nguồn 3V thì sẽ không thể thu được kết quả chính xác

NGUYÊN LÝ HOẠT ĐỘNG

Nguyên lý hoạt động

Hình 4.1 Sơ đồ nguyên lý hoạt động Để xe hoạt động, trước tiên ta cần đọc và lấy dữ liệu từ các cảm biến

Hình 4.2 Lấy dữ liệu từ cảm biến

Cảm biến GPS NEO M8N nhận tín hiệu từ vệ tinh để xác định vị trí xe qua kinh độ và vĩ độ La bàn số HMC5883L xác định góc của xe so với phương Bắc Cảm biến siêu âm HCSR04 sử dụng sóng siêu âm để phát hiện vật cản phía trước.

Arduino sẽ gửi các thông số từ cảm biến đến máy tính, cho phép máy tính tính toán khoảng cách đến điểm đích Dựa trên các thông số này, máy tính sẽ hiển thị vị trí và góc của xe trên bản đồ.

Hình 4.3 Truyền nhận giữa Arduino và máy tính

Máy tính và Arduino kết nối với nhau qua giao thức UART sử dụng module Lora AS32 Arduino sẽ áp dụng thuật toán điều khiển để thực hiện việc điều khiển động cơ một cách hiệu quả.

Hình 4.4 Điều khiển động cơ

Thuật toán điều khiển

Thuật toán điều khiển trên giao diện

1 Màn hình chính hiển thị lựa chọn chế độ Map hoặc Manual

2 Nếu chọn chế độ Map

2.1 Khi click chuột phải, sự kiện add_marker_event sẽ được gọi

Khi add_marker_event được gọi, vị trí của các điểm đích được lưu vào file coorTargetList.txt

Hình 4.5 Giao diện map khi nhấp chuột phải Đồng thời tọa độ lat, long được cập nhận liên tục từ GPS và lưu vào file currentCoord.txt:

2.2 Biến lat, long trong mảng coorTargetList được sử dụng để tính toán khoảng cách và góc giữa điểm hiện tại của xe (lấy từ cảm biến GPS, từ file currentCoord.txt) và điểm đích (lấy từ coorTargetList)

2.3 Nếu khoảng cách lớn hơn khoảng cách an toàn (3.5 m) và nhỏ hơn khoảng cách dừng (0.15 m), xe sẽ tiếp tục di chuyển đến vị trí đích

2.4 Khi xe đến gần vị trí đích (khoảng cách < khoảng cách dừng), xe sẽ dừng lại 2.5 Khi xe đến được vị trí đích, điểm đích được loại bỏ khỏi mảng coorTargetList và tiếp tục xử lý điểm đích tiếp theo nếu có

2.6 Quá trình di chuyển được lặp lại cho đến khi không còn điểm đích nào trong mảng coorTargetList

3 Nếu chọn chế độ Manual:

3.1 Chọn tốc độ xe di chuyển

3.3 Gửi gói dữ liệu (FF, hướng, tốc độ) xuống arduino thông qua phương thức giao tiếp UART

Hình 4.6 Sơ đồ thuật toán điều khiển trên giao diện

Thuật toán điều khiển trên Arduino

Hình 4.7 Sơ đồ thuật toán điều khiển trên Arduino

1 Đọc dữ liệu cảm biến: Sử dụng các thư viện để đọc giá trị từ các cảm biến đã được kết nối với Arduino

2 Xác định vị trí hiện tại: Sử dụng thông tin từ các cảm biến để xác định vị trí của xe trên đường

3 Xác định hướng di chuyển: Dựa trên vị trí hiện tại và thông tin từ các cảm biến, xác định hướng di chuyển cho xe, sai số góc (headingError)

Nếu -10 0 180 0 hoặc-180 0

Ngày đăng: 19/12/2023, 15:24

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

TÀI LIỆU LIÊN QUAN

w