[Project#] 시리즈는 프로젝트(Manipulator Continuous Control with Deep Reinforcement Learning) 제작 과정을 설명한다. 본 포스팅은 강화 학습과 Motion Planning에 대한 생각을 기록하였다.

모든 내용은 이전 글과 이어진다. 이전 글을 읽어봤다고 가정한 후 글을 작성하였다. (이전 글 LINK)

Motion Planning을 알기 전에 Path Planning, Trajectory Planning에 대해 알아보자.

1. Path Planning

Path는 단순히 A 지점에서 B 지점으로 가는 경로를 말한다. 속도나 시간은 고려되지 않는다고 한다. Path Planning은 이러한 Path를 생성하는(찾는) 행위라고 생각한다.

2. Trajectory Planning

Trajectory는 사전적 의미로 ‘궤적’이라 한다. Planning에서는 Path에 특정 속도 또는 특정 시간동안 Path를 이동하는 것을 말한다. 즉, Trajectory Planning은 Path를 생성하고 특정 속도로 이동하거나 특정 시간 안에 도착하도록 하는 것을 의미하는 것 같다.

3. Motion Planning

Motion Planning은 Trajectory Planning에서 한 차원 더 나아간 것이라 한다. A 지점에서 B 지점으로 이동하는 Path를 생성하고 특정 속도, 특정 시간을 고려하여 이동할 뿐만 아니라 그 외 요소(장애물, 환경)까지 고려하여 이동하는 것을 말한다.

4. 강화 학습과 Motion Planning

강화 학습을 Manipulator에 적용하여 특정 Task를 수행할 때 이것은 Motion Planning이라 불러도 될까?

결론부터 말하자면 안 된다고 생각한다. 강화 학습은 현재 state에서 특정 policy를 따라 행동했을 때 최대의 return이 주어지는 선택을 한다. 즉, Path 자체가 없다. 물론 policy를 따라 행동하는 과정 자체를 Path라고 볼 수 있지 않나? 라는 생각이 들기도 하였다. 그러나 Motion Planning에서 말하는 Path는 A 지점부터 B 지점까지의 경로를 의미한다. 강화 학습에서의 선택은 확률에 근거한다. 때문에 같은 지점에서 시작하더라도 환경 변화에 의해 결과가 달라질 수 있다. Motion Planning에서 말하는 Path는 계산에 근거하여 이미 정해진 경로이다. 그렇기에 ‘Continuous Control’ 라는 단어가 더 부합한 것 같다.

5. Continuous Control

Continuous control은 로봇공학 및 인공지능 분야에서 사용되는 용어로, 로봇이나 에이전트가 연속적인 행동 공간에서 움직임을 제어하는 개념을 나타낸다. 이는 로봇이나 에이전트가 다양한 연속적인 값을 가지는 행동 변수를 사용하여 움직임을 조절하고 제어하는 것을 의미한다.

연속적인 행동 공간에서는 행동 변수의 값이 실수 범위 내에서 연속적으로 변할 수 있다. 예를 들어, 로봇 팔의 위치를 조절하는 경우, 팔의 각도는 연속적인 값으로 표현될 수 있다. 따라서 팔의 움직임은 연속적인 행동으로 간주되며, 이를 조절하여 로봇 팔의 동작을 원하는 방향으로 제어할 수 있다.

8. 참고 문헌