Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh khoa học kỹ thuật và tự động hóa phát triển, nhu cầu ứng dụng robot tự hành (mobile robot) nhằm thay thế con người trong các công việc nặng nhọc, nguy hiểm và độc hại ngày càng gia tăng. Các môi trường làm việc đặc thù như nhà xưởng sản xuất, khu vực hóa chất, môi trường phóng xạ, không gian hạn chế tầm nhìn, cũng như các ứng dụng dân dụng phục vụ đời sống (vệ sinh, khử trùng, vận chuyển hàng hóa) đòi hỏi các phương tiện tự hành phải có khả năng di chuyển linh hoạt và định vị chính xác. Trong lĩnh vực robot tự hành, bài toán điều hướng (navigation) đóng vai trò trung tâm, bao gồm việc xây dựng bản đồ môi trường, xác định vị trí của robot, hoạch định đường đi (path planning) tối ưu và né tránh các chướng ngại vật trên đường di chuyển.

Khóa luận tốt nghiệp mã số 22223DT181 với đề tài "Thuật toán di chuyển cho mobile robot sử dụng cảm biến LiDAR" được thực hiện bởi nhóm sinh viên Nguyễn Thị Huế, Nguyễn Đức Thành, Phạm Ngọc Duy dưới sự hướng dẫn của ThS. Võ Lâm Chương tại Bộ môn Cơ điện tử, Khoa Cơ khí Chế tạo máy, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (niên khóa 2022–2023, hoàn thành tháng 08/2023).

Nhóm tác giả xác định 7 mục tiêu nghiên cứu cụ thể:

  1. Thiết kế mô hình mobile robot có khả năng di chuyển linh hoạt trong không gian hai chiều.
  2. Tính toán và lựa chọn động cơ, cơ cấu truyền động phù hợp cho hệ thống robot.
  3. Xây dựng hệ phương trình động học tương thích với cơ cấu di chuyển đã thiết kế.
  4. Thiết kế mạch điều khiển và phân phối nguồn cho toàn bộ hệ thống robot.
  5. Thiết kế bộ điều khiển tốc độ động cơ vòng kín, đảm bảo tính ổn định chuyển động.
  6. Nghiên cứu thuật toán di chuyển bao gồm tránh vật cản và dẫn hướng robot đến các tọa độ chỉ định bằng cảm biến LiDAR kết hợp hệ điều hành robot (ROS).
  7. Xây dựng bản đồ môi trường hoạt động và định vị chính xác vị trí robot trên bản đồ đã thiết lập.

Đối tượng và phạm vi nghiên cứu của đồ án:

  • Đối tượng nghiên cứu: Động cơ DC servo có tích hợp encoder, máy tính nhúng Raspberry Pi 4 Model B, kit vi điều khiển STM32F103C8T6, cảm biến quét laser RPLiDAR A1M8, nền tảng hệ điều hành robot (ROS) và các giải thuật xử lý bản đồ, điều hướng (Hector SLAM, AMCL, Dijkstra).
  • Phạm vi nghiên cứu: Mô hình mobile robot ba bậc tự do sử dụng cơ cấu ba bánh xe đa hướng (Omni-wheel) bố trí đối xứng; không gian hoạt động giới hạn trong môi trường trong nhà (indoor) trên bề mặt phẳng; xây dựng bản đồ lưới 2D và dẫn hướng bám quỹ đạo tránh vật cản tĩnh và động.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và các bài toán cốt lõi của robot tự hành

Theo lý thuyết điều hướng robot học được trích dẫn từ Lagoudakis (2002), để di chuyển độc lập trong môi trường thực tế, mobile robot phải giải quyết đồng thời bốn bài toán thành phần:

  • Xây dựng bản đồ (Mapping): Khảo sát và số hóa không gian vật lý xung quanh thành dạng dữ liệu không gian mà máy tính có thể xử lý (bản đồ lưới occupancy grid map).
  • Định vị robot (Localization): Ước lượng liên tục vị trí và góc hướng của robot trong hệ tọa độ của bản đồ đã tạo.
  • Hoạch định đường đi (Path planning): Tính toán quỹ đạo chuyển động hình học từ điểm xuất phát đến vị trí mục tiêu sao cho tối ưu hóa quãng đường hoặc thời gian di chuyển.
  • Tránh vật cản (Obstacle avoidance): Phát hiện chướng ngại vật xuất hiện đột xuất trên hành trình và điều chỉnh quỹ đạo cục bộ theo thời gian thực để ngăn ngừa va chạm.

So sánh các thuật toán hoạch định đường đi

