STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Giới Thiệu Tổng Quát về SLAM

    Visual SLAM là một bài toán lớn kết hợp nhiều kiến thức ở các lĩnh vực khác nhau, bài viết giới thiệu cái nhìn sơ lược về SLAM.

    Kim Uyên

    07/05/2016
    19/09/2020
    9 phút đọc
    Giới Thiệu Tổng Quát về SLAM

    Giới thiệu

    SLAM - Simultaneous Localization And Mapping - là vấn đề phổ biến với một số ứng dụng liên quan đến điều khiển tự động. Trong bài viết này, tôi trình bày nội dung tổng quát về SLAM, các thiết bị tạo ra một hệ thống SLAM và xu hướng phát triển hệ thống SLAM hiện nay.

    Visual SLAM là 1 phần trong định hướng luận văn, tôi thực hiện khảo sát tìm hiểu về SLAM và viết bài này chia sẻ một ít tìm hiểu về đề tài này.

    SLAM là gì?

    Là hệ thống sử dụng thông tin ảnh thu được từ camera để tái tạo môi trường bên ngoài bằng cách đưa thông tin môi trường vào một map (2D hoặc 3D), từ đó thiết bị (robot, camera, xe) có thể định vị (localization) đang ở đâu, trạng thái, tư thế của nó trong map để tự động thiết lập đường đi (path planning) trong môi trường hiện tại.

    Điều khiển tự động thiết bị robot chia làm 3 vấn đề chính:

    1. Định vị (localization).
    2. Tái tạo môi trường (mapping).
    3. Hoạch định đường đi (path planning).

    Ban đầu, hai vấn đề định vị và tái tạo môi trường được nghiên cứu độc lập, tuy nhiên, sau khi nhận thấy:

    • Định vị: cần xác định vị trí hiện tại của robot dựa vào bản đồ tái tạo.
    • Tái tạo bản đồ: cần xác định vị trí của đối tượng trong bản đồ, để xây dựng bản đồ chính xác nhất, ít sai số.

    Vì thế, trong giai đoạn 1985-1990, Raja Chatila và Jean-Paul Laumond (1985) và Randall Smith (1990) đã đề xuất gộp hai vấn đề với nhau để nghiên cứu. Một thời gian sau đó, SLAM ra đời đại diện cho localization và mapping.

    Một số thuật ngữ

    • vision-based SLAM, vSLAM, visual SLAM, vision-only SLAM, camera-only SLAM: khi những camera được sử dụng với mục đích như một cảm biến ngoại vi (exteroceptive sensor).
    • visual-inertial SLAM: là hệ thống visual SLAM nhưng được bổ sung thêm thông tin thu được từ cảm biến nội vi (proprioceptive sensor) nhằm tăng độ chính xác của mô hình SLAM.

    Cảm biến

    Cảm biến ngoại vi (exteroceptive sensor)

    Nhận và đo thông tin các thành phần ở môi trường xung quanh.

    Sonar: thiết bị sử dụng sóng âm thanh thu được để dò tìm và xác định vị trí của đối tượng dưới nước, sonar còn được sử dụng cả trên đất liền.

    Ứng dụng:

    • Dùng để thăm dò dầu mỏ trên đất liền: sonar phát tín hiệu xung xuống đất, âm thanh được phản xạ lại nhờ các tầng đá dưới đất, các nhà khoa học sử dụng sóng âm thanh thu được để xác định có dầu mỏ dưới đất hay không.
    • Ứng dụng quân sự: được ứng dụng trong máy đo hồi âm của Hải quân Mỹ (1919) để kiểm tra có phải tàu của Mỹ hay không, dựa vào cơ sở dữ liệu âm thanh đầy đủ (tiếng nổ của từng kiểu vũ khí, tiếng rung khi tàu chạy).
    • Thiết bị dò tìm cá: sonar phát ra tín hiệu xung vào khu vực dò tìm, đàn cá lớn sẽ làm xung phản xạ bị biến dạng, thay đổi.

    Laser rangefinder: thiết bị sử dụng tia laser để xác định khoảng cách đến một đối tượng, phương pháp được sử dụng phổ biến là toán tử time-of-flight (gởi một chùm tia laser đến đối tượng và đo thời gian phản xạ lại từ đối tượng về nơi bắn tia laser).

    Laser rangefinder
    Laser rangefinder

    Ứng dụng:

    • OLS-27 IRST: hệ thống phát hiện và theo vết đối tượng (trực thăng hay máy bay phản lực) từ thông tin gởi về từ bức xạ hồng ngoại.
    • Máy quét LIDAR: được sử dụng để quét buildings hoặc cấu tạo của đá để tạo ra mô hình 3D.
    • Máy đo: Bosch PLR 25.

    Camera: thu hình ảnh từ môi trường xung quanh.

    Hệ thống định vị GPS.

    Cảm biến nội vi (proprioceptive sensor)

    Giúp cho thực thể đo được tốc độ, sự thay đổi vị trí và gia tốc của chính thực thể.

    Encoder: là thiết bị được sử dụng phổ biến trong các hệ thống điều khiển tự động để báo vận tốc.

    Encoder
    Encoder

    Accelerometers: máy đo gia tốc, gia tốc kế cho biết hai thông số là phương (vector 3 chiều x, y, z) và chuyển động, được sử dụng nhiều trong một số game dựa vào cảm biến - đua xe.

    Accelerometers
    Accelerometers

    Gyroscope: con quay hồi chuyển, là thiết bị để đo hoặc duy trì phương hướng.

    Gyroscope
    Gyroscope

    Các cảm biến này được sử dụng nhiều trong các thiết bị di động.

    Vấn đề của SLAM

    Để tái tạo môi trường vào map, thực thể phải nhận thông tin các phần tử trong môi trường xung quanh nhờ các cảm biến ngoại vi và cảm biến nội vi (như đã kể trên). Và hầu như mọi cảm biến đều bị ảnh hưởng bởi nhiễu và khả năng của chúng có hạn, với 3 cảm biến (sonar, laser, camera) chỉ có thể thu được những vùng cục bộ của môi trường, thêm nữa là do các thiết bị trên quá đắt, cồng kềnh do trang bị nhiều thiết bị. Cảm biến GPS không thể hoạt động ở dưới nước, ở các hành tinh khác, và ngay cả trong nhà. Hệ thống SLAM lỗi khi hoạt động trong môi trường động, môi trường với phạm vi quá lớn, môi trường có quá nhiều hoặc quá ít đặc trưng (salient features), khi camera di chuyển không ổn định, và khi các cảm biến xảy ra xung đột. Những nguyên nhân này làm cho việc sử dụng chúng vào ứng dụng thực tế khó khăn.

    Đã có những nghiên cứu nâng cao độ chính xác của mô hình SLAM bằng cách kết hợp các thông tin thu được từ các cảm biến. Tuy nhiên, vấn đề kinh phí làm cho hướng phát triển này ít đi vào thực tế. Đồng thời, việc hướng đến tạo ra một sản phẩm tốt, lại rẻ tiền là xu hướng tất yếu của thị trường. Và vì vậy, người ta hướng đến việc nghiên cứu làm sao chỉ sử dụng mỗi camera mà có thể xây dựng được một mô hình SLAM tốt. Điều này dẫn đến sự ứng dụng kiến thức trong lĩnh vực thị giác máy tính để xử lý và cấu trúc hình ảnh thu được từ camera.

    Mô hình SLAM chỉ sử dụng camera

    Với đề xuất chỉ sử dụng camera xây dựng mô hình SLAM, một số hướng nghiên cứu sử dụng binocular stereo camera và trinocular stereo camera, tuy nhiên, các thiết bị này cũng có giá thành hơi cao để có thể sử dụng vào các ứng dụng thực tế. Một số nghiên cứu sử dụng cảm biến RGB-D (kinect) để thu hình ảnh, giá thành cũng là vấn đề của thiết bị này. Monocular camera (webcam máy tính, hoặc camera của điện thoại) trở thành tâm điểm của sự chú ý, khi nó có sẵn trên các thiết bị di động, giá thành lại rẻ.

    Với hướng nghiên cứu trên, việc xử lý hình ảnh để cho ra mô hình SLAM tốt là một thách thức lớn, khi mà ánh sáng của môi trường luôn thay đổi, di chuyển của các đối tượng (con người, thiết bị) trong môi trường khảo sát, tính ổn định của camera khi di chuyển trong môi trường. Vì vậy, đặc trưng được chọn cho việc tái tạo cần bền vững khi có sự thay đổi của môi trường. Đồng thời, phương pháp biễu diễn đặc trưng được chọn sao cho việc xử lý của mô hình cho ra kết quả trong thời gian thực. Các phương pháp sử dụng để nhận dạng đối tượng, theo vết và truy vấn thông tin ảnh khi áp dụng vào mô hình SLAM phải cho kết quả tốt nhất.

    Các ứng dụng thực tế của SLAM

    Xe hơi tự động lái

    Các tập đoàn lớn trên thế giới là GM, Mercedes-Benz, Audi, Nissan, BMW, Renault, Tesla và Google mong chờ vào năm 2020 sẽ bán ra thị trường xe hơi tự động lái trong một khoảng thời gian nhất định. Ngày 4/9/2015 Toyota đã chính thức lên tiếng khi đầu tư 50 triệu đô la Mỹ cho MIT và Stanford để nghiên cứu và phát triển công nghệ mà Toyota gọi là “Advanced Driving Support”.

    Các thiết bị bay tự động

    Microdrones md4-1000 (2013, DHL tạo ra với dịch vụ phân phát thuốc), dự kiến đến năm nay, microdrones md4-3000 sẽ ra mắt. Yuneec H920 Drone được sử dụng để theo dõi quá trình xây dựng một sân vận động ở Sacramento, California; và phát hiện khu vực nào mà công trình bị chậm tiến độ. Yuneec H920 Drone cũng được NASA sử dụng trong máy bay không người lái Global Hawk để theo dõi thời tiết trong mùa bão năm nay.

    Drone
    Drone - UAV

    PrimeAir của Amazon

    Drone được sử dụng để giao hàng.

    Project Tango của Google

    Đây là project với định hướng xây dựng hệ thống SLAM trên Tablet và trên smartphone, tái tạo môi trường 3 chiều bên ngoài một cách chân thực nhất.

     Dự án ra đời nhằm xây dựng các ứng dụng dựa trên mô hình này: tạo project game 3 chiều thực tại tăng cường, hỗ trợ người khiếm thị, hỗ trợ các thiết bị cần hệ thống SLAM cho những mục đích kế tiếp.

    Các ứng dụng khác

    • Thiết bị thám hiểm không gian được đưa lên đến hành tinh khác từ tàu vũ trụ.
    • Robot giúp việc nhà: lau nhà (iRobot Roomba Robotic Vacuum), nấu ăn.
    • Robot giúp người khiếm thị di chuyển dễ dàng hơn.

    SLAM cũng được ứng dụng trong vấn đề thực tại tăng cường (AR) khi thêm các đối tượng ảo vào thế giới thực.

    Tài liệu tham khảo

    1. Jorge Fuentes-Pacheco, José Ruiz-Ascencio, Juan Manuel Rendón-Mancha , "Visual simultaneous localization and mapping: a survey," Artificial Intelligence Review, vol. 43, no. 1, pp. 55-81, 2015.
    2. https://en.wikipedia.org/wiki/
    3. http://robohub.org
    0 Bình luận
    Điện Tử Ứng Dụng

    Điện Tử Ứng Dụng

    Kiến thức điện tử, Arduino, Raspberry Pi, giới thiệu sản phẩm.

    Đề xuất

    Giới Thiệu về Mô Hình SVM
    Giới thiệu tổng quan mô hình SVM và sử dụng SVM trong OpenCV.
    CBP-1: Tổng Quan về Project Ví Dụ
    Giới thiệu về Component Base Programming (CBP) - sơ lược về project ví ...

    Khám phá

    Giới Thiệu về Arduino Mega 2560
    Bài viết đưa cho các bạn về cái nhìn khái quát về Arduino Mega 2560. ...
    Tổng Quan Về Thực Tại Ảo - Virtual Reality
    Tổng thể về thực tại ảo, những thành phần chính của hệ thống và xu hướng ...
    Giới Thiệu về Sprite - Sprite Sheet - Sprite Animation
    Giới thiệu về Sprite - Sprite Sheet - Sprite Animation, hướng dẫn 1 số ...
    Các Phép Đếm Cơ Bản
    Giới thiệu về các quy tắc đếm cơ bản: quy tắc cộng, quy tắc nhân, tổ ...
    26/09/2014
    Vuforia & Thực Tại Tăng Cường - Phần 1: Giới Thiệu
    Giới thiệu về Vuforia - nền tảng hỗ trợ xây dựng các ứng dụng thực tại ...
    Lập Trình Hiệu Ứng Trong Cocos2d-x 3.x.x
    Bài viết nằm trong loạt bài viết của chương trình Tự Học Cocos2d-x ...
    CBP-0: Giới Thiệu về Component Base Development
    Phương pháp lập trình Hướng thành phần (Component-base Development - ...
    EmguCV - OpenCV cho .NET - Giới Thiệu và Cách Tích Hợp vào .NET
    Giới thiệu về wrapper EmguCV của OpenCV và hướng dẫn cách tích hợp ...
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020