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.
32 bài viết · AMR / AGV
Differential Drive trong AMR: từ /cmd_vel tới PWM từng bánh
Bài Động học Robot đã giải công thức v, ω. Bài này đứng ở góc nhìn firmware: công thức đó biến thành code chạy trên MCU thế nào, và những quyết định cơ khí/mạch điện thực tế khi lắp một AMR differential drive.
Mecanum Drive trong AMR: đồng bộ 4 bánh và những lỗi cơ khí thường gặp
Bài Động học Mecanum đã giải ma trận nghịch đảo 4 bánh. Bài này đứng ở góc nhìn lắp ráp thực tế: vì sao Mecanum đòi hỏi đồng bộ driver chính xác hơn hẳn Differential Drive, và những lỗi cơ khí phổ biến khi tự ráp.
Motor Control cho AMR: vòng PID khép kín tốc độ từng bánh
Mixing tính ra tốc độ mong muốn từng bánh, nhưng không tự làm bánh quay đúng tốc độ đó. Vòng PID khép kín với phản hồi từ encoder là mắt xích còn thiếu — bài này ráp Motor, Driver, Encoder, và PID đã học riêng lẻ thành một vòng điều khiển hoàn chỉnh.
Odometry cho AMR: pipeline thực tế từ xung encoder tới /odom
Bài Encoder đã học cách đọc xung, bài Odometry trong Localization đã học công thức dead reckoning. Bài này ráp cả hai thành một pipeline firmware hoàn chỉnh — 3 tần số khác nhau chạy song song trên cùng một MCU.
Hardware Layer trong kiến trúc AMR: kiểm kê I/O vật lý
Chuyên mục Hardware AMR đã học từng linh kiện riêng lẻ. Bài này gộp chúng lại đúng vai trò của chúng trong kiến trúc phần mềm: Hardware Layer là gì, ranh giới với Driver Layer nằm ở đâu, và MCU cần bao nhiêu chân I/O để đọc/ghi hết chỗ linh kiện đó.
ROS2 Layer trong AMR: bản đồ topic thực tế của một robot hoàn chỉnh
Chuyên mục ROS2 & phần mềm đã giải thích node/topic/service là gì. Bài này không nhắc lại khái niệm đó — nó vẽ bản đồ topic thực tế của một AMR hoàn chỉnh: node nào publish gì, node nào subscribe gì, và tại sao mỗi loại dữ liệu cần một mức QoS khác nhau.
Localization Layer trong AMR: EKF cục bộ và AMCL phối hợp ra sao
Chuyên mục ROS2 Navigation đã giải chi tiết AMCL và EKF riêng lẻ. Bài này không lặp lại toán học của từng thuật toán — nó trả lời câu hỏi kiến trúc: hai thuật toán đó phối hợp với nhau thế nào trong Localization Layer của một AMR thực tế.
Navigation Layer trong AMR: global planner và local planner phối hợp ra sao
Chuyên mục ROS2 Navigation đã giải chi tiết path planning và path following riêng lẻ. Bài này đứng ở góc nhìn kiến trúc: vì sao Nav2 tách thành 2 planner chạy tần số khác nhau, và costmap kết nối chúng ra sao.
Application Layer trong AMR: máy trạng thái điều phối nhiệm vụ
4 tầng trước lo phần cứng, giao tiếp, định vị, điều hướng. Application Layer trả lời câu hỏi cuối cùng: lệnh 'đi tới điểm này' ban đầu tới từ đâu, và làm sao robot biết được nhiệm vụ nào đang làm, đã xong chưa, hay đã thất bại.
IMU trong AMR: phát hiện trượt bánh mà odometry không thấy được
Chuyên mục Sensor & Perception đã giải thích IMU đo gì. Bài này tập trung đúng câu hỏi của AMR: gắn IMU ở đâu trên khung robot, và tại sao kết hợp IMU với encoder phát hiện được trượt bánh mà odometry đơn thuần bỏ lỡ hoàn toàn.
AMR là gì? Robot tự định vị, không cần hạ tầng dẫn đường
AMR là robot vận chuyển tự định vị bằng cảm biến và SLAM, không cần line/dây/tag dẫn đường cố định — khác hẳn thế hệ AGV cũ. Bài này giải thích đúng AMR gồm những gì và hoạt động ra sao.
AGV là gì? Xe tự hành bám theo hạ tầng dẫn đường cố định
AGV là thế hệ xe tự hành ra đời từ những năm 1950, bám theo line/dây/tag cố định lắp sẵn trên sàn — không tự định vị, không tự né vật cản, nhưng rẻ, đơn giản và đã được kiểm chứng qua hàng chục năm.