Main Content

내비게이션 및 맵 작성

포인트 클라우드 정합과 맵 작성, 2차원 SLAM과 3차원 SLAM, 2차원 장애물 탐지

미지의 환경을 파악하고 원하는 목적지로 이동하려면 로봇이 주변 환경을 명확하게 알고 있어야 합니다. 특히 GPS 데이터가 없는 경우, SLAM(동시적 위치추정 및 지도작성) 알고리즘은 로봇이 효과적인 결정을 내리고 환경을 지나가는 경로를 계획하는 데 도움이 될 수 있습니다.

SLAM은 다음 두 가지 과정으로 구성됩니다.

  • 위치추정 — 알려진 환경에서 로봇의 자세를 추정합니다.

  • 맵 작성 — 알려진 로봇 자세와 센서 데이터를 사용하여 미지 환경의 맵을 작성합니다.

위치추정을 위해서는 로봇에 환경 맵이 있어야 하며 맵 작성을 위해서는 적절한 자세 추정값이 필요합니다. SLAM 과정에서 로봇은 자신의 위치를 추정하는 동시에 환경 맵을 생성합니다. 자세한 내용은 Implement Point Cloud SLAM in MATLAB 항목을 참조하십시오.

SLAM을 수행하려면 포인트 클라우드를 전처리해야 합니다. Lidar Toolbox™는 포인트 클라우드에서 특징을 추출하고, 이를 사용하여 포인트 클라우드를 서로 정합하는 함수를 제공합니다. 항공 데이터에 대한 3차원 SLAM 워크플로에서 FPFH(빠른 특징점 히스토그램) 특징 추출을 사용하는 방법에 대한 예제는 Aerial Lidar SLAM Using FPFH Descriptors 항목을 참조하십시오.

2차원 라이다 스캔을 사용하여 SLAM을 수행할 수도 있습니다. 2차원 라이다 스캔을 위한 데이터를 lidarScan 객체에 저장한 후, 스캔 매칭을 수행하여 자세를 추정할 수 있습니다. 자세한 내용은 SLAM을 사용하여 2차원 라이다 스캔에서 맵 작성하기 항목을 참조하십시오.

Lidar Toolbox는 2차원 SLAM, 3차원 SLAM, 온라인 SLAM, 오프라인 SLAM을 포함한 다양한 그래프 기반 SLAM 워크플로를 지원합니다.

Simultaneous localization and mapping

라이다 정합 분석기라이다 포인트 클라우드 정합 결과 분석 (R2024a 이후)

함수

모두 확장

detectLOAMFeaturesDetect LOAM feature points from 3-D lidar data (R2022a 이후)
detectISSFeaturesDetect ISS feature points in point cloud (R2022a 이후)
extractEigenFeaturesExtract eigenvalue-based features from point cloud segments (R2021a 이후)
extractFPFHFeaturesExtract fast point feature histogram (FPFH) descriptors from point cloud (R2020b 이후)
pcmatchfeaturesFind matching features between point clouds (R2020b 이후)
pcregisterloamRegister two point clouds using LOAM algorithm (R2022a 이후)
pcregisterfgrRegister two point clouds using FGR algorithm (R2022b 이후)
pcregistericpRegister two point clouds using ICP algorithm
pcregistercpdRegister two point clouds using CPD algorithm
pcregistercorrRegister two point clouds using phase correlation (R2020b 이후)
pcregisterndtRegister two point clouds using NDT algorithm
matchScansEstimate pose between two laser scans (R2020b 이후)
matchScansGridEstimate pose between two lidar scans using grid-based search (R2020b 이후)
matchScansLineEstimate pose between two laser scans using line features (R2020b 이후)
transformScanTransform laser scan based on relative pose (R2021a 이후)
pcmaploamCreate map of LOAM feature points for map building (R2022b 이후)
pcmapsegmatchMap of segments and features for localization and loop closure detection (R2021a 이후)
lidarscanmapSimultaneous localization and mapping using 2-D lidar scans (R2022b 이후)
addScanAdd 2-D lidar scan to map (R2022b 이후)
detectLoopClosureDetect loop closure in 2-D lidar scan map (R2022b 이후)
addLoopClosureAdd loop closure to the map (R2022b 이후)
deleteLoopClosureDelete loop closure between 2-D lidar scans (R2022b 이후)
poseGraphCreate 2-D pose graph from lidar scan map (R2022b 이후)
updateScanPosesUpdate absolute poses of 2-D lidar scans (R2022b 이후)
findPoseFind absolute pose of 2-D lidar scan in the map (R2022b 이후)
copyCreate a copy of lidarscanmap object (R2022b 이후)
showDisplay 2-D lidar scans and lidar sensor trajectory (R2022b 이후)
pcshowpairVisualize difference between two point clouds
pcplayerVisualize streaming 3-D point cloud data
pcshowMatchedFeaturesDisplay point clouds with matched feature points (R2020b 이후)
rangeSensorSimulate range-bearing sensor readings (R2020b 이후)
lidarSensorSimulate lidar sensor readings (R2022a 이후)
lidarScan2차원 라이다 스캔을 저장하기 위한 객체 생성 (R2020b 이후)
eigenFeature고유값 기반 특징을 저장하기 위한 객체 (R2021a 이후)
LOAMPointsObject for storing LOAM feature points (R2022a 이후)

도움말 항목

추천 예제