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

Trong lĩnh vực robotics và tự động hóa, việc nghiên cứu chế tạo các hệ thống robot có khả năng di chuyển linh hoạt trên các địa hình hiểm trở, phức tạp nhằm thay thế con người trong các nhiệm vụ thám hiểm, tìm kiếm cứu nạn hay thu thập dữ liệu môi trường ngày càng trở nên quan trọng. Các nghiên cứu nền tảng trước đây, tiêu biểu như công trình "Study on hexapod robot manipulation using legs" và các dự án robot bốn chân trên nền tảng Arduino (Arduino Spider Robot), đã đặt nền móng cho việc mô phỏng sinh học loài nhện nhưng vẫn bộc lộ nhiều hạn chế về mức độ tự động hóa và khả năng ứng dụng thực tế.

Tại Việt Nam, các mô hình robot nhện phần lớn chỉ dừng lại ở mức điều khiển thủ công từ xa với các chuyển động cơ bản như tiến, lùi, rẽ trái, rẽ phải hoặc thay đổi tốc độ. Việc điều khiển thủ công bộc lộ nhiều nhược điểm khi robot hoạt động trong môi trường thiếu sáng, tầm nhìn hạn chế hoặc tín hiệu truyền dẫn không ổn định, khiến người điều khiển không thể quan sát và đưa ra quyết định chính xác. Bên cạnh đó, các vấn đề về quản lý năng lượng và khả năng tự chủ đưa ra quyết định theo thời gian thực dựa trên cảm biến môi trường vẫn chưa được giải quyết triệt để.

Khóa luận tốt nghiệp kỹ sư ngành Kỹ thuật Máy tính của nhóm tác giả Nguyễn Nhật Long và Nghiêm Xuân Nhật Quang (Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh) tập trung giải quyết bài toán nâng cao tính tự động hóa cho robot nhện 6 chân thông qua việc tích hợp thị giác máy tính và hệ thống điều khiển nhúng phân tán.

Mục tiêu chung của đề tài là thiết kế, chế tạo hoàn chỉnh một robot nhện 6 chân có khả năng giữ thăng bằng, di chuyển đa hướng, vượt bậc thang có kích thước định trước và ứng dụng các giải thuật xử lý ảnh số để tự động nhận diện, di chuyển bám theo vật thể dựa trên màu sắc được chỉ định. Đề tài xác định 4 nhiệm vụ nghiên cứu cụ thể:

  1. Tìm hiểu quy trình thiết kế và chế tạo phần cứng cho robot nhện 6 chân.
  2. Thực nghiệm lắp ráp hệ thống cơ khí, mạch điện tử và lập trình điều khiển robot di chuyển theo các hướng định trước.
  3. Hiện thực các thuật toán điều khiển phối hợp lực kéo - đẩy để robot leo bậc thang với chiều cao biết trước.
  4. Xây dựng và triển khai thuật toán xử lý ảnh trên máy tính nhúng để phát hiện, phân loại màu sắc và điều khiển robot tự động bám theo vật thể.

Đối tượng nghiên cứu của khóa luận là hệ thống robot nhện 6 chân (Hexapod Robot) sử dụng 18 động cơ servo; kiến trúc điều khiển kép gồm vi điều khiển ARM Cortex-M4 (STM32F411 Discovery) và máy tính nhúng AI (NVIDIA Jetson Nano Developer Kit A02); cảm biến quang học Raspberry Pi Camera V2 8MP; các giải thuật xử lý ảnh số trên không gian màu HSV kết hợp thư viện OpenCV; cùng ứng dụng điều khiển phát triển trên hệ điều hành Android qua giao tiếp không dây Bluetooth HC-06.

Phạm vi nghiên cứu giới hạn ở chuyển động trên bề mặt bằng phẳng và địa hình bậc thang có kích thước cố định được cung cấp trước; nhận diện và phân loại 4 dải màu cơ bản (Đỏ, Xanh lá, Xanh dương, Vàng); hệ thống sử dụng nguồn cấp ngoài cố định (nguồn tổ ong) trong quá trình thực nghiệm để đảm bảo công suất cho toàn bộ 18 động cơ.

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

Khóa luận kết hợp nền tảng lý thuyết về hệ thống nhúng điều khiển thời gian thực, cơ học chuyển động robot nhiều chân (Hexapod Locomotion) và lý thuyết xử lý ảnh số ứng dụng thị giác máy tính.

