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

Trong bối cảnh công nghiệp hóa và hiện đại hóa, robot ngày càng đóng vai trò quan trọng trong các dây chuyền sản xuất công nghiệp cũng như các lĩnh vực dịch vụ. Xu hướng phát triển công nghệ hiện đại, đặc biệt là cuộc Cách mạng công nghiệp lần thứ tư (Công nghiệp 4.0), đòi hỏi các hệ thống tự động hóa phải có khả năng tương tác linh hoạt với môi trường thông qua thị giác máy tính và khả năng kết nối vạn vật (IoT). Tác giả đề cập đến các thành tựu thực tiễn như robot công dân Sophia, hay các trung tâm điều phối hàng hóa quy mô 200.000 đơn hàng mỗi ngày tại Thượng Hải được vận hành tự động bởi robot và chỉ cần 4 nhân sự bảo dưỡng, qua đó khẳng định tầm quan trọng của việc nghiên cứu phát triển các cơ cấu tự hành có khả năng nhận biết môi trường xung quanh.

Đồ án tốt nghiệp "Điều khiển Robot sử dụng xử lý ảnh" (tên chi tiết: "Điều khiển Robot gắp vật sử dụng xử lý ảnh") được thực hiện bởi hai sinh viên Lê Tấn (MSSV: 14151089) và Hồ Thị Diệu Linh (MSSV: 14151061), dưới sự hướng dẫn của TS. Lê Mỹ Hà, thuộc Khoa Đào tạo Chất lượng cao, ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa 2014 – 2018, hoàn thành vào tháng 07/2018).

Để định hướng triển khai, đề tài xác định 4 nhiệm vụ nghiên cứu cụ thể được đánh số trong văn bản:

  1. Thiết kế và lắp ráp robot dạng xe.
  2. Thu hình ảnh về vật và nhận dạng được vật qua màu sắc.
  3. Điều khiển xe gắp được vật sau khi đã nhận dạng được vật.
  4. Điều khiển xe ở chế độ bằng tay.

Đối tượng nghiên cứu của đồ án là mô hình robot di động 3 bánh tích hợp cơ cấu tay kẹp chuyển động bằng động cơ servo, sử dụng camera thu nhận hình ảnh truyền về máy tính qua mạng không dây Wi-Fi để xử lý nhận diện vật thể màu sắc, từ đó phát lệnh điều khiển ngược lại cho xe di chuyển và thao tác gắp/thả vật. Phạm vi nghiên cứu giới hạn ở mô hình thực nghiệm trong phòng thí nghiệm; đối tượng nhận dạng là các vật thể hình khối có màu sắc xác định (màu xanh dương và màu xanh lá cây); phương thức kết nối truyền nhận dữ liệu điều khiển thông qua mạng Wi-Fi nội bộ giữa máy tính xử lý trung tâm và vi điều khiển ESP8266.

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

Đồ án xây dựng trên nền tảng lý thuyết thị giác máy tính và lý thuyết điều khiển tự động:

