본문 바로가기

[패스트캠퍼스 11월 환급 챌린지]

패스트캠퍼스 환급 챌린지 23일차 : Localization

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ]

https://fastcampus.info/4oKQD6b

 

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr

 

 

 

https://fastcampus.co.kr/data_online_selfdriving

 

자율주행 로봇을 위한 ROS 2 & SLAM & Nav2 한번에 끝내기 | 패스트캠퍼스

로봇 입문 시작점 ROS 2부터 자율주행 로봇을 위한 SLAM & Navigation2 와 시뮬레이터를 활용한 자율주행 로봇 실습까지 한번에

fastcampus.co.kr

본 글은 위 강의를 참고하여 작성되었습니다

 

 

 

[강의시작 | 강의종료]

 

 

 

 

[완강 인증]

 

 

 

 

[학습 내용]

-필기 내용-

 

 

 

[강의 후기]

Localization의 개념과 중요 내용을 학습했습니다.

 

-Localization-

: 지도에서 자신의 위치를 파악하는 기능입니다.

 

 

-Frame 필수 개념-

map

  • 지도의 기준을 나타내는 프레임입니다.
  • 고정된 지도상에서 로봇의 위치를 추정하는 데 사용됩니다.

odom

  • 로봇의 시작 위치를 기준으로 한 로봇의 상대적 위치를 나타내는 프레임입니다.
  • 주로 바퀴의 회전이나 이동 센서에서 파생됩니다.
  • 시간이 지남에 따라 오류가 누적됩니다.

base_footprint

  • 로봇의 바닥을 나타내는 프레임입니다.
  • 물리적으로 어떻게 지면 위에 위치하고 있는지를 정의합니다.

base_link

  • 일반적으로 로봇의 몸체를 나타내며, 모든 센서나 운동 부품은 이 프레임에 상대적으로 위치합니다.
  • 로봇의 현재 물리적 구조(바퀴, 센서 등)와 직접 연결됩니다.

 

 

-Frame 간의 관계-

odom -> base_link

  • 오도메트리 정보를 기반으로, 로봇의 상대적인 움직입을 추정합니다.
  • 로봇의 물리적 움직임을 바탕으로 계산되므로, 실시간 업데이트 됩니다.

map -> odom

  • Localization 알고리즘은 지속적으로 map 프레임에서 odom 프레임으로의 변환을 업데이트합니다.
  • 지도상의 로봇의 위치와 오도메트리 사이의 불일치를 보정합니다.

 

-Localization을 위해 필요한 노드-

- map_server 노드

- localization 알고리즘을 수행하는 노드

- lifecycle_manager 노드

 

 

-AMCL-

: 로봇이 지도상에서 자신의 위치를 찾을 수 있도록 도와주는 확률적 접근 방식

 

 

 

-생각해 볼 점-

이번 강의에서는 Localization과 Frame의 중요 개념에 대해 학습했습니다. 자세하게 다루지 않았던 Frame과 Frame 간의 관계에 대한 내용을 다뤘습니다. odom_node의 정보를 기반으로 base_link node가 로봇의 상대적인 움직임을 추정하고, map과 odom node 사이의 불일치를 보정한다는 것을 알 수 있었습니다. localization을 위해 필요한 노드에는 지도의 내용을 전송해주는 map_server 노드, localization 알고리즘을 수행하는 노드, 노드의 실행을 관리하는 lifecycle_manager 노드가 있었습니다. 이 노드들이 주가 되어 localization을 수행하고 나머지 노드들은 localization 된 값을 이용하여 각자의 기능을 수행합니다. 로봇이 지도상에서 자신의 위치를 찾을 수 있도록 도와주는 확률적 접근 방식을 사용하는 AMCL이 있다는 것을 알 수 있었습니다. AMCL은 현재 센서에서 입력받는 데이터를 기반으로 로봇이 위치할 확률이 제일 높은 구간을 계산합니다. 이를 소거법으로 여러번 진행해 시행 횟수가 많아지는 만큼 위치가 정확해집니다. 이 방법을 사용하면 낭비되는 데이터가 적어 위치를 얻는데 효율적입니다. 이를 자율주행 자동차에 적용할 수 있습니다. SLAM으로 지도를 만들고 저장합니다. 작성된 지도를 map_server노드를 사용해 불러오고 map과 odom, base_link가 위치를 기록합니다. odom과 base_link위치를 계산하여 현재 로봇의 위치를 추정하고 AMCL을 통해 오차를 보정합니다. 이 과정을 적용할 수 있다면 맵 상 현재 위치와 실제 위치가 달라 오류가 생기는 문제를 해결할 수 있겠습니다. 이처럼 안정과 데이터 신뢰성을 높이는 개발을 할 수 있도록 앞으로 남은 강의들도 성실히 들으며 공부하겠습니다.