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

Trong bối cảnh tự động hóa ngày càng phát triển, robot tự hành (mobile robot) đang được ứng dụng rộng rãi trong nhiều lĩnh vực thực tiễn như vận chuyển hàng hóa, kiểm tra môi trường nguy hiểm, hỗ trợ xe lăn cho người khuyết tật và phục vụ sinh hoạt gia đình. Tuy nhiên, rào cản lớn đối với các robot tự hành hiện nay là tính thiếu linh hoạt và khả năng thích nghi hạn chế khi hoạt động tại các vị trí, địa hình khác nhau. Nhằm giải quyết tình trạng này, bài toán tránh vật cản được đặt ra như một yêu cầu cốt lõi để nâng cao tính cơ động và đảm bảo an toàn vận hành. Đa số robot công nghiệp hiện nay chỉ tiếp cận ở mức cơ bản như dừng lại ở cự ly ngắn trước vật cản hoặc bám theo đường viền xung quanh; do đó, việc phát triển các giải pháp điều hướng linh hoạt hơn là vấn đề cấp thiết.

Đồ án tốt nghiệp với đề tài "Điều khiển mobile robot sử dụng bánh omni tránh vật cản" (hay "Mobile robot tránh vật cản") do nhóm sinh viên Lê Trung Kiên, Lê Thế Huy và Hoàng Văn Nghĩa thực hiện dưới sự hướng dẫn của GS.TS Phan Xuân Minh (cùng sự hỗ trợ kỹ thuật từ ThS. Ngô Mạnh Tiến và ThS. Nguyễn Văn Dũng tại Trường Cao đẳng nghề công nghệ cao Hà Nội) tập trung giải quyết các mục tiêu sau:

  1. Xây dựng một mô hình mobile robot hoàn chỉnh có khả năng di chuyển tự động đến vị trí đặt trước và chủ động tránh các vật cản trên đường đi.
  2. Ứng dụng cảm biến Kinect để tái tạo không gian môi trường phía trước robot dưới dạng mô hình 3D, từ đó trích xuất các tham số hình học cần thiết phục vụ thuật toán điều khiển.
  3. Thiết lập mô hình toán học (động học và động lực học) cho robot di động sử dụng cơ cấu 4 bánh đa hướng (Omni wheel), đồng thời thiết kế bộ điều khiển bám quỹ đạo.
  4. Nghiên cứu và triển khai công nghệ xử lý đám mây điểm 3D thông qua bộ thư viện PCL (Point Cloud Library) nhằm giải quyết bài toán phát hiện vật cản cục bộ trong thời gian thực.

Về phạm vi nghiên cứu, đề tài giới hạn không gian hoạt động của robot trên mặt sàn phẳng được bao quanh bởi các bức tường, trong đó các vật cản xuất hiện ngẫu nhiên. Đồ án tập trung giải quyết bài toán tìm đường cục bộ (local navigation), trong đó robot tự thu thập thông tin môi trường bằng cảm biến trên thân xe mà không cần nạp trước bản đồ toàn cục (global map).


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

Khung lý thuyết và mô hình toán học

  • Cơ cấu truyền động bánh Omni: Sử dụng loại bánh xe đa hướng Mecanum (được phát triển và cấp bằng sáng chế bởi công ty Mecanum - Thụy Sĩ năm 1973). Nguyên lý hoạt động dựa trên việc truyền lực kéo dọc trục động cơ kết hợp khả năng trượt tự do theo hướng phụ vuông góc ($90^\circ$) nhờ các con lăn nhỏ bố trí dọc chu vi bánh chính. Cơ cấu này cho phép robot chuyển động tịnh tiến và quay đồng thời theo bất kỳ hướng nào mà không cần đổi hướng đầu xe.
  • Hệ tọa độ và mô hình động học: Mô hình sử dụng hai hệ tọa độ gồm hệ cố định $O_w x_w y_w$ và hệ quy chiếu gắn với trọng tâm robot $O_m x_m y_m$. Vận tốc và lực tác dụng được mô tả qua ma trận biến đổi $R_m^w$ và ma trận chuyển đổi hình học $B$ giữa vận tốc bánh xe và vận tốc khối tâm:

$$F^m = B \cdot F^t, \quad \text{với } B = \begin{bmatrix} 0 & -1 & 0 & 1 \ 1 & 0 & -1 & 0 \ l & l & l & l \end{bmatrix}$$

  • Mô hình động lực học: Áp dụng định luật II Newton và nguyên lý công ảo để thiết lập mối quan hệ giữa lực đẩy động cơ, quán tính khối tâm, momen quán tính quanh trục thẳng đứng $I_m$, lực ma sát động học $c$ và bán kính bánh xe $r$:

$$M(\ddot{x}_m - \dot{y}m \dot{\theta}) = F{xm}, \quad M(\ddot{y}m + \dot{x}m \dot{\theta}) = F{ym}, \quad I_m \ddot{\theta} = T{zm}$$

  • Nguyên lý cảm biến chiều sâu Light Coding: Cảm biến Kinect sử dụng công nghệ của PrimeSense (chip xử lý PS1080 SoC xung nhịp 12 MHz). Hệ thống bao gồm bộ phát hồng ngoại (IR projector) chiếu chùm sáng qua lưới nhiễu xạ (diffraction gratings) tạo thành mẫu đốm sáng cố định, kết hợp camera hồng ngoại (IR camera) ghi nhận lại hình ảnh để tính toán khoảng cách hình học qua phép đo tam giác đạc trong cự ly 0,5 m đến 5 m.

Phương pháp nghiên cứu và công cụ xử lý

  • Phương pháp mô phỏng: Sử dụng Matlab/Simulink để xây dựng và kiểm chứng các khối mô phỏng động học thuận và động học ngược của robot 4 bánh Omni.
  • Phương pháp xử lý ảnh 3D: Kết hợp khung OpenNI và bộ thư viện Point Cloud Library (PCL) với cấu trúc 14 module chức năng (PCL_Common, Features, PCL_filters, Geometry, PCL_IO, PCL_Kdtree, PCL_Keypoint, PCL_Octree, PCL_registration, PCL_sample_consensus, PCL_Search, PCL_Segmentation, PCL_surface, PCL_visualization). Cấu trúc dữ liệu trung tâm là lớp pcl::PointCloud với các kiểu điểm pcl::PointXYZ, pcl::PointXYZRGB và pcl::PointXYZRGBA.
  • Phương pháp phân đoạn và cụm điểm: Sử dụng bộ lọc kích thước hộp (Voxel Grid filter) để giảm mật độ điểm dữ liệu; thuật toán thích ứng mẫu ngẫu nhiên RANSAC (RANdom SAmple Consensus) để tách và loại bỏ mặt phẳng sàn nhà; sau đó dùng giải thuật tách cụm không gian Euclid (Euclidean Cluster Extraction) để gom cụm các điểm rời rạc thành từng vật cản riêng biệt.

Thiết kế và triển khai

Hệ thống được thiết kế và chế tạo hoàn chỉnh từ phần cơ khí, mạch điện tử điều khiển cho đến phần mềm điều phối trên máy tính.