Khung lý thuyết xử lý ảnh:

  • Điểm ảnh và mức xám: Điểm ảnh (pixel) là đơn vị cấu thành nhỏ nhất của ảnh số. Mức xám thể hiện giá trị độ sáng của điểm ảnh trong khoảng từ 0 đến $2^n - 1$ (với $n$ là số bit mã hóa).
  • Không gian màu: Phân tích không gian màu RGB (kết hợp ba kênh Red, Green, Blue ở dải 8-bit, tạo ra khoảng 16,7 triệu màu sắc) và không gian màu HSV (Hue: sắc màu trong vòng tròn 0° – 360°; Saturation: độ bão hòa màu; Value: cường độ sáng). Đồ án sử dụng HSV để phục vụ thuật toán lọc tách màu sắc vật thể nhằm hạn chế sự ảnh hưởng của cường độ sáng môi trường.
  • Biểu đồ Histogram và cân bằng Histogram: Sử dụng lược đồ tần số xuất hiện mức xám để đánh giá độ sáng tối và tương phản của ảnh; áp dụng thuật toán cân bằng histogram thông qua việc lập bảng xác suất xuất hiện, xác suất tích lũy và chuyển đổi giá trị mức xám mới để làm đều phân bố sáng.
  • Lọc nhiễu ảnh: Khảo sát các phương pháp loại bỏ nhiễu xung (nhiễu muối tiêu - Salt-and-pepper noise) thông qua phép nhân tích chập với các bộ lọc: toán tử trung bình (làm mịn nhưng mờ biên), toán tử trung vị (thay bằng giá trị trung vị của cửa sổ lân cận, bảo toàn biên tốt hơn), và toán tử Gaussian (sử dụng mặt nạ phân bố chuẩn đối xứng).
  • Phân ngưỡng (Thresholding): Sử dụng phương pháp phân ngưỡng Otsu dựa trên việc tối ưu hóa phương sai giữa hai lớp: $\sigma_B^2 = P_1(k)[m_1(k) - m_G]^2 + P_2(k)[m_2(k) - m_G]^2$ để tự động phân tách đối tượng khỏi nền.
  • Phát hiện biên (Edge Detection): Ứng dụng các toán tử đạo hàm bậc nhất tính Gradient (Roberts, Sobel, Prewitt), đạo hàm bậc hai Laplacian of Gaussian (LoG), phương pháp tách biên tối ưu Canny (kết hợp lọc Gauss, tìm gradient, loại bỏ biên thừa bằng non-maximum suppression và phân ngưỡng đôi), cùng biến đổi Hough chuyển đổi giữa không gian $(x, y)$ và không gian tham số $(m, c)$ để nhận dạng đường thẳng.
  • Hình thái học toán học (Mathematical Morphology): Ứng dụng hai phép toán cơ bản trên ảnh nhị phân gồm phép giãn nở (Dilation) và phép co (Erosion) với phần tử cấu trúc định sẵn nhằm lấp đầy lỗ hổng hoặc tách rời các điểm ảnh nhiễu.

Lý thuyết điều khiển:

  • Ứng dụng cấu trúc bộ điều khiển PID (Proportional - Integral - Derivative) để hiệu chỉnh tín hiệu điều khiển góc lái của xe dựa trên sai số lệch tâm giữa tọa độ vật thể nhận dạng được và tâm khung hình camera, giúp triệt tiêu hiện tượng dao động, vọt lố và giữ ổn định chuyển động khi xe bị rung lắc.

Phương pháp nghiên cứu:

  • Phương pháp thiết kế kỹ thuật và chế tạo thực nghiệm: Thiết kế cơ khí khung vỏ và cơ cấu gắp, tích hợp mạch phần cứng điện tử - công suất, xây dựng chương trình điều khiển nhúng trên vi điều khiển và lập trình xử lý ảnh trên máy tính.
  • Nguồn dữ liệu: Luồng hình ảnh video thời gian thực truyền phát không dây từ camera điện thoại thông minh (gắn trên thân robot) thông qua ứng dụng IP Webcam, kết hợp tín hiệu phản hồi số (Digital) từ cảm biến quang học hồng ngoại gắn tại đầu kẹp.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình điều khiển phân tán gồm khối xử lý ảnh thị giác máy tính trên máy tính cá nhân (PC) và khối chấp hành di động trên thân xe thông qua giao tiếp mạng Wi-Fi cục bộ.

Cấu trúc phần cứng và thiết bị sử dụng

Danh mục thiết bị và linh kiện được lựa chọn chế tạo mô hình robot được tác giả thống kê chi tiết trong Bảng 3.1 của đồ án:

STT Tên thiết bị / linh kiện Thông số kỹ thuật chính Số lượng
1 ESP8266 NodeMCU Vi điều khiển tích hợp Wi-Fi SoC, 13 chân GPIO, cổng nạp Micro USB, nguồn vào Vin 5V và ra 3.3V 1
2 Android Mobile Camera Cảm biến Sony IMX298, 8 Megapixel, độ phân giải ảnh 3280x2464, video 1080p30, 720p60, 640x480p90 1
3 Động cơ DC giảm tốc GA25 12V 620RPM Điện áp hoạt động 6 – 12VDC, dòng tiêu thụ 110 – 250mA, tốc độ 620 vòng/phút tại 12VDC 2
4 Bánh xe V2 Đường kính 65mm, vật liệu nhựa, cao su và mút 2
5 Mạch điều khiển động cơ DC L298N IC L298 Dual Full Bridge, điện áp 5 – 30VDC, công suất 25W/cầu, dòng 2A/cầu, tích hợp ổn áp 7805 1
6 Động cơ Servo MG996R Bánh răng kim loại, góc quay 0° – 180°, điều khiển bằng xung PWM 50Hz (độ rộng xung 0.5ms – 2.5ms) 1
7 Pin LiPo XP05503GT-S Dung lượng 550mAh, điện áp 11.1V, dòng xả 45C 1
8 Mạch ổn áp DC-DC LM2596S Mạch hạ áp Buck, dòng tải ngõ ra đỉnh 3A, tích hợp tụ lọc và LED báo nguồn 1
9 Bánh xe cổ trâu Bánh dẫn hướng tự do đa hướng 1
10 Cảm biến hồng ngoại FC51 IC so sánh LM393, khoảng cách phát hiện 2 – 30cm (chỉnh qua chiết áp), ngõ ra mức logic Digital 1
11 Cáp sạc Micro USB Giao tiếp nạp nạp code và cấp nguồn cho NodeMCU 1

Thiết kế cơ khí và cấp nguồn:

  • Khung xe và cơ cấu tay kẹp được thiết kế 3D bằng phần mềm SolidWorks và gia công cắt gọt từ tấm mica có độ dày 5mm. Thân xe thiết kế hai tầng: tầng dưới bố trí hai động cơ DC giảm tốc GA25 kết nối với hai bánh xe V2 65mm cùng bánh xe cổ trâu dẫn hướng phía sau; tầng trên gắn bo mạch điều khiển ESP8266 NodeMCU, mạch cầu H L298N, mạch hạ áp LM2596S và giá đỡ camera điện thoại có khả năng chỉnh góc nghiêng.
  • Hệ thống áp dụng nguyên lý cách ly nguồn điện: sử dụng hai nguồn độc lập gồm một nguồn sạc qua cổng Micro USB (5V) nuôi vi điều khiển ESP8266, và nguồn pin LiPo 11.1V qua mạch ổn áp LM2596S cấp riêng cho mạch công suất L298N và động cơ nhằm loại bỏ hiện tượng sụt áp và nhiễu do tải động cơ gây ra cho vi điều khiển.

Kiến trúc điều khiển và thuật toán vận hành

Quy trình thu nhận và xử lý tín hiệu điều khiển vận hành theo các bước:

  1. Thu nhận và tiền xử lý: Ứng dụng IP Webcam trên điện thoại Android phát luồng video qua giao thức HTTP; máy tính dùng thư viện OpenCV đọc luồng dữ liệu, chuyển đổi hệ màu từ RGB sang HSV.
  2. Phân đoạn và bám đối tượng: Người dùng thiết lập dải ngưỡng giá trị màu sắc cần bám (xanh dương hoặc xanh lá cây). Thuật toán áp dụng mặt nạ nhị phân, loại nhiễu và trích xuất tọa độ tâm đối tượng $(x, y)$.
  3. Định hướng di chuyển: Chương trình tính toán độ lệch khoảng cách $\Delta x$ giữa tọa độ tâm vật thể và trục tâm khung hình:
    • Nếu vật lệch sang phải quá 65 pixel ($\Delta x > 65$ pixel): gửi lệnh qua Wi-Fi yêu cầu xe quay phải để đưa đối tượng về trung tâm.
    • Nếu vật lệch sang trái quá 65 pixel ($\Delta x < -65$ pixel): gửi lệnh yêu cầu xe quay trái.
    • Nếu vật nằm trong khoảng cân bằng ($-65 \text{ pixel} < \Delta x < 65 \text{ pixel}$): xe duy trì tiến thẳng về phía trước. Khâu PID can thiệp hiệu chỉnh tín hiệu bù sai số rung chấn cơ học trong quá trình xe chuyển bánh.
  4. Tác vụ gắp và phân loại: Khi xe tiến sát làm vật lọt vào khe kẹp, cảm biến hồng ngoại FC51 phát hiện vật cản ở cự ly 2 – 30cm và kéo chân Digital ngõ ra về mức tích cực. ESP8266 phát tín hiệu PWM điều khiển servo MG996R xoay góc kéo kẹp giữ chặt vật. Sau khi kẹp thành công, xe thực hiện phân loại theo màu:
    • Với vật thể màu xanh dương: xe rẽ trái, tiến một khoảng định sẵn, mở kẹp thả vật.
    • Với vật thể màu xanh lá cây: xe rẽ phải, tiến lên thả vật.
    • Sau khi nhả vật, xe thực hiện thao tác lùi lại, quay ngược chiều cũ để tái lập hướng di chuyển ban đầu và tiếp tục chu trình tìm kiếm tiếp theo.

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

