본문 바로가기

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

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

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

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

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

 

 

[강의시작 | 강의종료]

 

 

 

[완강 인증]

 

 

 

 

[학습 내용]

 

 

 

-필기 내용-

 

 

-go backward-

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

 

 

 

[강의 후기]

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

 

-Controller 파라미터 튜닝이 중요한 이유-

: 파라미터 값이 잘못 설정되었을 경우 제대로된 결과 값을 얻을 수 없기 때문입니다.

 

아래는 실습하며 다룬 주요 파라미터들입니다.

controller_frequency 
: Controller의 경로 계산 빈도

min_x_velocity_threshold 
: 컨트롤러가 고려할 최소 x 속도

min_y_velocity_threshold 
: 컨트롤러가 고려할 최소 y 속도

min_theta_velocity_threshold 
: 컨트롤러가 고려할 최소 각속도

failure_tolerance 
: 호출된 컨트롤러 플러그인이 실패할 수 있는 최대 기간


Controller Plugins
-DWB Controller
: 로봇의 동적 속도와 가속도를 고려하여 실시간 장애물 회피에 적합

-**TEB Controller**
: 시간 최적화 기반 경로 생성, 복잡한 환경에서 효율적이며 좁은 공간에서도 효율적으로 움직임

-Regulated Pure Pursuit
: 로봇이 주어진 경로를 추적하기 위해 목표점을 따라가는 단순하지만 효과적이며 경로를 곡선으로 매끄럽게 추적

-MPPI Controller
: 샘플 기반 최적화 알고리즘을 사용하여 복잡한 경로 계획과 제어를 수행

-Rotation Shim Controller
: 회전 시 로봇을 미세하게 조정하여 목표 지점에 정확하게 정렬하도록 함

-Graceful Controller
: 작은 속도 변화로 안정적인 이동을 제공하며, 부드러운 이동 경로를 생성

**속도 관련 파라미터**
: 로봇의 기계적 특성 및 작업 환경에 맞게 조정
-min_vel_x, min_vel_y, max_vel_x, max_vel_y


-**가속 감속 관련 파라미터**
acc_lim_x,y,theta
: x,y 방향 및 회전에 대한 최대 가속도 제한을 설정

-**sim_time**
: 경로 계획을 위해 시뮬레이션하는 시간을 설정

 

위 파라미터들은 rqt-dynamic reconfigure에서 수정을 진행했습니다.

 

 

-생각해 볼 점-

이번 강의에서는 Controller 파라미터에 대한 실습을 진행했습니다. Controller 파라미터는 로봇의 Path Planning 시간, Path Planning시 변경되는 속도, 가속도, 각속도, 경로 계획을 위해 시뮬레이션 하는 시간 등의 정보를 담고있습니다. 이전까지 실습을 진행했던 영상을 확인해보면 목적지가 어디에 있던 항상 전진으로 주행을 진행했던 것을 확인할 수 있습니다. 이번 실습에선 min_vel_x, max_vel_x, min_vel_theta, max_vel_theta 등의 속도 관련 파라미터를 조정해 목적지가 후방에 있다면 후진할 수 있도록 설정했습니다. 실제 물류 센터나 공장에서 사용하는 로봇들은 전방에 카메라나 센서가 달려있기 때문에 대부분 오로지 전진을 사용하지만, 설정에 따라 후진도 가능 하다는것을 알 수 있었습니다. Path Planning 알고리즘의 목적에 맞게 변경할 수 있는 Controller Plugins도 학습했습니다. 기본적으로 설정되어있는 DWB Controller는 로봇의 속도와 가속도를 고려해 장애물 회피에 유용하지만 이동하며 방향을 계산해 경로가 불안정하고 연산이 많다는 단점이 있습니다. 또 주행 중 좌우로 움직임이 많아 좁은 공간에서 활용하기에 부적절합니다. TEB Controller는 먼저 방향을 지정하고 주행하기 때문에 직선 주행이 주가 되며 최소 시간 경로를 찾는다는 장점이 있습니다. 직선 위주로 경로를 찾기에 좁은 공간에서도 안정적으로 주행할 수 있습니다. 이처럼 상황에 따라 사용할 수 있는 다양한 Plugin들이 있다는것을 알고 적합한 상황에 사용할 수 있어야 합니다. 파라미터의 종류가 많고 하나하나 바꾸며 변화를 확인하기에 시간이 오래 걸립니다. 이에 대해 더 자세히 다루는 글이나 강의를 참고하며 공부하겠습니다.