Bối cảnh và vấn đề nghiên cứu
Trong lĩnh vực robot học và tự động hóa, robot di động đa hướng (Omnidirectional Mobile Robot - OMR) sử dụng bánh xe omni nhận được sự quan tâm nghiên cứu sâu rộng từ các cơ sở đào tạo và nhóm nghiên cứu kỹ thuật, đặc biệt là trong các cuộc thi sáng tạo robot (Robocon). Khác với các hệ thống chuyển động truyền thống phụ thuộc vào cơ cấu lái hạn chế góc quay, robot sử dụng bánh xe omni sở hữu khả năng di chuyển linh hoạt vượt trội: có thể thực hiện đồng thời và độc lập chuyển động tịnh tiến theo mọi hướng và chuyển động quay quanh tâm. Đặc tính cơ động này cho phép robot vận hành hiệu quả trong những không gian nhỏ hẹp, môi trường phức tạp đòi hỏi độ chính xác cao. Ngoài phạm vi thi đấu học thuật, nền tảng chuyển động đa hướng còn được ứng dụng thực tiễn trong các phương tiện giám sát quân sự, thiết bị in 3D di động và xe tự hành công nghiệp.
Đề tài "Điều khiển Omni Wheel Robot dùng giải thuật PID" (Báo cáo Đồ án 2B) được thực hiện bởi nhóm sinh viên Trần Văn Thiện và Võ Bá Việt Nghĩa dưới sự hướng dẫn của TS. Mai Thăng Long tại Bộ môn Điện tử - Tự động, Khoa Công nghệ Điện tử, Trường Đại học Công nghiệp TP.HCM (hoàn thành vào tháng 12/2015).
Mục đích nghiên cứu của đề tài bao gồm:
- Nghiên cứu cơ sở lý thuyết về động học và động lực học của hệ thống robot di động 3 bánh omni dựa trên các công trình khoa học đã công bố.
- Thiết kế và ứng dụng giải thuật điều khiển PID nhằm điều khiển robot chuyển động chính xác đến các tọa độ đặt trong không gian.
- Xây dựng mô hình mô phỏng hệ thống trên môi trường MATLAB/Simulink để kiểm chứng thuật toán.
- Thiết kế phần mềm giao diện trên máy tính và thi công mô hình phần cứng thực tế phục vụ thử nghiệm.
Đối tượng và phạm vi nghiên cứu của đề tài:
- Đối tượng nghiên cứu: Hệ phương trình vi phân mô tả động học và động lực học của mobile robot 3 bánh omni, giải thuật điều khiển vòng kín PID, phần mềm tính toán mô phỏng MATLAB/Simulink, môi trường phát triển ứng dụng Microsoft Visual Studio 2010, môi trường lập trình nhúng Arduino IDE và mô hình robot vật lý thực nghiệm.
- Phạm vi nghiên cứu: Mô hình robot 3 bánh đa hướng bố trí đối xứng cách nhau một góc $120^\circ$; phương pháp hiệu chỉnh thông số bộ điều khiển PID bằng kỹ thuật thử sai; phạm vi định vị không gian dựa trên 02 cảm biến siêu âm SRF05 và 01 la bàn số HMC5883L; truyền thông không dây máy tính - robot qua module RF CC1101 giao tiếp UART.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình toán học
Cấu trúc hình học của robot di động 3 bánh đa hướng được thiết lập với 3 bánh xe có cùng bán kính $r$, bố trí lệch nhau góc $120^\circ$ quanh tâm hình học $C$, khoảng cách từ tâm $C$ đến tâm mỗi bánh xe là $L$. Hệ thống sử dụng hai hệ trục tọa độ: hệ tọa độ tham chiếu toàn cục $OXY$ và hệ tọa độ cục bộ $CX_0Y_0$ gắn liền với thân robot. Vị trí và tư thế của robot trong hệ tọa độ toàn cục được biểu diễn qua vector trạng thái $q = [x, y, \theta_C]^T \in \mathbb{R}^{3 \times 1}$.
Ma trận quay chuyển đổi giữa hệ tọa độ gắn trên robot và hệ tọa độ toàn cục có dạng:
$$R(\theta_C) = \begin{bmatrix} \cos(\theta_C) & -\sin(\theta_C) \ \sin(\theta_C) & \cos(\theta_C) \end{bmatrix}$$
Mối quan hệ động học giữa vận tốc góc của 3 bánh xe $[\omega_1, \omega_2, \omega_3]^T$ và vận tốc của thân robot trong hệ tọa độ toàn cục $[\dot{X}_C, \dot{Y}_C, \dot{\theta}_C]^T$ được thiết lập qua phương trình:
$$\begin{bmatrix} \omega_1 \ \omega_2 \ \omega_3 \end{bmatrix} = \frac{1}{r} \begin{bmatrix} -\sin(\theta_C) & \cos(\theta_C) & L \ -\sin(\frac{\pi}{3} - \theta_C) & -\cos(\frac{\pi}{3} - \theta_C) & L \ \sin(\frac{\pi}{3} + \theta_C) & -\cos(\frac{\pi}{3} + \theta_C) & L \end{bmatrix} \begin{bmatrix} \dot{X}_C \ \dot{Y}_C \ \dot{\theta}_C \end{bmatrix}$$
Về mô hình động lực học, hệ phương trình cân bằng lực và momen chuyển động theo định luật II Newton được biểu diễn:
$$\sum_{i=1}^{3} f_i R(\theta) D_i = m \ddot{P}o$$
$$L \sum{i=1}^{3} f_i = J \ddot{\theta}$$
Trong đó $m$ là khối lượng robot, $J$ là momen quán tính quanh trọng tâm, $\ddot{P}_o = [\ddot{x}, \ddot{y}]^T$ là vector gia tốc tịnh tiến, $f_i$ là lực kéo do động cơ thứ $i$ sinh ra. Lực kéo của động cơ DC được mô hình hóa tuyến tính theo điện áp cấp $U_i$ và vận tốc bánh xe $V_i$: $f_i = \alpha U_i + \beta V_i$ (với $\alpha, \beta$ là các hệ số đặc trưng của động cơ). Phương trình vi phân trạng thái động lực học của hệ thống được tổng hợp thành:
$$\begin{bmatrix} m\ddot{x} \ m\ddot{y} \end{bmatrix} = \alpha P(\theta) U - \frac{3\beta}{2} \begin{bmatrix} \dot{x} \ \dot{y} \end{bmatrix}$$
Cấu trúc bộ điều khiển PID và phương pháp hiệu chỉnh
Bộ điều khiển vị trí sử dụng cấu trúc PID kinh điển với hàm truyền đạt liên tục:
$$G_{PID}(s) = K_p + \frac{K_i}{s} + K_d s$$
Sai số vị trí được xác định bằng độ lệch giữa vector tọa độ đặt $[x, y]^T$ và vector tọa độ thực tế phản hồi $[x', y']^T$:
$$e = \begin{bmatrix} x \ y \end{bmatrix} - \begin{bmatrix} x' \ y' \end{bmatrix}$$
Tín hiệu điều khiển ngõ ra $V$ được tính toán tổng hợp qua 3 khâu tỉ lệ ($K_p$), tích phân ($K_i$) và vi phân ($K_d$), sau đó được chiếu lên vector chỉ hướng $D_i$ của từng động cơ để xác định giá trị điều khiển thành phần $V_i = V^T \times D_i$.
Tác giả phân tích hai phương pháp xác định thông số PID:
- Phương pháp thử sai (Trial-and-Error): Khởi tạo $K_i = 0, K_d = 0$, tăng dần $K_p$ cho đến khi hệ thống xuất hiện dao động, sau đó giảm $K_p$ về khoảng 50% giá trị tới hạn; tiếp tục tăng $K_i$ để triệt tiêu sai số xác lập nhưng đảm bảo không gây mất ổn định; cuối cùng tăng $K_d$ để giảm thời gian xác lập và triệt tiêu độ vọt lố.
- Phương pháp Ziegler - Nichols: Xác định hệ số khuếch đại tới hạn $K_u$ và chu kỳ dao động tới hạn $P_u$ (hoặc $T_u$) khi hệ thống chỉ có khâu khuếch đại tỉ lệ đạt trạng thái dao động duy trì với biên độ không đổi.
| Thông số PID |
Thời gian khởi động |
Độ vọt lố |
Thời gian xác lập |
Sai số xác lập |
| Tăng $K_p$ |
Giảm |
Tăng |
Giảm ít |
Giảm |
| Tăng $K_i$ |
Giảm |
Tăng |
Tăng |
Triệt tiêu |
| Tăng $K_d$ |
Thay đổi nhỏ |
Giảm |
Giảm |
Không tác động |
| Dạng điều khiển theo Ziegler - Nichols |
Hệ số tỉ lệ $K_p$ |
Hệ số tích phân $K_i$ |
Hệ số vi phân $K_d$ |
| PID chuẩn |
$0.6 K_u$ |
$2 K_p / P_u$ |
$K_p P_u / 8$ |
Phương pháp nghiên cứu thực hiện
- Phương pháp phân tích giải tích: Thiết lập hệ phương trình toán học mô tả động học và động lực học chuyển động đa hướng của hệ 3 bánh xe.
- Phương pháp mô phỏng số: Ứng dụng công cụ Simulink trong MATLAB để giải hệ phương trình vi phân bậc hai của hệ thống thông qua việc xây dựng khối S-Function (
Pidc.m).
- Phương pháp thiết kế chế tạo kỹ thuật: Lắp ráp mô hình cơ khí khung mica, tích hợp mạch động lực công suất cao, thiết kế mạch cấp nguồn và hệ thống cảm biến định vị không gian.
- Phương pháp thực nghiệm kiểm chứng: Đo đạc các thông số vật lý thực tế, lập trình nhúng trên vi điều khiển ATmega2560 và đánh giá sai số bám điểm đặt thông qua giao diện truyền thông máy tính.
Thiết kế và triển khai hệ thống
Hệ thống điều khiển robot đa hướng 3 bánh được phân cấp thành hai khối chính: Tầng giám sát điều khiển cấp cao (Máy tính cá nhân - PC) và Tầng điều khiển thực thi cấp thấp (Vi điều khiển nhúng trên Robot).
[ Máy tính (PC / VB 2010) ] <---(UART Không dây RF 433MHz)---> [ Arduino Mega 2560 ]
|
+-------------------+------------------------------+-------------------+
| | | |
[ Cảm biến SRF05 ] [ La bàn HMC5883L ] [ Mạch cầu H BTS7960 ] [ LCD 16x2 ]
(Đo tọa độ X, Y) (Định hướng góc) (3 mạch công suất) (Hiển thị tọa độ)
|
[ 3 Động cơ DC Planet ]
(24V - 60W, Hộp số 19.2:1)
|
[ 3 Bánh xe Omni kép ]
Thành phần phần cứng và thông số kỹ thuật
| STT |
Thành phần phần cứng |
Model / Chủng loại |
Số lượng |
Thông số kỹ thuật chi tiết |
| 1 |
Khung thân robot |
Mica |
01 bộ |
Kết cấu cơ khí dạng đĩa tròn, bố trí 3 trục bánh lệch nhau $120^\circ$. |
| 2 |
Bánh xe đa hướng |
Bánh Omni kép |
06 bánh |
Đường kính 136 mm, 12 con lăn vệ tinh/tầng, bạc đạn $3\times 9\times 5$ mm, tải trọng 15 kg. |
| 3 |
Động cơ dẫn động |
Động cơ DC Planet |
03 bộ |
Điện áp 24V, công suất 60W, tốc độ 9000 rpm, encoder 13 xung, hộp số giảm tốc 19.2:1 (tốc độ ra 468 rpm). |
| 4 |
Mạch công suất |
Cầu H BTS7960 |
03 mạch |
Điện áp 6 - 27V, dòng tải tối đa 43A, tần số PWM 25 kHz, tích hợp bảo vệ thấp áp (<5.5V) và quá nhiệt. |
| 5 |
Vi điều khiển |
Arduino Mega 2560 |
01 board |
Chip ATmega2560 (16 MHz), Flash 256 KB, 54 chân Digital (15 PWM), 16 chân Analog, 4 cổng UART cứng. |
| 6 |
Cảm biến khoảng cách |
Siêu âm SRF05 |
02 bộ |
Đo khoảng cách 2 trục $X, Y$ qua phản xạ tường, tầm đo tối đa 3 - 4 m, vận tốc sóng âm $v = 0.034\text{ cm}/\mu\text{s}$. |
| 7 |
Cảm biến góc hướng |
La bàn số HMC5883L |
01 module |
Đo từ trường Trái Đất 3 trục, giao tiếp I2C, điện áp 3 - 5V, độ chính xác phương vị 1 - 2 độ. |
| 8 |
Module truyền thông |
RF CC1101 / HC-11 |
02 module |
Tần số 433 MHz, tích hợp chip STM8 chuyển đổi SPI sang UART, cự ly truyền tối đa 200 m (không vật cản). |
| 9 |
Nguồn động lực |
Pin LiPo 6S1P |
01 pack |
Điện áp danh định 22.2V (tối đa 24V), dung lượng 5000 mAh, khối lượng 793 g, kích thước $152\times 50\times 51$ mm. |
| 10 |
Mạch nguồn điều khiển |
Ổn áp tuyến tính LM7805 |
01 mạch |
Điện áp ngõ vào 9V (từ pin phụ), điện áp ngõ ra ổn định 5V cấp cho vi điều khiển, cảm biến và màn hình. |
| 11 |
Màn hình hiển thị |
LCD 16x2 |
01 module |
Giao tiếp song song với Arduino, hiển thị trực tiếp tọa độ $X, Y$ và góc lệch tức thời của robot. |
Thiết kế phần mềm và giải thuật
- Phần mềm giao diện máy tính (GUI): Xây dựng trên Microsoft Visual Studio 2010 bằng ngôn ngữ Visual Basic (VB). Giao diện quản lý cổng COM ảo, thiết lập tốc độ truyền dữ liệu (Baudrate 9600 bps), hiển thị trạng thái kết nối và tọa độ tức thời phản hồi từ robot. Cung cấp các nút điều khiển trực tiếp (Tiến, Lùi, Sang trái, Sang phải, Quay thuận, Quay nghịch) và chế độ tự động di chuyển đến điểm đặt tọa độ.
- Chương trình nhúng trên vi điều khiển: Lập trình trên Arduino IDE. Vi điều khiển thực hiện tác vụ đọc tín hiệu độ rộng xung phản hồi từ 2 cảm biến siêu âm SRF05 để quy đổi tọa độ $(x', y')$ theo công thức $s = 0.034 \times t / 2$, đọc góc lệch $\theta$ qua giao tiếp I2C từ HMC5883L, tính toán hàm sai số $e$, thực thi thuật toán PID số và xuất xung PWM điều khiển chiều cùng tốc độ quay cho 3 mạch cầu H BTS7960.
- Mô hình mô phỏng MATLAB/Simulink: Thiết lập hệ phương trình vi phân mô tả chuyển động bên trong khối S-Function (
Pidc.m). Hàm toán học tính toán gia tốc 3 bậc tự do:
- $\ddot{x} = \frac{-3\beta \dot{x}}{2m} - \frac{\alpha \sin(\theta) U_1}{m} - \frac{\alpha \sin(\frac{\pi}{3} - \theta) U_2}{m} + \frac{\alpha \sin(\frac{\pi}{3} + \theta) U_3}{m}$
- $\ddot{y} = \frac{-3\beta \dot{y}}{2m} + \frac{\alpha \cos(\theta) U_1}{m} - \frac{\alpha \cos(\frac{\pi}{3} - \theta) U_2}{m} - \frac{\alpha \cos(\frac{\pi}{3} + \theta) U_3}{m}$
- $\ddot{\theta} = \frac{-3\beta L^2 \dot{\theta}}{J} + \frac{\alpha L U_1}{J} + \frac{\alpha L U_2}{J} + \frac{\alpha L U_3}{J}$
Tín hiệu gia tốc sau khi qua hai tầng tích phân liên tục trong Simulink sẽ cung cấp đáp ứng vận tốc và quỹ đạo vị trí của robot trong không gian 2D.
Nội dung chính theo từng chương
Chương 1: Mở đầu
Chương 1 trình bày lý do chọn đề tài xuất phát từ nhu cầu thực tiễn trong các cuộc thi sáng tạo khoa học kỹ thuật (Robocon) và tiềm năng ứng dụng của robot di động đa hướng trong quân sự và công nghiệp. Tác giả xác định rõ mục đích nghiên cứu là giải quyết bài toán điều khiển vị trí chính xác cho mobile robot 3 bánh omni trên cơ sở giải thuật PID. Chương này cũng nêu chi tiết đối tượng, phạm vi nghiên cứu về cả mặt lý thuyết (động lực học, giải thuật điều khiển), công cụ mô phỏng (MATLAB/Simulink) và phương tiện thực nghiệm (phần cứng Arduino, mạch công suất BTS7960, động cơ Planet DC, giao diện Visual Studio 2010). Ý nghĩa khoa học và thực tiễn của đề tài được khẳng định qua khả năng tối ưu hóa quỹ đạo chuyển động trong không gian hẹp.
Chương 2: Cơ sở lý thuyết
Nội dung chương tập trung xây dựng mô hình toán học giải tích hoàn chỉnh cho robot 3 bánh omni bố trí đối xứng $120^\circ$. Tác giả thiết lập ma trận quay tọa độ $R(\theta_C)$, xác định vector chỉ hướng các bánh xe và suy dẫn phương trình động học thể hiện mối quan hệ giữa vận tốc góc 3 động cơ với vận tốc dài và vận tốc góc của robot. Tiếp đó, phương trình động lực học được xây dựng dựa trên nguyên lý cân bằng lực D'Alembert và định luật II Newton kết hợp đặc tính dòng điện - điện áp của động cơ DC. Phần cuối chương trình bày lý thuyết điều khiển vòng kín PID, phân tích chi tiết vai trò của các khâu tỉ lệ, tích phân, vi phân trong việc cải thiện đáp ứng quá độ, giảm độ vọt lố và triệt tiêu sai số xác lập, đồng thời so sánh hai phương pháp chỉnh định thông số: phương pháp thử sai và phương pháp Ziegler - Nichols.
Chương 3: Thiết kế và mô phỏng
Chương 3 cụ thể hóa các khối chức năng trong sơ đồ cấu trúc tổng thể hệ thống robot omni 3 bánh. Tác giả trình bày sơ đồ thuật toán điều khiển vị trí bằng giải thuật PID, phương thức chiếu vector tín hiệu điều khiển tổng hợp lên 3 trục động cơ. Giao diện điều khiển giám sát trên máy tính được thiết kế bằng ngôn ngữ Visual Basic trong Visual Studio 2010 với 4 bước thao tác kết nối và phát lệnh qua cổng COM. Trong môi trường MATLAB/Simulink, mô hình động lực học được lập trình thông qua khối S-Function Pidc.m. Kết quả mô phỏng số thông qua 6 kịch bản minh họa (từ Minh họa 1 đến Minh họa 6) chứng minh rằng dưới tác động của bộ điều khiển PID, hệ thống nhanh chóng ổn định và đưa robot tiến tới tọa độ điểm đặt mong muốn với thời gian đáp ứng ngắn và sai số tiệm cận 0.
function [ sys , x0, str, ts ] = Pidc( t, x, u, flag )
switch flag,
case 0,
[sys , x0, str, ts]= mdlInitializeSizes;
case 3,
sys = mdlOutputs(t, x, u);
case {1, 2, 4, 9}
sys=[];
otherwise
error([' Unhandled flag = ', num2str(flag)]);
end
function [sys, x0, str, ts] = mdlInitializeSizes
sizes = simsizes;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [];
str = [];
ts = [0 0];
function sys = mdlOutputs(t, x, u)
global kp ki kd
% Tính toán tín hiệu điện áp điều khiển cho 3 động cơ u1, u2, u3
u3 = V'*[sqrt(3)/2; -0.5] + pdthe;
sys(1) = u1;
sys(2) = u2;
sys(3) = u3;
Chương 4: Thi công mô hình
Chương 4 mô tả toàn bộ quá trình hiện thực hóa phần cứng mô hình thực nghiệm. Tác giả liệt kê và phân tích chi tiết thông số kỹ thuật của từng linh kiện: 6 bánh xe omni đôi đường kính 136 mm; board vi điều khiển Arduino Mega 2560 (ATmega2560); 2 cảm biến siêu âm SRF05 đo khoảng cách 2 chiều; 1 module la bàn số HMC5883L đo góc hướng 3 trục; 3 cụm động cơ DC Planet 24V-60W tích hợp encoder và bộ giảm tốc tỉ số 19.2:1; 3 module cầu H BTS7960 tải 43A; 2 module truyền nhận RF HC-11 / CC1101 dải tần 433 MHz; khối pin nguồn LiPo 6S 22.2V - 5000 mAh cùng mạch hạ áp 5V sử dụng IC LM7805. Toàn bộ cơ cấu được lắp ráp trên khung mica, tạo thành một hệ thống robot hoàn chỉnh, hoạt động độc lập và sẵn sàng nhận lệnh từ máy tính.
Chương 5: Kết quả đạt được và hướng phát triển
Chương cuối tổng kết các kết quả thực nghiệm đạt được của đồ án, chỉ rõ các mặt hạn chế còn tồn tại trong quá trình vận hành mô hình thực tế và đề xuất các giải pháp kỹ thuật nhằm phát triển hệ thống trong các giai đoạn nghiên cứu tiếp theo.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Xây dựng hoàn chỉnh mô hình toán học và mô phỏng: Thiết lập thành công hệ phương trình vi phân mô tả chính xác quan hệ động học và động lực học của hệ thống mobile robot 3 bánh omni; xây dựng khối mô phỏng động lực học trên MATLAB/Simulink chứng minh tính hội tụ của giải thuật điều khiển PID đến các điểm đặt tọa độ trong không gian 2D.
- Chế tạo phần cứng hoàn chỉnh: Lắp ráp mô hình robot thực tế với kết cấu khung mica vững chắc, tích hợp 3 bánh xe omni kép đường kính 136 mm, hệ thống truyền động động cơ DC Planet 60W qua hộp giảm tốc hành tinh đạt tốc độ trục ra 468 rpm, cụm mạch cầu H BTS7960 chịu dòng danh định 43A đáp ứng tần số băm xung 25 kHz.
- Triển khai thành công hệ thống điều khiển nhúng: Lập trình giải thuật PID trên vi điều khiển Arduino Mega 2560, xử lý tín hiệu định vị tức thời từ cặp cảm biến siêu âm SRF05 (khoảng cách tối đa 3 - 4 m) và cảm biến la bàn số HMC5883L (độ chính xác phương vị 1 - 2 độ).
- Hệ thống truyền thông và giao diện giám sát: Thiết lập thành công đường truyền không dây UART qua module RF CC1101 (tần số 433 MHz) giữa máy tính và robot; xây dựng phần mềm giao diện người dùng trên Visual Studio 2010 cho phép giám sát tọa độ thời gian thực và phát lệnh điều khiển đa chế độ (chạy tự động bám tọa độ đặt hoặc điều khiển hướng bằng tay).
Đóng góp của đề tài
Đề tài đã cung cấp một quy trình khép kín từ khâu mô hình hóa toán học giải tích, lập trình mô phỏng số đến thiết kế thi công phần cứng thực nghiệm cho hệ thống robot đa hướng 3 bánh. Việc kết hợp giữa vi điều khiển mã nguồn mở giá thành thấp (Arduino Mega 2560) với các linh kiện động lực công suất cao (BTS7960, DC Planet) và cảm biến định vị cơ bản đã chứng minh tính khả thi của giải pháp điều khiển vòng kín PID trong việc làm chủ chuyển động của robot tự hành đa hướng.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của hệ thống
- Hạn chế về phạm vi định vị không gian: Việc xác định tọa độ $X, Y$ của robot hoàn toàn phụ thuộc vào khoảng cách đo từ 2 cảm biến siêu âm SRF05 tới các bức tường chắn, do đó robot chỉ hoạt động được trong một không gian kín có giới hạn vật lý nhất định (tầm đo 3 - 4 m).
- Độ nhạy với môi trường bên ngoài: Cảm biến la bàn số HMC5883L dễ bị nhiễu bởi các nguồn từ trường kim loại hoặc điện trường xung quanh; cảm biến siêu âm chịu ảnh hưởng bởi độ phẳng của bề mặt tường phản xạ và độ ẩm, nhiệt độ không khí làm biến thiên vận tốc âm thanh.
Hướng nghiên cứu tiếp
- Bám quỹ đạo liên tục từ mô phỏng: Thiết lập tính năng vẽ quỹ đạo hình học bất kỳ trên giao diện MATLAB, xuất phương trình toán học quỹ đạo để nạp trực tiếp vào bộ nhớ vi điều khiển giúp robot di chuyển tự động bám theo đường cong phức tạp.
- Nâng cấp giải thuật điều khiển: Nghiên cứu thuật toán PID thích nghi (Adaptive PID) hoặc PID mờ (Fuzzy PID) có khả năng tự động thay đổi hệ số $K_p, K_i, K_d$ linh hoạt theo từng trạng thái vị trí và vận tốc.
- Hiện đại hóa hệ thống định vị: Thay thế hoặc kết hợp cảm biến siêu âm với các kỹ thuật định vị tiên tiến hơn như thị giác máy tính (Xử lý ảnh bằng Camera/Vision) hoặc hệ thống định vị vô tuyến trong nhà (Bluetooth/UWB) để mở rộng không gian hoạt động và tăng độ chính xác.
Giá trị tham khảo
Báo cáo Đồ án 2B này là tài liệu tham khảo hữu ích cho:
- Sinh viên chuyên ngành: Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử, Kỹ thuật Robot, Công nghệ Điện tử - Viễn thông đang thực hiện đồ án môn học, đồ án tốt nghiệp liên quan đến mobile robot và robot đa hướng.
- Kỹ sư và người nghiên cứu Robocon: Cung cấp tài liệu tham khảo trực tiếp về cấu trúc hình học 3 bánh omni, cách suy dẫn ma trận động học, giải thuật phân phối vận tốc cho từng bánh xe và phương pháp đấu nối mạch công suất cầu H BTS7960 điều khiển động cơ dòng lớn.
- Nội dung tham khảo nổi bật: Cấu trúc file mã nguồn S-Function
Pidc.m trong MATLAB/Simulink mô tả động lực học phi tuyến của robot và quy trình cấu hình tập lệnh AT command cho module RF CC1101/HC-11.
Câu hỏi thường gặp
1. Robot trong đồ án sử dụng loại bánh xe và cấu trúc bố trí động học như thế nào?
Robot sử dụng 6 bánh xe omni đôi (kết cấu bánh kép ghép đôi) với đường kính 136 mm. Bánh xe gồm 12 con lăn vệ tinh mỗi tầng bằng nhựa cứng bọc nhựa dẻo và vòng bi bạc đạn $3\times 9\times 5$ mm giúp giảm ma sát tối đa. Hệ thống chuyển động gồm 3 cụm bánh bố trí cách đều nhau một góc $120^\circ$ quanh tâm robot, cho phép chuyển động tịnh tiến đa hướng và tự quay độc lập.
2. Hệ thống phần cứng trung tâm và mạch công suất sử dụng những loại linh kiện nào?
Khối xử lý trung tâm sử dụng board mạch Arduino Mega 2560 tích hợp vi điều khiển ATmega2560 (xung nhịp 16 MHz, bộ nhớ Flash 256 KB, 54 chân Digital). Khối công suất gồm 3 mạch cầu H BTS7960 chịu dòng tải lên đến 43A và điện áp làm việc 6 - 27V, điều khiển 3 động cơ DC Planet 24V công suất 60W (tốc độ định mức 9000 rpm, giảm tốc qua hộp số 19.2:1 xuống 468 rpm).
3. Vị trí và góc hướng của robot được thu thập và tính toán bằng cách nào?
Tọa độ vị trí $(X, Y)$ của robot được xác định thông qua 2 cảm biến siêu âm SRF05 gắn vuông góc hướng về phía các mặt tường mốc, tính toán khoảng cách theo thời gian phản xạ sóng âm với vận tốc quy đổi $v = 0.034\text{ cm}/\mu\text{s}$. Góc hướng $(\theta)$ được đo đạc trực tiếp từ cảm biến la bàn số 3 trục HMC5883L giao tiếp qua chuẩn I2C với độ chính xác từ 1 đến 2 độ.
4. Giao diện giám sát trên máy tính được xây dựng bằng công nghệ gì và giao tiếp với robot qua phương thức nào?
Giao diện điều khiển được lập trình bằng ngôn ngữ Visual Basic trên nền tảng Microsoft Visual Studio 2010. Máy tính giao tiếp không dây với vi điều khiển Arduino thông qua cặp module RF CC1101 (HC-11) hoạt động ở tần số 433 MHz với cự ly truyền lý thuyết lên tới 200 m, chuyển đổi tín hiệu sang giao thức nối tiếp UART với tốc độ truyền 9600 bps.
5. Bộ điều khiển PID trong đồ án được thiết kế và hiệu chỉnh thông số theo phương pháp nào?
Bộ điều khiển PID nhận tín hiệu sai số giữa tọa độ đặt và tọa độ phản hồi $e = [x - x', y - y']^T$, tính toán vector điều khiển $V$ rồi chiếu lên vector hướng $D_i$ của 3 động cơ. Tác giả nghiên cứu 2 phương pháp xác định thông số gồm phương pháp giải tích kinh nghiệm Ziegler - Nichols và phương pháp thử sai thực nghiệm (Trial-and-Error) để tìm ra bộ hệ số $K_p, K_i, K_d$ tối ưu cho mô hình thực tế.
Kết luận
Đồ án 2B "Điều khiển Omni Wheel Robot dùng giải thuật PID" của sinh viên Trần Văn Thiện và Võ Bá Việt Nghĩa (Đại học Công nghiệp TP.HCM, 2015) đã giải quyết trọn vẹn bài toán điều khiển vị trí cho robot di động 3 bánh đa hướng. Công trình kết hợp chặt chẽ giữa phân tích giải tích mô hình động học - động lực học, mô phỏng kiểm chứng trên MATLAB/Simulink và chế tạo thành công mô hình phần cứng hoạt động ổn định với Arduino Mega 2560, mạch công suất BTS7960 và động cơ DC Planet 60W. Mặc dù hệ thống định vị bằng sóng siêu âm và la bàn số còn chịu ảnh hưởng của môi trường vật lý, kết quả nghiên cứu đã tạo tiền đề kỹ thuật vững chắc cho việc phát triển các giải thuật điều khiển bám quỹ đạo nâng cao và ứng dụng thị giác máy tính trong các nghiên cứu tiếp theo.