본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2024 ROS 스터디]정주광 #4주차 -SLAM과 내비게이션

반응형

Chapter 11) SLAM(Simultneous Localization And Mapping) & 내비게이션

 

 

SLAM : 동시적 위치 추정 및 지도 작성

Navigation : 차량 자동 항법 장치

 

길을 찾기위한 필요요소

-      위치 : 로봇의 위치 계측/추정하는 기능

-      센싱 : , 물체 등의 장애물의 계측하는 기능

-      지도 : 길과 장애물 정보가 담긴 지도

-      경로 : 목적지까지 최적 경로를 계산하고 주행하는 기능

위치 센싱, 지도, 경로는 ROS의 메시지로 전송될 수 있다.

 

Gmapping (ROS에서 가장 많이사용되는 패키지)

지도작성 : Gmapping + TurtleBot3

 

 

ROS 구동하기 (강의자료 참고)

    1.     마스터 실행

           - $roscore

2.     터틀봇 및 센서 구동

          >> 라이다로부터 2차원 정보를 받으며 실질적으로 지도를 작성하는 부분은 컴퓨터에서 메시지를 받아서 작성한다.

 

 

 

알고리즘에 따라 더 세분화 가능 !

 

 

 

 

 로봇을 구동시키면 센서노드가 실행 > 센서의 데이터 값(토픽)Gmapping에 보낸다 > 관련한 노드를 실행시켜 메시지(병진속도, 회전속도 등)를 보낸다 > 로봇의 모터 제어나 엠코더 값을 받아 실제 로봇을 제어한다 > 현재 로봇의 출발위치나 움직인거리를 계산해서 측정가능 > 위치정보, 센싱정보를 통해 지도&SALM 정보 패키지를 통해 map을 만든다.

 

 처음으로 계산되는 오도메트리는 로봇 자체의 오도메트리이고 우리가 알아내야하는 상대위치(오드메트리)는 로봇에 부착된 센서의 오도메트리이다.

 

따라서 Gmapping에 필요한 정보는 두가지로

         1.     센서의 오드메트리에 대한 정보

         2.     센서 값

 

이를 통해서 map을 생성하고 서버에 map.pgmmap.yaml을 만들어낸다.

 

 설치

 

 

roslaunch turtlebot3_gazebo turtlebot3_world.launch

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

 

 

 

-  RViz실행하기

 

roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch

터틀봇을 조작 후 라이다를 통해 얻은 정보를 빨간색 선으로 표시

 

 

 

- 내비게이션 실습

반응형