Về cơ sở phần cứng nhúng:

  • Vi điều khiển STM32F411 Discovery trang bị lõi vi xử lý 32-bit ARM Cortex-M4 tích hợp FPU và tập lệnh DSP. Hệ thống khai thác khối ngoại vi Timer/Counter (TIMx_CNT, TIMx_ARR, Prescaler PSC) ở chế độ Count Up để tạo ra các kênh điều chế độ rộng xung PWM (Pulse Width Modulation), trực tiếp điều khiển góc quay của các động cơ servo. Khối truyền nhận nối tiếp bất đồng bộ UART (Universal Asynchronous Receiver-Transmitter) được thiết lập khung truyền (Frame: Start bit, 8/9 Data bit truyền theo thứ tự LSB trước, Parity bit, Stop bit) và đồng bộ Baudrate để giao tiếp với máy tính nhúng và mô-đun truyền thông.
  • Động cơ RC Servo MG996R có trọng lượng 55g, hệ thống bánh răng hoàn toàn bằng kim loại, góc quay điều khiển qua tín hiệu xung, mô-men xoắn đạt 9.4 kg/cm tại mức điện áp 4.8V (hỗ trợ dải điện áp 4.8V - 7.2V), tốc độ đáp ứng 0.17 giây cho góc quay 60 độ, dòng làm việc danh định 500mA - 900mA và dòng đỉnh có thể đạt 2A khi chịu tải nặng.
  • Cảm biến Raspberry Pi Camera V2 8MP trang bị cảm biến ảnh Sony IMX219 (thay thế thế hệ cũ OV5647), hỗ trợ các chuẩn phân giải 1080p30, 720p60, VGA90, được giao tiếp trực tiếp với kit NVIDIA Jetson Nano qua giao diện CSI.

Về cơ sở xử lý ảnh số:

  • Biểu diễn ảnh số dưới dạng ma trận hai chiều rời rạc $f(x, y)$, hệ tọa độ không gian điểm ảnh (pixel) và độ phân giải hiển thị. Chiều sâu điểm ảnh được phân tích trên không gian màu RGB 3 kênh thành phần.
  • Không gian màu HSV (Hue - Saturation - Value): Hue [0;360] biểu diễn góc vùng màu, Saturation [0;100%] biểu diễn độ thuần khiết và bão hòa của màu sắc, Value [0;100%] biểu diễn cường độ sáng. Hệ màu HSV được lựa chọn do đặc tính phân tách độc lập giữa kênh sắc độ và kênh cường độ sáng, giúp việc phân ngưỡng màu sắc ít bị ảnh hưởng bởi điều kiện chiếu sáng biến đổi.
  • Kỹ thuật lọc không gian số (Filtering) sử dụng ma trận Kernel kích thước 5x5 quét trên toàn bộ ma trận ảnh để lọc các pixel nằm trong ngưỡng màu mục tiêu.
  • Kỹ thuật xói mòn hình ảnh (Erosion) từ thư viện OpenCV nhằm loại bỏ các điểm ảnh nhiễu cô lập xung quanh vật thể, làm mịn đường biên và phân tách đối tượng khỏi nền.
  • Kỹ thuật dò tìm đường bao (Contours) từ OpenCV để tập hợp các điểm ảnh liên tục, từ đó xác định tọa độ biên $(x, y)$, kích thước chiều rộng $w$, chiều cao $h$ và tính toán diện tích bề mặt (area) của từng đối tượng trong khung hình.

Phương pháp nghiên cứu được triển khai bao gồm:

  • Phương pháp thiết kế hệ thống kỹ thuật: Thiết kế sơ đồ nguyên lý (Schematic) và layout mạch in (PCB) bằng phần mềm Proteus; thiết kế cơ cấu chuyển động cơ khí cho 6 chân robot; xây dựng kiến trúc phần mềm phân tầng.
  • Phương pháp thực nghiệm - kiểm chứng: Chế tạo mạch in thủ công, hàn linh kiện, đo đạc thông số điện áp/dòng điện; kiểm thử hoạt động của từng động cơ servo; kiểm thử giao tiếp UART và Bluetooth; đo đạc độ chính xác của giải thuật xử lý ảnh trên tập dữ liệu video thời gian thực từ camera.

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

Hệ thống robot nhện 6 chân được thiết kế theo cấu trúc phần cứng phân tán kết hợp hai khối xử lý chính: khối điều khiển chuyển động (STM32F411 Discovery) và khối thị giác máy tính (NVIDIA Jetson Nano).