Nhóm tác giả tiến hành tổng quan và phân tích ưu, nhược điểm của các giải thuật hoạch định quỹ đạo phổ biến trong lĩnh vực robot tự hành:

Thuật toán Nguyên lý hoạt động Ưu điểm chính Hạn chế chính
Trường thế năng (Potential Field) Xem robot là điểm chuyển động dưới tác dụng của lực hút từ mục tiêu và lực đẩy từ vật cản. Cấu trúc tính toán đơn giản, phản ứng nhanh trong môi trường động, không đòi hỏi bản đồ trước. Dễ rơi vào trạng thái bế tắc tại cực tiểu cục bộ (local minimum); dao động trước nhiều rào cản gần nhau.
Bản đồ đường (Road Map) Biểu diễn không gian di chuyển bằng mạng lưới các đường đi định trước kết nối các nút. Giảm độ phức tạp tính toán thời gian thực, độ tin cậy cao trong môi trường có cấu trúc cố định. Phụ thuộc hoàn toàn vào độ chính xác của bản đồ dựng trước; tốn tài nguyên cập nhật khi môi trường thay đổi.
Giải thuật di truyền (GA) Tối ưu hóa ngẫu nhiên dựa trên cơ chế tiến hóa sinh học (chọn lọc, lai ghép, đột biến quần thể gen). Khám phá không gian tìm kiếm đa chiều rộng lớn; giải quyết tốt bài toán đa mục tiêu phức tạp. Thời gian tính toán lớn, hội tụ chậm, khó đáp ứng yêu cầu điều khiển thời gian thực trực tiếp.
Thuật toán bầy đàn (PSO) Mô phỏng hành vi di chuyển tìm mồi của bầy chim hoặc đàn cá để cập nhật vị trí nghiệm tối ưu. Cấu trúc giải thuật đơn giản, dễ cài đặt, ít tham số điều chỉnh hơn so với giải thuật di truyền. Dễ vướng vào cực tiểu cục bộ; tốc độ hội tụ suy giảm trong bài toán đa ràng buộc phức tạp.
Thuật toán Dijkstra Duyệt đồ thị có trọng số không âm bằng chiến lược nhánh cận (greedy) sử dụng hàng đợi ưu tiên. Đảm bảo tính toán chính xác đường đi ngắn nhất toàn cục; tin cậy cao trên đồ thị dạng lưới. Không áp dụng được cho đồ thị trọng số âm; chi phí bộ nhớ và thời gian tăng nhanh khi kích thước đồ thị lớn.

Từ phân tích trên, nhóm nghiên cứu lựa chọn thuật toán Dijkstra (được tích hợp trong gói phần mềm Navfn của ROS Navigation Stack) làm giải thuật hoạch định đường đi toàn cục nhờ tính tối ưu tuyệt đối và độ ổn định cao trên bản đồ lưới tĩnh.

Phương pháp nghiên cứu thực nghiệm và mô hình hóa

  • Mô hình hóa động học: Thiết lập hệ phương trình toán học mô tả quan hệ vận tốc giữa các bánh xe omni và vận tốc tổng hợp của thân robot thông qua ma trận chuyển đổi hệ tọa độ toàn cục và hệ tọa độ cục bộ.
  • Nhận dạng hệ thống thực nghiệm: Cấp tín hiệu xung PWM bậc thang vào động cơ, đo đạc đáp ứng vận tốc góc qua encoder và sử dụng công cụ System Identification Toolbox trên phần mềm Matlab để xây dựng hàm truyền đạt thực nghiệm của cơ cấu truyền động.
  • Tổng hợp hệ thống điều khiển: Sử dụng thuật toán điều khiển tỉ lệ - tích phân (PI), áp dụng tiêu chuẩn ổn định đại số Routh-Hurwitz để xác định dải tham số độ lợi đảm bảo hệ thống kín ổn định.
  • Tích hợp phần mềm nguồn mở: Ứng dụng hệ điều hành robot ROS (Robot Operating System) để kết nối đồng bộ các luồng thông tin cảm biến, thuật toán Hector SLAM, thuật toán định vị hạt thích nghi (AMCL) và khối điều hướng ROS Navigation Stack.

Thiết kế và triển khai hệ thống kỹ thuật

Thiết kế cơ khí và tính toán động lực học

