Question
날갯짓 연구 질문 있습니다.
1.
현호선배 석사학위연구가 인공지능 연구였고, 박사과정 중 한 세미나 주제도 인공지능이었는데 현재는 날갯짓 연구에서 인공지능을 활용하지 않으시는 이유가 궁금합니다.
2.
https://www.youtube.com/watch?v=jBdknXxvgZs&t=1s 해당 영상 0~7초를 보면 날개에 깃털과 같은 패턴이 있는데, 이 패턴은 왜 있었던 것이고 현재는 사용하지 않는 이유가 궁금합니다.
3.
https://www.youtube.com/watch?v=BbiI978DQDk 저희 연구실 졸업생이신 김대관 박사께서 하셨던 해당 영상과 같은 시뮬레이션과 현호선배께서 개발하신 ORNISP가 유연체 동역학 해석 측면에서 제가 느끼기에는 비슷해보여서 혹시 MST와 UVLM 사용 차이를 제외하고 두 시뮬레이션 간의 차이가 있다면 어떤 것이 있는지 궁금합니다.
Answer
1. 현재 날갯짓 연구에 인공지능을 활용하지 않는 이유
•
석사학위연구 주제를 결정할 때 관심을 가졌던 주제 인공지능에 초점을 맞췄다기 보다는 “강화학습을 통해 날갯짓 비행체를 제어해보면 어떨까?”에서 시작되었음
•
날갯짓 비행체와 강화학습에 대한 선행 연구를 내 생각대로 분류하고 한계를 정리해보면 아래와 같음
1.
날갯짓 비행체의 비행 효율 증가를 위한 날갯짓 운동을 강화학습을 이용하여 탐색 ⇒ Quasi-Steady (QS) 공력 모델이 이용되며, 학습하려는 날갯짓 운동이 너무 단순함
2.
실제 생물의 날갯짓을 모사할 수 있는 비행 제어 시뮬레이션 환경 구축 ⇒ 공력 모델이 매우 단순하여 실제 모델로 확장이 불가능
3.
날갯짓 비행체의 실험데이터를 바탕으로 모델링 후 강화학습을 적용하여 제어기 성능 개선 ⇒ 선형 모델 및 QS 공력 모델이 이용되며, 실제 실험 모델이 필수적
•
이때 다음을 초기 연구 목표로 잡았음:
1. 공력 모델 대신 Unsteady Vortex Lattice Method (UVLM)을 이용하여 날갯짓 비정상 공력 해석 정확성을 높인다.
2. 날갯짓 비행체가 효율적으로 비행할 수 있는 날갯짓 운동 또는 장애물을 회피 기동을 수행하는 날갯짓 운동을 강화학습 시뮬레이션을 통해 학습한다.
⇒ 이때 단순한 날갯짓 문제가 아니라 보다 고차원적인 날갯짓 운동을 학습하고 싶어서 “Deep Neural Network (DNN) 기반의 강화학습”을 적용한다.
(e.g. 장애물이 나타난 영상 데이터를 input으로 받고 이를 회피하는 날갯짓 운동을 output으로 출력하는 문제)
3. 학습된 날갯짓 운동을 실제 날갯짓 비행체 설계에 반영하여 그 성능을 확인한다. (지금 생각하면 꿈이 컸음)
•
현재 UVLM을 이용한 날갯짓 비행체 해석 환경은 구축되어 있음. 다만, CFD 보다 해석 시간이 현저히 빠르다고 해도 강화학습 시뮬레이션처럼 엄청나게 많고 긴 날갯짓 시뮬레이션을 수행하기에는 시간 비용이 매우 큼
⇒ 추가로 현재 UVLM을 적절히 개선해서 어느 정도 정확한 공력 해석이 가능해지긴 했지만, 특정 비행 조건에서는 여전히 정확성이 크게 떨어지기 때문에 강화학습 시뮬레이션을 통해 찾은 최적 날갯짓 운동이 실제로는 최적이 아닐 수 있음
•
따라서, 날갯짓 비행체에 강화학습을 적용하여 비행 성능을 높이기 위해선 다음 내용이 선행될 필요가 있음.
1.
유연 날개 모델이 적용된 날갯짓 비행체 해석 환경이 다양한 비행 조건에서 높은 정확성을 갖는 비정상 공력 해석을 수행할 수 있어야 함
2.
수 많은 비행 제어 시뮬레이션을 수행하기 위해서, 앞선 해석 환경의 해석 속도가 QS 공력 모델 해석 및 일반적인 강체 다물체동역학 해석 수준만큼 빨라져야 함
3.
명확한 보상 함수를 설계하고 이를 바탕으로 DNN 기반의 강화학습 환경을 구축해야 하며, 강화학습을 위한 신뢰성 있는 데이터 셋을 충분히 생성해야 함
•
이때 위의 내용 하나하나가 상당히 어렵고 시간이 많이 걸려서 현재에는 관련 연구를 수행하고 있지 않음
2. 깃털과 같은 날개를 현재에는 사용하지 않는 이유
•
아래 영상처럼 실제 새들의 깃털 구조는 공력에 의해 passive하게 변형되면서 양력 효율이 높아짐
⇒ Down-stroke 때 틈이 닫힘 & Up-stroke 때 틈이 열림
•
Festo의 BionicSwift가 위와 유사하게 동작하는 깃털 패턴 날개를 사용했고 이에 착안해서 우리도 한 번 시도 해봤음
•
당시 개발중이던 날갯짓 비행체인 Single-Joint Ornithopter (SJO)가 비행 실험을 할 때마다 거의 실패했음
⇒ 깃털 패턴이 없는 일반 날개를 사용했으며, 비행 제어가 아래 영상처럼 원활하게 수행되지 못함
⇒ 또한, SJO는 Plane Crank-Rocker 기반의 날갯짓 구동 메커니즘을 사용했는데, 날갯짓 주파수를 올리면 기어 트레인이 파손되기도 했음
(파손 영상 위치: [07] 학술 교류 자료\[13] Team of FWAV\[05] 사진 및 영상 자료\[02] SJO Ver 2.0\GX010041.mp4)
•
이때 앞선 깃털 패턴을 날개를 적용하면 더 잘 날 수 있지 않을까 해서 적용해봤지만, 일반 날개가 적용된 것보다 현저하게 양력이 부족해 보였고 바로 추락했음
(영상은 아쉽게도 없음)
•
개인적으로 생각하는 실패 원인 및 관련 날개를 지금 사용하지 않는 이유는 다음과 같음:
1. 깃털 패턴의 구조적 성능을 고려하지 않고 너무 임의로 제작했음, 이로 인해 깃털 패턴이 너무 유연해서 날갯짓 주파수가 높아졌을 때 유의미한 공력 자체를 생성하지 못했음
⇒ 각 깃털 조각마다 비틀림이 강성을 충분히 가질 수 있도록 rib 구조를 추가 해보는 것을 고려해볼만함
2. 깃털 패턴의 날개에 대한 비정상 공력 해석 환경을 구축하기가 어려움
⇒ 유연하게 변형되면서 깃털을 구조에 대해 공력 및 구조 격자를 어떻게 생성할 것인지…?
•
다만, 현재 개발되었고 지속적으로 개선 중인 KRoFalcon-S 기체의 경우, 나름 괜찮게 비행이 가능하기 때문에 이제는 깃털 패턴의 날개를 적용해봐도 괜찮을지도?
⇒ 얼마나 긴 여정이 될지는 장담 못함 ㅋㅋㅋ
3. 김대관 박사 학위 연구의 시뮬레이션과 ORNISP 시뮬레이션의 차이
•
질문 내용처럼 공력 모델로 MST를 사용하는지 UVLM을 사용하는지가 가장 큰 차이로 보임.
•
대략 차이를 적어보면 다음과 같음:
김대관 박사 학위 연구
1.
공력 모델: MST
•
UVLM과 비교하여 해석 속도가 매우 빠름
•
정확성이 떨어지며, 해석 정확성을 높이기 위한 튜닝 파라미터가 많음
2.
구조 모델: Beam 요소 프레임 + Lumped 질량으로 적용한 날개 시트
•
날개 시트가 날개 프레임에 해당하는 Beam 요소의 변형을 따라 동일하게 변형한다고 가정하여 불필요한 모드 형상 요소를 배제함
(날개 시트의 국소적인 변형 모드)
•
구조 모델이 날개 시트 강성의 영향을 반영하지 못하지만 해석 안정성이 높음
3.
시뮬레이션 환경: 자체 개발 코드 기반 환경
•
구축한 시뮬레이션 환경을 자유롭게 수정할 수 있음
•
솔버의 검증이 필요함
•
해석 하려는 모델이 크게 달라지면 새로운 모델링에 상당한 시간이 소요됨
ORNISP
1.
공력 모델: Modified UVLM
•
CFD 보단 빠르지만 MST와 비교하면 느림
•
MST 보다는 높은 신뢰성을 가짐 → 특정 상황에서 해석 안정성이 떨어지긴 함
2.
구조 모델: Beam 요소 프레임 + Shell 요소 날개 시트
•
날개 프레임에 해당하는 Beam 요소와 날개 시트에 해당하는 Shell 요소의 노드를 서로 결합시키고 모드 해석을 수행함으로써 날개 시트의 강성을 고려함
•
날개 시트의 강성에 따라 해석 안정성이 크게 달라짐
⇒ 너무 낮은 강성을 사용하면 날개의 변형이 비 현실적으로 나타남
3.
시뮬레이션 환경: 자체 개발 UVLM 코드 + RecurDyn 동역학 시뮬레이션 환경
•
구조 동역학 모델로 상용 소프트웨어인 RecurDyn을 사용하기 때문에 솔버 & 구조 모델 수정 자유도가 자체 개발 환경보다 떨어짐
•
검증된 유연다물체동역학 솔버가 사용됨
•
RecurDyn이 지원하는 범위 내에서 설계 파라미터를 자유롭게 바꿔가며 다양한 파라미터에 대한 모델링이 수월함
(Python ProcessNet을 이용한 자동 모델 생성 기능 등)
Mention for reply completion notification: @고형석