1. Kiến trúc phần cứng và thiết kế mạch nguồn

Bộ khung robot được cấu tạo từ kim loại chịu lực, gá lắp 6 chân đối xứng qua thân. Mỗi chân robot sở hữu 3 bậc tự do tương ứng với 3 động cơ servo MG996R đặt tại 3 vị trí: khớp trong (nối thân), khớp giữa và khớp ngoài (chân tiếp đất), tạo nên hệ thống 18 bậc tự do chuyển động.

Để giải quyết bài toán cấp nguồn cho 18 động cơ servo tải nặng (dòng tổng có thể đạt 12A đến 20A khi toàn bộ chân hoạt động) và bảo vệ các vi mạch nhạy cảm, nhóm tác giả đã thiết kế mạch nguồn chuyên biệt:

  • Nguồn cấp chính: Sử dụng nguồn tổ ong 12V-20A, đi qua khối mạch hạ áp công suất lớn để tạo nguồn 5V (dòng tải tối đa 12A) cung cấp cho toàn bộ 18 động cơ servo.
  • Nguồn cho vi điều khiển: Từ mức áp 5.3V sau hạ áp, nguồn được đưa qua IC hạ áp tuyến tính LM1117 để hạ xuống mức điện áp 3.3V (dòng tối đa 1A) cấp cho vi điều khiển STM32F411.
  • Mạch đệm dòng tín hiệu điều khiển: Do vi điều khiển STM32 không thể cung cấp đủ dòng điều khiển cho cùng lúc 18 đường phát xung PWM, nhóm tích hợp IC đệm dòng 74HC245 đặt giữa chân GPIO xuất xung của STM32F411 và các chân tín hiệu của servo.
Tên linh kiện / Thiết bị Thông số / Vai trò kỹ thuật trong hệ thống
Bộ khung nhện kim loại Khung cơ khí định hình cấu trúc robot 6 chân đối xứng
Động cơ RC Servo MG996R 18 động cơ (3 động cơ/chân), tạo khớp chuyển động, lực kéo 9.4 kg/cm
Kit STM32F411 Discovery Bộ điều khiển trung tâm, xử lý động học và phát xung PWM điều khiển 18 servo
NVIDIA Jetson Nano Dev Kit Máy tính nhúng AI, chạy hệ điều hành Linux, thực thi giải thuật xử lý ảnh OpenCV
Raspberry Pi Camera V2 Cảm biến 8MP Sony IMX219, thu nhận luồng video thời gian thực cho Jetson Nano
Mô-đun Bluetooth HC-06 Cầu nối truyền thông không dây UART giữa STM32F411 và Smartphone Android
IC LM1117 Mạch hạ áp tuyến tính từ 5.3V xuống 3.3V (1A) cấp nguồn cho STM32F411
IC 74HC245 IC đệm dòng tín hiệu xung PWM từ STM32F411 đến 18 servo
Nguồn tổ ong 12V-20A & Mạch hạ áp Cung cấp công suất tổng, hạ áp xuống 5V-12A nuôi hệ thống servo

2. Nguyên lý động học và điều khiển chuyển động

Robot chuyển động dựa trên mô phỏng cơ sinh học của loài nhện với các nguyên tắc cân bằng tĩnh và động:

  • Nguyên lý thăng bằng: Tại bất kỳ thời điểm nào trong chu kỳ di chuyển, robot luôn duy trì ít nhất 3 chân chạm đất. Ba điểm chạm đất này phải tạo thành một tam giác hỗ trợ có tất cả các góc nhỏ hơn 120°. Đồng thời, giữa hai chân chạm đất phải có ít nhất một chân nhấc lên (không thuộc tam giác chịu lực), tạo thành dáng đi kiềng ba chân (Tripod Gait).
  • Nguyên lý đứng (khởi tạo): Hai góc khớp $\alpha$ (khớp trong) và $\beta$ (khớp giữa) được thiết lập ở trạng thái khởi tạo xấp xỉ 45° ($\alpha = \beta \approx 45^\circ$, điều kiện vận hành $< 90^\circ$). Tất cả các chân đều được căn chỉnh góc đồng nhất để 6 đầu mút chân ngoài cùng tạo thành một hình lục giác đều tiếp xúc mặt phẳng.
  • Nguyên lý tiến tới: Nhóm 3 chân thứ nhất (nhóm chân màu xanh) nhấc lên và tiến về phía trước theo chiều ngược kim đồng hồ một góc từ 10° đến 20°, sau đó hạ xuống tiếp đất. Tiếp theo, nhóm 3 chân thứ hai (nhóm chân màu đỏ) nhấc lên và tiến theo chiều kim đồng hồ một góc 10° đến 20°. Quá trình này lặp lại liên tục theo chu kỳ nhịp nhàng giúp robot tịnh tiến.
  • Nguyên lý xoay hướng: Hệ thống điều khiển đồng loạt xoay góc tại các khớp giữa, sau đó xoay các khớp trong sang hướng trái hoặc phải với góc mong muốn trước khi đưa toàn bộ chân trở về tư thế đứng cân bằng.
  • Nguyên lý leo bậc thang: Phối hợp động học phức hợp giữa lực đẩy từ các chi sau và lực kéo từ các chi trước để nâng trọng tâm thân robot vượt qua gờ bậc thang có kích thước đã được xác định trước.

