Bối cảnh và vấn đề nghiên cứu
Trong xu thế tự động hóa hoạt động sản xuất và đời sống, vận chuyển hàng hóa tự động đóng vai trò mấu chốt nhằm tối ưu hóa chuỗi cung ứng, giảm thiểu chi phí nhân công, nâng cao năng suất và hạn chế tối đa các rủi ro, tai nạn giao thông so với phương thức vận hành truyền thống. Đối với môi trường vận chuyển ngoài trời, hệ thống xe tự hành (AGV/AMR) dẫn đường bằng định vị vệ tinh GPS là một giải pháp tiềm năng giúp phương tiện tự xác định vị trí và hoạch định quỹ đạo di chuyển tối ưu đến điểm đích mà không cần lắp đặt hạ tầng dẫn đường cố định (như đường ray hay vạch từ).
Đề tài đồ án tốt nghiệp "Thiết kế và điều khiển xe tự hành sử dụng định vị GPS" do nhóm sinh viên ngành Cơ điện tử (Trường Cơ khí, Đại học Bách Khoa Hà Nội) thực hiện nhằm giải quyết bài toán thiết kế, chế tạo và điều khiển một mô hình xe tự hành phục vụ vận chuyển hàng hóa trong không gian mở.
Mục tiêu nghiên cứu của đồ án được xác định gồm 5 nội dung chính:
- Thiết kế hệ thống định vị GPS chính xác và ổn định để xe tự hành xác định vị trí trên bản đồ và tìm đường đi đến đích.
- Phát triển phần mềm điều khiển xe tự hành thông qua các giải thuật và thuật toán điều khiển để đưa ra quyết định di chuyển.
- Tích hợp các cảm biến vào xe tự hành để phát hiện và tránh chướng ngại vật trong quá trình di chuyển.
- Thực hiện các bài kiểm tra an toàn nhằm đảm bảo xe tự hành hoạt động đúng quy chuẩn kỹ thuật và không gây nguy hiểm.
- Đánh giá và cải tiến hệ thống để nâng cao tính ổn định và độ chính xác của xe.
Để hiện thực hóa các mục tiêu trên, nhiệm vụ nghiên cứu được phân chia cụ thể thành 5 nhóm công việc:
- Thiết kế hệ thống cơ khí: Tính chọn động cơ, tính chọn nguồn cấp và tính toán thiết kế kết cấu chi tiết khung xe, khung gá động cơ.
- Thiết kế hệ thống điện – điện tử: Lựa chọn vi điều khiển, module điều khiển động cơ, tích hợp cảm biến và xây dựng mạch xử lý tín hiệu.
- Xây dựng thuật toán điều khiển: Thiết kế thuật toán tìm đường, thuật toán điều hướng theo sai số góc và giải thuật ổn định vận tốc.
- Lập trình hệ thống: Lập trình phần mềm nhúng trên vi điều khiển (thu nhận cảm biến, truyền nhận dữ liệu, điều khiển động cơ) và lập trình giao diện giám sát trên máy tính (hiển thị bản đồ, tọa độ, góc hướng).
- Thực nghiệm và đánh giá: Chạy thử nghiệm thực tế ngoài trời, phân tích ưu nhược điểm và đề xuất giải pháp cải tiến.
Đối tượng nghiên cứu là mô hình xe tự hành 4 bánh đa hướng có khả năng chở hàng với tải trọng 10 kg. Phạm vi không gian thực nghiệm tập trung vào các môi trường ngoài trời thông thoáng, không bị che khuất tín hiệu vệ tinh (như sân bay, kho bãi công nghiệp, khuôn viên trường học, khu dân cư) và phòng thực nghiệm T212 thuộc Trường Cơ khí, Đại học Bách Khoa Hà Nội.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên các nền tảng lý thuyết và công cụ kỹ thuật chuyên ngành Cơ điện tử:
- Lý thuyết động học robot di động: Phân tích cơ cấu truyền động 4 bánh đa hướng (Omni-directional wheels), cho phép xe chuyển động linh hoạt theo 11 cách khác nhau mà không cần cơ cấu lái phức tạp.
- Cơ học kết cấu và sức bền vật liệu: Sử dụng phần mềm Autodesk Inventor để mô hình hóa hình học 3D, phân tích biểu đồ mô-men uốn và ứng suất - biến dạng của hệ khung chịu lực dưới tác dụng của tải trọng tĩnh.
- Nguyên lý định vị vệ tinh và từ trường Trái Đất: Xử lý chuỗi dữ liệu định vị theo chuẩn NMEA-0183 (cụ thể là bản tin
$GPGGA) từ module GPS; nguyên lý đo cảm ứng từ 3 trục để xác định góc phương vị so với phương Bắc từ tính và bù góc nghiêng từ trường địa phương (Magnetic Declination) để quy đổi về phương Bắc thực.
- Lý thuyết điều khiển tự động: Ứng dụng bộ điều khiển vi tích phân tỉ lệ (PID - Proportional Integral Derivative) nhằm phản hồi và ổn định vận tốc quay của động cơ DC dựa trên tín hiệu encoder.
- Giao thức truyền thông số: Ứng dụng chuẩn truyền thông nối tiếp UART, giao thức I2C và mạng truyền thông không dây tầm xa LoRaWAN / LoRa trên băng tần 410–441 MHz.
Phương pháp nghiên cứu thực tế bao gồm:
- Phương pháp phân tích – tổng hợp và so sánh kỹ thuật: Đánh giá các phương án vận chuyển (kéo hàng, chở hàng, nâng hàng) và phương thức tìm đường (dẫn đường cố định, dẫn đường tự động, lái tự động, tự động hóa tập trung) để lựa chọn cấu hình tối ưu.
- Phương pháp mô phỏng số: Tính toán ứng suất kết cấu khung trên Inventor và mô phỏng phản hồi động học của hệ điều khiển trên phần mềm MATLAB.
- Phương pháp thiết kế – chế tạo và thực nghiệm: Thiết kế mạch logic điều khiển phần cứng, lập trình hệ thống nhúng và kiểm thử thuật toán điều hướng ngoài trời.
Nguồn dữ liệu của nghiên cứu bao gồm: dữ liệu tọa độ địa lý (kinh độ, vĩ độ) từ cảm biến GPS NEO-M8N, dữ liệu từ trường 3 trục $(X, Y, Z)$ từ la bàn số HMC5883L, khoảng cách đo bằng sóng siêu âm từ HC-SR04, góc nghiêng từ trường tại khu vực Hà Nội ($-1^\circ 52'$), cùng dữ liệu xung phản hồi tốc độ động cơ qua cổng giao tiếp nối tiếp.
Thiết kế và triển khai
Hệ thống xe tự hành được thiết kế theo cấu trúc module hóa, kết hợp giữa cơ khí chính xác, mạch điều khiển phần cứng và phần mềm máy tính trung tâm.
| Bộ phận / Thiết bị |
Thông số kỹ thuật chính |
Vai trò trong hệ thống |
| Khung xe cơ khí |
Kích thước: $300 \times 470\text{ mm}$, khối lượng: 3 kg, vật liệu: Nhôm-1345 hộp vuông $15 \times 15\text{ mm}$ |
Chịu tải trọng toàn bộ hệ thống (tải hàng 10 kg, khối lượng xe 5 kg) |
| Cơ cấu bánh xe |
4 bánh đa hướng |
Dẫn động đa hướng, di chuyển linh hoạt trong không gian hẹp |
| Động cơ DC |
Model: JGB 37-545, điện áp 3–24V, tốc độ không tải 332 RPM, dòng chịu tải cực đại 5A, mô-men $2\text{ kg}\cdot\text{cm}$ |
Cung cấp lực kéo phát động chuyển động |
| Driver động cơ |
Chip L298N, điện áp 5–46V DC, dòng 2A/kênh (tổng 4A), công suất 25W |
Điều khiển công suất và đảo chiều động cơ |
| Vi điều khiển |
Arduino Mega 2560 (chip ATmega2560, 16 MHz, Flash 256 KB, 54 chân Digital, 16 chân Analog) |
Xử lý tín hiệu cảm biến, chạy thuật toán bám góc và điều khiển cơ cấu chấp hành |
| Cảm biến GPS |
NEO-M8N (u-blox), độ chính xác 2.5m CEP, 66 kênh, giao tiếp UART (Tx nối Rx Arduino) |
Thu nhận tọa độ địa lý (kinh độ, vĩ độ) thời gian thực |
| La bàn số |
HMC5883L, đo từ trường 3 trục, độ chính xác 1.3 gauss, giao tiếp I2C (SCL, SDA) |
Đo góc hướng của xe so với phương Bắc |
| Cảm biến siêu âm |
HC-SR04, dải đo 2–400 cm, độ chính xác $\pm 3\text{ mm}$, tần số 40 kHz |
Phát hiện vật cản phía trước để dừng xe an toàn |
| Module truyền thông |
LoRa AS32 (Semtech), công suất 1W, băng tần 410–441 MHz, cự ly truyền 8000m, UART 9600 bps |
Truyền dữ liệu telemetry 2 chiều giữa xe và máy tính |
| Nguồn điện |
Pin LiPo Tiger 3S-4500mAh-35C, điện áp danh định 11.1V, dung lượng 4500 mAh |
Cung cấp năng lượng cho hệ thống hoạt động liên tục trong 1 giờ |
| Còi báo hiệu |
Còi chip 5V, dòng 30 mA, âm lượng 85 dB, tần số 2 kHz |
Phát cảnh báo âm thanh khi phát hiện lỗi hoặc sự cố |
Thiết kế mạch logic cho driver động cơ L298N
Mạch cầu H L298N tiêu chuẩn đòi hỏi 3 tín hiệu điều khiển cho mỗi động cơ: chân Enable (En) cho phép hoạt động, và 2 chân đầu vào (In1, In2) để xác định chiều quay. Để tối ưu hóa tài nguyên chân vi điều khiển và đơn giản hóa việc lập trình băm xung PWM, nhóm tác giả thiết kế một mạch logic phụ trợ sử dụng các cổng NOT và AND. Mạch này nhận 2 tín hiệu ngõ vào gồm tín hiệu tốc độ (PWM) và tín hiệu hướng (DIR), xuất ra 2 tín hiệu kích trực tiếp cho driver:
- $\text{In1} = \text{PWM} \cdot \overline{\text{DIR}}$
- $\text{In2} = \text{PWM} \cdot \text{DIR}$
Bảng chân lý của mạch logic điều khiển:
| PWM |
DIR |
In1 |
In2 |
Trạng thái động cơ |
| 0 |
0 |
0 |
0 |
Động cơ dừng |
| 0 |
1 |
0 |
0 |
Động cơ dừng |
| 1 |
0 |
1 |
0 |
Động cơ quay thuận (với tốc độ theo PWM) |
| 1 |
1 |
0 |
1 |
Động cơ quay nghịch (với tốc độ theo PWM) |
Giao thức đóng gói và giải mã dữ liệu LoRa
Quá trình trao đổi dữ liệu nối tiếp giữa Arduino và máy tính qua module LoRa AS32 được thực hiện song công (full-duplex) với tốc độ 9600 bps, định dạng khung truyền gồm các byte nhị phân:
- Gói tin truyền từ xe lên máy tính (9 bytes): Gồm 1 byte tiêu đề nhận diện (
0xFF), 4 bytes biểu diễn vĩ độ (Latitude) và 4 bytes biểu diễn kinh độ (Longitude).
- Gói tin điều khiển từ máy tính xuống xe (5 bytes): Gồm 1 byte tiêu đề (
0xFF), 2 bytes dữ liệu góc và 2 bytes dữ liệu khoảng cách.
- Xử lý giải mã: Tại bên nhận, hệ thống sử dụng các phép toán dịch bit trái 8 vị trí (
<< 8) kết hợp phép logic OR giữa 2 byte liên tiếp và ép kiểu số nguyên có dấu (integer) để khôi phục chính xác giá trị khoảng cách và góc lệch phục vụ thuật toán điều khiển.
Nội dung chính theo từng chương
Chương 1. Tổng quan
Chương 1 giới thiệu khái quát về vai trò của xe tự hành vận chuyển hàng hóa trong chuỗi cung ứng hiện đại. Tác giả tiến hành so sánh 3 phương pháp vận chuyển: kéo hàng (thích hợp khoảng cách xa nhưng bán kính cua lớn), chở hàng (linh hoạt trong không gian hẹp, tích hợp tốt với dây chuyền) và nâng hàng (đưa hàng lên nhiều độ cao nhưng cần không gian xoay lớn); từ đó lựa chọn phương pháp chở hàng cho mô hình ngoài trời. Chương này cũng phân tích 4 phương thức tìm đường (dẫn đường cố định, dẫn đường tự động, lái tự động, tự động hóa tập trung) và xác định phương án dẫn đường tự động bằng GPS kết hợp cảm biến định hướng, đồng thời nêu rõ 5 mục tiêu và phạm vi kỹ thuật của đồ án.
Chương 2. Lựa chọn phương án thiết kế xe tự hành
Nội dung chương tập trung phân tích các giải pháp kỹ thuật cơ khí và động học. Tác giả phân tích cơ cấu 4 bánh đa hướng cho phép 11 trạng thái chuyển động. Kết cấu khung xe được thiết kế trên Autodesk Inventor với kích thước $300 \times 470\text{ mm}$, vật liệu nhôm-1345, khối lượng khung 3 kg. Phân tích mô-men uốn dưới tải trọng tổng $15\text{ kg} \times 9.15\text{ N}$ chỉ ra kích thước thanh chịu lực yêu cầu $>12.3345\text{ mm}$, dẫn đến quyết định chọn nhôm hộp vuông $15 \times 15\text{ mm}$. Tính toán động lực học ở tốc độ người đi bộ $v = 1.38\text{ m/s}$ ($5\text{ km/h}$) với lực phát động $F = 0.5\text{ N}$ xác định công suất yêu cầu $P = 1.6\text{ W}$, công suất động cơ tính toán $P_{dc} = 17.38\text{ W}$, từ đó chọn cấu hình động cơ DC công suất định mức 60W, tỉ số truyền 19, mô-men 94 N.m.
Chương 3. Thiết kế hệ thống điện – điện tử
Chương này mô tả chi tiết thông số kỹ thuật và sơ đồ kết nối của các khối phần cứng trong hệ thống: bo mạch Arduino Mega 2560, động cơ DC JGB 37-545, mạch driver cầu H L298N kết hợp mạch logic AND/NOT, module GPS NEO-M8N, cảm biến la bàn số HMC5883L, cảm biến khoảng cách siêu âm HC-SR04, pin LiPo 3S-4500mAh-35C, còi chip 5V và module LoRa AS32. Sơ đồ kết nối thể hiện rõ đường truyền UART từ GPS đến chân Rx của Mega 2560, kết nối I2C (SDA, SCL) cho HMC5883L, chân điều khiển I/O kỹ thuật số cho HC-SR04 và giao tiếp UART nối tiếp với LoRa.
Chương 4. Nguyên lý hoạt động
Trình bày luồng vận hành khép kín của xe tự hành: Arduino đọc dữ liệu từ GPS, HMC5883L và HC-SR04, truyền tọa độ và góc hướng lên máy tính qua LoRa; máy tính tính khoảng cách, góc lệch và hiển thị lên giao diện bản đồ. Chương này chi tiết hóa 2 thuật toán:
- Thuật toán trên giao diện Python: Quản lý danh sách điểm đích trong mảng
coorTargetList qua sự kiện chuột phải add_marker_event, cập nhật vị trí hiện tại từ file currentCoord.txt. Xe di chuyển nếu khoảng cách lớn hơn khoảng an toàn (3.5 m) và lớn hơn khoảng dừng (0.15 m); khi khoảng cách $< 0.15\text{ m}$, xe dừng và chuyển sang điểm đích kế tiếp.
- Thuật toán điều khiển trên Arduino: Đọc cảm biến, tính sai số góc phương vị (
headingError):
- Nếu $-10^\circ < \text{headingError} < 10^\circ$: Xe đi thẳng.
- Nếu $\text{headingError} > 180^\circ$ hoặc $-180^\circ < \text{headingError} < -10^\circ$: Xe quay trái.
- Nếu $10^\circ < \text{headingError} < 180^\circ$ hoặc $\text{headingError} < -180^\circ$: Xe quay phải.
- Khi cảm biến HC-SR04 phát hiện vật cản: Xe dừng lại cho đến khi chướng ngại vật được giải phóng.
Chương 5. Xử lý tín hiệu
Chương 5 đi sâu vào các giải pháp kỹ thuật xử lý tín hiệu cảm biến:
- Xử lý chuỗi NMEA-0183
$GPGGA nhận qua cổng Serial bằng phương pháp tách chuỗi theo dấu phẩy để trích xuất vĩ độ và kinh độ.
- Chống nhiễu từ trường cho cảm biến HMC5883L bằng giải pháp bố trí cách ly vật lý khỏi các chi tiết kim loại/nguồn từ mạnh, kết hợp bù góc nghiêng từ trường khu vực Hà Nội: $\text{Góc thực} = \text{Góc đo} + (-0.00021883764431\text{ rad})$ (tương ứng $-1^\circ 52'$).
- Xử lý xung thời gian cảm biến siêu âm HC-SR04 theo công thức: $\text{Khoảng cách} = (t \times 340\text{ m/s}) / 2$.
- Thiết lập bộ điều khiển PID ổn định vận tốc động cơ với bộ thông số $K_p = 125, K_d = 0.0001$. Đáp ứng hệ thống đạt dải tốc độ $N_{min} = 35\text{ rpm}$ đến $N_{max} = 45\text{ rpm}$ so với tốc độ đặt $N_{yc} = 40\text{ rpm}$ (sai số cực đại $12.5%$).
- Đóng gói khung truyền và thuật toán xử lý dữ liệu nhị phân trên Arduino và máy tính thông qua phép dịch bit và logic OR.
Chương 6. Lập trình điều khiển – giao diện
Giới thiệu cấu trúc lập trình phần mềm: sử dụng ngôn ngữ C/C++ trên môi trường Arduino IDE để lập trình hệ thống nhúng (khai báo thư viện, định nghĩa macro, hàm setup(), hàm đọc GPS, hàm tính góc la bàn, hàm sent_data()) và ngôn ngữ Python để xây dựng giao diện người dùng (GUI). Giao diện cho phép chuyển đổi giữa chế độ tự động (Map mode) và chế độ thủ công (Manual mode) với các nút bấm điều hướng và tùy chỉnh vận tốc.
Chương 7. Kết quả thực nghiệm
Trình bày kết quả thử nghiệm mô hình xe tự hành thực tế ngoài trời và mô phỏng phản hồi động học trên MATLAB. Đánh giá khả năng nhận tín hiệu GPS, độ ổn định của liên lạc vô tuyến LoRa và sự phối hợp giữa thuật toán bám quỹ đạo với cơ chế tự dừng khi gặp chướng ngại vật.
Chương 8. Tổng kết
Đánh giá tổng thể các hạng mục công việc đã hoàn thành so với nhiệm vụ ban đầu; tổng kết các hạn chế kỹ thuật còn tồn tại trong quá trình thực nghiệm thực tế và đề xuất các định hướng nghiên cứu phát triển tiếp theo cho mô hình.
Kết quả và đóng góp
Kết quả chính đạt được
- Chế tạo hoàn chỉnh mô hình phần cứng: Xe tự hành 4 bánh đa hướng có kích thước khung $300 \times 470\text{ mm}$, khối lượng bản thân 5 kg, đáp ứng tải trọng chở hàng 10 kg, vận hành bằng nguồn pin LiPo 11.1V 4500mAh trong thời gian 1 giờ.
- Tối ưu hóa mạch công suất: Thiết kế thành công mạch logic phụ trợ (NOT/AND) cho driver L298N, rút gọn giao tiếp điều khiển động cơ xuống còn 1 chân PWM và 1 chân DIR.
- Xây dựng giải thuật định hướng và điều hướng: Xử lý chính xác chuỗi dữ liệu GPS
$GPGGA, hiệu chỉnh góc nghiêng từ trường địa phương $-1^\circ 52'$ cho la bàn HMC5883L, và thực thi thuật toán điều khiển góc rẽ theo các ngưỡng phân vùng sai số headingError.
- Ổn định vận tốc bằng PID: Bộ điều khiển PID với $K_p = 125, K_d = 0.0001$ giúp động cơ vận hành quanh điểm đặt 40 rpm, đáp ứng trong khoảng 35–45 rpm (sai số xác lập trong mức $12.5%$).
- Hệ thống giám sát và an toàn: Thiết lập thành công kênh truyền không dây tầm xa qua LoRa AS32 (tốc độ 9600 bps), xây dựng giao diện điều khiển Python 2 chế độ (Bản đồ / Thủ công) và cơ chế tự ngắt chuyển động khi phát hiện vật cản qua cảm biến HC-SR04 (khoảng cách dừng 0.15 m, khoảng an toàn 3.5 m).
Giải pháp và kiến nghị của tác giả
- Tác giả đề xuất mô hình điều khiển phân cấp: máy tính chịu trách nhiệm xử lý các tác vụ nặng (tính toán tọa độ bản đồ, quản lý chuỗi điểm mốc), trong khi vi điều khiển tập trung vào các tác vụ thời gian thực (đọc cảm biến, chạy vòng lặp PID động cơ, kiểm soát an toàn vật cản).
- Đề xuất phương pháp mã hóa nhị phân dữ liệu GPS thành các chuỗi byte ngắn gọn có byte nhận diện (
0xFF) giúp tối ưu hóa băng thông truyền nhận qua sóng vô tuyến LoRa.
Đóng góp tự nêu
Khóa luận đã tích hợp thành công các module phần cứng thương mại phổ biến, chi phí thấp thành một hệ thống xe tự hành vận chuyển ngoài trời hoàn chỉnh có khả năng bám tọa độ GPS và giám sát trực quan trên bản đồ, cung cấp cơ sở thực nghiệm cho các ứng dụng tự động hóa vận chuyển nội bộ.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế được ghi nhận
- Độ chính xác định vị của module GPS NEO-M8N phụ thuộc nhiều vào điều kiện môi trường xung quanh (sai số danh định khoảng 2.5m CEP), dễ bị suy giảm chất lượng tín hiệu khi gặp vật cản che khuất như nhà cao tầng hoặc tán cây lớn.
- Cảm biến từ trường HMC5883L có độ nhạy cao nên dễ bị ảnh hưởng bởi nhiễu điện từ phát ra từ dòng điện động cơ, dây dẫn và các chi tiết kim loại trên thân xe.
- Bộ điều khiển tốc độ PID vẫn còn biên độ dao động sai số vận tốc nhất định ($\pm 12.5%$).
- Hệ thống chỉ hoạt động được trong không gian ngoài trời thông thoáng, chưa có khả năng hoạt động hỗn hợp trong nhà hoặc các khu vực hoàn toàn mất sóng vệ tinh.
Hướng phát triển trong tương lai
- Nâng cấp phần cứng định vị sang module GPS RTK (Real-Time Kinematic) hoặc tích hợp thêm cảm biến đo quán tính (IMU) và thuật toán lọc Kalman mở rộng để định vị chính xác cao và duy trì vị trí khi mất tín hiệu GPS.
- Tối ưu hóa kết cấu chống nhiễu từ trường cho la bàn số bằng vật liệu cách ly và tinh chỉnh thuật toán bù sai số động.
- Cải tiến thông số bộ điều khiển PID hoặc nghiên cứu áp dụng các giải thuật điều khiển phi tuyến hiện đại nhằm giảm sai số vận tốc động cơ.
- Bổ sung cảm biến LiDAR hoặc hệ thống thị giác máy tính (Camera) nhằm nâng cao khả năng nhận dạng vật cản động phức tạp và hỗ trợ lập bản đồ cục bộ (SLAM).
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo hữu ích cho sinh viên, học viên và kỹ sư thuộc các ngành Cơ điện tử, Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Robot, Kỹ thuật Cơ khí và Công nghệ Thông tin.
Các nội dung có giá trị tham khảo kỹ thuật cao trong tài liệu gồm:
- Phương pháp tính toán và kiểm nghiệm kết cấu: Trình tự tính toán chọn công suất động cơ, kiểm nghiệm bền uốn khung nhôm trên phần mềm CAD/CAE (Autodesk Inventor).
- Thiết kế mạch logic điều khiển động cơ: Sơ đồ phối ghép cổng logic NOT/AND cho mạch cầu H L298N để giảm thiểu chân điều khiển vi điều khiển.
- Kỹ thuật xử lý tín hiệu cảm biến định vị: Thuật toán bóc tách dữ liệu GPS chuẩn NMEA và phương pháp bù góc nghiêng từ trường địa phương cho la bàn số HMC5883L.
- Thiết kế hệ thống truyền thông nhúng và giao diện: Cách thức đóng gói dữ liệu nhị phân truyền qua LoRa và kỹ thuật lập trình giao diện giám sát bản đồ bằng Python.
Câu hỏi thường gặp
1. Kết cấu khung xe được chế tạo từ vật liệu gì và đã được kiểm nghiệm bền như thế nào?
Khung xe có kích thước $300 \times 470\text{ mm}$, nặng 3 kg, được làm từ nhôm-1345 dạng hộp vuông kích thước $15 \times 15\text{ mm}$. Kết cấu được kiểm nghiệm bằng mô phỏng ứng suất uốn và biến dạng trên phần mềm Autodesk Inventor dưới tác dụng của tổng tải trọng $15\text{ kg} \times 9.15\text{ N}$ (yêu cầu kích thước thanh chịu lực $>12.3345\text{ mm}$).
2. Nhóm tác giả đã giải quyết bài toán giảm số chân điều khiển driver L298N bằng cách nào?
Nhóm đã thiết kế một mạch logic phụ trợ gồm các cổng NOT và AND với 2 ngõ vào là PWM (vận tốc) và DIR (hướng). Tín hiệu ngõ ra kích driver được tạo theo logic $\text{In1} = \text{PWM} \cdot \overline{\text{DIR}}$ và $\text{In2} = \text{PWM} \cdot \text{DIR}$, giúp điều khiển chiều quay và tốc độ động cơ chỉ bằng 2 chân vi điều khiển thay vì 3 chân như thiết kế truyền thống.
3. Tại sao cần bù góc nghiêng từ trường cho cảm biến la bàn HMC5883L và giá trị bù tại Hà Nội là bao nhiêu?
Cảm biến HMC5883L chỉ đo hướng Bắc từ tính (Magnetic North), trong khi dẫn đường thực tế cần hướng Bắc thực (True North). Sự chênh lệch giữa hai hướng này là góc nghiêng từ trường (Magnetic Declination). Tại khu vực Hà Nội, góc nghiêng này là $-1^\circ 52'$ (tương đương $-0.00021883764431\text{ rad}$), do đó góc thực được tính bằng cách cộng giá trị bù này vào giá trị góc đo được từ cảm biến.
4. Dữ liệu tọa độ GPS được mã hóa như thế nào khi truyền từ Arduino lên máy tính qua LoRa AS32?
Chuỗi dữ liệu được đóng gói thành một gói tin 9 bytes gồm: 1 byte tiêu đề nhận dạng (0xFF), 4 bytes biểu diễn vĩ độ (Latitude) và 4 bytes biểu diễn kinh độ (Longitude). Tại bên nhận, dữ liệu được giải mã bằng các phép dịch bit trái 8 vị trí (<< 8) và phép logic OR để khôi phục lại giá trị số nguyên ban đầu.
5. Thuật toán điều hướng trên Arduino xử lý sai số góc (headingError) theo các ngưỡng nào?
Thuật toán phân chia điều khiển xe theo các vùng sai số góc:
- Đi thẳng nếu $-10^\circ < \text{headingError} < 10^\circ$.
- Quay trái nếu $\text{headingError} > 180^\circ$ hoặc $-180^\circ < \text{headingError} < -10^\circ$.
- Quay phải nếu $10^\circ < \text{headingError} < 180^\circ$ hoặc $\text{headingError} < -180^\circ$.
- Dừng xe nếu phát hiện vật cản qua cảm biến siêu âm HC-SR04.
Kết luận
Đồ án tốt nghiệp "Thiết kế và điều khiển xe tự hành sử dụng định vị GPS" của nhóm sinh viên ngành Cơ điện tử, Trường Cơ khí - Đại học Bách Khoa Hà Nội đã hoàn thành việc thiết kế, chế tạo phần cứng và xây dựng thuật toán điều khiển cho mô hình xe tự hành 4 bánh đa hướng chở hàng 10 kg ngoài trời. Đề tài tích hợp đồng bộ hệ thống phần cứng gồm Arduino Mega 2560, cảm biến GPS NEO-M8N, la bàn số HMC5883L, cảm biến siêu âm HC-SR04, mạch truyền thông LoRa AS32 cùng giao diện giám sát bản đồ thời gian thực trên nền tảng Python. Kết quả nghiên cứu khẳng định tính khả thi của giải pháp dẫn đường tự động bằng GPS kết hợp bù góc từ trường và điều khiển phản hồi PID, đóng góp một tài liệu kỹ thuật thực nghiệm có giá trị cho lĩnh vực robot di động và tự động hóa vận chuyển.