이 포스트는 장형기님의 SLAM 관련 100가지 질문을 참조하여 하나씩 알아보고 정리하기 위해 적어 놓는 것입니다.Lie군 중 하나인 Special Orthogonal 3 (SO(3)) 군은 3차원 회전 행렬과 이에 닫혀있는 연산들로 구성된 군을 의미하며 3차원 물체의
어제 설명한 SO(3)에 이어 SE(3) 군을 설명해드리겠습니다.SE(3) 군은 Lie 군 중 하나인 Special Euclidean 3 군의 준말입니다.이 군은 3차원 공간 상에서 강체의 변환과 관련된 행렬과 이에 닫혀있는 연산들로 구성된 군을 의미합니다. 쉽게 설명
주요 센서 이 질문이 들어온다면 모두들 2가지 센서를 가장 먼저 떠올릴 것입니다. 하나는 LiDAR이고 나머지 하나는 카메라입니다. 이것들은 SLAM을 구동하기 위한 눈이 되기 때문에 필수적으로 필요한 센서입니다. 센서에 따라 LiDAR SLAM, Visual SLA
SLAM에서 비선형 최적화는 왜 하는지 알아보겠습니다.개인적 의견이니 참고하고 봐주시기 바랍니다.SLAM 문제가 기본적으로 비선형적이기 때문에 비선형 최적화를 한다고 생각합니다.SLAM에서는 로봇이나 장비가 이동하면서 주변 환경의 지도를 동시에 생성하고 자신의 위치를
비선형 최적화에는 Gradient Descent, Gauss-Newton, Levenberg-Marquardt 방식들이 있습니다. 너무 많아서 정리하는데 시간이 걸릴 것 같습니다.최적화는 결국 함수가 가장 (작은 or 큰) 값이 될 수 있도록 하는 parameter를
제가 작성하는 질문 모음들은 장형기 엔지니어님이 작성해준 것이고 그것의 답을 제 마음대로 쓴 것입니다.자신이 지나갔던 장소에 다시 들르게 되었을 때 이 정보를 바탕으로 지금까지 움직였던 경로를 보정하는 작업입니다.Loop Closure의 경우 Graph SLAM의 fa
Motion model과 Observation model은 로봇의 현재 상태와 센서 관측치를 바탕으로 로봇의 위치를 추정하는데 중요한 역할을 합니다.motion model은 로봇이 특정한 입력을 받았을 때, 이전 상태에서 새로운 상태로 어떻게 이동할지를 확률적으로 나타
RANSAC은 outlier를 제거하기 위한 알고리즘입니다.RANdom SAmple Consensus를 줄여서 RANSAC이라고 합니다.무작위하게 샘플을 뽑아 모델을 추정하고 모델에 대한 데이터의 합의도를 구해 정확한 모델인지를 판단합니다.RANSAC의 작동방식Hypo
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선을 정리한 것입니다.우리는 optimization을 할 때 처음으로 배우는 것이 mean square error를 최소화하는 식입니다.이러한 방법에는 크게 두 가지 단점이 존재합니다.1\. Outilier에 굉장히
이 게시글은 장형기님이 작성한 SLAM 기술 면접 100선에 대한 답을 제 나름대로 정리해본 것입니다.Kalman filter 와 Particle filter에 대해 알아보기 앞 서 Filter란 무엇인지부터 알아보겠습니다.제가 전기과를 나왔기 때문에 처음 이것을 접했
이 게시글은 장형기님이 쓰신 SLAM 기술면접 질문 100선에 대한 대답을 제 나름대로 정리하는 것입니다.SLAM은 visual slam과 lidar slam으로 나눠지기도 하지만 계산 방식에 따라 Filter-based SLAM과 Graph-based SLAM으로 나
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대해 제 나름대로 정리한 것입니다.Covariance Matrix는 랜덤 벡터 X에 대해 각 성분의 분산과 공분산을 나타내는 행렬입니다.$$\\sum = Cov(X) = E\[(X-EX)(X-EX)^T]$$행렬
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 생각을 정리한 글입니다.정의 주어진 행렬 A가 다음과 같은 블록 형태를 가질 때:$$A = \\begin{pmatrix} A{11} & A{12} \\ A{21 }& A{22} \\end{pmatrix
이 게시물은 장형기님의 기술면접 100선에 대한 답을 제 나름대로 적어본 것입니다.LU, Cholesky, QR, SVD, Eigenvalue decomposition은 모두 행렬을 분해하는 기술입니다.각 분해 방법은 행렬을 다른 형태로 분해하여 문제를 풀거나 효율적으
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 게시글입니다.Least Square Optimization은 주어진 데이터에서 모델과 관측값 사이의 오차 제곱합을 최소화하는 최적화 기법입니다.모델 $$f(x,\\theta)$$가
본 글은 장형기님의 SLAM 기술 면접 질문 100선에 대해 제 나름의 답변을 정리한 것입니다.SLAM을 수행할 때 map의 표현 방식에는 어떤 것이 있을까요?저는 LiDAR를 사용해서 point cloud로 구성된 map을 주로 생성합니다.이것도 map의 표현 방식
본 글은 장형기님의 SLAM 기술 면접 질문 100선에 대해 제 나름의 답변을 정리한 것입니다.Lie theory는 수학과 물리학에서 대칭성과 연속적인 변환을 연구하는 이론입니다.Lie Group과 Lie Algebra라는 두가지 핵심 개념을 기반으로 발전한 이론입니다
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 저의 답을 나름대로 정리해본 것입니다.시험이 오늘 끝나서 이제 다시 시작합니다. 서로 다른 map을 합칠 때 가장 먼저 해야하는 것은 좌표계를 정렬하는 것입니다.좌표계를 정렬하기 위해서 맵 서로 간의 tra
이 게시글은 장형기님의 기술면접 질문 100선에 대한 제 임의의 답을 기록한 것입니다.Inverse Depth Parameterization은 깊이를 표현하는 방식을 새롭게 만든 것입니다.일반적인 depth 표현은 $$z$$로 나타내는데 Inverse Depth Par
이 게시글은 장형기님이 작성해주신 SLAM 기술면접 질문 100선의 대답을 제 나름대로 정리한 것입니다.
이 게시글은 장형기 님의 SLAM 기술 면접 질문 100선에 대한 답을 제 나름대로 정리한 것입니다.SLAM에서 가장 자주 발생하는 오류 중 하나가 Drift입니다.Drift는 SLAM 실행 중 누적되는 위치 오차로 인해, 실제 위치와 SLAM으로 만들어진 맵 사이의
이 게시글은 장형기 님의 SLAM 기술면접 질문 100선에 대한 답을 제 나름대로 한 것입니다. SLAM의 연산량을 줄이는 방법은 크게 보면 2가지라고 생각합니다. 입력 데이터를 줄이는 방법과 알고리즘에서 연상량을 줄이는 방법입니다. 그럼 차례차례 보겠습니다.
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.Relocalization이란, SLAM에서 로봇 위치 추정이 실패하거나 끊긴 상황에서, 해당 환경 내에서 다시 자신의 위치를 정확하게 찾아내는 과정을 말합니다.Track
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다. 제가 아는 marginalization은 확률에서 많이 나오는 개념입니다.
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 답을 제 나름대로 해본 것입니다.IMU는 각속도(3 자유도)와 가속도(3자유도)를 측정합니다. 그럼 이것을 통해 무엇을 계산을 하는 것일까요? 계산하는 정보는 다음과 같습니다.$$\\Delta R\_{ij}
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.ICP 알고리즘은 두 개의 3차원 point cloud간의 정합을 수행하는데 사용되는 대표적인 알고리즘입니다. Iterative Closest Point의 준말이며 가장
이 게시글은 장형기님이 작성하신 slam 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.Point-to-Point Metric은 하나의 Point Cloud의 각 점을 다른 포인트 클라우드의 가장 가까운 점에 매칭하여, 이 두 점 간의 유클리드 거리
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다. SLAM을 하게 되면 생각보다 ICP가 잘되지 않는 문제가 발생할 수 있습니다.이것에 대한 원인은 여러가지가 있는데 다음과 같습니다.초기 정합 문제ICP는 지역 최적화
KD-Tree(K-dimensional Tree): Binary Search Tree를 확장한 개념으로, k차원 공간의 점들을 구조화하는 공간 분할 자료 구조 Binary Search Tree란? 데이터를 저장할 때 크기가 큰지 작은지만 비교하여 저장 공간을 정하는
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.Octree는 3차원 공간을 효율적으로 관리하기 위해 사용하는 트리 기반 자료구조입니다.한 노드가 최대 8개의 자식 노드를 가질 수 있는 구조를 가지고 있고 2차원 공간에
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.K-D tree와 Octree에 대해 알아보았습니다. 이 게시글에서 각자 어느 분야에서 사용해야하는지 알아보겠습니다.저차원 공간 데이터(2D, 3D)K-D tree는 저차
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.정의: 다루는 data의 해상도를 낮춰서 전체 데이터의 수를 줄이는 기법예시point Cloud DownSampling: 원본 3D point Cloud 개수가 너무 많
이 게시글은 장형기 님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다. SLAM을 할 때 바닥을 추출하면 많은 것이 편해집니다. Coordinate의 한 축이 고정이 되면 자연스럽게 자유도가 줄어 matching이 간편해지기도 하고 바
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.정의: 특정 필드를 기준으로 원하는 구간에 속하는 포인트들만 남기고 나머지는 제거하는 필터원하는 구간에 해당되는 포인트만 걸러내거나, 반대로 그 구간 밖의 포인트만 추출하
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.기본 원리: 각 포인트의 주변 이웃 거리를 분석하여, 특정 값 이상 벗어난 포인트를 제거방법K-Nearest Neighbors(KNN)를 사용하여 각 포인트의 이웃을 찾음
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.앞 게시물에 정리가 되어 있겠지만 ICP는 Itrative Closest Point의 준말로 Point Cloud를 정합하는 알고리즘입니다.두 Point Cloud로 이
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.LiDAR를 사용하게 되면 필연적으로 PointCloud를 다룰 수 밖에 없습니다.처음엔 그냥 x,y,z 정보를 담고 있는 점 덩어리 같지만 여기에 정보를 추가하여 후처
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.LiDAR(Light Detection And Ranging)는 레이저 펄스를 이용해 물체까지의 거리를 측정하는 센서 기술입니다.이 기술은 다양한 분야에서 3D 환경을 정
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.LiDAR Point Cloud로 Loop Detection을 하는 것은 결국 이 장소가 어디인지를 아는 것과 같습니다. 보통 이것을 하기 위해 LiDAR를 통해 들어온
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.이것에 답을 하려면 graph slam에 대해 설명을 다시 할 수 밖에 없습니다.graph slam은 node(pose) 와 Edge(constraint)으로 이루어져
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 대답을 작성한 것입니다.Ground Plane을 사용해 최적화를 할 경우 제가 생각한 문제는 다음과 같습니다.1\. 세상에 완전히 평탄한 바닥은 없다.실제 지면은 평탄하지 않기 때문에 바닥을
정의: 스캔 전체를 하나의 기준 시점으로 정렬하여 정상 데이터처럼 왜곡없이 재구성 하는 것발생 원인: 회전형 3D LiDAR는 한 프레임을 얻는 데 수십에서 수백 밀리초가 걸림 이 사이 센서가 움직일 시, 동일 프레임 내에서 서로 다른 레이저 측정값들은 서로
대부분의 SLAM 알고리즘은 정적 환경을 가정합니다. 즉, 센서와 그 플랫폼만 움직이고, 주변 물체들은 고정되어 있다고 전제합니다.잘못된 대응(매칭)움직이는 차, 사람, 자전거 등의 포인트가 스캔 간 위치가 변하기 때문에 이전 스캔의 고정된 벽, 기둥 등과 매칭되어야
정의 동일한 물체나 환경 요소가 센서 반사, 투과, 굴절 등의 원인으로 인해 여러 경로를 통해 감지되면서, 잘못된 위치나 형태로 인식되는 문제센서가 직접 관측한 것이 아닌, 간접 반사/ 투과한 신호를 기반으로 잘못된 맵/위치 정보를 생서하게 하며, SLAM의 정확도를
LiDAR가 잘 동작하지 않는다는 것은 센서 정보가 왜곡되거나 소실되는 상황을 말하는 것 같습니다.뭐 너무 더운 곳이나 추운 곳에서도 잘 동작하지 않을 것 같습니다. 온도에 예민하니까요.제가 생각한 동작하지 않는 환경을 아래에 정리하겠습니다.원인: LiDAR에서 발사한
LiDAR의 종류는 스캔 방식이나 레이저 발사 방식에 따른 분류 등 여러가지 방식으로 나눌 수 있습니다.분류 방식에 따른 종류는 다음과 같습니다.기계식 LiDAR특징: 회전하면서 360도 스캔장점: 넓은 시야각, 높은 정밀도단점: 무거움, 기계적 마모, 내구성 약함예시
Camera와 LiDAR를 Calibration하는 방법에는 여러가지가 있습니다.SLAM에서 센서의 장단점이 있기 때문에 함께 사용해야할 경우가 많습니다.센서 출력을 직접 결합LiDAR 포인트를 카메라 좌표계로 변환 후 색정보 매핑장단점장점: 정보 손실이 적음단점: 노
이 게시물은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 게시물입니다.정의 3D 공간상의 점들의 집합입니다.각 점은 일반적으로 (x,y,z) 위치를 갖고, 경우에 따라 색상(RGB), 강도(intensity), normal vector
이 게시물은 장형기님의 SLAM 기술 면접 100선에 대한 제 나름대로의 답을 정리한 것입니다. FPFH 정의 3차원 포인트 클라우드 데이터에서 각 점의 기하학적 특징을 설명하는 descriptor 기존의 PFH(Point Feature Histrogram
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.SLAM은 정적 환경을 가정하기 때문에 변화를 감지하는 것이 중요합니다. ( 보통은 그냥 가까운거 날려버림)사실 너무 크지만 않으면 동적 물체는 엄청 많은 포인트 클라우드
이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.Image Projection은 3D point Cloud data를 2D 이미지 평면에 옮겨 표현하는 과정3차원 공간에 있는 물체를 카메라로 사진을 찍어 2차원 사진으
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름대로의 답을 정리해 놓은 것입니다.단일 카메라를 사용하는 SLAM으로 직접적으로 Depth를 얻기가 불가능하기 때문에 추정이 불가피한 방식입니다.장점저렴한 비용: 카메라 하나만 사용하기 때문에 매우
정의 Bundle Adjustment는 여러 뷰에 걸쳐 관측된 2차원 특징점들이 3차원 구조와 카메라 파라미터를 동시에 일관되게 설명하도록 reprojection error를 최소화하는 비선형 최소제곱 문제 (보통 Gauss-Newton, Levenberg-Marqua
이 게시물은 장형기 님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다. 기본 개념 가장 중요한 개념은 Epipolar geometry입니다. Epipolar Geometry란? Epipolar geometry는 두 개의 서로 다른
이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 제 나름의 답을 정리한 것입니다.Homography는 두 평면 사이의 Projection 변환 관계를 나타내는 용어입니다.다시 말해, 한 평면을 다른 평면에 projection했을 때, 두 평면 상의 대응점
이 게시물은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.정의: 아주 작은 구멍을 통해 빛이 들어와 반대편 스크린에 상이 맺히는 가장 단순한 형태의 카메라이 모델은 3D World Coordinate의 한 점이 2D image
이 게시글은 장형기님의 SLAM 기술면접 100선에 대한 제 나름대로의 답을 정리한 것입니다. 정의 Local feature