1. 소개#
앞 단계에서는 기존 애니메이션을 강화학습 기준 데이터로 사용하기 위해 어떤 데이터를 추출해야 하는지 정리하였다.
앞 단계에서는 기존 애니메이션을 강화학습 기준 데이터로 사용하기 위해 어떤 데이터를 추출해야 하는지 정리하였다.
앞 단계에서는 BP_SpiderAnimPreviewPawn, ABP_SpiderPreview, BS_SpiderMove를 구성하여 기존 거미 로봇 애니메이션을 Preview 레벨에서 재생할 수 있는 구조를 만들었다.
이어서 작성을 진행해보자
BP_SpiderAnimPreviewPawn에서 처리한 입력값을 ABP_SpiderPreview에서 읽어오도록 구성해주자ABP_SpiderPreview이므로, AnimBP가 Preview Pawn의 값을 읽어와야 2D Blend Space나 Top_M 본 회전에 사용할 수 있다.현재 Preview Pawn 쪽에서 준비한 주요 값은 다음과 같다.
이전 단계에서는 기존 애니메이션을 통해 로봇의 기본 자세, 관절 가동 범위, 상부 몸체 움직임을 먼저 확인하는 작업을 계획해보았으니, 이번 단계에서는 이를 실제로 확인하기 위해, 학습용 BP_SpiderRobot과는 별도로 애니메이션 확인용 Preview Pawn을 구성해보도록 하자.
현재 로봇은 강화학습 과정에서 앞으로 이동하려고 시도하지만, 상부 몸체가 앞으로 크게 고꾸라진 뒤 안정적인 자세로 복귀하지 못하는 문제가 발생하고 있다.
지금까지는 주로 에디터 화면에서 로봇이 어떻게 움직이는지를 눈으로 확인했다. 하지만 앞으로 CPG, Animation Action Driver, Imitation Learning, PPO Fine-tuning을 비교하려면 단순히 “움직인다 / 안 움직인다”만으로는 부족하다.
이전 단계에서는 PPOTrainer를 Learning Agents 학습 루프에 연결하고, Policy에서 출력된 Action이 실제 거미 로봇의 관절 제어까지 전달되는 것을 확인하였다.
이전 단계에서는 BP_SpiderTrainingManager에서 PPOTrainer를 실제 학습 루프에 연결하고, Run Training을 통해 Policy Action이 로봇 관절 제어까지 전달되는 것을 확인하였다.
이전 단계에서는 BP_SpiderTrainingManager의 BeginPlay 안에서 PPO 학습에 필요한 핵심 객체들을 생성하고 연결하였다.
이번 단계에서는 이제 실제로 BP_SpiderTrainingManager 안에서 PPO 학습에 필요한 객체들을 생성하고 연결해보려고 한다.