주행은 인지-판단-제어의 순서로 진행된다.
다양한 센서를 통해 주변 상황 파악, 탐색, 통신 등 인지하고 경로 생성과 같은 판단 과정을 거쳐 움직임과 관련된 제어 과정을 거친다. 이를 위해 다음의 사항들이 필요하다.
- 정확한 지도
- 현재 위치 파악
- 목적지까지의 경로
- 상황에 맞는 움직임 제어 (장애물 발견 등 예외사항에 대한 대처 등)
SLAM을 만들기 위한 작업은 크게 Frontend, Backend로 나뉜다.
- Frontend
센서로부터 얻은 데이터를 가공해 Odometry motion을 추정하는 작업을 말한다.
1. 센서 데이터 처리: 로봇에 장착된 센서로부터 얻어지는 데이터를 처리한다. 주로 카메라, 라이다, IMU 등 센서로부터 얻은 데이터이다.
2. 특징점 추출과 매칭: 센서 데이터에서 특징적인 포인트나 추출하고 이를 다른 프레임의 특징점과 매칭시킨다. 이러한 매칭은 프레임 간의 상대적인 위치 변화를 추정하는데 이용된다.
3. 동시적 로봇 위치 및 특징점 위치 추정: 로봇의 현재 위치와 지도 상의 특징점들의 위치를 추정한다. 센서 데이터와 이전 프레임의 정보를 활용해 이루어진다.
4. 업데이트: 센서 데이터의 연관성을 파악해 지속적으로 로봇의 위치와 환경들을 업데이트한다. - Backend
Frontend에서 추정한 로봇의 위치, 특징점의 위치 등의정보를 활용해 지도를 최적화하고 루프 클로저 (Loop Closure)를 처리하는 작업이다.
1. 지도 최적화: Frontend에서 얻어진 정보를 바탕으로 지도를 최적화하고 센서 데이터로부터 얻은 정보를 통합해 더 정확한 지도를 만든다.
2. 루프 클로저 처리더보기3. 최적화 알고리즘 적용: 칼만 필터, 파티클 필터 등 최적화 알고리즘을 이용해 추정된 정보들을 정확하게 결합하고 로봇의 위치와 지도를 더 정확하게 추정한다.루프 클로저는 로봇이 이전에 방문한 지역에 다시 돌아왔을 때 이를 알고 이전에 만들어진 지도와 현재의 지도를 일치시키는 작업을 말한다. 현재 센서 입력과 이전 센서 입력 사이의 유사성을 고려해 검출한다.
'로봇 > 주행' 카테고리의 다른 글
Landmark Detection (PFLD) (0) | 2023.12.09 |
---|---|
Face Recognition (1) | 2023.10.22 |