Nhóm tác giả khảo sát ba dạng cơ cấu di chuyển phổ biến: cơ cấu hai bánh chủ động kết hợp một bánh dẫn hướng (vi sai), cơ cấu bốn bánh Mecanum và cơ cấu ba bánh Omni. Cơ cấu ba bánh Omni được lựa chọn nhờ cấu trúc cơ học đối xứng, khả năng chuyển động toàn hướng (omni-directional) linh hoạt trong không gian hẹp mà không cần quay góc thân xe, đồng thời tiết kiệm số lượng động cơ so với hệ bốn bánh Mecanum. Ba trục bánh xe được bố trí lệch nhau từng đôi một góc 120°, tâm các bánh xe cách đều tâm hình học của robot một khoảng cách $L$.

Dựa trên các thông số thiết kế đầu vào: khối lượng robot toàn tải $M = 10\text{ kg}$, vận tốc cực đại mong muốn $v_{\max} = 1\text{ m/s}$, thời gian gia tốc $t = 1\text{ s}$ (tương ứng gia tốc $a = 1\text{ m/s}^2$), bán kính bánh xe Omni $R = 0,039\text{ m}$, khối lượng mỗi bánh xe $m = 0,35\text{ kg}$ và hệ số an toàn tính toán $k = 2$.

Từ mô hình cân bằng mô-men quay và định luật II Newton: $$\tau - F_{\text{ms}} R = I \gamma$$ $$F_{\text{ms}} = \frac{1}{2} (M + m) a$$

Nhóm tính toán được tốc độ quay định mức của động cơ: $$n = \frac{60 \cdot v_{\max}}{2 \pi R} \approx 245\text{ vòng/phút}$$ Công suất kéo yêu cầu của mỗi động cơ: $$P = \tau \omega \approx 11,05\text{ W}$$

Từ kết quả trên, nhóm lựa chọn loại động cơ Planet giảm tốc 24VDC có công suất định mức 30W, tốc độ không tải 600 vòng/phút, dòng điện tiêu thụ 3600 mA, khả năng chịu tải trọng tối đa 25 kg, tích hợp bộ encoder quang học 2 kênh A-B độ phân giải 12 xung/vòng (ppr). Thân vỏ và khung đế robot được thiết kế bằng phần mềm CAD và chế tạo bằng công nghệ in 3D với vật liệu nhựa sinh học PLA-FS, tạo nên kết cấu hình trụ tròn có kích thước tổng thể đường kính 200 mm và chiều cao 110 mm.

Thiết kế hệ thống điện và phần cứng điều khiển

Hệ thống điện của robot phân chia thành hai tầng xử lý: tầng tính toán cao cấp (chạy ROS) và tầng điều khiển chấp hành cấp thấp (giao tiếp vi điều khiển và công suất).

Thiết bị Chức năng kỹ thuật Thông số kỹ thuật danh định
RPLiDAR A1M8 Quét laser 2D đo khoảng cách và lập bản đồ Góc quét 360°, tầm đo 0,15–12 m, tần số quét 10 Hz, tốc độ lấy mẫu 8000 điểm/giây, giao tiếp UART, điện áp 5VDC.
Raspberry Pi 4 Model B Máy tính nhúng chạy hệ điều hành Linux và ROS Vi xử lý Broadcom BCM2711, 4 nhân ARM Cortex-A72, kết nối Wi-Fi, Ethernet, USB 3.0, nguồn cấp 5V/3A.
STM32F103C8T6 Vi điều khiển xử lý vòng lặp PID và đọc encoder Lõi ARM Cortex-M3, 32-bit, tần số xung nhịp tối đa 72 MHz, 64/128 KB Flash, 20 KB SRAM, ngoại vi Timer 4X.
BTS7960 Mạch điều khiển cầu H công suất cho động cơ DC Điện áp 6–27VDC, dòng tải cực đại 43A, tần số điều chế độ rộng xung (PWM) tối đa 25 kHz, tích hợp cảm biến nhiệt và bảo vệ sụt áp.
LM2596 Mạch giảm áp Buck DC-DC Dải điện áp vào 4–30VDC, điện áp ra điều chỉnh 1,5–30VDC, dòng ra tối đa 3A, hiệu suất chuyển đổi cao.
Pin LiPo 6S Nguồn cấp cho hệ thống động cơ và mạch công suất Cấu tạo 6 cell mắc nối tiếp, điện áp danh định 22,2V, dung lượng 6000 mAh (hoặc 6500 mAh), hệ số xả tức thời 45C, khối lượng 1880g.
Nguồn sạc dự phòng Nguồn cấp độc lập cho bo mạch Raspberry Pi 4 Điện áp 5VDC, dòng định mức 3A, tách biệt mass nhằm chống sụt áp và nhiễu từ động cơ công suất.

Hệ thống hạ áp gồm hai mạch LM2596 nhận nguồn từ pin LiPo 22,2V: một mạch chuyển đổi xuống 12VDC cấp cho các đầu vào logic của mạch cầu H BTS7960, một mạch chuyển đổi xuống 5VDC cấp nguồn nuôi cho các vi điều khiển và mạch ngoại vi.

