Giới thiệu dự án
Bối cảnh và vấn đề thực tiễn
Trong kỷ nguyên tự động hóa công nghiệp 4.0 và chuyển đổi số y tế, robot di động tự hành (AMR - Autonomous Mobile Robot / AGV - Automated Guided Vehicle) đã trở thành trụ cột công nghệ thiết yếu. Sau đại dịch COVID-19, nhu cầu tự động hóa vận chuyển nội viện tăng đột biến nhằm giảm thiểu tiếp xúc trực tiếp giữa nhân viên y tế và bệnh nhân, hạn chế nguy cơ lây nhiễm chéo tại các khu vực cách ly, phòng bệnh truyền nhiễm. Theo báo cáo của International Federation of Robotics (IFR), thị trường robot dịch vụ y tế đạt tốc độ tăng trưởng kép (CAGR) trên 17.4% trong giai đoạn 2021–2026.
Tại Việt Nam, phần lớn quy trình giao nhận thuốc men, mẫu bệnh phẩm, thức ăn và thu gom đồ vải bẩn tại các cơ sở y tế vẫn thực hiện thủ công bằng sức người. Điều này dẫn đến tình trạng quá tải nhân lực, gia tăng chi phí vận hành và rủi ro phơi nhiễm sinh học.
Tuyên bố bài toán (Problem Statement)
Các giải pháp robot vận chuyển nhập khẩu thương mại từ các hãng quốc tế thường có chi phí đắt đỏ ($15,000 – $40,000/robot), hệ thống đóng kín khó tùy biến, đồng thời phụ thuộc vào hạ tầng cố định (đường line từ, mã QR dán sàn hoặc ray dẫn hướng vật lý) vốn dễ bị hư hại trong môi trường khử khuẩn liên tục của bệnh viện. Bài toán đặt ra là: Thiết kế, chế tạo một hệ thống Robot Tự Hành (AMR) phục vụ bệnh viện với kiến trúc mở, chi phí tối ưu, tự do điều hướng bằng bản đồ 2D (Free-path Navigation) thông qua công nghệ quét laser LiDAR và thuật toán SLAM/Navigation Stack trên nền tảng ROS.
Mục tiêu dự án
- Thiết kế và chế tạo phần cứng cơ khí: Xây dựng khung xe vi sai (Differential Drive) tải trọng vận chuyển hữu ích $\ge 10\text{ kg}$, tự trọng $\approx 20\text{ kg}$, bán kính quay vòng bằng 0 ($R_{turn} = 0$), hoạt động êm ái trên mặt phẳng sàn bệnh viện.
- Thiết kế mạch điện tử và điều khiển công suất: Tích hợp vi điều khiển nhúng, mạch công suất cầu H BTS7960 43A, cảm biến phản hồi Encoder quang học và cảm biến quét laser 2D RPLIDAR A1M8.
- Phát triển thuật toán điều khiển động học & PID: Xây dựng bộ điều khiển PID số vòng kín vận tốc cho 2 động cơ DC Servo, tính toán chính xác Dead-Reckoning Odometry.
- Triển khai thuật toán SLAM và Autonomous Navigation: Xây dựng bản đồ môi trường 2D thời gian thực (Occupancy Grid Map) bằng Gmapping (RBPF) và tự động lập quỹ đạo tránh vật cản tĩnh/động bằng ROS Navigation Stack.
- Thực nghiệm và đánh giá hệ thống: Đo lường sai số vị trí, sai số góc quay, khả năng lập tuyến đường và phản hồi an toàn trong môi trường bệnh viện giả lập.
+----------------------------------------------+
| Master SBC / PC (ROS Noetic) |
| - Gmapping SLAM / AMCL Localization |
| - Global/Local Planner (A*, DWA) |
| - TF Transformation & Costmap Management |
+-----------------------+----------------------+
|
UART / Serial via Rosserial (115200 bps)
|
+-----------------------v----------------------+
| Low-Level MCU (STM32 / ATmega) |
| - Closed-Loop PID Velocity Control |
| - Dual Incremental Encoder Reading |
| - Motor PWM Signal Generation |
+-----------+----------------------+-----------+
| |
Dual BTS7960 Driver RPLIDAR A1M8
| (360 deg, 12m)
2x DC Geared Motors
with Optical Encoders
Phương pháp tiếp cận và kết quả kỳ vọng
Dự án sử dụng phương pháp nghiên cứu ứng dụng kết hợp thiết kế mô hình 3D trên SolidWorks, mô phỏng động học, lập trình nhúng C++ trên vi điều khiển và xử lý cấp cao trên nền tảng ROS (Robot Operating System).
- Vận tốc di chuyển định mức: $0.2 - 0.5\text{ m/s}$.
- Tải trọng chuyên chở tối đa: $10\text{ kg}$ (tổng trọng lượng toàn tải $30\text{ kg}$).
- Độ chính xác dừng điểm mục tiêu: Sai số vị trí $\le \pm 5\text{ cm}$, sai số góc hướng $\le \pm 3^\circ$.
- Thời lượng hoạt động liên tục: $\ge 3\text{ giờ}$ với ắc quy $12\text{V} - 9\text{Ah}$.
Phạm vi và giới hạn
- Môi trường hoạt động: Mặt sàn phẳng trong nhà (indoor), độ dốc $\le 3^\circ$, không có bậc thang.
- Cảm biến chính: Cảm biến LiDAR 2D đơn tầng (RPLIDAR A1M8) kết hợp Encoder, chưa tích hợp Camera RGB-D 3D hoặc cảm biến siêu âm chống rơi cầu thang.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
AGV Dẫn Hướng Cố Định (Magnetic Line / QR Code) |
FollowBot (Bám Người Dùng AI) |
Robot Đề Tài (AMR ROS-based SLAM) |
| Công nghệ dẫn đường |
Cảm biến từ tính / Đọc mã sàn |
Xử lý ảnh nhận diện người theo sau |
Laser LiDAR 2D + SLAM Gmapping + AMCL |
| Tính linh hoạt lộ trình |
Cố định, tốn chi phí dán lại line khi đổi phòng |
Phụ thuộc hoàn toàn vào người dẫn đường |
Tự động tính toán đường đi tự do (Free-path) |
| Khả năng tránh vật cản |
Dừng khẩn cấp khi gặp vật cản |
Né tránh cơ bản theo khung hình camera |
Quy hoạch động DWA (Dynamic Window Approach) |
| Bán kính quay xe |
$R > 300\text{ mm}$ (cơ cấu lái trước) |
$R = 0$ (vi sai) |
$R = 0$ (vi sai 2 bánh chủ động + 1 bánh tự lựa) |
| Chi phí chế tạo |
Trung bình ($15 - 30\text{ triệu VNĐ}$) |
Cao ($25 - 40\text{ triệu VNĐ}$) |
Tối ưu ($10 - 15\text{ triệu VNĐ}$) |
Phân tích yêu cầu theo mô hình MoSCoW
- Must-have (Bắt buộc): Hệ thống truyền động vi sai 2 bánh; điều khiển vận tốc PID kín; giao tiếp ROS qua
rosserial; vẽ bản đồ 2D thời gian thực bằng LiDAR; điều hướng tự hành tránh va chạm.
- Should-have (Nên có): Giao diện trực quan hóa Rviz theo dõi quỹ đạo; cơ chế ngắt an toàn phần cứng; tính toán Odometry kết hợp biến áp tuyến tính.
- Could-have (Có thể mở rộng): Tự động về trạm sạc không dây; tích hợp màn hình cảm ứng Touchscreen UI nhập số phòng bệnh; camera AI nhận diện khuôn mặt bác sĩ.
- Won't-have (Chưa thực hiện): Leo dốc địa hình gồ ghề ngoài trời; cánh tay robot gắp thuốc tự động.
Thiết kế hệ thống
1. Kiến trúc động học vi sai (Differential Drive Kinematics)
Robot sử dụng 2 bánh dẫn động độc lập bán kính $R = 50\text{ mm}$ ($D = 100\text{ mm}$), khoảng cách giữa hai bánh xe $L = 380\text{ mm}$, cùng 1 bánh xe đa hướng (Caster wheel) phía trước để giữ thăng bằng.
Mô hình động học thuận (Forward Kinematics) chuyển đổi từ vận tốc góc của 2 bánh ($\omega_R, \omega_L$) sang vận tốc dài ($v$) và vận tốc góc quay ($\omega$) của robot:
$$\begin{bmatrix} v \ \omega \end{bmatrix} = \begin{bmatrix} \frac{R}{2} & \frac{R}{2} \ \frac{R}{L} & -\frac{R}{L} \end{bmatrix} \begin{bmatrix} \omega_R \ \omega_L \end{bmatrix}$$
Mô hình động học nghịch (Inverse Kinematics):
$$\omega_R = \frac{v + \frac{\omega \cdot L}{2}}{R}, \quad \omega_L = \frac{v - \frac{\omega \cdot L}{2}}{R}$$
y ^
| [ Caster Wheel ]
| |
| +------+------+
| | Robot |
| | Body |
| +------+------+
| | |
| [Wheel L] [Wheel R]
+---------------------------------> x
<--- L --->
2. Danh mục công nghệ và phần cứng (Technology Stack)
- Hệ điều hành Robot: ROS Noetic Ninjemys trên Ubuntu 20.04 LTS (x86_64 / ARM64).
- Ngôn ngữ lập trình: C++ (C++14 standard), Python 3.8.
- Cảm biến chính: SLAMTEC RPLIDAR A1M8 (Góc quét $360^\circ$, tần số quét $5.5 - 10\text{ Hz}$, tầm đo $0.15 - 12\text{ m}$, sai số $\le 1%$).
- Mạch điều khiển động cơ: Module cầu H kép BTS7960 43A MOSFET công suất cao, tần số điều chế PWM lên đến $25\text{ kHz}$.
- Bộ truyền động: Bộ truyền đai răng (Timing Belt GT2/HTD) giúp loại bỏ hoàn toàn hiện tượng trượt, giảm chấn và giảm thiểu tiếng ồn cơ khí trong không gian yên tĩnh của bệnh viện.
- Nguồn năng lượng: Ắc quy khô chuyên dụng Long WP1236W (12V - 9Ah, 36W/cell).
Phương pháp nghiên cứu và quản lý dự án (Methodology)
Dự án áp dụng mô hình phát triển xoắn ốc (Spiral Model) kết hợp kiểm thử liên tục (Hardware-in-the-Loop - HIL):
- Giai đoạn 1 (Tuần 1–4): Nghiên cứu tài liệu SLAM, tính toán công suất động cơ, thiết kế 3D SolidWorks và phân tích ứng suất khung xe.
- Giai đoạn 2 (Tuần 5–8): Gia công khung cơ khí, lắp ráp hệ thống dẫn động đai răng, lập trình mạch nhúng đọc Encoder và hiệu chỉnh giải thuật PID.
- Giai đoạn 3 (Tuần 9–12): Tích hợp cảm biến RPLIDAR A1M8, cấu hình giao thức
rosserial, thiết lập URDF/TF Tree trên ROS.
- Giai đoạn 4 (Tuần 13–16): Chạy thực nghiệm quét Map bằng Gmapping, tối ưu tham số Costmap/DWA Local Planner, đánh giá sai số điều hướng.
Implementation và kết quả
Quy trình phát triển và thuật toán cốt lõi
1. Lập trình điều khiển vận tốc PID vòng kín trên Vi điều khiển
Tín hiệu hồi tiếp từ Encoder quang học 2 kênh A-B được tính toán theo chu kỳ lấy mẫu ngắt thời gian $T_s = 20\text{ ms}$ ($50\text{ Hz}$). Bộ điều khiển PID số dạng vận tốc (Velocity PID) được áp dụng:
$$u(k) = u(k-1) + K_p [e(k) - e(k-1)] + K_i T_s e(k) + \frac{K_d}{T_s} [e(k) - 2e(k-1) + e(k-2)]$$
Đoạn mã C++ nhúng thực thi đọc dữ liệu vận tốc và điều khiển PWM trên MCU:
#include <ros.h>
#include <geometry_msgs/Twist.h>
// Thong so vat ly robot
const float WHEEL_RADIUS = 0.05; // R = 0.05m (Ban kinh banh 100mm)
const float TRACK_WIDTH = 0.38; // L = 0.38m (Khoang cach 2 banh)
const int CPR = 330; // Xung moi vong encoder (Counts Per Revolution)
// Bien PID dong co Trai & Phai
float Kp = 2.85, Ki = 0.45, Kd = 0.08;
volatile long enc_left_ticks = 0, enc_right_ticks = 0;
float target_rad_s_left = 0.0, target_rad_s_right = 0.0;
void cmdVelCallback(const geometry_msgs::Twist& msg) {
float linear_v = msg.linear.x;
float angular_w = msg.angular.z;
// Dong hoc nghich (Inverse Kinematics)
target_rad_s_right = (linear_v + (angular_w * TRACK_WIDTH / 2.0)) / WHEEL_RADIUS;
target_rad_s_left = (linear_v - (angular_w * TRACK_WIDTH / 2.0)) / WHEEL_RADIUS;
}
// Ham tinh toan cap nhat PID dinh ky 50Hz (Ts = 0.02s)
void computePID_Left(float target, float current) {
static float prev_err = 0, integral = 0;
float err = target - current;
integral += err * 0.02;
float derivative = (err - prev_err) / 0.02;
float output_pwm = (Kp * err) + (Ki * integral) + (Kd * derivative);
prev_err = err;
// Gioi han gia tri PWM [-255, 255] va xuat ra Driver BTS7960
setMotorPWM_Left(constrain((int)output_pwm, -255, 255));
}
2. Cấu hình ROS Navigation Stack và Gmapping SLAM
Gmapping sử dụng thuật toán Rao-Blackwellized Particle Filter (RBPF) để phân tách bài toán ước lượng quỹ đạo robot và bài toán tạo bản đồ lưới chiếm chỗ (Occupancy Grid Map).
Cấu hình tham số cục bộ DWA Planner (dwa_local_planner_params.yaml):
DWAPlannerROS:
# Gioi han van toc robot
max_vel_x: 0.45
min_vel_x: 0.0
max_vel_theta: 1.0
min_vel_theta: -1.0
acc_lim_x: 1.2
acc_lim_theta: 2.0
# Thiet lap tieu chi dung muc tieu
xy_goal_tolerance: 0.05 # Sai so khoang cach 5cm
yaw_goal_tolerance: 0.08 # Sai so goc ~4.5 do
latch_xy_goal_tolerance: true
# Danh gia quy dao va tranh vat can
path_distance_bias: 32.0
goal_distance_bias: 24.0
occdist_scale: 0.02
forward_point_distance: 0.25
stop_time_buffer: 0.2
scaling_speed: 0.25
Thử nghiệm và đánh giá thực nghiệm (Testing & Validation)
Bản đồ thực tế (Ground Truth: Hành lang 10.0m x 4.0m)
+-------------------------------------------------------------+
| [Bed 1] [Bed 2] [Pharmacy Station] |
| +-----+ +-----+ +-----+ |
| | | | | | | |
| +-----+ +-----+ +-----+ |
| |
| Start(0,0) ======> Trajectory ======> Goal Point (8.5m, 2.0m)
| |
+-------------------------------------------------------------+
1. Đánh giá sai số góc quay và định vị động cơ
| Lần thử nghiệm |
Góc quay cài đặt |
Góc đo thực tế |
Sai số góc ($\Delta \theta$) |
Tải trọng thử nghiệm |
| Lần 1 |
$90.0^\circ$ |
$89.2^\circ$ |
$-0.8^\circ$ |
$0\text{ kg}$ (Không tải) |
| Lần 2 |
$90.0^\circ$ |
$88.6^\circ$ |
$-1.4^\circ$ |
$5\text{ kg}$ |
| Lần 3 |
$90.0^\circ$ |
$88.1^\circ$ |
$-1.9^\circ$ |
$10\text{ kg}$ (Toàn tải) |
| Lần 4 |
$180.0^\circ$ |
$177.8^\circ$ |
$-2.2^\circ$ |
$10\text{ kg}$ (Toàn tải) |
| Lần 5 |
$360.0^\circ$ |
$356.5^\circ$ |
$-3.5^\circ$ |
$10\text{ kg}$ (Toàn tải) |
2. Đánh giá điều hướng tự hành (Navigation Benchmarks)
- Tỷ lệ quét bản đồ thành công: Đạt $100%$ trong không gian hành lang $150\text{ m}^2$ với độ phân giải lưới ô vuông $0.05\text{ m/pixel}$.
- Thời gian phản hồi né vật cản đột xuất: $\le 180\text{ ms}$ khi xuất hiện người đi ngang qua quỹ đạo di chuyển.
- Độ lệch trung bình tại điểm đích (Target Error):
- Trục tọa độ $X$: $e_x = 2.8\text{ cm}$.
- Trục tọa độ $Y$: $e_y = 3.1\text{ cm}$.
- Sai số góc xoay: $e_\theta = 2.6^\circ$.
Đổi mới và đóng góp
Các cải tiến kỹ thuật nổi bật
- Ứng dụng hệ truyền động đai răng kép (Synchronous Belt Drive): Thay thế việc nối trục trực tiếp hoặc truyền động xích truyền thống, giúp robot triệt tiêu hoàn toàn độ rơ (backlash), khử rung động cơ học và đạt mức độ ồn thấp ($< 48\text{ dB}$), tối ưu hóa tuyệt đối cho môi trường điều trị và buồng bệnh nội trú.
- Tối ưu hóa kiến trúc tầng phần mềm điều khiển: Tách biệt hoàn toàn tầng điều khiển thời gian thực (Real-time Low-level Firmware trên MCU) và tầng tính toán giải thuật cấp cao (High-level Navigation trên ROS). Cấu trúc này ngăn chặn hiện tượng trễ chu kỳ điều khiển động cơ khi hệ điều hành máy tính rơi vào trạng thái tải nặng.
- Hệ thống điều hướng hoàn toàn độc lập không cần hạ tầng bổ trợ: Khác với các hệ thống AGV công nghiệp phụ thuộc băng từ dẫn hướng, giải pháp này xây dựng bản đồ số và định vị dựa trên đặc trưng hình học laser LiDAR (AMCL Particle Filter), giúp bệnh viện dễ dàng thay đổi phòng ban trên phần mềm mà không cần cải tạo cơ sở vật chất.
Hiệu quả chi phí và thời gian triển khai so sánh
100% |============================== (Hệ thống AGV công nghiệp ngoại nhập)
|
50% |
| *================= (Giải pháp AMR ROS đề tài)
0% +-----------------------------------
Chi phí phần cứng ($) Thời gian map lại lộ trình (Phút)
[ Ngoại nhập: $20,000 ] [ Ngoại nhập: 480 phút ]
[ Đề tài: $650 ] [ Đề tài: 15 phút ]
So sánh với các giải pháp hiện hữu
| Thông số kỹ thuật |
Robot Kiva (Amazon Robotics) |
Robot Giao Hàng Starship |
Robot Đề tài (Hospital AMR) |
| Môi trường hoạt động |
Nhà kho công nghiệp tiêu chuẩn |
Vỉa hè đô thị / Ngoài trời |
Trong nhà / Sàn bệnh viện phẳng |
| Cảm biến dẫn đường |
Camera quét mã DataMatrix sàn |
GPS + Stereo Camera + Radar |
2D LiDAR A1M8 + Wheel Encoders |
| Cơ cấu truyền động |
Bánh răng kim loại hành tinh |
Động cơ không chổi than đa bánh |
Động cơ DC Servo + Bộ truyền đai răng |
| Tải trọng / Tự trọng |
$320\text{ kg} / 150\text{ kg}$ |
$10\text{ kg} / 18\text{ kg}$ |
$10\text{ kg} / 20\text{ kg}$ |
| Mức độ phụ thuộc môi trường |
Phải dán mã ma trận toàn sàn |
Cần tín hiệu định vị vệ tinh GPS |
Tự do lập bản đồ, không cần cải tạo sàn |
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng trong y tế
- Phân phát thuốc nội viện tự động: Robot tiếp nhận toa thuốc đóng gói từ quầy dược trung tâm, tự động di chuyển qua các hành lang đến trạm điều dưỡng từng tầng hoặc từng phòng cách ly.
- Vận chuyển mẫu xét nghiệm và vật tư vô trùng: Chuyển giao bông băng, gạc vô khuẩn, máu và mẫu bệnh phẩm giữa phòng xét nghiệm và khoa cấp cứu, giảm thiểu thời gian chờ đợi của bác sĩ.
- Thu gom đồ vải bẩn và rác thải y tế nhẹ: Vận chuyển khép kín đồ bảo hộ y tế sau sử dụng từ các buồng bệnh truyền nhiễm ra khu vực xử lý chất thải sinh học mà không gây rủi ro phơi nhiễm cho hộ lý.
+-------------------------------------------------------------------+
| QUY TRÌNH VẬN HÀNH NỘI VIỆN |
| |
| [Kho Dược / Xét Nghiệm] --(1. Nạp thuốc & chỉ định phòng)--> |
| [Robot Khởi Hành] --(2. Quét LiDAR & Tránh chướng ngại)--> |
| [Hành Lang / Phòng Bệnh]--(3. Dừng chính xác tại giường bệnh)--> |
| [Y tá / Bệnh nhân] --(4. Nhận vật tư & Xác nhận hoàn tất)--> |
| [Robot Quay Về] --(5. Tự động quay về trạm chờ) |
+-------------------------------------------------------------------+
Yêu cầu triển khai và cơ sở hạ tầng
- Yêu cầu mặt sàn: Độ dốc hành lang $< 5^\circ$, không gờ bậc vượt quá $10\text{ mm}$, độ bám dính lốp cao su đạt chuẩn trên bề mặt đá hoa cương/epoxy y tế.
- Yêu cầu mạng kết nối: Mạng Wi-Fi nội bộ băng tần $2.4\text{ GHz} / 5.0\text{ GHz}$ để truyền thông điệp ROS Topic giám sát từ xa qua giao thức WebSockets/ROSBridge.
Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit Analysis)
- Dự toán BOM (Bill of Materials) phần cứng:
- Khung cơ khí, bánh xe, gối đỡ, bộ truyền đai: $3,500,000\text{ VNĐ}$.
- Cảm biến RPLIDAR A1M8: $2,400,000\text{ VNĐ}$.
- Động cơ DC Servo + Encoder + Driver BTS7960: $2,800,000\text{ VNĐ}$.
- Vi điều khiển + Bộ nguồn Ắc quy Long 12V-9Ah: $1,800,000\text{ VNĐ}$.
- Máy tính nhúng điều khiển ROS: $4,500,000\text{ VNĐ}$.
- Tổng chi phí phần cứng: $\approx 15,000,000\text{ VNĐ}$ ($\approx $620\text{ USD}$).
- Thời gian hoàn vốn (ROI): Tiết kiệm $60 - 70%$ thời gian di chuyển của 01 điều dưỡng viên/ngày. Với mức lương điều dưỡng trung bình $8,000,000\text{ VNĐ/tháng}$, thời gian thu hồi vốn đầu tư cho một robot ước tính chỉ từ 3 đến 5 tháng.
Hạn chế và hướng phát triển
Các hạn chế kỹ thuật hiện tại
- Phạm vi cảm biến LiDAR 2D đơn tầng: Cảm biến đặt ở một cao độ cố định ($h = 250\text{ mm}$), do đó robot không thể phát hiện các vật cản thấp dưới sàn (dây điện rơi vãi, dép) hoặc chướng ngại vật nhô ra ở tầm cao (mặt bàn, cáng cứu thương treo).
- Khả năng vượt địa hình gồ ghề: Sử dụng cơ cấu 2 bánh dẫn động kết hợp 1 bánh tự lựa (Caster) khiến xe dễ bị trượt hoặc mất cân bằng khi đi qua các khe rãnh cửa thang máy hoặc độ dốc lớn.
- Trôi dạt định vị theo thời gian (Odometry Drift): Khi di chuyển liên tục trên quãng đường dài, hiện tượng trượt bánh vi mô tích lũy sai số Odometry nếu không có hiệu chỉnh từ cảm biến quán tính IMU.
Hướng phát triển và nâng cấp
- Tích hợp cảm biến quán tính IMU 9 trục & EKF: Sử dụng gói
robot_localization để dung hợp dữ liệu (Sensor Fusion) giữa Encoder và IMU thông qua bộ lọc Kalman mở rộng (Extended Kalman Filter), nâng cao độ chính xác Odometry lên $99.5%$.
- Nâng cấp Camera 3D Depth (Intel RealSense D435i): Bổ sung đám mây điểm 3D (3D Point Cloud) để xây dựng bản đồ 3D OctoMap, nhận diện chướng ngại vật treo và mặt sàn âm (hố ga, cầu thang).
- Mở rộng cơ chế quản trị hạm đội robot (Fleet Management): Ứng dụng giao thức điều phối tập trung đa robot thông qua hệ thống Open-RMF (Robotics Middleware Framework) phục vụ quy mô toàn bệnh viện.
Đối tượng hưởng lợi
LỢI ÍCH ĐỊNH LƯỢNG CHO CÁC NHÓM ĐỐI TƯỢNG
+--------------------+---------------------------------------------------+
| Sinh viên / NCKH | Mã nguồn mở C++/Python, tài liệu chuẩn ROS Noetic |
+--------------------+---------------------------------------------------+
| Kỹ sư Lập trình | Kiến trúc phân tầng MCU - ROS, xử lý dead-reckoning|
+--------------------+---------------------------------------------------+
| Cơ sở Y tế / BV | Cắt giảm 70% chi phí vận chuyển, ngừa lây nhiễm |
+--------------------+---------------------------------------------------+
| Chuyên gia Robotics| Dữ liệu thực nghiệm sai số góc quay và DWA tuning |
+--------------------+---------------------------------------------------+
- Sinh viên và nghiên cứu sinh Cơ Điện tử / Tự động hóa: Cung cấp tài liệu thiết kế cơ khí, công thức động học vi sai chuẩn xác và cấu hình thực tế của hệ thống ROS Navigation.
- Kỹ sư phát triển phần mềm nhúng & Robotics: Cung cấp mẫu source code điều khiển PID số, phương thức tối ưu hóa giao thức
rosserial và cách giải quyết bài toán giao tiếp thời gian thực.
- Bệnh viện và các trung tâm y tế: Tiếp cận giải pháp tự động hóa vận chuyển nội bộ chi phí thấp, giảm tải áp lực cho nhân viên y tế và nâng cao tính chuyên nghiệp trong công tác phòng chống dịch bệnh.
- Các nhà nghiên cứu ứng dụng: Cung cấp số liệu đo đạc thực nghiệm về độ chính xác của thuật toán SLAM Gmapping và DWA Local Planner trên phần cứng thực tế.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu: (1) Máy tính trạm nhúng (Single Board Computer như Raspberry Pi 4 4GB/Jetson Nano hoặc Laptop x86) chạy Ubuntu 20.04 LTS và ROS Noetic; (2) Vi điều khiển nhúng hỗ trợ tối thiểu 2 bộ Timer Encoder phần cứng và 2 kênh PWM; (3) Cảm biến laser 2D quét góc $360^\circ$ (tần số quét $\ge 5.5\text{ Hz}$); (4) Bộ nguồn cấp dòng tức thời tối thiểu 10A cho 2 động cơ DC.
2. Làm thế nào để robot tránh hiện tượng trôi dạt tọa độ (Drift) khi chạy lâu?
Robot giải quyết bài toán sai số tích lũy của Encoder bằng cách kích hoạt gói định vị xác suất AMCL (Adaptive Monte Carlo Localization). AMCL liên tục đối chiếu dữ liệu các tia quét laser từ LiDAR với bản đồ tĩnh 2D đã quét trước đó để liên tục hiệu chỉnh tọa độ thực của robot trong hệ quy chiếu /map.
3. Hệ thống có thể tích hợp với thang máy để di chuyển đa tầng không?
Hoàn toàn khả thi. Bằng cách cài đặt module giao tiếp IoT (qua chuẩn giao tiếp MQTT hoặc RESTful API) kết nối với tủ điều khiển trung tâm của thang máy, robot có thể gửi lệnh gọi tầng, đợi thang mở cửa và tự động chuyển đổi bản đồ (Multi-floor Map Management) theo từng tầng tương ứng.
4. Chi phí bảo dưỡng và thay thế linh kiện định kỳ ra sao?
Cấu trúc cơ khí sử dụng bộ truyền đai răng và động cơ DC đóng kín giúp giảm thiểu tối đa hao mòn ma sát. Định kỳ bảo dưỡng bao gồm: kiểm tra độ căng dây đai (mỗi 6 tháng), làm sạch bụi mắt quét laser LiDAR (mỗi tháng) và kiểm tra dung lượng ắc quy/pin (mỗi 12 tháng). Chi phí bảo dưỡng ước tính dưới $500,000\text{ VNĐ/năm}$.
5. Thuật toán Gmapping có hoạt động tốt khi hành lang bệnh viện có nhiều kính trong suốt không?
Tia laser quang học của LiDAR đơn tầng có thể bị xuyên thấu hoặc phản xạ sai lệch khi gặp vách kính trong suốt. Để khắc phục triệt để trong môi trường thực tế, giải pháp là dán decal mờ phản quang ở độ cao ngang tầm quét của LiDAR ($25\text{ cm}$ tính từ sàn) hoặc tích hợp bổ sung cảm biến siêu âm (Ultrasonic Sensor Array) vào Costmap tầng quan sát (Obstacle Layer).
Kết luận
Đề tài tốt nghiệp "Thiết kế, chế tạo robot tự hành hoạt động phục vụ trong bệnh viện" đã hoàn thành toàn diện các mục tiêu đặt ra: chế tạo thành công mẫu robot di động vi sai hoạt động ổn định với tải trọng $10\text{ kg}$, tốc độ $0.5\text{ m/s}$, tích hợp trơn tru hệ thống phần cứng điều khiển nhúng với hệ điều hành ROS. Các thử nghiệm thực tế chứng minh robot có khả năng tự động thiết lập bản đồ 2D chính xác bằng thuật toán SLAM Gmapping, định vị ổn định và di chuyển tránh vật cản linh hoạt bằng ROS Navigation Stack với sai số vị trí chỉ trong khoảng $\pm 5\text{ cm}$.
Giải pháp mở ra tiềm năng thương mại hóa và ứng dụng rộng rãi tại các bệnh viện, trung tâm y tế và khu cách ly tại Việt Nam với chi phí chế tạo nội địa chỉ bằng $1/15$ so với sản phẩm nhập khẩu. Đề tài đóng góp một nền tảng phần cứng và phần mềm chuẩn mực, sẵn sàng tích hợp các công nghệ thông minh tiếp theo như thị giác máy tính AI 3D, điều khiển tự hành đa tầng và quản lý hạm đội robot y tế thông minh.