-
[코드리뷰] AGV에 적용할 수 있는 PID Auto Tuning 예제AI, DataScience 2022. 3. 28. 10:00728x90
- AGV PID Auto Tuning 모델 개발 전 참고
RL based PID Tuner
코드 출처: backgom2357/Reinforcement_learning_based_PID_Tuner
특징
- A2C 알고리즘 사용
- 알파고
- actor: 행동 결정
- critic: 상태의 가치 부여
- 경험 샘플을 저장하고, critic의 결과를 이용해 actor 학습
- 더 자세한 공부가 필요할 듯
- GYM, LunarLander 사용
- 모델 제공 안함
- 그러나, 한국어 결과보고서 있음, 그것을 해석
- MDP
- action (1,)
- PID에서 P만 사용
- state (5,)
- Set Point, feedback, error, I-term, P
- critic 네트워크에 입력
- reward (1,)
- error의 절대값이 일정 범위 안에 들어오면 1, 아니면 -1
- actor 네트워크에 입력
- action (1,)
해석
- 동작을 하면서 튜닝, 빠름
- PID를 수동으로 조정하는 것만큼 성능이 나옴
PID-Tuning-by-LSTM-Algorithm
코드 출처: Saurabh641444/PID-Tuning-by-LSTM-Algorithm
특징
아두이노 + 온도센서
모델 제공
PID Controller와 LSTM Controller를 비교하여 그래프로 표현
PID
- measurement derivative
- 식을 이용하여, PID 구함
LSTM
- 온도 설정값과 현재값과의 오차를 입력, LSTM 모델 predict
1분 단위로 15초 휴식, 45초 측정
그래프에 설정온도, 온도 변화(LSTM), PID 값, LSTM 값 나타냄
해석
- LSTM으로 PID 튜닝 했을 때와
- PID 계수 조정..? 측정 도함수..?
- 비슷한 결과 나왔음
여러 PID Auto tuning 예제를 보았을 때 결론
- 일반 PID보다, 값이 많이 바뀜
- 성능은 기존과 비슷하고, 속도는 더 빠름
- 추후 계획
- LSTM 모델 돌려보겠다.
- A2C 등 강화학습을 공부해보겠다
- Kaggle을 이용할 예정.
728x90'AI, DataScience' 카테고리의 다른 글
[Colab][해결] 결과를 표시하는 데 필요한 자바스크립트 파일을 로드할 수 없습니다. Google 계정 로그인 액세스 권한이 만료되었거나 브라우저에서 타사 쿠키가 허용되지 않기 때문일 수 있습니.. (0) 2022.05.18 [docker][AIhub] 로컬 이미지 파일로 컨테이너 설치하기 | AIhub 피트니스 자세 데이터셋 (0) 2022.04.11 [docker] 내가 자주 쓰는 docker 명령어 모음 (0) 2022.03.25 [docker] GPU 서버에 jupyter notebook 환경 구축하기 (0) 2022.03.23 Neural Network-Based Self-Tuning PID Control for Underwater Vehicles (0) 2022.02.22