Nội dung chính theo từng chương

CHƯƠNG 1: GIỚI THIỆU

Chương này trình bày tính cấp thiết của đề tài trong xu thế phát triển của tự động hóa và robot công nghiệp. Tác giả nêu rõ mục tiêu nghiên cứu tập trung vào việc làm chủ thiết kế cơ khí ba bánh omni, mô hình hóa toán học, tích hợp cảm biến LiDAR và ứng dụng hệ điều hành robot ROS để thực hiện tự hành trong nhà. Chương 1 đồng thời xác lập đối tượng nghiên cứu, phạm vi không gian thử nghiệm trong nhà, phương pháp tiếp cận và kết cấu phân bổ sáu chương của đồ án.

CHƯƠNG 2: TỔNG QUAN ĐỀ TÀI

Chương 2 tổng hợp cơ sở lý thuyết về robot tự hành và phân tích chi tiết bốn bài toán cốt lõi: Mapping, Localization, Path planning và Obstacle avoidance theo tài liệu học thuật chuyên ngành. Tác giả thực hiện khảo sát lý thuyết, phân tích cơ chế, ưu điểm và nhược điểm của năm phương pháp hoạch định quỹ đạo: trường thế năng (Potential Field), bản đồ đường (Road Map), giải thuật di truyền (GA), thuật toán bầy đàn (PSO) và thuật toán Dijkstra. Kết quả chương này đặt tiền đề lý luận cho việc tích hợp thuật toán Dijkstra thông qua nền tảng ROS.

CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG HỆ THỐNG

Chương 3 trình bày toàn bộ quá trình tính toán và hiện thực hóa phần cứng của robot:

  • So sánh ưu nhược điểm của ba loại cơ cấu bánh xe (bánh đĩa truyền thống, bánh Mecanum, bánh Omni) và đưa ra quyết định chọn hệ ba bánh Omni lệch góc 120°.
  • Xây dựng mô hình toán cơ cấu động học bánh xe chủ động, tính toán công suất yêu cầu ($P \approx 11,05\text{ W}$) và tốc độ quay ($n \approx 245\text{ vòng/phút}$), từ đó lựa chọn động cơ Planet 24V 30W 600rpm có gắn encoder 12 ppr.
  • Thiết kế kết cấu cơ khí khung và vỏ bảo vệ trên phần mềm CAD, sau đó gia công chế tạo hoàn chỉnh bằng công nghệ in 3D nhựa PLA-FS.
  • Lựa chọn linh kiện điện tử: cảm biến RPLiDAR A1M8, máy tính nhúng Raspberry Pi 4, vi điều khiển STM32F103C8T6, mạch công suất BTS7960, mạch giảm áp LM2596 và hệ thống nguồn pin LiPo 6S kết hợp pin dự phòng độc lập.
  • Thiết lập sơ đồ nguyên lý mạch điều khiển kết nối toàn bộ hệ thống.

CHƯƠNG 4: ĐỘNG HỌC – ĐIỀU KHIỂN

