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, sự phát triển của khoa học kỹ thuật nói chung và ngành điện tử - tự động hóa nói riêng đã tạo ra các thiết bị vận hành tốc độ cao, độ chính xác lớn, đáp ứng nhanh nhằm nâng cao năng suất lao động và giảm giá thành sản phẩm. Công nghệ robot công nghiệp đóng vai trò phương tiện tự động hóa quan trọng, có khả năng thay thế sức lao động của con người trong các công việc nặng nhọc, độc hại, môi trường khắc nghiệt như phóng xạ, nhiệt độ cao hoặc hoạt động liên tục trong thời gian dài. Ngoài các dây chuyền sản xuất tự động kết hợp máy CNC, kỹ thuật robot còn mở rộng ứng dụng sang các lĩnh vực y tế (thăm dò cơ thể, hỗ trợ bệnh nhân), quân sự, quốc phòng, khai thác thềm lục địa và nghiên cứu không gian.

Từ nhu cầu thực tiễn và cơ sở kiến thức được đào tạo trong bốn năm học, nhóm tác giả đã lựa chọn thực hiện đề tài "Thiết kế và điều khiển cánh tay robot ba bậc tự do" nhằm chế tạo một mô hình cánh tay robot có thể ứng dụng trong các hoạt động sản xuất công nghiệp đơn giản.

Mục tiêu nghiên cứu của đề tài được xác định gồm 4 nội dung:

  1. Rèn luyện khả năng tìm kiếm và đọc hiểu tài liệu chuyên ngành.
  2. Vận dụng các kiến thức lý thuyết đã học trên giảng đường vào đề tài thực tế.
  3. Nắm bắt một cách tổng quát về cấu trúc phần cứng và phần mềm để chế tạo cánh tay robot ba bậc tự do.
  4. Thiết kế và thi công hoàn thiện mô hình cánh tay robot ba bậc tự do.

Nhiệm vụ nghiên cứu cụ thể bao gồm:

  1. Tính toán các phương trình động học (động học thuận, động học nghịch, ma trận Jacobi).
  2. Xây dựng phương trình và thuật toán điều khiển PID cho cánh tay robot.
  3. Xây dựng hệ thống nhúng điều khiển trên phần mềm Matlab thông qua kit vi điều khiển STM32F4 Discovery và truyền thông UART để thu thập, giám sát dữ liệu.
  4. Quy hoạch quỹ đạo chuyển động cho cánh tay robot bằng giải thuật đường cong Bézier nhằm tránh các vật cản trên đường đi.
  5. Thiết kế và lắp ráp hoàn chỉnh phần cứng mô hình cánh tay robot.

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

  • Đối tượng nghiên cứu: Các phương trình động học của cánh tay robot ba bậc tự do, giải thuật điều khiển vị trí tối ưu, phần mềm Matlab/Simulink, kit vi điều khiển STM32F4 Discovery, các mạch công suất và cơ cấu cơ khí của cánh tay robot.
  • Phạm vi nghiên cứu: Giới hạn trong môi trường phần mềm Matlab/Simulink kết hợp thư viện Waijung Blockset, giao tiếp truyền thông nối tiếp UART giữa STM32F4 Discovery với máy tính, và thi công mô hình phần cứng cánh tay robot ba bậc tự do phục vụ thực nghiệm. Thời gian thực hiện từ ngày 15/03/2015 đến ngày 25/07/2015 tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.

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

