ROS

[ROS] navigation

Dragon_yun 2021. 12. 8. 11:08

https://roomedia.tistory.com/entry/SLAM-%ED%8C%A8%ED%82%A4%EC%A7%80

 

12일차 - SLAM 패키지

SLAM 관련 패키지로는 gmapping, cartographer, rtabmap이 많이 사용됩니다. Gmapping Gmapping은 OpenSLAM에 공개된 SLAM의 한 종류로, ROS 패키지로 제공되고 있습니다. Rao-Blackwellized 파티클 필터를 사용하..

roomedia.tistory.com

위의 블로그를 참조하였습니다.

 

 

mapping

-gmapping(OpenSLAM) & cartographer(Google)

1.gmapping 

  -SLAM의 한 종류

  -Rao-Blackwellized 파티클 필터를 사용, 파티클 수 감수 , 그리드 맵 제공

  -X,Y,theta 속도 이동 명령을 받아야함

  -주행기록계(Odometry)가 반드시 있어 자신이 이동한 거리 , 회전량 추측항법(dead recking)으로 계산할 수 있다.

2.cartographer

  -SLAM의 한 종류

  -Raw odometry만을 이용하면 벽이나 장애물에 가로막혀 동작에 노이즈가 발생하기 때문에 Scan matching  기법을 사용

 

%파티클 필터

 

%주행기록계(Odometry)

 

%회전량 추측항법(Dead recking)

 

%Scan matching 기법 

스캔 데이터나 두 개의 맵 데이터가 주어졌을 때 데이터의 모양을 변형하지 않고 이동,회전만을 사용하여 가장 잘 정렬 할 수 있는 기법

 

-계측 환경(고려사항)

1.장애물 하나 없는 정사각 형태의 환경 (x)

2.장애물 없는 평행한 복도

3.레이저 및 적외선이 반사되지 않는 유리창

4.레이저 및 적외선이 산란하는 거울

5.호수, 바닷가 기타 물가

 

-Algorithm

1.Gmapping의 측정값 z_1:t = z_1 , ... z_t 와 odometry 측정값 u_2:t = u_1, .. u_t 가 주어졌을때 p(x_1:t,m | z_1:t, n_2:t)를 찾는 알고리즘(m 은 그리드 맵)

2.Rao-Blackwellized Particle Filter

 

robot localization(현재 위치 찾기)

-monte carlo 알고리즘 - 랜덤으로 점들을 무수히 만들면 점들의 갯구를 통해 면적을 구한 후 이를 이용하여 위치 결정

-각각의 점들에서 맵이 만들어진 거리 차와 현재 가지고 있는 데이터와 비교하여 확률적으로 가장 높은 위치 찾기

 

path planning

 

global path

 

local path : Odometry와 laser data를 계속 계산하여 장애물을 마주쳤을 때 경로를 다시 설정

'ROS' 카테고리의 다른 글

Turtlebot 구동  (0) 2022.01.10
[ROS] Turtlebot3 x host(x window) 사용법  (0) 2022.01.03