본문 바로가기

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

패스트캠퍼스 환급 챌린지 25일차 : SLAM 파라미터 튜닝 전략

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

https://fastcampus.info/4oKQD6b

 

올해 마지막 보너스 혜택! 1+1+1 쿠폰 이벤트 (~12/09 23:59) | 패스트캠퍼스

지금 강의 구매 시, 결제 금액과 동일한 1+1 쿠폰 & AI월드 무료 쿠폰 증정 (+) 이벤트 기간 내 신규가입 시 웰컴 5만원 할인 쿠폰 추가 증정

fastcampus.co.kr

 

 

https://fastcampus.co.kr/data_online_selfdriving

 

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

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

fastcampus.co.kr

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

 

 

 

[강의시작 | 강의종료]

 

 

[완강 인증]

 

 

 

[학습 내용]

 

 

[강의 후기]

SLAM 파라미터 튜닝 전략 전략에 대한 실습을 진행했습니다.

 

파라미터들은 .lua 파일에 들어있습니다. 내용이 정말 많고 다양한 기능이 있지만, 몇가지만 살펴보고 실습해보았습니다.

 

 

-표준과 다른 이름의 노드 정보 넘기기-

launch 파일 내 remapping을 사용해 토픽의 이름을 Cartographer에 넘겨줄 수 있습니다.

Node(
    package='cartographer_ros',
    executable='cartographer_node',
    name='cartographer_node',
    output='screen',
    parameters=[{'use_sim_time': use_sim_time}],
    remappings=[
		    ('scan', 'custom_scan_topic_name'),  # 2D LiDAR data
		    ('odom', 'custom_odom_topic_name')   # Odometry data
		    ('imu', 'custom_imu_topic_name'),    # IMU data
            ...

 

 

-맵 구축 측정 거리-

TRAJECTORY_BUILDER_2D.min_range # 최소
TRAJECTORY_BUILDER_2D.max_range # 최대

항목 변경을 통해 맵 구축이 고려될 때 최소/최대 측정 거리를 조정할 수 있습니다.

 

 

-동적 파라미터 튜닝-

파일에서 값 조정 후 실습 환경을 껐다켰다 하기 번거로우므로 동적 파라미터 튜닝을 지원합니다.(모든 패키지가 지원 되는 것은 아님)

실습 환경 설정에서 Dynamic reconfigure 기능을 통해 동적 파라미터 튜닝을 할 수 있습니다.

 

 

-파티클 수-

min_particles(int, 기본값: 500) # 최소
max_particles(int, 기본값: 2000)# 최대

항목 변경을 통해 AMCL을 사용할 때 생성되는 파티클 수를 조정할 수 있습니다.

 

 

-생각해 볼 점-

이번 강의에서는 Cartographer를 사용해 프로젝트를 진행 할 때, Cartographer 안쪽의 파라미터를 조정하는 방법과 중요 파라미터들을 학습했습니다. 파라미터들이 정말 많지만, 주로 사용하는 중요한 파라미터들만 몇가지 살펴보았습니다. 실습의 기틀이 되는 맵을 구축하는 데 있어서 TRAJECTORY_BUILDER_2D.min/max_range 항목을 통해 맵 구축의 측정 거리를 조정할 수 있었습니다. Dynamic reconfigure 설정을 통해 동적 파라미터 튜닝을 할 수 있었습니다. AMCL을 사용할 때 min/max_paticles 항목을 통해 사용되는 파티클 수를 조절할 수 있었습니다. 모든 항목을 기본 값으로 설정해도 실습하는데에 있어서 큰 무리는 없습니다 .하지만 사용자가 원하는 값을 도출하거나 목적이 있는 실습을 진행하는데 제대로 된 값을 얻지 못할 수 있습니다. 레이더 센서에서 실습에 부적절한 값까지 받아 데이터의 질이 낮아지는 문제, 불필요한 계산이 많아져 계산 시간이 증가하고 실시간 처리가 어려워지는 문제, 계산이 느려짐에 따라 지도의 정확성 및 일관성이 부족해 지는 문제 등등 일어날 수 있는 문제가 많습니다. 따라서 사용자가 파라미터의 내용을 알고 사용 의도에 맞게 파라미터를 조절할 수 있어야 합니다. 따라서 자주 사용하는 min/max_particles, TRAJECTORY_BUILDER_2D.min/max_range 등의 파라미터와 조정하는 법을 살펴보았습니다. 이 외에도 Cartographer 내의 다양한 파라미터의 종류와 역할에 대해 학습하겠습니다. 환경에 맞게 최적화하고, 오류를 사전에 방지하고, 유연한 개발 능력을 얻는 데에 중요하게 작용할 것입니다. 위 학습을 통해 SLAM 프로젝트를 성공적으로 수행할 수 있도록 기반을 다지겠습니다.