eBook

챕터 4

경로 계획 및 의사결정


AMR(자율 이동 로봇)이 인식과 추적 워크플로를 통해 환경을 인식하면, 로봇은 그러한 정보와 계획 및 의사결정 알고리즘을 이용하여 한 곳에서 다른 곳으로 이동하고 작업을 수행하게 됩니다.

섹션

경로 계획

경로 계획이란 AMR이 한 곳에서 다른 곳으로 이동하기 위해 최적의 경로를 찾아내고 조향 명령을 계산하는 과정입니다. 경로 계획 알고리즘은 플래너라고도 부르며, 지도에 있는 장애물을 회피하는 최단 경로를 생성하게 됩니다. 통상적인 계획 알고리즘에는 RRT(급속탐색 랜덤 트리) 및 RRT* 같은 샘플링 기반 방법이 있으며, MATLAB에서는 Navigation Toolbox를 통해 지원됩니다. 플래너는 중간점을 생성하고, 이 중간점들은 주행성을 높이기 위해 Dubins 및 Reeds-Shepp 운동 모델을 사용하여 더욱 평활화됩니다. 마지막으로 경로 메트릭을 이용하여 평활도와 장애물로부터의 거리를 확인하게 됩니다. 수치적 비교와 시각적 비교를 사용하여 최적 경로를 선택할 수 있습니다.

경로 계획.

경로 계획.

섹션

상태 천이를 통한 의사결정

AMR은 계속 변화하는 조건 또는 상태에 맞춰 의사결정을 해야 합니다. 예를 들어 전방에 장애물이 있으면 AMR이 다음 작업을 수행하려면 상태를 변경해야 합니다. 또 다른 예를 들자면, 만일 AMR의 배터리가 소진되면 로봇은 일련의 상태 변경을 시작하여 충전소에 도달하기 위한 몇 가지 조작을 계획해야 할 것입니다. 비록 AMR은 그러한 의사결정과 상태 변경 기능을 갖도록 설계되지만, AMR의 의사결정과 천이를 모니터링하면 안전성을 개선할 수 있습니다. Stateflow를 사용하면 그러한 조건과 상태를 판별하고 플로우 차트에 나타낼 수 있습니다. Stateflow로 Simulink 블록을 사용하여 상태 머신을 구현하고, 상태 천이도를 사용하여 시스템에서 하나의 하이 레벨 작동 모드에서 다른 모드로의 천이를 기술할 수 있습니다.

Stateflow로 표현한 상태 천이.

Stateflow로 표현한 상태 천이.

Stateflow는 상태 천이도 이외에도 플로우 차트, 상태 천이표, 진리표를 제공합니다. Stateflow로 조합 및 순차 의사결정 논리를 모델링하고, 그것을 Simulink 모델 내 블록으로서 시뮬레이션하거나 MATLAB 내 객체로서 실행할 수 있습니다. 그래픽 애니메이션을 사용해 논리가 실행되는 동안에 논리를 분석할 수 있고, 이를 통해 운용자는 로봇이 작업을 실행하는 동안에 로봇의 의사결정 논리를 읽을 수 있습니다. 이로써 작업 스케줄링과 디버깅을 간소화할 수 있습니다.

Stateflow를 사용한 논리 모델링.

Stateflow를 사용한 논리 모델링.

섹션

경로 추종 제어

경로 계획 알고리즘이 제공하는 경로는 중간점의 집합입니다. 순수 추종 제어기 같은 경로 추종 알고리즘은 AMR(자율 이동 로봇)을 위해 조향 및 속도 명령을 계산함으로써 이러한 중간점을 추종하게 됩니다. 뿐만 아니라 벡터장 히스토그램 같은 알고리즘을 사용하여 로봇이 장애물을 회피하도록 제어할 수도 있습니다.

MATLAB으로 AMR을 제어하기 위해 사용할 수 있는 경로 추적 및 장애물 회피 워크플로는 세 가지가 있습니다.

1. 경로 추적을 위한 순수 추종 제어기