Chương 1: Lý thuyết về xử lý ảnh

Chương này trình bày hệ thống hóa các định nghĩa và nguyên lý cốt lõi của thị giác máy tính: định nghĩa ảnh số, pixel, độ phân giải không gian và dải động mức xám. Phân tích sự khác biệt về mặt biểu diễn giữa hệ màu RGB và HSV, chứng minh ưu thế của HSV khi xử lý phân ngưỡng màu sắc trong điều kiện ánh sáng biến thiên. Giới thiệu chi tiết cấu trúc biểu đồ Histogram, quy trình lập bảng 5 thông số tính xác suất tích lũy để thực hiện cân bằng lược đồ mức xám. Khảo sát cơ chế lọc nhiễu muối tiêu bằng các toán tử trung bình, trung vị và hàm Gaussian. Đi sâu vào giải thuật xác định ngưỡng tự động Otsu, các toán tử trích xuất đặc trưng biên (Roberts, Sobel, Prewitt, Laplacian of Gaussian, thuật toán nhiều bước Canny) và phương pháp biến đổi Hough nhận dạng đường thẳng. Cuối chương mô tả toán học hai phép toán hình thái học co (Erosion) và giãn (Dilation) trên ma trận nhị phân với phần tử cấu trúc $B$.

Chương 2: Xử lý ảnh trên Python

Giới thiệu môi trường lập trình Python, các ưu điểm về cú pháp trực quan, hệ sinh thái thư viện phục vụ cuộc Cách mạng công nghiệp 4.0 và ứng dụng trong các nền tảng lớn (Youtube, Dropbox). Phân tích cấu trúc thư viện OpenCV (các module xử lý ảnh imgproc, giao diện highgui, nhận diện objdetect). Liệt kê chức năng của các thư viện phụ trợ được tích hợp trong đồ án gồm NumPy (xử lý mảng đa chiều và đại số tuyến tính), httplib2 (gửi nhận bản tin HTTP điều khiển đến server ESP8266), argparse và time. Giới thiệu nguyên lý hoạt động của bộ điều khiển PID trong việc bù trừ sai số lệch tâm giữa vật và màn hình, phân tích tác động của các khâu tỉ lệ $P$, tích phân $I$, vi phân $D$ đến thời gian đáp ứng ($t_r$), độ vọt lố ($P_p$) và sai số xác lập. Cuối chương thiết lập hai sơ đồ lưu đồ thuật toán tổng thể chi tiết mô tả luồng rẽ nhánh điều khiển xe tự hành và kiểm tra phím ngắt 'Q'.

Chương 3: Thiết kế hệ thống

Xác định sơ đồ khối chức năng tổng thể của mô hình robot với yêu cầu thiết kế cách ly hai bộ nguồn. Liệt kê bảng thông số kỹ thuật của 11 cụm phần cứng (Bảng 3.1). Phân tích đặc tính cấu trúc phần cứng của kit ESP8266 NodeMCU: sơ đồ chân nguồn, bảo vệ mạch ngõ ra 3.3V, nguy cơ cháy nổ nếu cắm ngược cực ở chân Vin, và 13 chân GPIO truyền nhận tín hiệu. Cung cấp thông số cảm biến máy ảnh Sony IMX298, động cơ GA25 (tốc độ 620 vòng/phút), mạch công suất L298N (cầu H kép 2A/kênh), động cơ servo MG996R cùng đồ thị chu kỳ xung điều khiển góc (xung PWM 50Hz, duty cycle 0.5ms tương ứng góc 0°, 2.5ms tương ứng 180°), cảm biến hồng ngoại FC51 sử dụng bộ so sánh LM393, mạch ổn áp LM2596S và pin LiPo XP05503GT-S 11.1V. Trình bày tổng quan về nền tảng Arduino IDE và ứng dụng IP Webcam trên thiết bị di động. Cung cấp sơ đồ nối dây GPIO hoàn chỉnh giữa ESP8266 với L298N, servo, cảm biến hồng ngoại và bản vẽ thiết kế 3D khung xe, tay kẹp bằng SolidWorks từ vật liệu mica 5mm.