Khóa luận kết hợp chặt chẽ giữa mô hình hóa toán học robot học kinh điển, lý thuyết điều khiển tự động và kỹ thuật thiết kế hệ thống nhúng thời gian thực:

  • Mô hình hóa Denavit – Hartenberg (D – H): Sử dụng phương pháp D – H để thiết lập hệ tọa độ cục bộ cho từng khâu và khớp của chuỗi động học robot. Mỗi khớp được gán trục $z$ dọc theo hướng chuyển động (trục quay hoặc trục tịnh tiến theo quy tắc bàn tay phải), trục $x$ nằm dọc theo đường vuông góc chung ngắn nhất giữa hai trục $z$ kế tiếp. Bảng tham số D – H gồm 4 thông số: góc quay khớp $\theta_i$, độ dịch chuyển khớp $d_i$, chiều dài khâu $a_i$, và góc xoắn khâu $\alpha_i$. Ma trận chuyển vị thuần nhất giữa hai khâu liên tiếp được xác định theo công thức: $$T_{n-1}^n = A_{n-1}^n = R(z, \theta_n) \cdot T(0,0,d_n) \cdot T(a_n,0,0) \cdot R(x, \alpha_n)$$

  • Động học thuận và động học nghịch:

    • Động học thuận: Xác định ma trận vị trí và hướng $^{0}T_n = A_1 A_2 \dots A_n$ của cơ cấu chấp hành cuối (end-effector) trong không gian làm việc Descartes khi biết trước tập giá trị biến khớp.
    • Động học nghịch: Tìm tập nghiệm biến khớp $q = [\theta_1, \theta_2, \theta_3]^T$ từ vị trí và hướng yêu cầu của điểm công tác cuối thông qua phương pháp đại số và biến đổi lượng giác (sử dụng hàm $\text{atan2}$).
  • Ma trận Jacobi và động học vận tốc: Thiết lập mối quan hệ vi phân tuyến tính giữa vector vận tốc tổng quát của cơ cấu chấp hành cuối $V = [v, \omega]^T$ (gồm vận tốc dài $v$ và vận tốc góc $\omega$) với vector vận tốc các biến khớp $\dot{q}$ thông qua ma trận Jacobi $J(q)$: $$V = J(q) \cdot \dot{q}$$

  • Bộ điều khiển PID và số hóa bộ điều khiển: Áp dụng bộ điều khiển tỉ lệ - tích phân - vi phân (PID) kinh điển để điều khiển bám vị trí từng khớp:

    • Thành phần Tỉ lệ ($K_P$): Tác động nhanh, tỉ lệ tuyến tính với sai lệch điều khiển $e(t)$.
    • Thành phần Tích phân ($K_I$): Triệt tiêu sai lệch tĩnh ở trạng thái xác lập.
    • Thành phần Vi phân ($K_D$): Dự đoán xu hướng sai lệch, cải thiện độ ổn định và giảm độ vọt lố.
    • Bộ PID số: Xấp xỉ tín hiệu liên tục sang miền thời gian rời rạc bằng phương pháp xấp xỉ tích phân lùi (backward integral approximation) và vi phân lùi (backward difference approximation) với chu kỳ lấy mẫu $T$.
  • Quy hoạch quỹ đạo bằng đường cong Bézier: Sử dụng đường cong Bézier bậc hai (quadratic Bézier curve) với phương pháp định nghĩa đệ quy qua các điểm điều khiển nhằm tạo quỹ đạo chuyển động trơn tru, liên tục, đồng thời định hình đường đi né tránh các vật cản trong không gian làm việc.

  • Phương pháp nghiên cứu thực tế: Phân tích lý thuyết, mô hình hóa toán học, thiết kế mô phỏng trên Matlab/Simulink, tạo mã nhúng tự động bằng Waijung Blockset xuống kit STM32F4 Discovery, kết hợp kiểm chứng thực nghiệm trên mô hình cánh tay robot ba bậc tự do tự chế tạo.

  • Nguồn dữ liệu: Giáo trình Kỹ thuật robot của Trường Đại học Sư phạm Kỹ thuật TP.HCM, tài liệu kỹ thuật vi điều khiển STM32F4 của hãng STMicroelectronics và tài liệu thư viện mã nguồn mở Waijung Blockset.


Thiết kế và triển khai

Hệ thống điều khiển cánh tay robot ba bậc tự do được thiết kế theo kiến trúc điều khiển nhúng thời gian thực kết nối với máy tính chủ giám sát qua giao tiếp nối tiếp:

Thành phần hệ thống Quy cách kỹ thuật / Chi tiết phần cứng và phần mềm Chức năng trong hệ thống
Vi điều khiển trung tâm Kit STM32F4 Discovery (chip ARM Cortex-M4, FPU, tần số xung nhịp 168 MHz, hiệu năng 210 DMIPS, 1 MB Flash, 192 KB RAM) Tính toán giải thuật điều khiển thời gian thực, tạo xung PWM, đọc xung encoder và xử lý ngắt
Thư viện lập trình nhúng Waijung Blockset (chạy trên môi trường Matlab/Simulink R2009a trở lên) Cấu hình ngoại vi MCU, xuất mã nguồn C và biên dịch nạp trực tiếp tự động (Real-Time Workshop)
Module truyền thông Module chuyển đổi USB-UART dùng chip PL-2303, chuẩn mức logic TTL (0V / 5V) Truyền nhận dữ liệu không đồng bộ giữa máy tính chủ và vi điều khiển STM32F4 qua cổng UART
Cơ cấu chấp hành Động cơ DC cho từng khâu khớp của cánh tay robot Tạo chuyển động quay cho các bậc tự do của cánh tay
Cảm biến phản hồi Encoder quang gắn đồng trục với từng động cơ Đọc góc quay thực tế của từng khớp về vi điều khiển
Mạch công suất Mạch cầu H (H-Bridge) chuyên dụng Đóng cắt dòng điện, điều chế độ rộng xung và đảo chiều động cơ

Cấu hình các khối chức năng chính trong thư viện Waijung Blockset trên Simulink bao gồm:

  • Khối Target Setup: Thiết lập cấu hình phần cứng mục tiêu STM32F4, lựa chọn trình biên dịch chéo, cài đặt tần số xung nhịp hệ thống và quản lý quá trình nạp tự động.
  • Khối Basic PWM: Tạo xung điều khiển PWM với chu kỳ xác định, hỗ trợ tối đa 4 kênh ngõ ra trên mỗi timer, chấp nhận giá trị Duty Cycle từ 0% đến 100%.
  • Khối Encoder Read: Cấu hình timer phần cứng để đọc tín hiệu kênh A/B từ đĩa encoder của động cơ với thông số độ phân giải xung (PPR).
  • Khối Digital Output: Cấu hình xuất mức logic 0/1 tại các chân I/O để điều khiển tín hiệu chiều quay cho mạch cầu H.
  • Các khối UART Setup, UART Rx, UART Tx: Cấu hình module UART, tốc độ truyền (Baud rate), chân truyền Tx, chân nhận Rx theo chế độ gói tin nhị phân hoặc ASCII.
  • Các khối Host Serial Setup, Host Serial Tx, Host Serial Rx: Cấu hình cổng giao tiếp nối tiếp ảo (COM) trên máy tính chủ, tốc độ truyền, số bit dữ liệu (8-bit), stop bit và thời gian lấy mẫu (Sample time) để giám sát tham số thời gian thực.

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

Chương 1: Tổng quan đề tài

Chương 1 phân tích tính cấp thiết của công nghệ robot trong nền sản xuất hiện đại và bối cảnh phát triển công nghiệp tại Việt Nam. Tác giả trình bày các lý do lựa chọn đề tài nghiên cứu, xác định mục tiêu 4 điểm, nhiệm vụ nghiên cứu, đối tượng, phạm vi giới hạn của đề tài (tập trung vào nền tảng Matlab, STM32F4, UART và phần cứng 3 bậc tự do) và tổng quan bố cục toàn văn bản đồ án.

Chương 2: Cơ sở lý thuyết

