Unreal5 Learning Agent 기반 강화학습
- date
- 5월 17, 2026
Ark Raiders Clone Project
2321. 애니메이션기반 관절 움직임 추출 구현(1)
1. 소개# 앞 단계에서는 기존 애니메이션을 강화학습 기준 데이터로 사용하기 위해 어떤 데이터를 추출해야 하는지 정리하였다.
20. 애니메이션 기반 관절 움직임 추출 설계
1. 소개# 앞 단계에서는 BP_SpiderAnimPreviewPawn, ABP_SpiderPreview, BS_SpiderMove를 구성하여 기존 거미 로봇 애니메이션을 Preview 레벨에서 재생할 수 있는 구조를 만들었다.
19. 애니메이션 기반 동작 확인용 Preview Pawn 구현(2)
1. 이어서…# 이어서 작성을 진행해보자 2. 구현# 2.15. AnimBP에서 Preview Pawn 입력값 읽기# 이제 BP_SpiderAnimPreviewPawn에서 처리한 입력값을 ABP_SpiderPreview에서 읽어오도록 …

19. 애니메이션 기반 동작 확인용 Preview Pawn 구현(1)
1. 목적# 이전 단계에서는 기존 애니메이션을 통해 로봇의 기본 자세, 관절 가동 범위, 상부 몸체 움직임을 먼저 확인하는 작업을 계획해보았으니, 이번 단계에서는 이를 실제로 확인하기 위해, 학습용 BP_SpiderRobot과는 별도 …

18. 기존 애니메이션 기반 자세 기준 및 가동 범위 확인 계획
1. 목적# 현재 로봇은 강화학습 과정에서 앞으로 이동하려고 시도하지만, 상부 몸체가 앞으로 크게 고꾸라진 뒤 안정적인 자세로 복귀하지 못하는 문제가 발생하고 있다.

17. TensorBoard 설정 및 PPO 학습 로그 확인
1. 들어가기 전에# 지금까지는 주로 에디터 화면에서 로봇이 어떻게 움직이는지를 눈으로 확인했다. 하지만 앞으로 CPG, Animation Action Driver, Imitation Learning, PPO Fine-tuning을 …

16. 보행 Prior 설계
1. 들어가기 전에…# 이전 단계에서는 PPOTrainer를 Learning Agents 학습 루프에 연결하고, Policy에서 출력된 Action이 실제 거미 로봇의 관절 제어까지 전달되는 것을 확인하였다.

15. 보행 패턴 개선 방향
1. 왜 앞으로 가지 못할까?# 이전 단계에서는 BP_SpiderTrainingManager에서 PPOTrainer를 실제 학습 루프에 연결하고, Run Training을 통해 Policy Action이 로봇 관절 제어까지 전달되는 …

14. PPO Trainer 연결 및 학습 실행
1. 소개# 이전 단계에서는 BP_SpiderTrainingManager의 BeginPlay 안에서 PPO 학습에 필요한 핵심 객체들을 생성하고 연결하였다.

13. PPO 학습 구성 요소 연결
1. 소개# 이번 단계에서는 이제 실제로 BP_SpiderTrainingManager 안에서 PPO 학습에 필요한 객체들을 생성하고 연결해보려고 한다.

12. PPO Trainer 연결 및 첫 학습 준비
1. 소개# 이전 단계까지 BP_SpiderTrainingEnvironment를 생성하고, 그 안에 Gather Agent Reward, Gather Agent Completion, Reset Agent Episode를 구현하였다.

11. Reward 구현
1. 소개# 강화학습에서 Reward는 에이전트가 어떤 행동을 더 배워야 하는지 알려주는 기준이다. 맨 처음 강화학습을 알게 된 계기였던 그네를 잘타게 하는 법을 학습 시키는 영상에 나오는 것(유전적 알고리즘으로 그네 타는 법을 학습 …

10. Observation 구현
1. 소개# 이전 단계에서는 BP_SpiderTrainingManager에서 BP_SpiderInteractor를 생성하고, 이를 BP_SpiderLearningManager에 Listener로 등록한 뒤, BP_SpiderRobot …

9. Observation 설계
1. 소개# 이전 단계에서는 BP_SpiderTrainingManager에서 `BP_SpiderInteractor를 생성하고, 이를 BP_SpiderLearningManager에 Listener로 등록한 뒤, …

8. Learning Agents 학습 루프 연결
1. 소개# 이전 단계에서는 BP_SpiderInteractor에서 학습기가 출력한 24개의 Continuous Action 값을 가져와 SpiderJointControllerComponent의 ApplyJointActions 함수로 …

7. Learning Agents 기반 학습 입출력 구조 구축
1. 소개# 거미 로봇의 관절이 모두 정상적으로 접근하다는 것을 확인했으니, 이제 언리얼에서 지원하는 Learning Agent를 켜서 학습 루프까지 진입이 가능한 지 확인해보자

6. 강화학습이란?
1. 소개# 강화학습을 적용하기 전에 강화학습을 배운 지가 너무 오래되어서 여러 웹 문서을 뒤져가면서 내가 알기 쉽게 간략하게 기초 정리를 해보면서 복습을 해보고자 한다. 수식도 따로 적지 않고 개념적인 설명을 이해하기 쉽게 적어보자 …

5. Learning Agent 적용
1. Learning Agents 사용할 클래스 정리# 거미 로봇의 관절이 모두 정상적으로 접근하다는 것을 확인했으니, 이제 언리얼에서 지원하는 Learning Agent를 켜서 학습 루프까지 진입이 가능한 지 확인해보자

4. C++ 액터 컴포넌트 만들기
1. 소개# 강화학습을 진행하기 위해서는 매 프레임 마다 정책 모델의 Action → 특정 관절 목표 각도 → 물리 컨스트레인트에 적용 → 다리 움직임가 필요함. 지금 그래서 축소 버전으로

3. 관절 제어 확인
1. 소개# 저번에 이어서 이번에는 다리 관절 하나하나를 제어할 수 있는 구조인지 확인해보도록 하자. 왜냐하면 강화학습을 진행하기 위해서는 이후에 AI 모델이

2. 거미 모델 구하기 및 초기 프로젝트 설정
1. 소개# 2. 로봇 모델을 언리얼 프로젝트에 넣기# 2.1. 모델 찾기# 모든 걸 시작하려면 우선적으로 움직임이 가능한 거미 모델을 구하는 게 급선무지만, Ark Raiders에 있는 모델을 구하기는 당연히 불가능하니깐, 다른 에 …

1. 시작하기에 앞서
1. 어쩌다 보니…# 회사에서 진행하던 프로젝트가 마침내 종료되었다.

0. 용어 정리
Unreal Engine 용어 정리# Unreal Engine에서 물리 기반 로봇이나 강화학습 환경을 구성하다 보면, SLERP Drive, Twist Drive, Swing Drive와 같은 물리 제약 관련 용어와 Actor, …