Hạng mục Thành phần Thông số kỹ thuật / Đặc điểm lựa chọn
Cơ khí & Kết cấu Khung thân robot Khung đế hình chữ thập, kết cấu 3 tầng: tầng trên đặt Kinect, tầng giữa đặt Laptop, tầng dưới đặt mạch điều khiển; trọng tâm xe đi qua tâm đế
Cơ cấu chuyển động 4 bánh xe Omni có góc chuyển động phụ $90^\circ$, truyền động từ động cơ qua dây curoa
Động lực & Chấp hành Động cơ 4 động cơ điện một chiều (DC) điện áp định mức 24 V, tích hợp bộ mã hóa xung (Encoder) đo tốc độ
Nguồn cấp 3 bình ắc quy 12 V (1 bình cấp nguồn 12 V cho mạch điều khiển, 2 bình mắc nối tiếp cấp 24 V cho mạch động lực; Kinect lấy nguồn 12 V từ laptop)
Mạch điều khiển Vi điều khiển trung tâm TI ARM Cortex-M3 LM3S8971 (32-bit RISC, 50 MHz, 256 KB Flash, 64 KB SRAM, 34 kênh ngắt NVIC, module UART, PWM, QEI, CAN 2.0, SSI, Ethernet MAC/PHY)
Mạch cầu lái động cơ IC DRV8432 của Texas Instruments (hiệu suất 97%, điện áp chịu đựng tối đa 52 V, dòng liên tục $2 \times 7\text{ A}$ hoặc 14 A ở chế độ song song, tần số PWM 500 kHz)
Khối phụ trợ IC MAX232, bộ hạ áp UA7805 (5 V), TLV1117 (3,3 V), mạch cách ly quang Opto và logic bảo vệ
Phần mềm & Giao diện Xử lý ảnh 3D & Thị giác Ngôn ngữ C++, thư viện OpenNI và PCL (lọc Voxel Grid, RANSAC phân đoạn sàn, Euclidean clustering)
Giao diện giám sát Viết bằng C++/Qt4 gồm 4 module: Kết nối RS232, Tọa độ đặt, Tọa độ thực (chuỗi ký tự x[...]y[...]a[...]e), Thông tin vật cản (khoảng cách $d$, chiều cao $h$, chiều dài $l$)

Thuật toán điều hướng và tránh vật cản

Không gian trước robot được chia làm 3 vùng chiếu dọc: Vùng Trái (T), Vùng Giữa (G) và Vùng Phải (P), được phân cách bằng các đường thẳng tiếp tuyến với vòng tròn an toàn bán kính $R$ bao quanh xe:

  • Vật cản nằm hoàn toàn ở vùng T hoặc P: Robot tiếp tục hành trình đi thẳng về hướng đích vì không có nguy cơ va chạm.
  • Vật cản nằm giữa vùng T và G ($x_{\min} < -R$ và $-R \le x_{\max} \le R$): Robot thực hiện chuyển hướng quay phải một góc $\theta = 90^\circ - \alpha$ (với điểm tiếp tuyến $N(x_n, y_n)$ thỏa mãn phương trình tiếp tuyến của đường tròn an toàn $x_n^2 + y_n^2 = R^2$), sau đó tiến về phía trước một khoảng cách an toàn $d_p = R + \sqrt{x_{\max}^2 + y_{\max}^2 - R^2}$.
  • Vật cản nằm giữa vùng P và G ($-R \le x_{\min} \le R$ và $x_{\max} > R$): Robot quay trái một góc $\theta = \alpha - 90^\circ$ và di chuyển quãng đường an toàn bên trái $d_t = R + \sqrt{x_{\min}^2 + y_{\max}^2 - R^2}$.
  • Vật cản nằm hoàn toàn trong vùng G ($-R \le x_{\min} < x_{\max} \le R$): Dựa vào tọa độ trung tâm vật cản ($x > 0$ hay $x < 0$) để quyết định quay sang trái hoặc phải theo góc quay tối ưu tương ứng.

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

Chương 1: Giới thiệu đề tài

Chương mở đầu phân tích vai trò ngày càng tăng của robot tự hành trong công nghiệp và đời sống, đồng thời chỉ ra nhược điểm lớn của các hệ thống hiện tại là sự thiếu cơ động. Tác giả nêu rõ mục đích nghiên cứu: chế tạo thành công một mobile robot hoàn chỉnh sử dụng cơ cấu 4 bánh Omni, kết hợp công nghệ thị giác 3D từ cảm biến Kinect và thư viện PCL để tự động nhận dạng chướng ngại vật, bám quỹ đạo và tìm đường về đích trong không gian cục bộ.

Chương 2: Tổng quan hệ thống