Chương 4 tập trung giải quyết bài toán mô hình hóa động học và tổng hợp hệ thống điều khiển vòng kín cho robot:

  • Động học ba bánh Omni: Thiết lập ma trận biến đổi tọa độ $R(\theta)$ từ hệ quy chiếu toàn cục $Oxy$ sang hệ quy chiếu cục bộ robot $MV_nV$. Xây dựng phương trình động học thuận và nghịch, biểu diễn mối liên hệ giải tích giữa vận tốc dài của ba bánh xe $(v_1, v_2, v_3)$ với các thành phần vận tốc của khung robot $(v, v_n, \omega)$: $$v_1(t) = -\sin(\theta) v(t) + \cos(\theta) v_n(t) + L \omega(t)$$ $$v_2(t) = -\sin\left(\frac{\pi}{3} - \theta\right) v(t) - \cos\left(\frac{\pi}{3} - \theta\right) v_n(t) + L \omega(t)$$ $$v_3(t) = \sin\left(\frac{\pi}{3} + \theta\right) v(t) - \cos\left(\frac{\pi}{3} + \theta\right) v_n(t) + L \omega(t)$$
  • Mô phỏng động học trên Matlab: Thực hiện năm kịch bản kiểm chứng mô phỏng: (1) Quỹ đạo đường tròn với $v_1 = -1,7\text{ m/s}, v_2 = 2,5\text{ m/s}, v_3 = 2\text{ m/s}$; (2) Quỹ đạo thẳng chiều âm với $v_1 = -5\text{ m/s}, v_2 = 2,5\text{ m/s}, v_3 = 2,5\text{ m/s}$; (3) Quỹ đạo thẳng chiều dương với $v_1 = 0\text{ m/s}, v_2 = -2\text{ m/s}, v_3 = 2\text{ m/s}$; (4) Quỹ đạo ngang với $v_1 = -1\text{ m/s}, v_2 = 0\text{ m/s}, v_3 = 1\text{ m/s}$; (5) Quỹ đạo dọc với $v_1 = 1\text{ m/s}, v_2 = -2\text{ m/s}, v_3 = 1\text{ m/s}$.
  • Kỹ thuật đọc encoder: Sử dụng khối Timer phần cứng của vi điều khiển STM32 ở chế độ đọc 4X (bắt cả hai sườn lên và sườn xuống của hai pha A và B) giúp tăng độ phân giải lên gấp 4 lần, giải phóng tài nguyên xử lý CPU so với phương pháp ngắt ngoài truyền thống.
  • Nhận dạng hàm truyền động cơ: Khảo sát đáp ứng tốc độ với điện áp kích thích xung PWM ở mức 20% $PWM_{\max}$ ($PWM = 0,1$). Bằng công cụ System Identification trên Matlab, nhóm xác định hàm truyền xấp xỉ của hệ động cơ có trễ: $$G(s) = \frac{1,216 \times 10^5}{s^2 + 33,47s + 244,8} e^{-0,00667s}$$ với độ chính xác đạt 95,48%. Tác giả đồng thời xác định hàm truyền riêng biệt của từng động cơ $G_1(s), G_2(s), G_3(s)$ nhằm đánh giá sự sai lệch chế tạo.
  • Tính toán bộ điều khiển: Lập phương trình đặc trưng vòng kín, áp dụng bảng tiêu chuẩn Routh-Hurwitz tổng quát và xác lập điều kiện biên cho các thông số độ lợi. Trong bài toán điều khiển vận tốc, tác giả lược bỏ khâu vi phân ($K_D = 0$) để tránh khuếch đại nhiễu đo lường, áp dụng bộ điều khiển PI rời rạc.
  • Giao tiếp phần cứng: Thiết lập kênh truyền dữ liệu nối tiếp UART tốc độ cao giữa bo mạch chủ Raspberry Pi và các kit STM32.

CHƯƠNG 5: XÂY DỰNG PHẦN MỀM TRÊN ROS

Chương 5 hiện thực hóa toàn bộ thuật toán điều khiển thông minh trên hệ điều hành robot ROS:

  • Khái quát kiến trúc trao đổi dữ liệu phân tán trong ROS thông qua cơ chế Master, Node, Topic (xuất bản/đăng ký dữ liệu cảm biến, vận tốc cmd_vel) và Service (giao tiếp yêu cầu - phản hồi).
  • Thiết lập gói phần mềm ROS Navigation Stack để liên kết các tầng xử lý: nhận dữ liệu laser scan từ RPLiDAR A1M8, nhận thông tin odometry từ vi điều khiển, cập nhật chi phí bản đồ (costmap) toàn cục và cục bộ.
  • Triển khai thuật toán Hector SLAM: Sử dụng thuật toán khớp mẫu quét laser (scan matching) dựa trên phép tối ưu Gauss-Newton để lập bản đồ lưới không gian 2D với độ phân giải cao mà không phụ thuộc tuyệt đối vào sai số tích lũy của odometry bánh xe.
  • Định vị bằng giải thuật thích nghi Adaptive Monte Carlo Localization (AMCL): Sử dụng bộ lọc hạt (particle filter) để ước lượng tọa độ và hướng của robot dựa trên sự tương đồng giữa tia quét laser thực tế và bản đồ tĩnh do Map Server lưu trữ.
  • Hoạch định đường đi với thuật toán Dijkstra: Tự động tính toán đường đi ngắn nhất không va chạm từ vị trí hiện tại đến điểm đích do người dùng chỉ định trên giao diện Rviz, đồng thời bám quỹ đạo và phản ứng linh hoạt né tránh chướng ngại vật xuất hiện tức thời.

CHƯƠNG 6: KẾT LUẬN – HƯỚNG PHÁT TRIỂN

Chương 6 tổng kết các kết quả thực nghiệm đạt được trên mô hình vật lý hoàn chỉnh: khả năng bám quỹ đạo di chuyển định trước, độ chính xác của bản đồ 2D thu thập được từ cảm biến LiDAR, và tính ổn định khi tránh chướng ngại vật tĩnh lẫn chướng ngại vật động. Tác giả thẳng thắn đánh giá những hạn chế còn tồn tại của hệ thống và đề xuất các phương hướng cải tiến nghiên cứu tiếp theo.