3. Thuật toán nhận diện màu sắc và bám mục tiêu tự động

Quy trình xử lý ảnh và vòng lặp điều khiển tự động được thực hiện qua các bước:

  1. Camera Pi V2 thu nhận khung hình RGB thực tế và truyền trực tiếp vào NVIDIA Jetson Nano.
  2. Jetson Nano chuyển đổi ảnh sang không gian màu HSV và tiến hành lọc màu dựa trên 4 dải thông số đã được hiệu chuẩn:
    • Đỏ (Red): [170, 87, 111] $\rightarrow$ [10, 255, 255]
    • Xanh lá (Green): [45, 70, 70] $\rightarrow$ [85, 255, 255]
    • Xanh dương (Blue): [90, 115, 150] $\rightarrow$ [110, 255, 255]
    • Vàng (Yellow): [15, 60, 100] $\rightarrow$ [40, 255, 255]
  3. Áp dụng ma trận lọc Kernel kích thước 5x5 kết hợp phương pháp xói mòn (Erosion) để triệt tiêu các điểm ảnh nhiễu cô lập, chỉ giữ lại các mảng màu liên kết đặc.
  4. Áp dụng hàm Contours từ OpenCV để định vị các đường bao. Để tránh hiện tượng đa mục tiêu gây nhiễu loạn điều khiển, thuật toán tự động tính toán diện tích của tất cả các đối tượng và chỉ trích xuất đối tượng có diện tích lớn nhất (ngưỡng diện tích > 10).
  5. Xác định tọa độ tâm hình chữ nhật bao quanh đối tượng: $$\text{Tâm} = \left(x + \frac{w}{2},; y + \frac{h}{2}\right)$$
  6. Khung hình được chia thành 3 cột không gian (Trái - Giữa - Phải):
    • Nếu tâm đối tượng nằm lệch về cột trái hoặc phải, Jetson Nano gửi tín hiệu điều hướng 'LEFT' hoặc 'RIGHT' qua cổng UART đến STM32F411 để robot xoay hướng căn chỉnh.
    • Khi tâm đối tượng rơi vào cột 'CENTER', Jetson Nano gửi tín hiệu yêu cầu dừng xoay.
  7. Đánh giá khoảng cách thông qua diện tích ($w \times h$) của bounding box: Nếu diện tích nhỏ hơn ngưỡng thiết lập (vật ở xa), Jetson Nano gửi lệnh 'UP' để robot tiến tới; nếu diện tích vượt ngưỡng quy định (vật quá gần), gửi lệnh 'DOWN' để robot lùi lại.
  8. Trạng thái phát hiện màu sắc và khung hình xử lý được mã hóa, truyền từ Jetson Nano sang STM32F411 qua UART, sau đó STM32 chuyển tiếp qua mô-đun Bluetooth HC-06 để hiển thị lên ứng dụng Android.

4. Ứng dụng điều khiển trên Smartphone Android

Ứng dụng di động được nhóm tác giả lập trình bằng ngôn ngữ Java trên môi trường Android Studio:

  • Giao diện điều khiển tích hợp các phím điều hướng thủ công (UP, DOWN, LEFT, RIGHT, START/STOP).
  • Nút chức năng STATUS hiển thị trạng thái kết nối phần cứng giữa Jetson Nano và STM32F411.
  • Ô hiển thị DETECT cập nhật màu sắc mà camera hiện đang phát hiện trong tầm nhìn.
  • Nút CHOOSE và CHANGE cho phép người dùng lựa chọn một trong 4 màu mục tiêu để robot kích hoạt chế độ tự động bám đuổi.
  • Các phím số từ 1 đến 5 gán cho các chuỗi hành vi, cử động tư thế và động tác giải trí được lập trình sẵn.

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