Chương 2 trình bày tổng quan lý thuyết về robot tự hành, phân loại phương thức di chuyển (chân, xích, bánh xe) và giới thiệu các dòng robot tiêu biểu (như robot nhện Asterisk, robot sao Hỏa Curiosity). Tác giả so sánh hai bài toán tìm đường:

  • Bài toán toàn cục (Global): Yêu cầu bản đồ môi trường cố định đã biết, tính toán tối ưu nhưng kém linh hoạt khi có biến động.
  • Bài toán cục bộ (Local): Phụ thuộc hoàn toàn vào cảm biến thời gian thực, tiêu tốn ít tài nguyên bộ nhớ trước, linh hoạt khi né tránh vật thể di động.

Sơ đồ tổng quan hệ thống được thiết lập gồm 4 khối chính khép kín: Cảm biến Kinect $\rightarrow$ Laptop xử lý ảnh $\rightarrow$ Vi điều khiển/Driver $\rightarrow$ Động cơ chấp hành/Bánh xe.

Chương 3: Mobile robot sử dụng bánh Omni

Nội dung chương tập trung nghiên cứu cơ cấu bánh xe đa hướng Mecanum/Omni với hướng dịch chuyển phụ tạo góc $90^\circ$ so với hướng chính. Tác giả tiến hành phân tích lực tác dụng lên từng bánh xe, thiết lập hệ phương trình chuyển động trong hệ quy chiếu cố định $O_w x_w y_w$ và hệ động $O_m x_m y_m$. Từ định luật II Newton, chương này rút ra mô hình toán học vi phân cấp hai mô tả chuyển động tịnh tiến và chuyển động quay quanh trục $z$. Trên cơ sở các biểu thức động học thuận và ngược, nhóm tác giả xây dựng các khối mô phỏng trên nền tảng Matlab/Simulink nhằm kiểm chứng lý thuyết trước khi chuyển giao vào vi điều khiển.

Chương 4: Cảm biến Kinect và ứng dụng trong bài toán mobile robot tránh vật cản

Chương 4 phân tích chi tiết cấu tạo cảm biến Microsoft Kinect (camera màu RGB độ phân giải $1280 \times 960$, cảm biến độ sâu hồng ngoại IR kết hợp Light Coding của PrimeSense, hệ thống 4 microphone và động cơ góc nghiêng). Dữ liệu đám mây điểm (Point Cloud) thu thập qua lớp pcl::OpenNIGrabber được đưa qua chuỗi xử lý:

  1. Giảm mẫu bằng bộ lọc pcl::VoxelGrid (thử nghiệm với thông số kích thước ô lưới leaf_x = 0.02, giới hạn trục $z$ với min_v = 0.5).
  2. Tách mặt phẳng sàn bằng thuật toán RANSAC thông qua PCL_sample_consensus.
  3. Nhóm các cụm đối tượng nổi trên sàn bằng Euclidean cluster extraction.

Kết quả trích xuất được phân loại bằng màu sắc trực quan: màu xanh dương là sàn nhà, màu đỏ là vật cản gần nhất (được bao bằng hộp chữ nhật 3D xác định cự ly, chiều cao, chiều dài), màu xanh lá cây là các vật cản còn lại. Từ các thông số tọa độ này, chương 4 thiết lập hệ sự kiện rời rạc gồm 6 trạng thái điều hướng, tính toán góc quay tiếp tuyến $\theta$ và cự ly an toàn $d_p, d_t$ để robot vượt qua vật cản.

Chương 5: Thực hiện đề tài

Chương 5 hiện thực hóa toàn bộ đồ án sang phần cứng và phần mềm thực nghiệm:

  • Gia công cơ khí: Chế tạo khung xe 3 tầng bằng đế chữ thập; lắp ráp 4 cụm bánh Omni $90^\circ$ nối với 4 động cơ DC 24 V qua bộ truyền dây curoa; gắn cảm biến Kinect ở tầng cao nhất và bố trí 3 bình ắc quy 12 V ở tầng đáy.
  • Thiết kế bo mạch: Lựa chọn chip vi điều khiển TI ARM Cortex-M3 LM3S8971 và mạch công suất DRV8432. Thiết kế chi tiết các khối mạch in (PCB): khối nguồn điều khiển 5 V/3,3 V, khối nguồn động lực 24 V, khối driver động cơ, khối cách ly quang và logic đệm, khối truyền thông RS232, khối nạp JTAG và chân mở rộng.
  • Phát triển phần mềm: Xây dựng thuật toán xử lý dữ liệu PCL trên laptop và chương trình điều khiển PWM/đọc Encoder trên vi điều khiển LM3S8971. Xây dựng giao diện điều khiển bằng C++/Qt4 hiển thị thông số kết nối, tọa độ đặt, tọa độ phản hồi theo định dạng chuỗi x[...]y[...]a[...]e và kích thước vật thể ($d, h, l$).