Kết quả và đóng góp

Kết quả kỹ thuật đạt được

  • Về cơ khí và phần cứng: Chế tạo thành công mô hình robot tự hành ba bánh Omni hoàn chỉnh, kích thước đường kính 200 mm, chiều cao 110 mm, tổng khối lượng xấp xỉ 10 kg. Hệ thống khung vỏ in 3D nhựa PLA-FS hoạt động vững chắc, liên kết chặt chẽ các cụm chấp hành, driver công suất, cảm biến và mạch nguồn.
  • Về mô hình hóa và điều khiển:
    • Xây dựng thành công hệ phương trình động học cho cơ cấu 3 bánh omni lệch 120°, xác nhận qua 5 kịch bản mô phỏng quỹ đạo chuẩn (đường tròn, chuyển động tịnh tiến dọc, ngang và xiên) trên Matlab.
    • Xác định chính xác hàm truyền đạt thực nghiệm của động cơ Planet 24V 30W với độ khớp mô hình đạt 95,48% ($G(s) = \frac{1,216 \times 10^5}{s^2 + 33,47s + 244,8} e^{-0,00667s}$).
    • Ứng dụng thành công tiêu chuẩn Routh-Hurwitz để lựa chọn tham số bộ điều khiển PI, điều khiển độc lập và đồng bộ ba động cơ bám sát vận tốc đặt, xử lý tín hiệu xung encoder qua Timer chế độ 4X không gây trễ vi điều khiển.
  • Về phần mềm và thuật toán di chuyển:
    • Ứng dụng Hector SLAM xây dựng thành công bản đồ lưới 2D của môi trường trong nhà có chướng ngại vật với ranh giới rõ ràng.
    • Thuật toán AMCL duy trì hội tụ đám hạt hạt định vị, xác định chính xác vị trí robot trong bản đồ.
    • Thuật toán Dijkstra trên ROS Navigation Stack tính toán thành công đường đi ngắn nhất tới mục tiêu, bám quỹ đạo ổn định trong cả hai trường hợp: môi trường tĩnh không có vật cản và môi trường có vật cản động xuất hiện bất ngờ cắt ngang hành trình.

Giải pháp và kiến nghị kỹ thuật của nhóm tác giả

  • Phân tách hệ thống nguồn điện: Tách riêng nguồn cấp 5V từ sạc dự phòng cho bo mạch tính toán Raspberry Pi 4 và nguồn pin LiPo 6S 22,2V cho tầng động cơ công suất nhằm loại bỏ hiện tượng sụt áp gây khởi động lại máy tính nhúng khi động cơ khởi động dòng cao.
  • Đọc xung encoder bằng Timer phần cứng: Chuyển đổi phương pháp bắt cạnh ngắt ngoài sang sử dụng bộ đếm Timer nội vi trên chip STM32 ở chế độ 4X, giúp triệt tiêu hiện tượng nghẽn ngắt khi động cơ quay tốc độ cao và hạn chế tối đa sai số do nhiễu xung.
  • Sử dụng bộ điều khiển PI lược bỏ vi phân: Nhận diện việc sử dụng khâu vi phân ($K_D$) dễ khuếch đại xung nhiễu từ bộ truyền động bánh răng và tín hiệu phản hồi encoder, do đó cố định $K_D = 0$ và chỉ điều chỉnh tỉ lệ $K_P$, tích phân $K_I$ để đảm bảo tính trơn mượt của đáp ứng vận tốc.

Đóng góp của công trình