Chương 1. TỔNG QUAN

Chương 1 trình bày tổng quan về bối cảnh phát triển của các dòng robot nhiều chân (Spider robot, Lidar robot) trong việc thay thế con người tiếp cận các khu vực nguy hiểm. Tác giả phân tích các hạn chế của những nghiên cứu trước đây (như các mô hình robot 4 chân Arduino hay nghiên cứu điều khiển chân nhện thủ công) về độ tự động hóa, tính ổn định của tín hiệu điều khiển và sự thiếu hụt giải pháp thị giác máy tính. Từ đó, chương xác định rõ mục tiêu tổng quát, 4 nhiệm vụ cụ thể, phương pháp thực hiện dựa trên nền tảng STM32F411 kết hợp Jetson Nano, cùng phạm vi và giới hạn của đề tài khóa luận.

Chương 2. CƠ SỞ LÝ THUYẾT

Chương 2 tập trung hệ thống hóa toàn bộ các kiến thức lý thuyết nền tảng phục vụ cho việc triển khai đồ án:

  • Phân tích kiến trúc phần cứng của kit vi điều khiển STM32F411 Discovery (ARM Cortex-M4, mạch nạp ST-Link/V2, cấu trúc thanh ghi CNT, ARR, PSC của khối Timer và cơ chế phát xung PWM ở chế độ đếm lên/đếm xuống).
  • Khái niệm và cấu trúc khung truyền của chuẩn giao tiếp nối tiếp UART (Baudrate, Start/Stop bit, Data bit, Parity bit).
  • Thông số kỹ thuật của mô-đun Raspberry Pi Camera V2 8MP sử dụng cảm biến Sony IMX219.
  • Cơ sở xử lý ảnh số: mô hình hóa ảnh kỹ thuật số $f(x, y)$, điểm ảnh pixel, độ phân giải, biểu diễn chiều sâu không gian màu RGB.
  • Phân tích chi tiết không gian màu HSV và ý nghĩa các thành phần H, S, V trong việc phân ngưỡng màu sắc.
  • Kỹ thuật lọc ma trận Kernel 5x5, phương pháp xói mòn hình ảnh (Erosion) loại bỏ nhiễu và thuật toán trích xuất đường bao (Contours) từ thư viện OpenCV.

Chương 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Chương 3 là phần trọng tâm về thiết kế hệ thống, bao gồm:

  • Đặc tính kỹ thuật của động cơ RC Servo MG996R (khối lượng 55g, lực kéo 9.4 kg/cm, góc quay, dải điện áp và dòng tiêu thụ).
  • Quy trình lắp ráp cơ khí từng bước: lắp ráp chi tiết 1 chân từ 3 động cơ servo và thanh nối; ghép nối bệ đỡ khớp trong; gá lắp 6 chân hoàn chỉnh vào tấm đế dưới của thân nhện; hoàn thiện nắp trên robot.
  • Xây dựng mô hình động học chuyển động: nguyên lý cân bằng đa giác hỗ trợ (Tripod Gait với góc tam giác $< 120^\circ$), nguyên lý đứng tạo hình lục giác đều ($\alpha = \beta \approx 45^\circ$), nguyên lý bước tới bằng cách hoán đổi góc quay hai nhóm chân theo các cung 10°-20°, nguyên lý xoay hướng trái/phải và kỹ thuật kết hợp lực chi trước/sau để leo bậc thang.
  • Thiết kế sơ đồ nguyên lý (Schematic) và layout mạch in (PCB) phân phối nguồn: tích hợp IC đệm dòng 74HC245 và IC hạ áp LM1117 trên phần mềm Proteus, gia công mạch in.
  • Xây dựng lưu đồ và thuật toán xử lý ảnh 8 bước trên Jetson Nano: phân ngưỡng 4 dải màu HSV, lọc Kernel, xói mòn Erosion, trích xuất vật thể có diện tích lớn nhất (> 10), xác định tâm hình chữ nhật $(x + w/2, y + h/2)$, phân vùng 3 cột để phát tín hiệu điều hướng 'LEFT', 'RIGHT', 'CENTER', 'UP', 'DOWN'.
  • Thiết kế giao diện và logic hoạt động của ứng dụng di động Android Studio kết nối Bluetooth HC-06.
  • Bảng thống kê chi tiết toàn bộ danh mục linh kiện phần cứng sử dụng trong đề tài.