Chương 6: Kết luận

Tổng kết lại quá trình nghiên cứu, thiết kế cơ khí, chế tạo phần cứng mạch điều khiển và cài đặt thuật toán xử lý ảnh 3D né vật cản trên robot tự hành thực tế.


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

Kết quả đạt được

  • Chế tạo hoàn chỉnh phần cứng robot: Lắp ráp thành công mẫu mobile robot 4 bánh Omni chuyển động linh hoạt đa hướng, kết cấu 3 tầng cân bằng với trọng tâm trùng tâm khung xe, truyền động êm nhờ bộ truyền dây đai curoa kết hợp động cơ DC 24 V có encoder.
  • Xây dựng hệ thống mạch nhúng đồng bộ: Thiết kế và thi công thành công hệ thống bo mạch điều khiển trung tâm sử dụng vi điều khiển công nghiệp 32-bit LM3S8971 kết hợp driver công suất cao DRV8432 chịu dòng lớn và tích hợp đầy đủ mạch bảo vệ quá nhiệt, quá tải, ngắn mạch.
  • Hiện thực hóa quy trình thị giác 3D với Kinect: Ứng dụng thành công thư viện mã nguồn mở PCL và OpenNI để thu nhận đám mây điểm, lọc nhiễu qua bộ lọc Voxel Grid (leaf_x = 0.02), loại bỏ mặt phẳng sàn thông qua thuật toán RANSAC, và phân cụm không gian Euclid để cô lập vật cản gần nhất dưới dạng hình hộp bao chữ nhật.
  • Triển khai thuật toán né tránh vật thể cục bộ: Chuyển đổi thành công dữ liệu vị trí vật cản trong không gian camera thành các quyết định điều hướng rời rạc (chia 3 vùng Trái - Giữa - Phải), tính toán góc quay tiếp tuyến tối ưu và khoảng cách di chuyển an toàn $d_p, d_t$.
  • Xây dựng giao diện điều khiển Qt4: Thiết lập kênh giao tiếp thông suốt giữa máy tính và vi điều khiển qua cổng RS232 với chuỗi dữ liệu chuẩn hóa, cho phép người dùng đặt tọa độ đích và quan sát trực tiếp quỹ đạo cũng như kích thước vật cản theo thời gian thực.

Đóng góp kỹ thuật

So với các nghiên cứu robot tự hành né vật cản truyền thống sử dụng cảm biến siêu âm (sonar) hoặc camera 2D thông thường, đề tài mang lại những cải tiến kỹ thuật cụ thể:

  • Khắc phục triệt để hiện tượng nhận diện sai do tương đồng màu sắc của xử lý ảnh 2D truyền thống; cảm biến độ sâu Kinect dựa trên tọa độ vị trí 3D thực tế giúp phân tách vật thể độc lập với màu sắc và điều kiện ánh sáng nền phòng.
  • Dữ liệu đám mây điểm cho phép tái tạo trực tiếp kích thước thực ($d, h, l$) của vật cản thay vì chỉ đưa ra tín hiệu khoảng cách đơn điểm như cảm biến siêu âm.
  • Kết hợp tính cơ động cao của bánh xe Omni (khả năng tịnh tiến theo mọi hướng không cần đổi góc quay) với giải thuật né tránh tiếp tuyến, giúp giảm đáng kể thời gian và quỹ đạo quay của xe so với hệ dẫn động vi sai (differential drive).

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