So với các đề tài nghiên cứu mobile robot sử dụng cấu hình vi sai thông thường, công trình đã làm chủ việc thiết kế, chế tạo và điều khiển dòng robot toàn hướng ba bánh Omni kết hợp với hệ điều hành robot chuyên dụng ROS. Nghiên cứu cung cấp quy trình bài bản từ khâu tính toán giải tích động lực học, nhận dạng hàm truyền đối tượng thực tế trên Matlab đến việc tích hợp các gói phần mềm SLAM và điều hướng LiDAR tiêu chuẩn công nghiệp.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của hệ thống

  • Hiện tượng trượt bánh cơ học: Cơ cấu bánh xe Omni trượt tự do trên con lăn nhỏ dễ xảy ra hiện tượng trượt vi mô khi tăng giảm tốc đột ngột, gây ra sai số tích lũy nhất định cho hệ thống đo đạc odometry thuần túy.
  • Giới hạn không gian hoạt động: Đề tài chỉ mới thử nghiệm kiểm chứng trong môi trường phòng thí nghiệm trong nhà có mặt sàn tương đối phẳng, chưa đánh giá được hiệu năng khi bề mặt có độ dốc, gồ ghề hoặc trơn trượt.
  • Tải trọng giới hạn: Khung vỏ chế tạo bằng công nghệ in 3D nhựa PLA-FS có tính thẩm mỹ và trọng lượng nhẹ nhưng khả năng chịu tải trọng nặng và hấp thụ rung động va đập còn hạn chế.
  • Phụ thuộc vào cảm biến 2D: Cảm biến RPLiDAR A1M8 là dòng quét laser đơn mặt phẳng ngang (2D LiDAR), do đó hệ thống không thể phát hiện các chướng ngại vật nằm quá thấp dưới gầm quét hoặc quá cao vượt khỏi mặt phẳng quét.

Hướng nghiên cứu mở rộng

  • Nghiên cứu tích hợp thêm cảm biến đo lường quán tính (IMU) đa trục và áp dụng các thuật toán lọc Kalman mở rộng (EKF) để dung hợp dữ liệu giữa cảm biến IMU, odometry bánh xe và LiDAR, giúp nâng cao độ chính xác định vị.
  • Nâng cấp kết cấu khung vỏ bằng vật liệu hợp kim nhôm hoặc gia cường cơ khí nhằm tăng tải trọng hữu ích, cho phép gắn thêm các cơ cấu chấp hành như tay gắp hoặc băng tải hàng hóa.
  • Nghiên cứu ứng dụng các thuật toán hoạch định quỹ đạo cục bộ tiên tiến hơn (như TEB Local Planner hoặc DWA) để cải thiện độ mượt và tối ưu hóa vận tốc của robot khi tránh các vật cản động tốc độ cao.
  • Mở rộng phạm vi hoạt động của robot ra môi trường ngoài trời hoặc liên tầng thông qua tích hợp cảm biến 3D LiDAR và thuật toán điều hướng không gian ba chiều.

Giá trị tham khảo

Bản đồ án tốt nghiệp là tài liệu tham khảo có giá trị học thuật và ứng dụng kỹ thuật thực tế cho:

  • Sinh viên và học viên ngành Kỹ thuật Cơ điện tử, Robot học và Kỹ thuật Điều khiển - Tự động hóa: Cung cấp tài liệu tham khảo chi tiết về quy trình mô hình hóa động học robot ba bánh omni lệch góc 120°, phương pháp thiết lập ma trận biến đổi tọa độ và giải thuật toán học tương ứng.
  • Kỹ sư phát triển phần cứng và hệ thống nhúng: Hướng dẫn chi tiết phương pháp nhận dạng hàm truyền đạt của động cơ DC servo từ dữ liệu thực nghiệm thông qua công cụ Matlab System Identification Toolbox; kỹ thuật lập trình Timer đọc xung encoder ở chế độ 4X trên vi điều khiển STM32F103C8T6; giải pháp thiết kế phân tầng nguồn cấp điện để chống nhiễu sụt áp.
  • Các nhà nghiên cứu ứng dụng ROS: Cung cấp kiến trúc tích hợp thực tế giữa máy tính nhúng Raspberry Pi 4 chạy ROS với các kit vi điều khiển thông qua giao thức truyền thông nối tiếp UART; tài liệu cấu hình chi tiết gói Hector SLAM, AMCL và Navfn (Dijkstra) phục vụ bài toán điều hướng tự hành trong nhà.

Câu hỏi thường gặp

1. Tại sao nhóm nghiên cứu lại lựa chọn cơ cấu ba bánh xe Omni thay vì bánh xe vi sai truyền thống hay bánh xe Mecanum?

Nhóm tác giả lựa chọn cơ cấu ba bánh xe Omni bố trí cách đều nhau một góc 120° vì cấu trúc này mang lại khả năng di chuyển toàn hướng (holonomic), cho phép robot tịnh tiến theo bất kỳ hướng nào và vừa tịnh tiến vừa xoay mà không cần thay đổi góc hướng thân xe. So với cơ cấu hai bánh vi sai truyền thống, bánh Omni linh hoạt hơn nhiều trong không gian hẹp. So với cơ cấu bốn bánh Mecanum, hệ ba bánh Omni có cấu trúc tổng thể nhỏ gọn hơn, tiết kiệm chi phí và giảm số lượng động cơ chấp hành (chỉ cần 3 động cơ thay vì 4 động cơ).