Chương 2 trình bày có hệ thống các nền tảng toán học và kỹ thuật điều khiển:

  • Phương pháp đặt hệ trục và thiết lập tham số Denavit – Hartenberg.
  • Xây dựng công thức tổng quát giải bài toán động học thuận và động học nghịch cho robot nhiều khâu.
  • Thiết lập công thức ma trận Jacobi $J(q)$ liên hệ giữa vận tốc dài, vận tốc góc của cơ cấu chấp hành cuối với vận tốc góc của các khớp.
  • Phân tích cấu trúc bộ điều khiển PID (vai trò các khâu P, I, D) và nguyên lý số hóa bộ điều khiển PID trên miền thời gian rời rạc.
  • Giới thiệu chi tiết kiến trúc phần cứng kit STM32F4 Discovery (vi xử lý ARM Cortex-M4 168 MHz, bộ nhớ, các cảm biến tích hợp LIS302DL, MP45DT02, DAC CS43L22, hệ thống LED và cổng USB OTG).
  • Khảo sát hệ thống thư viện Waijung Blockset trên Matlab/Simulink với các khối Target Setup, Digital Output, UART, Encoder Read, Basic PWM, Host Serial.
  • Trình bày nguyên lý truyền thông nối tiếp không đồng bộ UART/USART, so sánh mức điện áp TTL (0V - 5V) với chuẩn RS232 (-12V đến +12V) và module PL-2303.
  • Cơ sở toán học của đường cong Bézier bậc hai và thuật toán nội suy đệ quy.

Chương 3: Nội dung thực hiện đề tài

Chương 3 tập trung vào tính toán và xây dựng mô hình điều khiển cho robot:

  • Đặt hệ trục tọa độ cho cánh tay robot ba bậc tự do và lập Bảng 3.1 (Bảng thông số D – H).
  • Thiết lập hệ phương trình động học thuận và động học nghịch giải tích nhằm tính toán trực tiếp góc quay các khớp từ tọa độ vị trí mục tiêu $(x, y, z)$.
  • Xây dựng biểu thức ma trận Jacobi cho mô hình robot cụ thể.
  • Xây dựng giải thuật điều khiển hoàn chỉnh trên Matlab/Simulink, bao gồm khối khởi tạo hệ thống (Init system) và các khối giao tiếp với STM32F4.

Chương 4: Thiết kế cánh tay robot

Chương 4 mô tả quá trình thiết kế và lựa chọn phần cứng:

  • Thiết kế cơ khí chi tiết cho từng khâu (link) của cánh tay robot ba bậc tự do.
  • Tính toán và lựa chọn thông số động cơ chấp hành DC cho từng khớp.
  • Lựa chọn cảm biến encoder quang học phù hợp nhằm phản hồi chính xác vị trí góc quay.
  • Thiết kế và lắp ráp mạch công suất cầu H để đóng cắt và điều khiển đảo chiều động cơ.

Chương 5: Kết quả thực hiện đề tài

Chương 5 trình bày các kết quả thực nghiệm thu được:

  • Hoàn thiện mô hình vật lý cánh tay robot ba bậc tự do.
  • Xác định và hiệu chỉnh bộ thông số điều khiển PID cho hệ thống (Bảng 5.1).
  • Kiểm nghiệm giải thuật quy hoạch quỹ đạo đường cong Bézier nhằm điều khiển khâu chấp hành cuối di chuyển đến điểm đích $[150, 150, 100]$ thông qua các điểm ảo điều khiển khác nhau ($[150, 150, 0]$, $[150, 0, 150]$, $[0, 150, 150]$, $[150, 0, 0]$, $[0, 150, 0]$) theo các hướng tiếp cận.

Chương 6: Kết luận và hướng phát triển

Chương 6 đánh giá mức độ hoàn thành nhiệm vụ của đồ án, chỉ ra các nhược điểm còn tồn tại của hệ thống cơ khí và thuật toán, đồng thời đề xuất các hướng nâng cấp và mở rộng nghiên cứu tiếp theo.


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

