Đến nội dung chính
Thư viện GKNơi khơi nguồn tò mò
Tiếng Việt

Tự vẽ nên không gian chưa biết: Định vị và lập bản đồ đồng thời (Simultaneous Localization and Mapping)

Hãy tưởng tượng một robot lần đầu đi dọc hành lang của một tòa nhà xa lạ. Nó không có bản đồ và cũng không biết mình đang đứng ở đâu. Dù vậy, nó vẫn quan sát xung quanh bằng cảm biến, từng chút một tiến về phía trước, rồi dần xác định được cả hình dạng căn phòng lẫn vị trí của chính mình. Công nghệ vừa lập bản đồ vừa ước lượng vị trí bản thân như vậy chính là “định vị và lập bản đồ đồng thời (Simultaneous Localization and Mapping, SLAM)”.

Nói một cách đơn giản, định vị và lập bản đồ đồng thời có nghĩa là “ước lượng đồng thời bản đồ môi trường cùng vị trí và tư thế của robot từ các quan sát cảm biến thu được khi robot di chuyển, mà không có bản đồ được tạo sẵn”. Muốn xác định vị trí thì phải có bản đồ, còn muốn lập bản đồ thì vị trí phải chính xác: đây là một vòng luẩn quẩn giống như bài toán con gà và quả trứng. Cách tiếp cận này giải quyết vòng luẩn quẩn đó bằng cách điều chỉnh cả hai cùng nhau, thay vì hoàn tất riêng từng việc.

Trong tài liệu này, chúng ta sẽ lần lượt tìm hiểu vì sao SLAM là một bài toán khó, lịch sử và các thành phần cốt lõi của nó, quá trình phát triển của những phương pháp giải tiêu biểu, cùng các giới hạn gặp phải trong thực tế.


Công nghệ điều chỉnh đồng thời bản đồ và vị trí

Định vị và lập bản đồ đồng thời là gì?

Một robot di động trong nhà cỡ nhỏ, có bánh xe và gắn lidar, tạm dừng giữa hành lang văn phòng sáng sủa để quan sát xung quanh

Trong dẫn đường robot truyền thống, chỉ cần có bản đồ được vẽ sẵn như trong nhà máy, hoặc các điểm tham chiếu có vị trí đã biết như trong định vị vệ tinh là đủ. Nhưng ở những nơi không có cả bản đồ lẫn GPS, chẳng hạn bên trong nhà hay kho ngầm, robot phải tự tìm hiểu không gian. SLAM kết hợp câu hỏi “robot đang ở đâu” và “xung quanh trông như thế nào” thành một bài toán trong chính tình huống đó.

  • Định vị (Localization): Là việc xác định vị trí và hướng (tư thế) của robot dựa trên bản đồ đã có.
  • Lập bản đồ (Mapping): Là việc tập hợp các quan sát cảm biến để tạo bản đồ môi trường, với giả định đã biết robot đang ở đâu.
  • Ước lượng đồng thời (Simultaneous Estimation): Là việc điều chỉnh vị trí và bản đồ cùng nhau để các quan sát tại nhiều thời điểm mô tả cùng một môi trường, thay vì lần lượt hoàn tất hai việc trên.

Tư thế bao gồm cả tọa độ trên mặt phẳng lẫn hướng nhìn. Vì vậy, kết quả của SLAM thường chứa cả quỹ đạo robot đã đi qua, các thành phần bản đồ như tường, góc cạnh và điểm đặc trưng, cùng độ bất định của những giá trị ước lượng đó.


Từ bài toán con gà và quả trứng đến lời giải xác suất

Cảnh nhìn từ trên xuống, với một lộ trình đơn giản quay về điểm xuất phát được đánh dấu trên sàn phòng thí nghiệm và một robot nghiên cứu cỡ nhỏ đứng cạnh các hộp ở góc

Năm 1991, John Leonard và Hugh Durrant-Whyte đã mô hình hóa bài toán này thành “định vị toàn cục dài hạn không có thông tin tiên nghiệm” tại Hội nghị Quốc tế về Robot và Hệ thống Thông minh (IROS). Từ viết tắt SLAM được sử dụng lần đầu trong bài báo của Durrant-Whyte, Rye và Nebot công bố tại Hội nghị Chuyên đề Quốc tế về Nghiên cứu Robot (ISRR) năm 1995, còn nguồn gốc của bài toán có thể truy về cuộc thảo luận tại hội nghị IEEE về robot và tự động hóa diễn ra ở San Francisco năm 1986. Khi ấy, các nhà nghiên cứu nhận ra rằng các giá trị ước lượng mốc trên bản đồ có tương quan chặt chẽ với nhau. Đó là vì sai số vị trí của robot lan vào nhiều quan sát dưới dạng sai số chung.

(1) Mối tương quan giữa các mốc và sai số
Khi robot quan sát hai đặc trưng từ một vị trí vẫn chưa được xác định chính xác, vị trí ước lượng của hai điểm đó cùng chịu một sai số vị trí chung. Khi các quan sát tiếp tục tích lũy, mô hình xác suất bảo toàn mối tương quan này trở thành chìa khóa để duy trì tính nhất quán của bản đồ.