Chương 4. CẤU HÌNH VÀ GIAO TIẾP

Chương 4 trình bày chi tiết về môi trường công cụ phần mềm và các bước cấu hình hệ thống:

  • Sử dụng STM32CubeMX để cấu hình đồ họa cho cây xung Clock hệ thống, cấu hình các kênh Timer tạo 18 ngõ ra PWM và thiết lập các cổng giao tiếp UART, GPIO.
  • Sử dụng môi trường Atollic TrueSTUDIO (nền tảng Eclipse/GNU) để lập trình mã nguồn C điều khiển vi điều khiển STM32F411, phân tích bộ nhớ stack và gỡ lỗi hệ thống.
  • Sử dụng IDE PyCharm trên máy tính nhúng NVIDIA Jetson Nano để lập trình các thuật toán xử lý ảnh và thị giác máy tính bằng ngôn ngữ Python kết hợp OpenCV.
  • Sử dụng Android Studio để xây dựng ứng dụng điều khiển di động trên nền tảng Java.
  • Sử dụng phần mềm Proteus Design Suite để mô phỏng mạch điện tử và xuất bản vẽ layout mạch in PCB.
  • Chi tiết sơ đồ kết nối chân giữa vi điều khiển STM32F411 và các kênh Timer tương ứng với từng động cơ servo trên robot; cấu hình giao tiếp UART với mô-đun Bluetooth HC-06.

Chương 5. KẾT QUẢ THỰC NGHIỆM

Chương 5 báo cáo kết quả chế tạo và thử nghiệm thực tế của toàn bộ hệ thống:

  • Hoàn thiện cấu trúc khung robot nhện 6 chân bằng kim loại, lắp đặt hoàn chỉnh 18 động cơ servo.
  • Chế tạo và kiểm thử thành công bo mạch PCB nguồn, đảm bảo cung cấp dòng ổn định cho toàn hệ thống mà không bị sụt áp.
  • Thực nghiệm thành công các chuỗi chuyển động cơ bản: đứng cân bằng, tịnh tiến, lùi, xoay trái, xoay phải và các tư thế cử động giải trí.
  • Kiểm thử kết nối không dây Bluetooth giữa Smartphone và mô-đun HC-06, truyền nhận dữ liệu hai chiều thông suốt với STM32F411.
  • Thực nghiệm thành công chức năng leo bậc thang có kích thước đã được xác định trước.
  • Thực nghiệm xử lý ảnh: Jetson Nano nhận diện chính xác 4 màu sắc chỉ định trong điều kiện thực tế, lọc bỏ đối tượng nhỏ và điều khiển robot tự động di chuyển bám theo vật thể màu được chọn từ ứng dụng Android theo thời gian thực.

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

Kết quả nghiên cứu chính

Hệ thống phần cứng và phần mềm của đồ án đã được hiện thực hóa và thử nghiệm với các kết quả cụ thể:

  • Chế tạo thành công mô hình phần cứng robot nhện 6 chân hoàn chỉnh với 18 bậc tự do sử dụng động cơ RC Servo MG996R, khung kim loại chịu tải trọng trên 5kg.
  • Thiết kế và gia công thành công mạch in PCB tích hợp IC đệm dòng 74HC245 và IC hạ áp LM1117, kết hợp với bộ nguồn tổ ong 12V-20A (hạ áp 5V-12A), giải quyết triệt để hiện tượng sụt áp và thiếu dòng khi 18 động cơ đồng loạt làm việc.
  • Lập trình nhúng thành công trên vi điều khiển STM32F411 Discovery, tạo ra 18 kênh PWM điều khiển chính xác góc quay từng servo, hiện thực hóa dáng đi Tripod Gait giữ vững cân bằng khi di chuyển và quay hướng.
  • Hiện thực hóa thành công chuyển động vượt chướng ngại vật dạng bậc thang có chiều cao và kích thước định trước thông qua sự phối hợp phân bổ lực kéo của các chi trước và lực đẩy của các chi sau.
  • Xây dựng hoàn chỉnh luồng xử lý thị giác máy tính trên kit NVIDIA Jetson Nano kết hợp camera Raspberry Pi V2 8MP: nhận diện chính xác 4 dải màu cơ bản trong không gian màu HSV, loại bỏ nhiễu qua phương pháp xói mòn (Erosion), trích xuất đối tượng lớn nhất (diện tích > 10) bằng Contours, tính toán trọng tâm và phân vùng điều khiển 3 cột (Trái - Giữa - Phải) để truyền lệnh điều hướng thời gian thực qua giao thức UART.
  • Phát triển ứng dụng điều khiển di động trên nền tảng Android, thiết lập giao tiếp không dây ổn định qua Bluetooth HC-06 với đầy đủ tính năng: điều hướng thủ công, hiển thị trạng thái kết nối, cập nhật màu nhận diện và lựa chọn màu mục tiêu cho chế độ tự hành.

