스터디 : 20.04.16 행아웃
작성자 : 김성훈
기존 드론 환경 수정 :
이전에 작성했던 환경은 discrete action에 마추어 구성되어있었다. 이번 주차에 DDPG 알고리즘을 도입하며, contineous action에 걸맞게 Environment step을 수정하게 되었다. 또한 이전엔 드론 시뮬레이션을 나이브한 방식으로 표현했었는에 마침 환경을 수정하게 되어, 드론 시뮬레이션의 퀄리티도 상당부분 손보게 되었다. 우선 기존엔 드론은 앞으로만 나가알 수 있었기에 라이다센서를 전방에만 배치했는데, 이제부턴 드론의 앞뒤 구분을 없애어 90도 간격으로 라이더를 결합한 형태로 수정하였다. 그리고 액션의 종류와 액션을 통한 다이나믹스를 변경하였다. 실제 드론은 위치이동을 하기위해선 inner control loop로 각도제어를 취한다. 따라서 우리도 뉴럴네트워크의 아웃풋으로 각도 제어값들을 받기로 하였다.
Roll angle input : 0deg 유지
Pitch angle input : -45deg ~ 45deg 내에서 뉴럴네트워크가 선택
Psi angle input : -180deg ~ 180deg 내에서 뉴럴네트워크가 선택
위 3가지 input으로 오일러각가속도를 PID제어로 계산하여 드론에 요구되는 3축 토크를 계산할 수 있다.
그리고 4개의 모터의 추력의 합인 Throttle은 드론의 고도가 유지되는 값이 항상 요구된다. 드론에서 요구되는 LMNT는 약간의 선형화를 통하여 우리가 임의로 만들어준 제어 입력이고, 이 값들을 다이나믹스로 업데이트하기위해선 비선형 연립미분방정식을 풀어야한다. 우리는 이 업데이트를 위하여 시간간격을 discrete하게 나누고 수치해석적으로 비선형연립미분방정식을 푸는 것을 택하였다.
이 환경을 진행시키기 위해 피드백해야하는 물리량이 늘어남에 따라 뉴럴네트워크와 구조와 environment.reset 과 environment.rendering 코드또한 추가적으로 수정하게 되었다. 우리가 다룰 수 있는 물리량이 개수가 많아져, 하나의 스텝에서 표현하는 정보 또한 증가하여, 드론 시뮬레이션이 지난 번 보다 좀 더 공중에 떠잇는 것처럼 보이게되었다. 현재 DDPG를 이용한 에이전트학습이 진행중이고, 학습속도 또한 매우 느려졌다. 에이전트 학습에 관한 내용은 차후있을 세미나에서 점차 발표해 나갈 예정이다.
'3.5기(200104~) > 강화학습' 카테고리의 다른 글
강화학습팀 4월 25일 프로젝트 진행상황 (0) | 2020.04.25 |
---|---|
강화학습팀 20.04.11 DDPG (0) | 2020.04.11 |
강화학습 4주차 Actor-Critic 개념과 Agent 코드 (0) | 2020.03.28 |
3주차 강화학습 전반적인 개념정리 및 Project 드론 환경 분석 (0) | 2020.03.21 |
20.03.13 강화학습 1팀 스터티 / DQN agent 소개 (0) | 2020.03.16 |