Chương 4: Cài đặt và thiết kế chương trình

Hướng dẫn quy trình cài đặt môi trường phần mềm: cài đặt Python phiên bản 3.4 từ trang chủ; cài đặt các gói công cụ thông qua lệnh dòng lệnh pip install cho opencv-python, imgutils, httplib2, argparse, numpy. Hướng dẫn thiết lập Arduino IDE cho vi điều khiển ESP8266: cấu hình URL gói cài đặt board ESP8266 trong Preferences, cài đặt driver giao tiếp cổng COM (cổng serial COM3) và cấu hình thông số nạp chip. Trình bày chi tiết giao diện điều khiển: giao diện điều khiển thủ công qua nền tảng Web và giao diện điều khiển tự động qua Wi-Fi có tích hợp khung hiển thị camera và các thanh trượt hiệu chỉnh thông số dải màu HSV. Trình bày kết quả thực nghiệm bám đối tượng trên mô hình thực tế qua các kịch bản kiểm thử: vật thể nằm ở chính giữa khung hình, vật thể lệch 2/5 khung hình về phía bên trái, vật nằm ở góc trái, vật lệch 4/5 khung hình về phía bên phải và vật nằm ở góc phải khung hình.

Chương 5: Kết quả đạt được và hướng phát triển

Đánh giá mức độ hoàn thành dựa trên các nhiệm vụ ban đầu: mô hình xe thực tế đã vận hành, thu nhận luồng ảnh qua Wi-Fi, nhận dạng chính xác vật thể theo dải màu thiết lập trước, thực hiện điều hướng bám tâm và điều khiển cơ cấu servo gắp – thả vật thể theo quy trình định trước, đồng thời duy trì chế độ điều khiển bằng tay qua web server. Đề xuất các phương hướng nghiên cứu nâng cấp nhằm cải thiện tốc độ đáp ứng, thuật toán xử lý và độ tin cậy của robot trong tương lai.

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

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

  • Chế tạo thành công mô hình robot 3 bánh hoàn chỉnh từ khung mica 5mm, bố trí đầy đủ động cơ DC GA25, mạch cầu H L298N, mạch hạ áp LM2596S, pin LiPo 11.1V, cánh tay kẹp điều khiển bởi servo MG996R và cảm biến hồng ngoại FC51.
  • Thiết lập thành công luồng truyền video không dây từ camera Sony IMX298 (độ phân giải 8 Megapixel) về máy tính qua ứng dụng IP Webcam.
  • Xây dựng chương trình Python 3.4 kết hợp OpenCV xử lý tách màu sắc trong không gian HSV; phân tách chính xác đối tượng cần bám và tạo mặt nạ nhị phân (mask).
  • Triển khai thuật toán điều hướng giữ vật trong dải sai số $-65 \text{ pixel} < \Delta x < 65 \text{ pixel}$; phối hợp tín hiệu số từ cảm biến khoảng cách LM393 để kích hoạt thao tác kẹp giữ tự động.
  • Thực hiện phân loại vật thể cơ bản: nhận biết và phân chia tuyến đường vận chuyển hai loại màu (xanh dương rẽ trái, xanh lá cây rẽ phải) đến khu vực tập kết và tự động quay về vị trí ban đầu.
  • Xây dựng hoàn chỉnh hai chế độ làm việc: điều khiển tự động thông qua thị giác máy tính và điều khiển thủ công các hướng chuyển động (tiến, lùi, quay) thông qua giao diện Web.