순수 추종은 AMR을 현재 위치에서 로봇 전방의 예견점으로 움직이는 각속도 명령을 계산하는 경로 추적 알고리즘입니다. AMR이 그 예견점에 도달하면 이 알고리즘은 AMR의 현재 위치를 기준으로 하여 경로에 있는 예견점을 이동시킵니다. 이러한 과정을 AMR이 경로의 마지막 점에 도달할 때까지 반복합니다. 그러므로 AMR은 로봇 전방에 있는 어떤 점을 끊임없이 추종하게 됩니다. 이 알고리즘은 일정한 선형 속도를 가정하고, 사용자는 어떤 점에서도 AMR의 선형 속도를 변경할 수 있습니다. Navigation Toolbox의 controllerPurePursuit 객체는 경로 추종을 위한 순수 추종 제어기 알고리즘을 제공합니다. 이 알고리즘은 지정된 중간점 목록으로 작업하고 AMR의 현재 위치와 예견점 사이의 거리를 추정하는 LookAheadDistance 같은 속성을 포함합니다.

순수 추종 제어기를 사용한 경로 추적.

순수 추종 제어기를 사용한 경로 추적.

2. 모델 예측 제어

MPC(모델 예측 제어)는 모델을 사용하여 과정의 미래 출력값을 예측하는 피드백 제어 알고리즘입니다. 이 접근법은 온라인 최적화 알고리즘을 풀어서 최적의 제어 동작을 선택하여 예측된 출력값을 참조점으로 인도합니다. MPC는 입력과 출력 간의 상호작용을 보일 수 있는 MIMO(다중 입력 다중 출력) 시스템을 제어할 수 있습니다. 경로 추적에 MPC를 사용하면 최고 속도나 객체까지의 최소 거리 같은 여러 제약 조건이 있을 때 추적 제어를 최적화할 수 있습니다. MPC는 실시간 최적 제어 또는 이동 구간 제어라고도 합니다.

MPC 알고리즘의 예측 모델을 시뮬레이션하고 필요한 파라미터를 설정하는 단계는 최적화가 최적의 제어 동작을 선택하도록 하는 중요한 단계입니다. Model Predictive Control Toolbox™를 통해, MATLAB에서 프로그래밍하고 시각적으로 필요한 파라미터를 설정함으로써 MPC 제어기를 생성할 수 있습니다. Simulink를 사용하여 폐루프 시스템을 수치적으로 시뮬레이션하여 설계를 검증할 수도 있습니다.

MPC(모델 예측 제어)를 사용한 경로 추적.

MPC(모델 예측 제어)를 사용한 경로 추적.

3. 강화 학습을 사용한 장애물 회피

강화 학습은 경로 추종과 장애물 회피를 달성할 수 있는 또다른 접근법입니다. 강화 학습은 머신러닝 방법으로서 에이전트(또는 로봇)가 어떤 환경 내에서의 상태를 관찰하고 취할 행동을 결정하게 됩니다. 과거에는 강화 학습으로 영상이나 포인트 클라우드 같은 고차원 센서 데이터를 다룰 수 없었습니다. 딥러닝이 등장하면서 실현 가능한 경로 추종 접근법으로서 종단간 강화 학습이 주목을 받게 되었습니다. 심층 강화 학습을 통해 AMR은 영상과 포인트 클라우드에서 장애물을 인식하고 시행착오를 통해 장애물을 회피하는 경로를 학습할 수 있습니다. 뿐만 아니라 계속적인 학습을 통해 AMR은 환경 변화에 유연하게 대응할 수 있습니다.

그러나 안전한 운영을 위한 충분한 학습을 하기 위해서는 굉장히 많은 시간이 걸리기 때문에 이 접근법을 실제 AMR에 직접 적용하기는 어렵습니다. 그러므로 이러한 유형의 접근법 중 다수는 먼저 시뮬레이터를 사용합니다. 시뮬레이터 안에서 학습 과정이 충분히 진행되면 추가적인 학습 및 검증이 실제 AMR에서 일어날 수 있습니다. MATLAB 및 Simulink는 훈련을 위한 시뮬레이션 환경 구축을 강력하게 지원합니다. 뿐만 아니라 Reinforcement Learning Toolbox™는 DQN이나 DDPG 같은 다양한 강화 학습 알고리즘을 지원합니다.

강화 학습을 통한 장애물 회피.

강화 학습을 통한 장애물 회피.

경로 계획 및 의사결정에 대해 자세히 알아보기