Dựa trên nội dung tài liệu và phạm vi nghiên cứu thực nghiệm của đề tài, các hạn chế kỹ thuật và hướng mở bao gồm:

  • Phương pháp tìm đường cục bộ: Do robot chỉ ra quyết định né tránh dựa trên vùng quét phía trước của Kinect mà không xây dựng bản đồ tổng thể (SLAM), robot có thể gặp hiện tượng kẹt vào các bẫy hình học (ngõ cụt) hoặc không tối ưu được toàn bộ đường đi từ điểm xuất phát đến đích.
  • Đặc tính cảm biến Kinect: Cảm biến độ sâu hoạt động dựa trên chùm tia hồng ngoại Light Coding với phạm vi đo hữu dụng từ 0,5 m đến 5 m. Do đó, hệ thống gặp điểm mù khi vật thể ở cự ly dưới 0,5 m và bị hạn chế nếu hoạt động ngoài trời có ánh sáng mặt trời mạnh gây nhiễu nguồn sáng hồng ngoại.
  • Tài nguyên tính toán: Quá trình xử lý đám mây điểm 3D thời gian thực đòi hỏi tài nguyên tính toán lớn, bắt buộc phải mang theo một máy tính xách tay (Laptop) đặt ở tầng giữa robot, làm tăng kích thước cơ khí và tải trọng tiêu thụ năng lượng của hệ thống.
  • Hướng mở nghiên cứu: Tích hợp thêm các thuật toán xây dựng bản đồ đồng thời (SLAM 3D), tối ưu hóa mã nguồn xử lý ảnh PCL để có thể nhúng trực tiếp lên các vi máy tính nhỏ gọn (như bo mạch nhúng ARM chuyên dụng), và hoàn thiện bộ điều khiển phản hồi kín vận tốc/vị trí bám quỹ đạo phức tạp.

Giá trị tham khảo

Đồ án là tài liệu kỹ thuật có giá trị tham khảo cao đối với sinh viên, học viên và kỹ sư thuộc các chuyên ngành Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử, Kỹ thuật Robot và Công nghệ Thông tin (chuyên sâu thị giác máy tính):

  • Phần mô hình toán học (Chương 3): Là tài liệu tham khảo chi tiết về phương pháp phân tích lực, xây dựng ma trận động học, động lực học và mô hình Simulink cho robot sử dụng 4 bánh Omni Mecanum $90^\circ$.
  • Phần thị giác máy tính 3D (Chương 4): Cung cấp các đoạn mã nguồn và quy trình từng bước làm việc với thư viện PCL (cách khởi tạo OpenNIGrabber, thiết lập bộ lọc VoxelGrid, cấu hình giải thuật RANSAC tách sàn và gom cụm hình hộp bao), rất hữu ích cho các dự án xử lý ảnh 3D và điều hướng robot tự hành.
  • Phần thiết kế mạch phần cứng (Chương 5): Cung cấp sơ đồ khối và giải pháp ghép nối công nghiệp giữa vi điều khiển 32-bit Cortex-M3 (LM3S8971) với IC driver công suất cao DRV8432, bao gồm đầy đủ mạch cách ly tín hiệu, đo tốc độ encoder QEI và truyền thông nối tiếp RS232.

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

1. Tại sao nhóm tác giả lại lựa chọn cảm biến Kinect thay vì các loại cảm biến khoảng cách phổ biến như siêu âm hay camera màu thông thường?
Trả lời: Theo phân tích tại Chương 4, cảm biến siêu âm chỉ đo được khoảng cách tại một điểm hẹp, dễ bị phản xạ sai lệch; còn xử lý ảnh camera màu thông thường bị phụ thuộc lớn vào sự tương đồng màu sắc (các vật thể khác nhau có cùng màu hoặc một vật thể có nhiều màu sắc khác nhau sẽ gây lỗi nhận dạng). Cảm biến Kinect cung cấp bản đồ độ sâu 3D (Depth Map) dựa trên vị trí hình học thực tế, độc lập với màu sắc, dữ liệu có thể nén tốt hơn và cho phép tái tạo kích thước hình học 3 chiều của vật cản với chi phí thiết bị thương mại thấp (~140 USD tại thời điểm công bố).

