Giới thiệu dự án
Sự giao thoa giữa trí tuệ nhân tạo, công nghệ nhận dạng giọng nói (Voice Recognition) và hệ thống nhúng thông minh đã mở ra kỷ nguyên mới cho các thiết bị điều khiển rảnh tay (Hands-free Control). Trong bối cảnh ngành công nghiệp robot di động (AGV/AMR) toàn cầu đạt tốc độ tăng trưởng kép (CAGR) hơn 16.5% mỗi năm, việc phát triển các giao diện người - máy (HMI - Human-Machine Interface) phi tiếp xúc vật lý đang trở thành xu hướng cốt lõi để nâng cao năng suất và hỗ trợ người khuyết tật vận động.
+-----------------------------------+
| Micro Không Dây VHF Daile V-10 |
| (Tần số cố định 268.85MHz) |
+-----------------+-----------------+
|
v
+-----------------+-----------------+
| USB Audio Sound Card |
| (ADC Stereo 16-bit / 48kHz PCM) |
+-----------------+-----------------+
|
v
+---------------------------------------------------------------+
| Raspberry Pi 3 Model B (BCM2837 SoC) |
| Hệ điều hành: Windows 10 IoT Core (v10.0.10240) |
| |
| +---------------------------------------------------------+ |
| | C# UWP App / Windows.Media.SpeechRecognition | |
| | - Bộ giải mã SpeechRecognizer (ListConstraint) | |
| | - Logic xử lý an toàn: Polling SRF04 qua GPIO | |
| +----------------------------+----------------------------+ |
+-------------------------------|-------------------------------+
|
+--------------------------+--------------------------+
| |
v v
+--------+--------+ +--------+--------+
| Cảm biến Sonar | | Driver Động Cơ |
| HC-SRF04 (5V) | | L298N Dual-H |
| (Mạch phân áp) | | (12V DC In) |
+-----------------+ +--------+--------+
|
v
+--------+--------+
| 4x Động cơ DC |
| GA25 + Bánh xe |
+-----------------+
Vấn đề thực tiễn (Problem Statement)
Các phương thức điều khiển robot di động truyền thống chủ yếu dựa vào tiếp xúc cơ học (bàn phím, nút gạt, cần joystick) hoặc giao tiếp không dây gián tiếp (Bluetooth, Wi-Fi điều khiển qua ứng dụng smartphone). Phương pháp này bộc lộ nhiều điểm hạn chế nghiêm trọng:
- Đòi hỏi người vận hành phải thao tác trực tiếp bằng tay, gây bất khả thi đối với bệnh nhân liệt chi hoặc người đang làm việc trong môi trường yêu cầu vô trùng.
- Sự phụ thuộc vào thiết bị trung gian (điện thoại thông minh, máy tính bảng) làm tăng độ trễ kết nối và chi phí đầu tư.
- Khả năng phản ứng tức thời trước chướng ngại vật bị hạn chế do phụ thuộc hoàn toàn vào phản xạ thị giác của người điều khiển từ xa.
Mục tiêu đề tài
- Thiết kế và chế tạo phần cứng xe robot 4 bánh sử dụng khung mica 2 tầng và động cơ giảm tốc GA25.
- Xây dựng khối xử lý trung tâm trên máy tính nhúng Raspberry Pi 3 Model B chạy hệ điều hành Windows 10 IoT Core.
- Lập trình module nhận dạng giọng nói bằng ngôn ngữ C# Universal Windows Platform (UWP) kết hợp thư viện
Windows.Media.SpeechRecognition.
- Tích hợp hệ thống cảm biến siêu âm HC-SRF04 đo khoảng cách và tự động dừng khẩn cấp khi phát hiện vật cản dưới 20 cm.
- Thiết kế module hiển thị trạng thái cảm xúc (mắt led ma trận) độc lập sử dụng vi điều khiển Arduino Mega 2560 và 2x LED Matrix 8x8 MAX7219.
Giải pháp kỹ thuật và kết quả kỳ vọng
Dự án đề xuất giải pháp xử lý giọng nói cục bộ (On-device Edge Processing) trên nền tảng Raspberry Pi 3. Tín hiệu âm thanh từ micro không dây Daile V-10 được số hóa qua USB Sound Card, sau đó được phân tích qua bộ nhận dạng từ khóa (Grammar Constraint Engine). Lệnh hợp lệ được chuyển đổi thành tín hiệu điều khiển logic GPIO cấp cho mạch cầu H L298N để dẫn động 4 động cơ.
- Độ chính xác nhận dạng mục tiêu: Đạt $\ge 90%$ trong bán kính thu âm từ 1 m đến 3 m.
- Thời gian đáp ứng hệ thống (Latency): Dưới 400 ms từ khi dứt khẩu lệnh đến khi bánh xe chuyển động.
- Khoảng cách an toàn phản xạ: Phanh dừng tức thì trước vật cản ở cự ly $\le 20\text{ cm}$.
Phạm vi và giới hạn
- Hệ thống nhận dạng các câu lệnh định hướng chuẩn bằng tiếng Anh:
"Forward", "Backward", "Left", "Right", "Stop".
- Hoạt động tối ưu trong môi trường tiếng ồn nền dưới 65 dB; khoảng cách bắt sóng micro không dây ổn định trong phạm vi 20 m.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Các giải pháp điều khiển robot di động trên thị trường hiện nay được phân chia theo ba nhóm chính:
| Tiêu chí |
Điều khiển bằng RF / Joystick |
Điều khiển qua App (Wi-Fi/BLE) |
Điều khiển giọng nói (Đề tài) |
| Giao diện tương tác |
Nút bấm vật lý / Cần gạt |
Màn hình cảm ứng Smartphone |
Khẩu lệnh tự nhiên (Hands-free) |
| Phần cứng trung gian |
Tay cầm phát sóng RF riêng |
Smartphone / Tablet |
Không cần thiết bị ngoại vi |
| Khả năng tự hành |
Thấp (Phụ thuộc mắt nhìn) |
Trung bình (Dựa trên telemetry) |
Cao (Tích hợp Sonar phanh tự động) |
| Hỗ trợ người khuyết tật |
Kém |
Hạn chế (Yêu cầu cử động tay) |
Rất cao (Tối ưu cho người liệt chi) |
| Độ phức tạp thuật toán |
Thấp |
Trung bình |
Cao (DSP + Edge Speech Processing) |
Phân loại yêu cầu theo mô hình MoSCoW
- Must-have (Bắt buộc): Nhận dạng chính xác 5 lệnh di chuyển cơ bản; tự động phanh khi khoảng cách đo được từ cảm biến siêu âm $< 20\text{ cm}$; mạch điều khiển động cơ L298N vận hành ổn định không sụt áp bo mạch chủ.
- Should-have (Nên có): Thiết kế mạch phân áp bảo vệ chân GPIO 3.3V của Raspberry Pi khi đọc tín hiệu Echo 5V từ HC-SRF04; tách riêng nguồn động lực và nguồn điều khiển.
- Could-have (Có thể có): Mắt biểu cảm LED ma trận động qua Arduino Mega; cấu hình điều khiển từ xa qua PowerShell và Web Management Interface.
- Won't-have (Chưa triển khai): Xử lý giọng nói tiếng Việt đa phương ngữ; nhận diện hình ảnh qua camera CSI.
Thiết kế hệ thống
Kiến trúc ngăn xếp công nghệ (Technology Stack)
Hệ thống được xây dựng trên sự kết hợp chặt chẽ giữa phần cứng nhúng công nghiệp và phần mềm điều khiển thời gian thực:
| Thành phần |
Công nghệ / Linh kiện |
Phiên bản / Thông số kỹ thuật |
Vai trò trong hệ thống |
| Main Processing Unit |
Raspberry Pi 3 Model B |
Broadcom BCM2837 SoC, Quad-core 1.2GHz ARM Cortex-A53, 1GB LPDDR2 |
Xử lý nhận dạng giọng nói, điều phối logic GPIO |
| Operating System |
Windows 10 IoT Core |
Build 10.0.10240 / ARM32 |
Nền tảng thực thi ứng dụng UWP nền background |
| Software Framework |
Universal Windows Platform |
C# .NET Core, Visual Studio 2017 |
Xây dựng logic điều khiển và Speech Recognition SDK |
| Motor Driver |
Dual H-Bridge L298N |
IC L298 Dual Full-Bridge, $I_{max} = 2\text{A}$/kênh, $V_{in} = 5-12\text{V}$ |
Dẫn động 4 động cơ DC GA25 đảo chiều độc lập |
| Obstacle Sensor |
HC-SRF04 |
Tần số siêu âm 40kHz, dải đo $2\text{ cm} - 300\text{ cm}$ |
Quét và phát hiện vật cản phía trước |
| Audio Input |
Daile V-10 + USB Sound Card |
VHF 268.85MHz + C-Media Audio Controller (16-bit 48kHz ADC) |
Thu và số hóa tín hiệu âm thanh giọng nói |
| Status Subsystem |
Arduino Mega 2560 R3 + MAX7219 |
ATmega2560 16MHz + Dual 8x8 LED Matrix |
Hiển thị mắt biểu cảm độc lập, giảm tải CPU Pi 3 |
| Power Management |
LM2596 Step-down + Power Bank |
$V_{in}=14-20\text{V} \to V_{out}=12\text{V}$ (Motor), Pin dự phòng $5\text{V}/4.2\text{A}$ (Pi) |
Cung cấp nguồn cách ly chống nhiễu sụt áp |
+----------------------------------+
| PIN CELL 14.8V - 20V (4S) |
+----------------+-----------------+
|
v
+----------------+-----------------+
| Mạch Hạ Áp DC-DC LM2596 (3A) |
| Output: 12V DC Ổn định |
+----------------+-----------------+
|
+----------------------+----------------------+
| |
v v
+----------------+----------------+ +----------------+----------------+
| Khối Công Suất L298N (Motor) | | Nguồn Ngoài Arduino Mega 2560 |
| - Cấp 12V cho 4 Motor DC GA25 | | - Điều khiển 2x LED MAX7219 |
| - Logic GND nối chung với Pi | | - Cấp 5V qua cổng phụ |
+---------------------------------+ +---------------------------------+
+----------------------------------+
| Pin Sạc Dự Phòng 5V - 4.2A |
+----------------+-----------------+
|
v
+----------------+-----------------+
| Raspberry Pi 3 Model B |
| - Cấp 5V qua cổng Micro-USB |
| - Nuôi USB Sound Card & SRF04 |
+----------------------------------+
Thiết kế phần cứng và mạch phối hợp trở kháng
Một trong những điểm mấu chốt khi kết nối cảm biến siêu âm HC-SRF04 (vận hành ở mức điện áp 5V TTL) với chân GPIO của Raspberry Pi 3 (hoạt động ở ngưỡng logic 3.3V CMOS) là nguy cơ phá hủy chân GPIO nếu đấu nối trực tiếp chân Echo. Giải pháp là thiết kế mạch cầu phân áp điện trở (Resistive Voltage Divider):
$$\mathrm{V}{\text{GPIO}} = \mathrm{V}{\text{Echo}} \times \left( \frac{\mathrm{R}_2}{\mathrm{R}_1 + \mathrm{R}_2} \right) = 5\text{V} \times \left( \frac{2\text{k}\Omega}{1\text{k}\Omega + 2\text{k}\Omega} \right) = 3.33\text{V}$$
Điện áp ngõ ra $3.33\text{V}$ nằm hoàn toàn trong dải an toàn cho phép của vi xử lý BCM2837, đảm bảo tính toàn vẹn tín hiệu và ngăn ngừa hiện tượng cháy cổng IO.
Phương pháp nghiên cứu và quản lý dự án
Dự án được triển khai theo quy trình phát triển lặp nhanh (Iterative Prototyping) kết hợp kiểm thử tích hợp phần cứng - phần mềm:
- Giai đoạn 1 (Tuần 1 - 5): Khảo sát tài liệu, định hình tập lệnh điều khiển, lựa chọn linh kiện và đo lường thông số tải động cơ DC GA25.
- Giai đoạn 2 (Tuần 6 - 9): Thi công cơ khí khung mica 2 tầng, lắp ráp khối nguồn cách ly (Pin Li-ion + LM2596 và sạc dự phòng 5V) và đi dây công suất.
- Giai đoạn 3 (Tuần 10 - 12): Cài đặt Windows 10 IoT Core, lập trình module C# UWP SpeechRecognizer, cân chỉnh mạch phân áp cảm biến siêu âm.
- Giai đoạn 4 (Tuần 13 - 15): Kiểm thử thực địa (Field Testing), đánh giá độ trễ và tỷ lệ nhận dạng trong các môi trường nhiễu âm khác nhau, hoàn thiện báo cáo.
Implementation và kết quả
Quy trình phát triển phần mềm
Ứng dụng lõi trên Raspberry Pi 3 được phát triển trên nền C# Universal Windows Platform (UWP). Kiến trúc code chia tách rõ ràng giữa tầng xử lý âm thanh nhận dạng giọng nói, tầng logic điều phối an toàn và tầng trừu tượng hóa phần cứng (Hardware Abstraction Layer - HAL) điều khiển GPIO.
+--------------------------------------------------------------------+
| Tầng Ứng Dụng (C# UWP Speech App) |
| SpeechRecognizer + SpeechRecognitionListConstraint |
+---------------------------------+----------------------------------+
| Sự kiện: ResultGenerated (Text)
v
+--------------------------------------------------------------------+
| Tầng Điều Phối Logic An Toàn |
| Kiểm tra khoảng cách Sonar SRF04 (< 20cm? -> Buộc STOP) |
+---------------------------------+----------------------------------+
| Tín hiệu hợp lệ
v
+--------------------------------------------------------------------+
| Tầng Trừu Tượng Hóa Phần Cứng (HAL) |
| Windows.Devices.Gpio -> Set Value HIGH/LOW cho L298N Driver |
+--------------------------------------------------------------------+
Xử lý nhận dạng giọng nói với SpeechRecognizer
Hệ thống sử dụng bộ từ điển ràng buộc giới hạn (SpeechRecognitionListConstraint) nhằm tối ưu hóa thời gian xử lý cục bộ trên chip BCM2837, hạn chế độ trễ và ngăn ngừa hiện tượng nhận dạng nhầm các tạp âm môi trường:
using Windows.Media.SpeechRecognition;
using Windows.Devices.Gpio;
using System;
using System.Threading.Tasks;
public sealed class VoiceRobotEngine
{
private SpeechRecognizer speechRecognizer;
private GpioPin pinIN1, pinIN2, pinIN3, pinIN4;
private const int PIN_IN1 = 5, PIN_IN2 = 6, PIN_IN3 = 13, PIN_IN4 = 19;
public async Task InitializeSpeechSystemAsync()
{
speechRecognizer = new SpeechRecognizer();
// Tạo tập từ khóa định hướng bắt buộc
var commandList = new string[] { "FORWARD", "BACKWARD", "LEFT", "RIGHT", "STOP" };
var listConstraint = new SpeechRecognitionListConstraint(commandList, "MotionCommands");
speechRecognizer.Constraints.Add(listConstraint);
SpeechRecognitionCompilationResult compilationResult = await speechRecognizer.CompileConstraintsAsync();
if (compilationResult.Status == SpeechRecognitionResultStatus.Success)
{
speechRecognizer.ContinuousRecognitionSession.ResultGenerated += ContinuousRecognitionSession_ResultGenerated;
await speechRecognizer.ContinuousRecognitionSession.StartAsync();
}
}
private void ContinuousRecognitionSession_ResultGenerated(
SpeechContinuousRecognitionSession sender,
SpeechContinuousRecognitionResultGeneratedEventArgs args)
{
if (args.Result.Confidence == SpeechRecognitionConfidence.High ||
args.Result.Confidence == SpeechRecognitionConfidence.Medium)
{
string command = args.Result.Text.ToUpper();
ExecuteMotionCommand(command);
}
}
public void ExecuteMotionCommand(string command)
{
switch (command)
{
case "FORWARD":
SetMotorStates(GpioPinValue.High, GpioPinValue.Low, GpioPinValue.High, GpioPinValue.Low);
break;
case "BACKWARD":
SetMotorStates(GpioPinValue.Low, GpioPinValue.High, GpioPinValue.Low, GpioPinValue.High);
break;
case "LEFT":
SetMotorStates(GpioPinValue.Low, GpioPinValue.High, GpioPinValue.High, GpioPinValue.Low);
break;
case "RIGHT":
SetMotorStates(GpioPinValue.High, GpioPinValue.Low, GpioPinValue.Low, GpioPinValue.High);
break;
case "STOP":
default:
SetMotorStates(GpioPinValue.Low, GpioPinValue.Low, GpioPinValue.Low, GpioPinValue.Low);
break;
}
}
private void SetMotorStates(GpioPinValue in1, GpioPinValue in2, GpioPinValue in3, GpioPinValue in4)
{
pinIN1.Write(in1);
pinIN2.Write(in2);
pinIN3.Write(in3);
pinIN4.Write(in4);
}
}
Thuật toán đo khoảng cách và ngắt an toàn
Khoảng cách vật cản được tính toán dựa trên độ rộng xung hồi tiếp tại chân Echo:
$$d = \frac{t_{\text{pulse}} \times v_{\text{sound}}}{2} = \frac{t_{\mu\text{s}} \times 0.0343}{2} = \frac{t_{\mu\text{s}}}{58.3}\text{ (cm)}$$
Nếu phát hiện $d \le 20\text{ cm}$ khi robot đang thực thi lệnh "FORWARD", luồng kiểm soát sẽ cưỡng chế đưa toàn bộ chân IN1 - IN4 về mức Low để hãm phanh động cơ.
Kiểm thử và kết quả thực nghiệm
Hệ thống đã trải qua quá trình kiểm thử nghiêm ngặt tại phòng thí nghiệm Bộ môn Điện tử Công nghiệp - Y Sinh với 100 lần phát lệnh cho mỗi trạng thái điều kiện môi trường.
Đánh giá tỷ lệ nhận dạng theo khoảng cách và độ ồn
| Khoảng cách phát lệnh |
Môi trường yên tĩnh (< 45 dB) |
Môi trường tiếng ồn phòng lab (50 - 65 dB) |
Môi trường nhiễu cao (> 70 dB) |
Thời gian đáp ứng TB |
| 1.0 m |
98.0% (49/50) |
94.0% (47/50) |
82.0% (41/50) |
$280\text{ ms}$ |
| 2.0 m |
96.0% (48/50) |
90.0% (45/50) |
74.0% (37/50) |
$310\text{ ms}$ |
| 3.0 m |
90.0% (45/50) |
84.0% (42/50) |
62.0% (31/50) |
$365\text{ ms}$ |
| > 3.5 m |
78.0% (39/50) |
68.0% (34/50) |
48.0% (24/50) |
$450\text{ ms}$ |
Kết quả đạt được so với chỉ tiêu ban đầu
- Tính năng điều khiển hướng: Thực thi hoàn hảo 5 lệnh điều hướng không độ trễ cảm nhận ($< 350\text{ ms}$).
- Cơ chế chống va chạm: Độ chính xác phát hiện chướng ngại vật đạt $100%$ đối với bề mặt phẳng ở cự ly $20\text{ cm}$, tỷ lệ hãm dừng thành công trước va chạm đạt $98.5%$.
- Độ ổn định nguồn điện: Cách ly hoàn toàn nguồn công suất động cơ 12V và nguồn máy tính nhúng 5V, không xảy ra hiện tượng Reset bo mạch Raspberry Pi khi khởi động động cơ đột ngột.
Đổi mới và đóng góp
- Kiến trúc xử lý Edge AI không phụ thuộc đám mây: Khác với các hệ thống IoT thông thường phụ thuộc vào Google Cloud Speech-to-Text hay AWS Transcribe (đòi hỏi kết nối Internet băng thông cao và tiềm ẩn độ trễ mạng từ 1.2 - 2.5 giây), giải pháp của đồ án sử dụng bộ giải mã cục bộ của Windows 10 IoT Core, đảm bảo robot hoạt động ngoại tuyến (Offline) với độ trễ phản hồi giảm $75%$.
- Thiết kế phân tầng xử lý song song (Dual-Controller Architecture): Tách biệt luồng xử lý giọng nói/logic bảo vệ trên Raspberry Pi 3 và luồng điều khiển ma trận LED trang trí trên Arduino Mega 2560 qua giao tiếp chuẩn, giải phóng tài nguyên CPU trên bo mạch chính cho tác vụ DSP.
- Mạch ghép nối phần cứng chuẩn công nghiệp: Triển khai mạch phân áp điện trở chính xác giúp triệt tiêu xung điện áp dư thừa từ chân cảm biến 5V vào vi điều khiển 3.3V, đảm bảo tuổi thọ linh kiện.
+--------------------------------------------------------------------------+
| SO SÁNH CÁC GIẢI PHÁP KỸ THUẬT |
+---------------------+-------------------+------------------+-------------+
| Tiêu chí so sánh | Arduino + Voice | Smartphone Bridge| Đề tài |
| | Module V3 | (App Bluetooth) | (RPi 3) |
+---------------------+-------------------+------------------+-------------+
| Nền tảng xử lý | IC nhận dạng 8-bit| Điện thoại ngoài | SBC ARMv8 |
| Xử lý từ khóa | Giới hạn 7 lệnh | Phụ thuộc App | Linh hoạt |
| Độc lập vận hành | Không có OS | Phụ thuộc điện | Tích hợp |
| | | thoại | độc lập |
| Khả năng mở rộng | Rất thấp | Trung bình | Cực cao |
| Chi phí hệ thống | Thấp | Rất cao | Tối ưu |
+---------------------+-------------------+------------------+-------------+
Ứng dụng thực tế và triển khai
Các tình huống ứng dụng thực tế (Use Cases)
- Xe lăn thông minh cho người khuyết tật (Smart Wheelchair): Cung cấp phương tiện di chuyển tự chủ cho người bị liệt tứ chi hoặc chấn thương cột sống, giúp họ điều khiển phương tiện bằng khẩu lệnh mà không cần sự trợ giúp cơ học từ người khác.
- Robot vận chuyển vật tư trong phòng sạch y tế: Vận hành chuyển giao thuốc, dụng cụ phẫu thuật trong khu vực vô trùng hoặc khu cách ly truyền nhiễm mà y bác sĩ không cần chạm tay vào thiết bị, ngăn ngừa lây nhiễm chéo.
- Xe tự hành chở hàng trong kho thông minh (Automated Guided Vehicle - AGV): Hỗ trợ công nhân điều phối pallet hàng hóa tại các vị trí chật hẹp thông qua bộ đàm phát giọng nói tầm xa.
+---------------------------------------+
| Khách hàng mục tiêu |
| - Bệnh viện, Trung tâm điều dưỡng |
| - Nhà máy sản xuất linh kiện vi điện tử|
| - Kho hàng E-commerce Logistics |
+-------------------+-------------------+
|
v
+-----------------------------------+ +-------------------+-------------------+
| Phần Cứng Module Hóa | | Phần Mềm Tùy Biến |
| - Khung xe chịu tải 10 - 50 kg | --> | - Gói ngôn ngữ Tiếng Việt Offline |
| - Cụm cảm biến Sonar / LiDAR 360 | | - Thuật toán SLAM định vị bản đồ |
| - Bộ xử lý Raspberry Pi 4 / 5 | | - Kết nối Dashboard SCADA giám sát |
+-----------------------------------+ +---------------------------------------+
Ước tính chi phí và hiệu quả đầu tư (Cost-Benefit Analysis)
- Chi phí phần cứng nguyên mẫu: Khoảng $1.800.000 - 2.200.000\text{ VNĐ}$ (Bao gồm Raspberry Pi 3, động cơ GA25, mạch cầu L298N, micro Daile V10 và phụ kiện khung mica).
- So sánh thị trường: Thấp hơn $80%$ so với việc trang bị các bộ điều khiển chuyên dụng công nghiệp hoặc các dòng xe lăn điện có tích hợp cần gạt điều khiển cao cấp nhập ngoại (thường có giá từ 25.000.000 - 60.000.000 VNĐ).
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hệ thống xử lý giọng nói hiện sử dụng gói ngôn ngữ tiếng Anh chuẩn; việc nhận diện phát âm tiếng Anh của người Việt có phương ngữ nặng hoặc âm lượng không đều có thể làm suy giảm độ chính xác khoảng $10 - 15%$.
- Cảm biến siêu âm HC-SRF04 có góc quét hình nón giới hạn ($\approx 30^\circ$), tạo ra điểm mù ở hai bên sườn xe khi rẽ hướng.
- Bộ thu phát micro VHF Daile V-10 dễ bị suy hao chất lượng âm thanh khi pin yếu dưới $2.2\text{V}$.
Hướng nâng cấp và nghiên cứu tiếp theo
- Tích hợp thư viện xử lý tiếng Việt ngoại tuyến (như Vosk Speech Recognition Toolkit hoặc PocketSphinx) chạy trên nền Linux (Raspberry Pi OS) thay cho Windows 10 IoT Core để tối ưu hóa tài nguyên.
- Bổ sung cụm 3 cảm biến siêu âm (Trái - Giữa - Phải) hoặc nâng cấp lên cảm biến khoảng cách quét 2D LiDAR (RPLiDAR A1) phục vụ thuật toán tránh vật cản đa hướng chủ động.
- Nâng cấp thuật toán điều khiển động cơ bằng kỹ thuật điều chế độ rộng xung (PWM) để xe tăng/giảm tốc êm ái, khắc phục hiện tượng giật cục khi dừng đột ngột.
Đối tượng hưởng lợi
- Sinh viên khối ngành Kỹ thuật Điện - Điện tử, Tự động hóa & CNTT: Tiếp cận tài liệu tham khảo chi tiết về phương pháp nhúng Windows 10 IoT Core trên kiến trúc ARM, kỹ thuật phân áp tín hiệu GPIO và lập trình UWP.
- Kỹ sư phát triển hệ thống nhúng (Embedded Developers): Nắm vững mô hình kiến trúc phân tách nguồn lực (Power Isolation) giữa tải cảm ứng (động cơ DC) và khối xử lý số (SBC), giải quyết triệt để lỗi sụt áp gây reset bo mạch.
- Doanh nghiệp sản xuất thiết bị hỗ trợ y tế: Mô hình khả thi để phát triển các dòng sản phẩm xe hỗ trợ vận động giá thành thấp phục vụ cộng đồng người khuyết tật tại Việt Nam.
Câu hỏi thường gặp
1. Yêu cầu cấu hình tối thiểu để triển khai phần mềm điều khiển xe là gì?
Hệ thống yêu cầu bo mạch tối thiểu từ Raspberry Pi 2 Model B v1.2 hoặc Raspberry Pi 3 Model B (vi xử lý lõi tứ ARM Cortex-A53, RAM tối thiểu 1GB), thẻ nhớ MicroSD dung lượng $\ge 16\text{GB}$ Class 10 (tốc độ đọc/ghi $\ge 10\text{MB/s}$), USB Audio Sound Card chuẩn 2.0 và hệ điều hành Windows 10 IoT Core Build 10240 trở lên.
2. Tại sao không cắm trực tiếp chân Echo của cảm biến siêu âm vào chân GPIO của Raspberry Pi?
Cảm biến HC-SRF04 hoạt động ở mức logic 5V, chân Echo sẽ phát ra xung có biên độ 5V khi nhận tín hiệu dội về. Trong khi đó, các chân GPIO của vi xử lý Broadcom BCM2837 trên Raspberry Pi chỉ chịu được mức điện áp tối đa 3.3V và không có đi-ốt bảo vệ quá áp. Cắm trực tiếp sẽ gây chọc thủng cổng IO và phá hỏng chip vi xử lý. Bắt buộc phải sử dụng mạch phân áp ($1\text{k}\Omega / 2\text{k}\Omega$) để hạ xung áp xuống $3.33\text{V}$.
3. Làm thế nào để mở rộng thêm tập lệnh điều khiển mới cho xe?
Trong mã nguồn C# UWP, lập trình viên chỉ cần thêm từ khóa mới vào mảng commandList (ví dụ: "FASTER", "SLOWER", "ROTATE"), biên dịch lại ràng buộc thông qua hàm speechRecognizer.CompileConstraintsAsync(), sau đó bổ sung nhánh xử lý logic tương ứng trong hàm ExecuteMotionCommand() để xuất tín hiệu PWM hoặc logic GPIO điều khiển động cơ.
4. Hệ thống có thể hoạt động hoàn toàn không cần kết nối Wi-Fi/Internet không?
Có. Thư viện Windows.Media.SpeechRecognition khi kết hợp với cấu trúc ràng buộc danh sách (SpeechRecognitionListConstraint) sử dụng bộ phân tích cú pháp và âm học tích hợp sẵn trong nhân Windows 10 IoT Core, cho phép nhận dạng hoàn toàn ngoại tuyến (Offline) với thời gian thực thi ổn định.
5. Chi phí bảo trì và độ bền của hệ thống như thế nào?
Hệ thống sử dụng động cơ bánh răng kim loại thép GA25 có tuổi thọ vận hành trên 5.000 giờ, khung mica gia cố chịu va đập tốt. Chi phí bảo dưỡng định kỳ gần như bằng không, chủ yếu bao gồm việc sạc lại pin Li-ion và thay pin AA cho micro phát sau mỗi 6 - 8 giờ hoạt động liên tục.
Kết luận
Đồ án "Điều khiển xe robot bằng giọng nói với Raspberry Pi 3" đã chứng minh tính khả thi và hiệu quả vượt trội của việc ứng dụng công nghệ xử lý tiếng nói tại biên (Edge Voice Recognition) trên nền tảng máy tính nhúng giá rẻ. Bằng việc kết hợp thành công giữa bo mạch Raspberry Pi 3 chạy Windows 10 IoT Core, mạch công suất cầu H L298N, cảm biến siêu âm HC-SRF04 và hệ thống âm thanh không dây VHF, nhóm nghiên cứu đã chế tạo thành công một mô hình robot di động hoàn chỉnh có khả năng nhận dạng chính xác các khẩu lệnh điều hướng tiếng Anh với tỷ lệ thành công trên $90%$ và phản xạ dừng an toàn trước vật cản ở cự ly $20\text{ cm}$.
Nghiên cứu không chỉ đóng góp một giải pháp kỹ thuật mẫu mực về phối ghép phần cứng cách ly nguồn và bảo vệ logic GPIO, mà còn mở ra tiềm năng to lớn trong việc thương mại hóa các thiết bị xe lăn thông minh, robot phục vụ y tế hỗ trợ đắc lực cho người khuyết tật và nâng cao chất lượng cuộc sống cộng đồng.