Đóng góp của đề tài

  • Tự thiết kế và chế tạo thành công một hệ thống robot nhện 6 chân có tích hợp thị giác máy tính xử lý cục bộ ngay trên biên (Edge AI) thông qua máy tính nhúng NVIDIA Jetson Nano, thay vì phụ thuộc vào việc truyền hình ảnh về máy tính trạm xử lý như nhiều mô hình nghiên cứu trước đó.
  • Đề xuất và hiện thực hóa giải pháp phần cứng phân tán (STM32F411 chuyên trách điều khiển thời gian thực và phát xung động cơ; Jetson Nano chuyên trách xử lý ảnh mức cao) kết hợp giải pháp mạch đệm dòng và phân phối nguồn công suất lớn chuyên dụng cho robot nhiều bậc tự do.

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

Khóa luận đã nêu rõ các hạn chế tồn tại dựa trên phạm vi và kết quả thực nghiệm thực tế:

  • Do sử dụng bộ khung kim loại cố định từ nhà sản xuất với khối lượng tổng thể lớn (toàn bộ robot nặng hơn 5kg), kích thước của sản phẩm thực tế chưa thể thu nhỏ tối ưu.
  • Hệ thống tiêu thụ năng lượng lớn (dòng làm việc có thể lên tới 12A khi mang tải), do đó trong quá trình thực nghiệm phải phụ thuộc vào bộ nguồn tổ ong cắm điện cố định, chưa thể tích hợp các bộ pin di động nhỏ gọn có khả năng duy trì thời gian hoạt động độc lập lâu dài.
  • Thuật toán vượt địa hình bậc thang mới chỉ áp dụng được với các bậc thang có kích thước và chiều cao đã được đo đạc, lập trình cố định từ trước; chưa có khả năng tự động đo đạc độ cao bậc thang theo thời gian thực.
  • Giải thuật xử lý ảnh mới chỉ dừng lại ở việc phân ngưỡng 4 dải màu sắc cố định trong không gian màu HSV, dễ bị ảnh hưởng bởi sự thay đổi đột ngột của cường độ ánh sáng môi trường và chưa nhận diện được các đối tượng có hình dạng hình học phức tạp.

Hướng phát triển tiếp theo của đề tài bao gồm việc tối ưu hóa cấu trúc cơ khí bằng vật liệu nhẹ hơn, nghiên cứu tích hợp các cảm biến đo khoảng cách/cảm biến độ sâu để tự động nhận dạng kích thước bậc thang, nâng cấp các mô hình học sâu (Deep Learning) nhận diện vật thể phức tạp trên Jetson Nano và nghiên cứu giải pháp tích hợp nguồn pin mật độ năng lượng cao phục vụ di chuyển dã ngoại.

Giá trị tham khảo

Đồ án khóa luận tốt nghiệp này mang lại giá trị tham khảo kỹ thuật cao cho sinh viên, học viên và các nhóm nghiên cứu thuộc các ngành Kỹ thuật Máy tính, Cơ điện tử, Tự động hóa, Khoa học Dữ liệu và Công nghệ Thông tin đang thực hiện các đề tài về Robot nhiều chân, Hệ thống nhúng và Thị giác máy tính:

  • Cung cấp tài liệu thiết kế chi tiết về sơ đồ nguyên lý mạch nguồn, mạch đệm dòng cho hệ thống sử dụng nhiều động cơ servo công suất lớn trên phần mềm Proteus.
  • Cung cấp mô hình toán học và giải thuật điều khiển động học dáng đi kiềng ba chân (Tripod Gait) cho robot 6 chân trên vi điều khiển ARM Cortex-M4 sử dụng công cụ STM32CubeMX và Atollic TrueSTUDIO.
  • Đóng vai trò là tài liệu tham khảo mẫu về quy trình triển khai pipeline xử lý ảnh số thời gian thực (không gian màu HSV, Kernel Filter, OpenCV Erosion, Contours) trên máy tính nhúng NVIDIA Jetson Nano kết hợp giao tiếp UART liên kết hệ thống nhúng.

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