Khóa luận đã hoàn thành các mục tiêu đề ra với những kết quả thực nghiệm và kỹ thuật cụ thể:

  • Chế tạo hoàn chỉnh mô hình phần cứng: Lắp ráp hoàn chỉnh cánh tay robot ba bậc tự do bao gồm cơ cấu cơ khí các khâu, 3 động cơ DC kèm encoder phản hồi và các mạch công suất cầu H.
  • Xây dựng hoàn chỉnh mô hình động học: Thiết lập thành công bảng tham số D – H, giải bài toán động học thuận và động học ngược, cho phép biến đổi chính xác giữa không gian khớp và không gian Descartes.
  • Hệ thống điều khiển nhúng trên nền Matlab/Simulink và STM32F4: Ứng dụng thành công thư viện Waijung Blockset để xuất mã tự động xuống kit ARM Cortex-M4, thực thi giải thuật điều khiển PID số và giao tiếp dữ liệu hai chiều với máy tính qua UART PL-2303 ở mức điện áp TTL.
  • Hiệu chỉnh bộ tham số PID: Hệ thống được xác lập các giá trị thông số điều khiển PID phù hợp cho từng khâu (Bảng 5.1), đảm bảo đáp ứng vị trí ổn định, giảm thiểu dao động và sai lệch tĩnh.
  • Thực nghiệm quy hoạch quỹ đạo Bézier: Áp dụng thành công thuật toán đường cong Bézier bậc hai để tạo quỹ đạo chuyển động mượt mà, chứng minh khả năng né tránh điểm vật cản thông qua việc thay đổi các tọa độ điểm ảo kiểm soát:
Trường hợp thử nghiệm Tọa độ điểm đích ($P_{end}$) Tọa độ điểm ảo điều khiển ($P_{virtual}$) Mục tiêu kiểm chứng
Trường hợp 1 $[150, 150, 100]$ $[150, 150, 0]$ Khảo sát quỹ đạo uốn cong theo trục z
Trường hợp 2 $[150, 150, 100]$ $[150, 0, 150]$ Khảo sát quỹ đạo lệch hướng trục y
Trường hợp 3 $[150, 150, 100]$ $[0, 150, 150]$ Khảo sát quỹ đạo lệch hướng trục x
Trường hợp 4 $[150, 150, 100]$ $[150, 0, 0]$ Khảo sát quỹ đạo kết hợp né vật cản mặt đáy
Trường hợp 5 $[150, 150, 100]$ $[0, 150, 0]$ Khảo sát quỹ đạo đổi hướng không gian rộng

Đóng góp chính của đồ án là tích hợp thành công phương pháp thiết kế hệ thống dựa trên mô hình (Model-Based Design) sử dụng Matlab/Simulink kết hợp Waijung Blockset trên kit STM32F4 Discovery giá thành thấp, giúp rút ngắn thời gian phát triển và nạp mã điều khiển cho robot so với phương pháp lập trình vi điều khiển truyền thống.


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

Dựa trên nội dung được trình bày trong đồ án, nghiên cứu còn một số hạn chế:

  • Kỹ năng tìm kiếm tài liệu chuyên sâu và kiến thức của nhóm tác giả còn giới hạn.
  • Cơ cấu cơ khí cánh tay robot còn ở mức độ đơn giản, độ cứng vững và độ chính xác gia công chưa cao.
  • Hệ thống điều khiển và giám sát còn phụ thuộc trực tiếp vào việc kết nối máy tính chạy Matlab qua cáp nối tiếp UART, chưa hoạt động hoàn toàn độc lập (stand-alone).

Các hướng phát triển tiếp theo được đề xuất bao gồm:

  • Cải tiến và tối ưu hóa kết cấu cơ khí, sử dụng vật liệu gia công có độ bền và độ chính xác cao hơn.
  • Nâng cấp giải thuật điều khiển (bổ sung thuật toán bù phi tuyến, chống rung, tối ưu hóa năng lượng).
  • Mở rộng thêm số bậc tự do cho cánh tay robot hoặc tích hợp cơ cấu tay gắp chuyên dụng.
  • Tích hợp thêm cảm biến thị giác (camera) để nhận dạng và định vị vật thể tự động.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên, học viên và giảng viên thuộc các ngành:

  • Công nghệ Kỹ thuật Điều khiển và Tự động hóa
  • Kỹ thuật Cơ điện tử
  • Kỹ thuật Robot
  • Kỹ thuật Hệ thống nhúng