Đóng góp của đồ án:

  • Tác giả tự đánh giá đồ án tuy có quy mô không lớn nhưng đã kết hợp được hai mảng công nghệ then chốt là thị giác máy tính (Computer Vision) và kết nối vạn vật (IoT qua Wi-Fi với SoC ESP8266) vào một mô hình phần cứng điều khiển cụ thể.
  • Xây dựng giải pháp kỹ thuật có chi phí thấp khi tận dụng trực tiếp camera độ nét cao và vi xử lý của điện thoại thông minh Android cũ thay thế cho các cụm camera công nghiệp đắt tiền.

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

Hạn chế được ghi nhận từ nội dung đồ án:

  • Chất lượng đường truyền video và độ trễ lệnh điều khiển bị phụ thuộc vào độ ổn định của mạng Wi-Fi không dây cục bộ; việc stream ảnh qua IP Webcam có thể xảy ra độ trễ (delay) nhất định trong quá trình robot di chuyển.
  • Thuật toán nhận dạng hoàn toàn dựa trên dải giá trị màu sắc HSV cố định, dễ bị ảnh hưởng khi cường độ ánh sáng môi trường thay đổi đột ngột giữa các khu vực khảo sát.
  • Rung lắc cơ học khi xe di chuyển trên bề mặt không bằng phẳng làm dao động tọa độ tâm hình ảnh, đòi hỏi khâu điều khiển PID phải tinh chỉnh liên tục.
  • Cảm biến hồng ngoại FC51 có cự ly phát hiện hạn chế (trong khoảng 2 – 30cm) và phụ thuộc vào bề mặt phản xạ quang học của vật thể.
  • Dung lượng pin LiPo sử dụng ở mức nhỏ (550mAh), giới hạn thời gian hoạt động liên tục của toàn bộ hệ thống động cơ và vi điều khiển.

Hướng mở rộng và phát triển tiếp:

  • Tối ưu hóa thuật toán xử lý ảnh, nghiên cứu các giải pháp tự động bù sáng thích nghi hoặc nhận dạng vật thể dựa trên hình dạng hình học và học máy thay vì chỉ dựa vào màu sắc.
  • Cải tiến phần cứng cơ khí tay gắp linh hoạt hơn với nhiều bậc tự do (nhiều khớp servo) để gắp được các vật thể có kích thước và hình dáng đa dạng.
  • Nâng cấp vi xử lý điều khiển trên xe sang các board máy tính nhúng chuyên dụng (như Raspberry Pi) nhằm xử lý ảnh trực tiếp tại biên (Edge Computing), loại bỏ sự phụ thuộc vào máy tính trạm và đường truyền mạng Wi-Fi.

Giá trị tham khảo

Đồ án là tài liệu tham khảo trực quan, phù hợp cho sinh viên, học viên thuộc các ngành: Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử, Kỹ thuật Điện - Điện tử, Công nghệ Thông tin và Kỹ thuật Máy tính.

Tài liệu có giá trị tham khảo ứng dụng rõ rệt ở các phần:

  • Cơ sở lý thuyết xử lý ảnh số: Phần tổng hợp chi tiết các thuật toán lọc nhiễu, thuật toán phân ngưỡng Otsu, cân bằng histogram và các toán tử tách biên (Sobel, Canny, Hough) với công thức toán học đầy đủ.
  • Thiết kế tích hợp hệ thống nhúng và IoT: Phương thức kết nối mạch công suất L298N, cách ly nguồn điện bằng IC Buck LM2596S, kỹ thuật lập trình điều khiển PWM cho servo MG996R và cấu hình giao tiếp mạng trên kit ESP8266 NodeMCU bằng Arduino IDE.
  • Giải pháp phần mềm thị giác máy tính: Quy trình xử lý luồng stream video từ camera qua Python, kỹ thuật chuyển đổi không gian màu HSV và cách phân tách tọa độ pixel phục vụ điều khiển chuyển động phản hồi vòng kín.

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

