LiDAR trong kiến trúc AMR: đặt ở đâu, dùng cho việc gì
Atlasbot · 17/8/2026 · 11 phút đọc
Bài Kiến trúc phần cứng đã liệt kê LiDAR trong bảng cảm biến. Bài này tập trung vào câu hỏi thực tế hơn: LiDAR đóng vai trò gì trong toàn bộ chuỗi xử lý của một AMR, và tại sao vị trí lắp đặt trên khung robot lại quan trọng đến vậy.
Khái niệm chính
Cùng một dòng dữ liệu LiDAR (sensor_msgs/LaserScan) được dùng cho hai mục đích khác nhau trong Nav2:
- SLAM/AMCL (tần số xử lý thấp hơn, nhưng cần độ chính xác cao) — so khớp scan với bản đồ đã biết để định vị, hoặc dựng bản đồ mới
- Local costmap/né vật cản (tần số xử lý cao, cần phản hồi tức thời) — phát hiện vật cản ngay trước mặt để né kịp thời, không cần độ chính xác bản đồ tuyệt đối, chỉ cần "có gì đó ở đây, tránh ra"
Đây là lý do LiDAR thường được coi là cảm biến "bắt buộc phải có" trên AMR — không cảm biến nào khác cùng lúc phục vụ tốt cả hai vai trò này với cùng một dòng dữ liệu.
Nguyên lý hoạt động
LiDAR 2D quét một mặt phẳng duy nhất, ở đúng độ cao nó được gắn — bất kỳ vật thể nào không cắt ngang mặt phẳng đó đều là vùng mù hoàn toàn với robot:
LiDAR gắn thấp (gần sàn):
+ phát hiện tốt vật cản thấp (chân bàn ghế, bậc thềm)
− không thấy vật cản cao hơn (mép bàn, quầy kệ đưa ra)
LiDAR gắn cao (ngang thân robot):
+ phát hiện tốt vật cản ở tầm người, tầm giá đỡ hàng hoá
− không thấy vật cản thấp (chân bàn, dây điện trên sàn)
Nhiều AMR công nghiệp thực tế dùng 2 LiDAR ở hai độ cao khác nhau (một thấp, một cao) chính để bù trừ vùng mù cho nhau — đánh đổi chi phí cảm biến gấp đôi lấy vùng phủ an toàn tốt hơn nhiều, đặc biệt quan trọng ở môi trường có người qua lại.
Về góc quét: hầu hết LiDAR dùng cho AMR (RPLidar, YDLidar — đã xuất hiện trong các dự án showcase của trang này) quét đủ 360° bằng cách xoay toàn bộ cụm phát-thu, đủ dữ liệu cho cả SLAM lẫn né vật cản mọi hướng, kể cả phía sau — khác với LiDAR quét góc hẹp phía trước chỉ đủ né vật cản khi đi thẳng, không đủ cho SLAM chất lượng cao.
Kiến thức kỹ thuật
Công thức
Độ phân giải góc quét quyết định khoảng cách giữa 2 điểm quét liên tiếp ở một tầm xa nhất định — vật thể mỏng hơn khoảng cách này có nguy cơ "lọt qua" giữa 2 tia quét:
khoảng_cách_giữa_2_điểm ≈ 2 × R × sin(Δθ / 2)
Trong đó: R = khoảng cách tới vật thể, Δθ = độ phân giải góc (radian)
VD: LiDAR độ phân giải góc 1°, vật thể cách 5m
Δθ = 1° ≈ 0.0175 rad
khoảng_cách_giữa_2_điểm ≈ 2 × 5 × sin(0.0175/2) ≈ 0.087m ≈ 8.7cm
Thông số
| Vị trí/loại lắp đặt | Ưu điểm | Nhược điểm |
|---|---|---|
| Gắn thấp (gần sàn) | Phát hiện tốt vật cản thấp | Không thấy vật cản cao hơn |
| Gắn cao (ngang thân robot) | Phát hiện tốt vật cản tầm người/kệ hàng | Không thấy vật cản thấp, dây điện |
| 2 LiDAR (thấp + cao) | Bù trừ vùng mù cho nhau | Chi phí cảm biến gấp đôi |
Ứng dụng thực tế
Con số 8.7cm ở ví dụ Công thức có ý nghĩa thực tế rất cụ thể: một chân ghế mảnh (đường kính ~3cm) ở khoảng cách 5m có thể lọt hoàn toàn giữa 2 tia quét của một LiDAR độ phân giải 1° — đây là lý do robot AMR vận hành trong môi trường nhiều vật cản mảnh (chân bàn ghế, cột nhỏ) cần kết hợp thêm cảm biến bổ sung tầm gần (ultrasonic, bumper) thay vì chỉ tin tưởng tuyệt đối vào LiDAR, dù LiDAR có độ phân giải góc tốt tới đâu ở tầm xa.
Ví dụ thực tế
So sánh khoảng cách giữa 2 điểm quét ở các tầm xa khác nhau,
LiDAR độ phân giải góc cố định 1°:
R = 1m: khoảng_cách ≈ 2×1×sin(0.00875) ≈ 1.7cm
R = 3m: khoảng_cách ≈ 2×3×sin(0.00875) ≈ 5.2cm
R = 5m: khoảng_cách ≈ 2×5×sin(0.00875) ≈ 8.7cm
R = 10m: khoảng_cách ≈ 2×10×sin(0.00875) ≈ 17.5cm
Độ phân giải hiệu dụng giảm dần (khoảng cách giữa 2 điểm quét tăng dần) theo tầm xa — đây là lý do vật cản mảnh chỉ thực sự đáng tin cậy phát hiện được ở cự ly gần, và tại sao thông số "tầm quét tối đa 12m" trên datasheet LiDAR không đồng nghĩa với "phát hiện chính xác mọi vật thể ở 12m".
Lỗi thường gặp
- Tin tưởng tuyệt đối LiDAR mà bỏ qua vùng mù theo độ cao lắp đặt — như đã nêu, vật cản không cắt ngang đúng mặt phẳng quét sẽ hoàn toàn không được phát hiện, bất kể LiDAR tốt tới đâu.
- Bỏ qua nguy cơ vật cản mảnh lọt giữa 2 tia quét ở tầm xa — như tính ở mục Công thức/Ví dụ, cần kết hợp cảm biến tầm gần bổ sung, không chỉ dựa vào LiDAR.
- Nhầm "tầm quét tối đa" trên datasheet với "khoảng cách phát hiện đáng tin cậy" — độ phân giải hiệu dụng giảm dần theo tầm xa, vật thể nhỏ ở gần tầm quét tối đa dễ bị bỏ sót hơn nhiều so với ở cự ly gần.
- Không tính vùng chết (dead zone) sát thân robot — LiDAR có khoảng cách tối thiểu đo được, vật cản quá sát robot (trong vùng chết này) không được phát hiện — cần cảm biến bumper/ultrasonic bổ sung cho vùng này.
Kết luận
LiDAR là cảm biến trung tâm phục vụ cả SLAM lẫn né vật cản, nhưng không phải "con mắt toàn năng" — vị trí lắp đặt quyết định vùng mù theo độ cao, và độ phân giải góc giới hạn khả năng phát hiện vật thể mảnh ở tầm xa. Dù mạnh, LiDAR vẫn có điểm mù ngay sát thân robot và không phát hiện được vật liệu trong suốt (kính) hay hấp thụ ánh sáng hồng ngoại mạnh. Đây là lý do AMR nghiêm túc luôn kết hợp thêm cảm biến va chạm vật lý (bumper) làm lớp bảo vệ cuối cùng — bàn kỹ ở bài Camera trong AMR tiếp theo, rồi tới Bumper và Emergency Stop khép lại chuỗi cảm biến an toàn.