Kiến thức robot bằng tiếng Việt
Blog
Bài viết kỹ thuật về lập trình nhúng, ROS 2, SLAM, Nav2 và AMR/AGV — viết từ kinh nghiệm làm robot thật.
21 bài viết · Robotics Fundamentals
Odometry trong bài toán Localization: dead reckoning là gì
Bài Differential Drive đã trình bày công thức odometry. Bài này đặt nó đúng vị trí trong bức tranh lớn hơn: odometry là một kỹ thuật localization cụ thể, gọi là dead reckoning — và tại sao localization thực tế không thể dừng lại ở đó.
IMU là gì? Đo gia tốc và vận tốc góc để biết robot đang xoay/nghiêng
Encoder biết bánh xe quay bao nhiêu vòng nhưng không biết robot có bị trượt hay không. IMU đo trực tiếp gia tốc và vận tốc góc của thân robot — độc lập hoàn toàn với việc bánh xe có bám mặt sàn hay không.
Sensor Fusion là gì? Kết hợp nhiều cảm biến không hoàn hảo thành một ước lượng tốt hơn
Odometry mượt nhưng trôi khi trượt bánh. IMU không sợ trượt bánh nhưng lại trôi theo cách khác. Sensor fusion không chọn một trong hai — nó kết hợp cả hai theo đúng tỉ lệ tin cậy của từng nguồn tại từng thời điểm.
EKF (Extended Kalman Filter): thuật toán đứng sau sensor fusion
Bài Sensor Fusion nói tới việc 'tự động cân trọng số' nhưng chưa nói cân bằng cách nào. EKF trả lời chính xác câu hỏi đó — bằng một vòng lặp predict-update, và một khái niệm trung tâm: độ không chắc chắn (covariance).
AMCL là gì? Định vị trên bản đồ có sẵn bằng particle filter
EKF theo dõi độ không chắc chắn bằng một elip Gaussian duy nhất. AMCL giải cùng bài toán localization theo cách hoàn toàn khác: hàng nghìn 'giả thuyết vị trí' cạnh tranh nhau, gọi là particle filter.
Vector trong Robotics: vị trí, vận tốc và góc giữa hai hướng
Vị trí robot, vận tốc, hướng đi — gần như mọi đại lượng trong robot di động đều được biểu diễn bằng vector. Nắm chắc vài phép toán cơ bản trên vector là nền tảng bắt buộc trước khi học kinematics.
Matrix trong Robotics: biến đổi hàng loạt điểm cùng lúc
Xoay toàn bộ đám mây điểm LiDAR theo hướng robot mới, hay chuyển hàng nghìn điểm bản đồ từ hệ toạ độ này sang hệ khác — matrix là công cụ làm việc đó bằng đúng một phép nhân.
Hệ toạ độ trong Robot: vì sao một robot cần nhiều hệ toạ độ cùng lúc
Toạ độ (2, 3) không có ý nghĩa gì nếu không biết đang đo so với đâu. Một robot thực tế cần ít nhất 3-4 hệ toạ độ khác nhau, mỗi hệ trả lời một câu hỏi riêng.
Rotation và Euler Angles: xoay robot trong không gian 3D
Robot 2D chỉ cần một góc heading duy nhất — nhưng robot có IMU, tay máy, hay drone cần biểu diễn hướng trong không gian 3D, và cách biểu diễn phổ biến nhất (Euler angles) lại ẩn chứa một cái bẫy kinh điển: gimbal lock.
Quaternion là gì? Cách biểu diễn hướng không bị Gimbal Lock
Mọi message Odometry/PoseStamped trong ROS2 lưu hướng dưới dạng quaternion (x, y, z, w) chứ không phải góc Euler quen thuộc — vì lý do chính xác đã nêu ở bài Rotation: tránh gimbal lock.
Transform: ghép Rotation và Translation thành một phép biến đổi
Bài Matrix đã hẹn: ma trận xoay thuần không dịch chuyển được điểm. Homogeneous transform là cách toán học chuẩn để gộp cả xoay lẫn dịch chuyển vào đúng một phép nhân matrix duy nhất.
PID trong một hệ robot: không chỉ một vòng lặp, mà nhiều vòng lồng nhau
Bài PID trong Lập trình nhúng đã giải thích P/I/D và cách tune một vòng lặp. Bài này nhìn rộng hơn: một robot thật không chỉ có một PID — mà là nhiều vòng PID lồng nhau, mỗi vòng chạy ở một tầng và tần số khác nhau.