Các nội dung có giá trị tham khảo ứng dụng cao trong tài liệu gồm:

  • Quy trình chuẩn hóa thiết lập bảng D – H và giải bài toán động học thuận/nghịch cho robot ba bậc tự do.
  • Hướng dẫn chi tiết cách cấu hình các khối chức năng của thư viện Waijung Blockset trên Simulink để giao tiếp với các ngoại vi phần cứng của STM32F4 (PWM, Timer Encoder, UART, GPIO).
  • Phương pháp ứng dụng đường cong Bézier trong bài toán quy hoạch quỹ đạo né vật cản trong không gian làm việc của tay máy.

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

1. Khóa luận sử dụng vi điều khiển nào làm bộ xử lý trung tâm và vi điều khiển này có các thông số kỹ thuật chính nào?
Khóa luận sử dụng kit vi điều khiển STM32F4 Discovery tích hợp chip ARM Cortex-M4 có bộ tính toán số thực (FPU), hoạt động ở tần số xung nhịp 168 MHz, đạt hiệu năng 210 DMIPS (tỉ suất 1.25 DMIPS/MHz), bộ nhớ Flash 1 MB và RAM 192 KB trong gói LQFP100.

2. Thư viện Waijung Blockset đóng vai trò gì trong đồ án?
Waijung Blockset là thư viện khối nhúng trên Matlab/Simulink giúp cấu hình toàn bộ ngoại vi của vi điều khiển STM32F4 (như PWM, Encoder, UART, GPIO) và tự động biên dịch, xuất mã nguồn C nạp trực tiếp xuống phần cứng thông qua tính năng Real-Time Workshop.

3. Bài toán động học và động học vận tốc của cánh tay robot được xây dựng bằng phương pháp nào?
Bài toán động học được mô hình hóa theo phương pháp Denavit – Hartenberg (D – H) để thiết lập bảng tham số và ma trận chuyển vị thuần nhất. Động học thuận và nghịch được giải bằng phương pháp đại số lượng giác, còn động học vận tốc được mô tả thông qua ma trận Jacobi $J(q)$.

4. Giải thuật quy hoạch quỹ đạo Bézier được kiểm nghiệm với những bộ tọa độ điểm nào?
Giải thuật được kiểm nghiệm với điểm đích cố định $P_{end} = [150, 150, 100]$ và 5 trường hợp thay đổi điểm ảo điều khiển né vật cản gồm: $[150, 150, 0]$, $[150, 0, 150]$, $[0, 150, 150]$, $[150, 0, 0]$ và $[0, 150, 0]$.

5. Dữ liệu truyền thông giữa máy tính và kit STM32F4 được thực hiện theo giao thức và phần cứng nào?
Hệ thống sử dụng phương thức truyền thông nối tiếp không đồng bộ UART mức logic TTL (0V - 5V), kết nối thông qua module chuyển đổi phần cứng USB-UART chip PL-2303 để truyền nhận và giám sát dữ liệu trên máy tính.


Kết luận

Khóa luận "Thiết kế và điều khiển cánh tay robot ba bậc tự do" đã xây dựng thành công mô hình tay máy 3 bậc tự do hoàn chỉnh cả về phần cứng cơ khí, mạch công suất và hệ thống điều khiển nhúng. Đề tài đã giải quyết trọn vẹn bài toán động học theo phương pháp Denavit – Hartenberg, thiết lập giải thuật điều khiển PID số và ứng dụng đường cong Bézier vào quy hoạch quỹ đạo né vật cản. Việc kết hợp phần mềm Matlab/Simulink với thư viện Waijung Blockset trên kit STM32F4 Discovery đã chứng minh tính hiệu quả của phương pháp thiết kế nhúng dựa trên mô hình trong lĩnh vực kỹ thuật điều khiển và tự động hóa.