2. Các thông số động lực học nào đã được sử dụng để tính toán lựa chọn động cơ kéo cho robot?

Nhóm tác giả dựa trên các thông số ban đầu: khối lượng robot toàn tải $M = 10\text{ kg}$, vận tốc lớn nhất $v_{\max} = 1\text{ m/s}$, thời gian gia tốc mong muốn $t = 1\text{ s}$ (gia tốc $a = 1\text{ m/s}^2$), bán kính bánh xe $R = 0,039\text{ m}$, khối lượng bánh xe $m = 0,35\text{ kg}$ và hệ số an toàn $k = 2$. Từ đó tính toán được công suất yêu cầu của động cơ là $P \approx 11,05\text{ W}$ và tốc độ quay định mức $n \approx 245\text{ vòng/phút}$. Trên cơ sở này, nhóm lựa chọn động cơ Planet 24VDC có công suất 30W và tốc độ không tải 600 vòng/phút.

3. Hàm truyền đạt của hệ thống động cơ được xác định bằng cách nào và đạt độ tin cậy bao nhiêu?

Hàm truyền đạt của động cơ được nhóm xác định bằng phương pháp thực nghiệm: cấp tín hiệu kích thích xung PWM ở mức 20% công suất ($PWM = 0,1$), thu thập dữ liệu phản hồi vận tốc góc qua encoder và xử lý bằng công cụ System Identification Toolbox trên Matlab. Hàm truyền xấp xỉ dạng bậc hai có khâu trễ thu được là $G(s) = \frac{1,216 \times 10^5}{s^2 + 33,47s + 244,8} e^{-0,00667s}$, đạt độ chính xác mô hình hóa là 95,48%.

4. Giải pháp thiết kế nguồn điện nào được áp dụng để đảm bảo hệ thống không bị lỗi khởi động lại trong quá trình vận hành?

Nhóm áp dụng giải pháp tách biệt hai nguồn điện độc lập: sử dụng một nguồn sạc dự phòng chuyên dụng 5V/3A cấp riêng cho máy tính nhúng Raspberry Pi 4 Model B; nguồn động lực sử dụng pin LiPo 6S (22,2V, dung lượng 6000 mAh/6500 mAh, dòng xả tối đa 45C) đi qua hai mạch giảm áp LM2596 để cấp nguồn 12V cho các mạch công suất cầu H BTS7960 và nguồn 5V cho vi điều khiển cùng các cảm biến ngoại vi. Thiết kế này ngăn chặn triệt để hiện tượng sụt áp tức thời do dòng khởi động của 3 động cơ gây ảnh hưởng đến hệ điều hành của máy tính nhúng.

5. Những thuật toán phần mềm cụ thể nào trên nền tảng ROS được sử dụng để giải quyết bài toán tự hành?

Hệ thống sử dụng ba thuật toán chính: thuật toán Hector SLAM dựa trên cơ chế khớp mẫu quét laser (scan matching) để vẽ bản đồ lưới 2D của môi trường; thuật toán định vị hạt thích nghi AMCL (Adaptive Monte Carlo Localization) để liên tục xác định vị trí và hướng của robot trên bản đồ; và thuật toán Dijkstra (tích hợp trong gói Navfn của ROS Navigation Stack) để hoạch định đường đi ngắn nhất toàn cục và điều khiển robot bám quỹ đạo tránh chướng ngại vật tĩnh cũng như chướng ngại vật động.

Kết luận

Đồ án tốt nghiệp "Thuật toán di chuyển cho mobile robot sử dụng cảm biến LiDAR" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh đã giải quyết trọn vẹn và đồng bộ từ khâu tính toán thiết kế cơ khí, chế tạo phần cứng đến lập trình điều khiển tự động cho mô hình robot tự hành ba bánh Omni. Nhóm tác giả đã xây dựng thành công mô hình động học chính xác, nhận dạng hàm truyền đạt động cơ với độ khớp 95,48% và thiết lập bộ điều khiển PI vận tốc ổn định theo tiêu chuẩn Routh-Hurwitz. Bằng việc tích hợp cảm biến RPLiDAR A1M8 trên nền tảng ROS Navigation Stack kết hợp giải thuật Hector SLAM, AMCL và Dijkstra, hệ thống robot thực tế đã tự hành vẽ bản đồ không gian trong nhà, định vị và bám quỹ đạo tối ưu để né tránh chướng ngại vật một cách hiệu quả. Công trình là tài liệu học thuật và kỹ thuật thực nghiệm hoàn chỉnh, có giá trị ứng dụng cao cho nghiên cứu và phát triển các dòng phương tiện tự hành trong lĩnh vực Cơ điện tử.