2. Robot sử dụng loại bánh xe gì và nguyên lý chuyển động của nó có ưu điểm gì so với bánh xe truyền thống?
Trả lời: Robot sử dụng 4 bánh xe Omni loại Mecanum có góc chuyển động phụ $90^\circ$ so với trục quay chính, truyền động từ động cơ DC qua dây curoa. Ưu điểm cốt lõi là cho phép robot chuyển động tịnh tiến tức thời theo bất kỳ hướng nào trên mặt phẳng mà không cần phải thực hiện thao tác quay đổi hướng đầu xe, kết hợp được chuyển động tịnh tiến và quay đồng thời giúp việc né vật cản diễn ra linh hoạt và nhanh chóng.

3. Quy trình xử lý dữ liệu điểm ảnh 3D từ Kinect để phát hiện vật cản bao gồm những bước nào?
Trả lời: Dữ liệu từ Kinect được xử lý qua 4 giai đoạn bằng thư viện OpenNI và PCL:

  1. Thu nhận dữ liệu đám mây điểm thông qua lớp OpenNIGrabber (định dạng PointXYZRGBA).
  2. Đưa qua bộ lọc Voxel Grid nhằm giảm mật độ điểm và giới hạn cự ly trục $z$ (leaf_x = 0.02, min_v = 0.5).
  3. Sử dụng giải thuật RANSAC (Plannar segmentation) để nhận diện và loại bỏ mặt phẳng sàn nhà (hiển thị màu xanh dương).
  4. Áp dụng giải thuật phân tách cụm Euclid (Euclidean cluster extraction) để gom các điểm còn lại thành các vật thể riêng biệt; vật cản gần nhất (màu đỏ) được xấp xỉ bằng hình hộp chữ nhật bao quanh để tính toán kích thước và cự ly.

4. Mạch điều khiển trung tâm sử dụng những dòng linh kiện chính nào và đảm nhiệm các chức năng gì?
Trả lời: Mạch điều khiển sử dụng vi điều khiển trung tâm 32-bit ARM Cortex-M3 LM3S8971 của Texas Instruments (xung nhịp 50 MHz, tích hợp module QEI đọc encoder, PWM, UART) và driver công suất DRV8432 (chịu điện áp đến 52 V, dòng $2 \times 7\text{ A}$, hiệu suất 97%). Hệ thống đảm nhiệm 4 chức năng: giao tiếp với laptop qua RS232, phát xung PWM điều khiển 4 động cơ DC 24 V, giải mã tín hiệu hồi tiếp từ encoder của 4 bánh xe, và thực thi các thuật toán điều khiển phần cứng.

5. Giao diện điều khiển Qt4 giao tiếp với robot qua định dạng dữ liệu nào?
Trả lời: Giao diện Qt4 kết nối với vi điều khiển thông qua cổng nối tiếp RS232. Chuỗi dữ liệu tọa độ thực tế do vi điều khiển tính toán từ encoder gửi lên máy tính được chuẩn hóa theo định dạng: x[giá trị x]y[giá trị y]a[góc]e. Sau khi nhận chuỗi, chương trình trên máy tính sẽ tự động tách chuỗi thành các giá trị số thực dạng dấu phẩy động (float) để hiển thị vị trí và góc định hướng của robot lên màn hình.


Kết luận

Đồ án tốt nghiệp "Điều khiển mobile robot sử dụng bánh omni tránh vật cản" đã giải quyết thành công bài toán tích hợp giữa cơ học, điện tử và thị giác máy tính 3D trên mô hình robot tự hành thực tế. Việc phối hợp cơ cấu truyền động 4 bánh Omni linh hoạt với công nghệ xử lý đám mây điểm từ cảm biến Kinect và thư viện PCL tạo ra giải pháp điều hướng tránh vật cản cục bộ ổn định trong không gian phẳng. Toàn bộ các nội dung từ mô hình hóa toán học, thiết kế bo mạch nhúng vi điều khiển LM3S8971, mạch lái DRV8432 đến phần mềm giao diện Qt4 đều được xây dựng chi tiết và kiểm chứng đầy đủ qua thực nghiệm.