1. Robot nhện 6 chân trong khóa luận sử dụng bao nhiêu động cơ và loại động cơ nào? Robot sử dụng tổng cộng 18 động cơ RC Servo MG996R (mỗi chân gồm 3 động cơ tương ứng với 3 khớp: khớp trong, khớp giữa và khớp ngoài). Động cơ này sử dụng hệ thống bánh răng hoàn toàn bằng kim loại, có trọng lượng 55g, mô-men xoắn 9.4 kg/cm tại 4.8V và tốc độ quay 0.17 giây/60 độ.

2. Kiến trúc xử lý của hệ thống được phân chia như thế nào giữa các vi xử lý? Hệ thống sử dụng kiến trúc xử lý kép phân tầng: Vi điều khiển STM32F411 Discovery chịu trách nhiệm tính toán động học, giao tiếp ngoại vi và băm 18 xung PWM điều khiển góc quay servo; Máy tính nhúng NVIDIA Jetson Nano (kết nối Raspberry Pi Camera V2 8MP) đóng vai trò "não bộ" thực thi các giải thuật xử lý ảnh, nhận diện màu sắc và gửi các lệnh điều hướng ('LEFT', 'RIGHT', 'CENTER', 'UP', 'DOWN') sang STM32F411 qua chuẩn truyền thông nối tiếp UART.

3. Robot duy trì trạng thái thăng bằng khi di chuyển dựa trên nguyên lý nào? Robot tuân thủ nguyên lý thăng bằng động (Tripod Gait): tại mọi thời điểm di chuyển, luôn có ít nhất 3 chân tiếp đất tạo thành một tam giác hỗ trợ có các góc đều nhỏ hơn 120°, đồng thời giữa hai chân tiếp đất phải có ít nhất một chân nhấc lên không nằm trong tam giác. Khi đứng, các góc khớp $\alpha$ và $\beta$ duy trì ở mức xấp xỉ 45° để 6 đầu chân tạo thành một hình lục giác đều.

4. Dải thông số không gian màu HSV được thiết lập cho 4 màu nhận diện cụ thể là bao nhiêu? Bốn dải màu được hiệu chuẩn trong không gian HSV gồm:

  • Màu đỏ (Red): [170, 87, 111] $\rightarrow$ [10, 255, 255]
  • Màu xanh lá (Green): [45, 70, 70] $\rightarrow$ [85, 255, 255]
  • Màu xanh dương (Blue): [90, 115, 150] $\rightarrow$ [110, 255, 255]
  • Màu vàng (Yellow): [15, 60, 100] $\rightarrow$ [40, 255, 255]

5. Mạch nguồn của robot giải quyết bài toán thiếu dòng và sụt áp cho 18 servo như thế nào? Hệ thống sử dụng bộ nguồn tổ ong 12V-20A hạ áp xuống 5V với dòng tối đa 12A dành riêng cho 18 động cơ servo. Tín hiệu xung PWM từ STM32F411 được đưa qua IC đệm dòng 74HC245 trước khi cấp đến servo để bù đắp dòng điều khiển. Đồng thời, nguồn cấp cho vi điều khiển STM32F411 được cách ly qua IC hạ áp LM1117 tạo mức điện áp ổn định 3.3V (dòng 1A).

Kết luận

Khóa luận tốt nghiệp của tác giả Nguyễn Nhật Long và Nghiêm Xuân Nhật Quang đã nghiên cứu, thiết kế và chế tạo thành công mô hình thực nghiệm robot nhện 6 chân 18 bậc tự do tích hợp thị giác máy tính. Bằng việc kết hợp kiến trúc điều khiển kép giữa vi điều khiển STM32F411 và máy tính nhúng NVIDIA Jetson Nano, hệ thống đã hiện thực hóa ổn định dáng đi kiềng ba chân, khả năng leo bậc thang định trước và cơ chế tự động bám mục tiêu theo 4 dải màu sắc thời gian thực. Mặc dù còn hạn chế về khối lượng khung cơ khí và nguồn năng lượng di động độc lập, đề tài là một công trình kỹ thuật hoàn chỉnh, có giá trị thực tiễn và tính tham khảo cao trong lĩnh vực robotics và hệ thống nhúng thông minh.