devskim blog
Search
🗺️

Gazebo SLAM 실행해보기 (WSL2)

sections
Tags
ROS2
Created
Dec 12, 2022 04:52 AM
Last Updated
Jul 30, 2023 09:49 AM
 
 
 
💡
omo_r1mini의 원격 로봇을 활용하여 SLAM을 테스트하여 본다.
 

SLAM이란?

  • Simultaneous localization and mapping의 약자로, 로봇이 스스로 위치 추정(localization)과 주변 환경에 대한 지도 작성(Mapping)을 동시에 하는 기술이다.
  • 로봇이 다양한 센서를 통해서 주변 공간을 지도화시킨 후, 완성된 지도와 센서로 얻어 낸 공간 데이터를 활용하여 스스로 로봇의 이동 경로를 결정하는 방법이다.
  • SLAM에 필요한 센서 정보와 로봇의 위치 정보인 오도메트리 정보가 필요하다.
 
 

omo_r1mini 패키지 설치하기

  • omo_r1mini의 read.md를 통해서 관련 패키지를 설치할 수 있다.
  • omorobot 공식 홈페이지에서도 설치 방법을 안내해주고 있다.
  • 설치 이후에 관련 패키지를 환경변수에 등록하는 것이 데모 실행하는데 편리하다.
 
 

omo_r1mini 패키지 실행하기

  • SLAM은 Mapping 이후에 Navigation을 진행하는데, 이는 Cartographer를 활용하고 있다.
    • Cartographer는 로봇의 odemetry(주행 거리) 데이터와 2D 라이더 센서 데이터로 매핑과 네비게이션을 할 수 있는 패키지이다.
  • Mapping 작업을 위한 명령어는 다음과 같다. 터미널에 4개의 창을 열어서, 다음의 순서대로 명령어를 입력한다.
    • 코드를 불러오는 중 입니다 ...
  • Mapping 작업시의 rqt_graph는 다음과 같이 표시된다.
    • notion image
  • Mapping이 완료되면 다음의 명령어로 데이터를 저장한다.
    • 코드를 불러오는 중 입니다 ...
  • Navigation을 위한 노드를 실행한다. 이 역시도 터미널에 2개의 창을 열어서, 다음의 순서대로 명령어를 입력한다.
    • 코드를 불러오는 중 입니다 ...
  • Navigation 작업시의 rqt_graph는 다음과 같이 표시된다.
    • notion image
 

실행 과정

  • 다음과 같이 4개의 터미널로 나눠서 실행하였다.
    • notion image
  • 원격 로봇은 아래의 이미지와 같이 확인할 수 있다.
    • notion image
  • Mapping을 진행하는 과정에서는 다음과 같이 시각화된다.
    • notion image
  • Mapping이 완료된 지도 데이터는 다음의 형태로 저장된다.
    • notion image
  • Navigation할 때 2D Pose Estimate로 원격 로봇이 있는 위치를 지정하고 Navigation2 Goal로 원하는 곳을 지정하면, 빨간 선과 같이 스스로 경로를 계산하여 이동한다.
    • notion image
 
 

결과물

  • SLAM 전체 과정을 다음과 같이 녹화하였다.
    • Video preview
PREVROS2 설치해보기 (Ubuntu)