1. Robot sử dụng cảm biến và cơ chế nào để nhận biết vật thể đã nằm trọn trong tay gắp trước khi đóng servo?
Hệ thống sử dụng cảm biến hồng ngoại FC51 tích hợp IC so sánh LM393 lắp đặt ngay tại vị trí khe kẹp. Khi vật cản đi vào phạm vi từ 2 đến 30cm, tia hồng ngoại phản xạ kích hoạt mạch so sánh, làm sáng LED báo và chuyển mức tín hiệu ngõ ra Digital gửi về chân GPIO của ESP8266, từ đó kích hoạt xung PWM điều khiển động cơ servo MG996R quay để khép tay kẹp lại.

2. Tiêu chí định lượng nào trên khung hình được thuật toán sử dụng để phân loại các lệnh rẽ trái, rẽ phải hoặc đi thẳng của xe?
Chương trình xác định khoảng cách sai lệch $\Delta x$ giữa tọa độ tâm vật thể và trục tâm ngang của khung hình:

  • Nếu $-65 \text{ pixel} < \Delta x < 65 \text{ pixel}$: vật nằm trong vùng cân bằng ở giữa, xe nhận lệnh tiến thẳng.
  • Nếu $\Delta x > 65$ pixel: vật nằm lệch về bên phải, xe nhận lệnh rẽ phải để đưa vật về giữa.
  • Nếu $\Delta x < -65$ pixel: vật nằm lệch về bên trái, xe nhận lệnh rẽ trái.

3. Quy trình xử lý và phân loại vật thể sau khi gắp được phân biệt ra sao giữa các màu sắc?
Sau khi servo kẹp giữ vật thành công, nếu vật thể được nhận dạng là màu xanh dương, xe sẽ thực hiện rẽ trái, tiến lên một khoảng định sẵn rồi mở kẹp hạ vật; nếu vật thể là màu xanh lá cây, xe sẽ thực hiện rẽ phải, tiến lên để thả vật. Sau khi thả, xe lùi lại, quay ngược góc rẽ ban đầu để đưa robot về lại vị trí và hướng xuất phát để tiếp tục dò tìm.

4. Tại sao hệ thống phần cứng phải thiết kế hai đường nguồn cấp độc lập?
Hệ thống sử dụng một nguồn riêng cấp cho khối xử lý điều khiển (qua cổng Micro USB 5V của ESP8266) và một nguồn pin LiPo 11.1V qua mạch hạ áp LM2596S cấp cho mạch cầu H L298N nuôi các động cơ DC và servo. Việc tách biệt nguồn này nhằm đảm bảo cung cấp đủ dòng tải lớn cho các cơ cấu chấp hành, đồng thời ngăn ngừa hiện tượng sụt áp đột ngột và nhiễu xung điện từ động cơ gây treo hoặc cháy hỏng vi điều khiển ESP8266.

5. Môi trường phần mềm và các thư viện lập trình chính được sử dụng để xây dựng đồ án gồm những gì?
Hệ thống sử dụng ngôn ngữ Python 3.4 cùng các thư viện: opencv-python (xử lý thị giác máy tính), numpy (tính toán ma trận), httplib2 (gửi lệnh HTTP đến server ESP8266), argparse, imgutils và time. Về phía nhúng, hệ thống dùng phần mềm Arduino IDE (tích hợp gói biên dịch cho ESP8266) để lập trình vi điều khiển và ứng dụng IP Webcam trên hệ điều hành Android để truyền phát hình ảnh qua giao thức IP.

Kết luận

Đồ án tốt nghiệp "Điều khiển Robot sử dụng xử lý ảnh" của sinh viên Lê Tấn và Hồ Thị Diệu Linh (Đại học Sư phạm Kỹ thuật TP.HCM) đã chế tạo thành công mô hình robot xe 3 bánh tích hợp tay kẹp và hệ thống thị giác máy tính. Đề tài kết nối hiệu quả giải thuật xử lý ảnh lọc màu HSV trên nền tảng Python/OpenCV với cơ chế điều khiển nhúng thời gian thực qua mạng Wi-Fi bằng vi điều khiển ESP8266 NodeMCU. Hệ thống thực hiện được đầy đủ các nhiệm vụ đặt ra từ việc bám đối tượng, tự động gắp, phân loại màu sắc cơ bản cho đến chế độ điều khiển thủ công trên giao diện web.