본문 바로가기

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

패스트캠퍼스 환급 챌린지 36일차 : Smoother 파라미터 튜닝

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

https://fastcampus.info/4oKQD6b

 

📮올해 마지막 100% 페이백 이벤트 (~12/19) | 패스트캠퍼스

받은 사랑 100% 쿠폰으로 돌려드립니다💌 페이백 쿠폰 사용하면 두 번째 강의 [최소 0원]

fastcampus.co.kr

 

 

https://fastcampus.co.kr/data_online_selfdriving

 

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

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

fastcampus.co.kr

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

 

 

[강의시작 | 강의종료]

 

 

 

[완강 인증]

 

 

 

[학습 내용]

 

 

-필기 내용-

 

 

-smoother_echo-

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.

 

 

-smoother_rqt-

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.

 

[강의 후기]

 

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

 

-Smoother-

: 로봇의 경로를 부드럽게 만드는 데 사용되는 모듈입니다.

 

 

-Smoother의 역할-

  • 경로 평활화
    : 직선과 급격환 회전을 포함하고 있을 때, 경로를 매끄럽게 조정합니다.
  • 경로 최적화
    : 로봇의 운동 역학 및 환경 조건을 고려하여 최적의 경로로 수정합니다.
  • 안전성 확보
    : 부드러운 경로를 생성함으러써 급격한 속도 변화나 방향 전환으로 인한 사고를 방지합니다.

 

 

-주요 파라미터-

tolerance
: 경로 평활화 알고리즘이 수렴했다고 간주하는 허용 오차

refinement_num
: 경로 세부 조정(refinement)을 수행할 때 반복 횟수를 설정

w_smooth
: smooth 항의 가중치를 설정(경로를 얼마나 부드럽게 할지를 결정)

max_its
: 평활화 알고리즘의 최대 반복 횟수를 설정

 

 

 

-생각해 볼 점-

이번 강의에서는 Smoother 파라미터에 대한 실습을 진행했습니다. Smoother는 이름 그대로 부드럽게 만들어주는 모듈로 Navigation 데이터를 종합해 로봇이 진행할 경로를 보다 매끄럽게 만들어줍니다. 경로가 매끄러워짐에 따라 각진 경로로 진행했을 때 발생할 수 있는 위험을 줄이고 안정적인 주행할 할 수 있게 됩니다. 주요 파라미터에는 알고리즘이 허용하는 오차를 조절하는 tolarance, 경로 조정 횟수를 설정하는 refinement_num, 경로를 얼마나 부드럽게 할지를 결정하는 w_smooth, 알고리즘의 반복 횟수를 설정하는 max_its 등이 있었습니다. 위 실습 영상은 모두 기본값으로 설정 후 진행했습니다. smoother_rqt 영상을 보면 측정 값 중 속도를 조절하는 노드를 통해 기본 데이터와 smoother가 적용 된 데이터의 차이를 확인할 수 있습니다. /cmd_vel_linear/x(파란색)은 smoother가 적용되기 전, /cmd_vel_nav/linear/x(핑크색)은 smoother가 적용 된 후의 데이터입니다. 영상에서 모서리를 돌때 파란색 그래프는 값이 상하로 튀는 모습이 보이지만, 핑크색 그래프는 균일한 데이터를 유지하는 것을 볼 수 있습니다. 회전 속도를 조절하는 /cmd_vel/angular/z(검은색)과 /cmd_vel_nav/angular/z(청록색)도 마찬가지입니다. smoother가 가공한 /cmd_vel_nav/angular/z가 /cmd_vel/angular/z에 비해 균일한 그래프를 유지하는것을 확인할 수 있습니다. 이렇듯 smoother가 조절하는 값은 중요하며 안정적인 주행을 위해서 필수적으로 수행되어야 하겠습니다. 하지만, smoother가 과도하게 적용되면 계산이 복잡해져 반응 속도가 늦어질 수 있고, 원래 데이터가 훼손될 수 있습니다. 때문에 smoother 파라미터를 조절해 상황에 맞는 smoother 수행 값을 찾고 이를 확인할 수 있는 능력이 필요하겠습니다.