(2) Hiệu chỉnh sai số bằng khép vòng
Khi robot nhận ra một địa điểm từng đi qua, nó có thể đồng thời hiệu chỉnh không chỉ vị trí hiện tại mà cả quỹ đạo trước đó và bản đồ. Cơ chế “khép vòng (Loop Closure)” này đóng vai trò then chốt trong việc kiềm chế độ trôi, tức hiện tượng sai số vị trí tích lũy chỉ từ bánh xe hoặc quán tính ngày càng tăng theo thời gian.


Từ bộ lọc đến tối ưu hóa đồ thị

Lidar, camera chiều sâu và mô-đun đo lường quán tính được đặt ngay ngắn cùng một cuốn sổ trống trên bàn làm việc với robot

SLAM cổ điển khởi đầu từ phương pháp sử dụng bộ lọc Kalman mở rộng (Extended Kalman Filter) để biểu diễn trạng thái robot và các mốc trong một vectơ ước lượng lớn duy nhất. Về sau, để xử lý khối lượng tính toán và tính phi tuyến, các cách tiếp cận dựa trên bộ lọc hạt cùng phương pháp tối ưu hóa đồ thị (Graph-based SLAM), trong đó tư thế và quan sát của robot được biểu diễn bằng các nút và cạnh để tối thiểu hóa sai số, đã được sử dụng rộng rãi.

  • Đo quãng đường di chuyển (Odometry): Dự đoán chuyển động trên một đoạn ngắn từ chuyển động quay của bánh xe hoặc cảm biến quán tính. Nếu sử dụng riêng lẻ, sai số sẽ tích lũy.
  • Cập nhật quan sát (Observation Update): Đối chiếu các đặc trưng quan sát được bằng lidar, camera, siêu âm và những thiết bị tương tự với bản đồ để hiệu chỉnh vị trí và bản đồ.
  • Liên kết dữ liệu (Data Association): Là việc xác định điểm đang quan sát có thuộc cùng bức tường đã thấy trước đây hay thuộc một vật thể mới; nếu xác định sai, bản đồ sẽ bị lệch đáng kể.

Việc lựa chọn cảm biến phụ thuộc vào môi trường. Robot dọn dẹp trong nhà và robot logistics thường dùng lidar 2 chiều hoặc camera chiều sâu, còn thiết bị thực tế tăng cường sử dụng SLAM thị giác–quán tính, kết hợp đặc trưng thị giác với phép đo quán tính. Điều quan trọng hơn tên gọi của cảm biến là cấu trúc xử lý độ bất định của quan sát bằng xác suất và hiệu chỉnh bản đồ một cách nhất quán khi gặp lại cùng một địa điểm.


Những giới hạn của SLAM cần lưu ý trong thực tế

Một hành lang dài màu trắng với vách kính và những cánh cửa giống hệt nhau lặp lại, có một xe đẩy che khuất một phía, khiến khung cảnh trông nghèo đặc trưng

SLAM đã được ứng dụng trong robot gia đình, tự động hóa kho hàng và một số mô-đun lái xe tự động, nhưng vẫn còn sớm để gọi đây là “bài toán đã được giải quyết hoàn toàn”.

(1) Dễ dựa vào giả định không gian không thay đổi
Khi con người đóng mở cửa hoặc di chuyển xe đẩy, những đặc trưng từng được ghi trên bản đồ có thể biến mất, khiến việc khép vòng thất bại. Nghiên cứu vẫn đang tiếp tục nhằm hiểu các cảnh động ở cấp độ vật thể và lọc chúng khỏi bản đồ.

(2) Hoạt động thiếu ổn định ở những nơi nghèo đặc trưng
Trong các môi trường có tính lặp lại hoặc khó quan sát, như hành lang dài màu trắng, vách kính rộng hay không gian tối, việc liên kết dữ liệu thường bị sai lệch. Khi đó, cần có chiến lược hợp nhất thông tin từ nhiều cảm biến hoặc làm phong phú cách biểu diễn bản đồ bằng đám mây điểm, lưới hay các đơn vị vật thể có ý nghĩa.

(3) Cân bằng độ chính xác và khối lượng tính toán là một thách thức
Khi di chuyển lâu trong một tòa nhà quy mô lớn, bản đồ sẽ mở rộng và việc tối ưu hóa theo thời gian thực trở nên khó khăn. Những kỹ thuật như chỉ giữ lại các khung hình chính hoặc chia bản đồ thành các phần cục bộ để quản lý thường quyết định hiệu năng trong thực tế.


SLAM là nền tảng dẫn đường giúp robot đồng thời tìm hiểu “mình đang ở đâu” và “nơi này là nơi như thế nào”, ngay cả trong không gian xa lạ. Cốt lõi của nó là ý tưởng vừa tích lũy các quan sát có độ bất định vừa tinh chỉnh cả bản đồ lẫn vị trí, thay vì chỉ di chuyển sau khi đã hoàn thiện riêng từng thứ.

Thừa nhận sai số của quan sát và đồng thời hiệu chỉnh bản đồ cùng vị trí chính là bước đầu tiên của công nghệ dẫn đường giúp robot tự khám phá những điều chưa biết.

SLAM liên tục quan sát xung quanh và ước lượng chuyển động để cập nhật đồng thời vị trí robot và bản đồ. Khép vòng, tức nhận ra cùng một địa điểm khi quay lại, giúp giảm sai số tích lũy của quỹ đạo và bản đồ.
Sơ đồ khái niệm đơn giản hóa việc ước lượng đồng thời vị trí và bản đồ cùng cơ chế khép vòng của SLAM. Nguồn: MathWorks, tài liệu về SLAM và Lidar SLAM.