Labview와 AVR을 이용한 비행 시뮬레이션 [마이크로컨트롤러] Labview와 AVR을 이용한 비행 시뮬레이션
순 서 프로그램 설계 동기 프로그램 설명 및 진행상황 보완점 및 차후 추진방향
1. 시스템 설계 동기 설계동기는 기존 YouTube에 있던 동영상에서 아이디어를 얻었습니다. 동영상에서는 Labview를 이용해 컴퓨터 마우스를 이용해 기체를 조정합니다. 6-axis 3D Modeling using LabVIEW by INFINITY WIRELESS
1. 시스템 설계 동기 최종 적으로 동영상과 같이 Labview를 이용하지만 가지고 있는 AVR키트 두 개와 3축 가속도 센서, 그리고 RF모듈을 이용해 무선으로 시뮬레이션을 하는 프로그램을 목표로 잡았습니다. RF module Labview 3axis acc. sensor 3축 센서 이용 무선 비행 시뮬레이션 프로그램 atmega128
2. 프로그램 설명 및 진행상황 진행단계 E-campus에 올라온 예제를 이용하여 먼저 Labview에서 3D 모형을 X-Y축으로 움직이는 것이 보이도록 프로그램을 만들었습니다.
2. 프로그램 설명 및 진행상황 이번 단계에서 AVR과 통신을 하는 while구조 안에 RMS평균을 이용해 노이즈를 줄이고 부드러운 움직임을 나타내려 하였습니다. 그러나 통신 while구조에 다른 프로그램을 넣으면 안 된다는 교수님의 말씀과, 노이즈가 있을 때마다 3D 모델이 움찔 거리는 현상 남아 있었습니다.
2. 프로그램 설명 및 진행상황 노이즈의 해결 방법으로 일정크기 (30개로 하였음)의 데이터를 배열에 넣어 최대값과 최소값 일부를 잘라내고 남은 데이터들의 RMS를 구하여 3D 모델의 움직임에 이용하였습니다. 반응도가 조금 떨어지지만 노이즈에 확실하게 강해져 3D모델의 움직임이 매우 부드러워졌습니다.
2. 프로그램 설명 및 진행상황 통신이 이루어지는 while구조와 분리하여 그래프와 3D 모델과 같은 작업을 하는 while 구조를 추가 하였습니다. while구조를 처음엔 그래프 및 RMS계산과 3D 모델을 다른 while구조로 만들었으나 컴퓨터가 버벅거리는 현상이 있어 하나의 while구조로 합쳤습니다.
2. 프로그램 설명 및 진행상황 센서 값을 ±90˚의 3D모델 회전 값으로 바꾸는 Sub vi를 작성하여 사용 하였습니다. Calibration 기능을 추가해 Sub vi에 사용할 센서의 초기값 설정을 하도록 설정 하였습니다.
2. 프로그램 설명 및 진행상황 AVR은 기존의 3축 가속도 센서와 labview에서 데이터를 주고 받던 과정에 추가 RF통신을 이용한 통신을 추가 할 계획이었습니다. 하지만 RF통신으로 데이터를 받아서 labview로 넘기는 프로그램을 완벽하게 구현하지 못하였습니다. (소스코드는 완성된 송신부의 소스코드만 첨부하였습니다.) RF통신간 알고리즘 센서값을 ASCII 코드 14글자로 쪼개어서 보내어 수신부에서 다시 세자리의 XYZ값으로 조합하여 다시 Labview와 데이터를 주고받는다. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 자리번호 # # X Y Z \r 데이터 시작 X값 Y값 Z값 끝 데이터 의미
2. 프로그램 설명 및 진행상황 현재까지 완성된 프로그램 -프런트 패널 기본적인 데이터 표시
2. 프로그램 설명 및 진행상황 현재까지 완성된 프로그램 -프런트 패널 노이즈제거된 센서 값 그래프와 실제 값과의 데이터 비교
2. 프로그램 설명 및 진행상황 현재까지 완성된 프로그램 -프런트 패널 처리한 센서 값으로 시뮬레이션을 실행
2. 프로그램 설명 및 진행상황 현재까지 완성된 프로그램 -블록 다이어그램 통신부분은 예제와 비슷하며 크게 바뀐 점은 없다.
2. 프로그램 설명 및 진행상황 현재까지 완성된 프로그램 -블록 다이어그램 데이터 처리와 데이터 이용 3D모델과 HUD부분 그림 동작
2. 보완점 및 차후 추진 방향 프로그램의 완성이 덜되었다. AVR은 RF통신 수신부 프로그램이 미완성 상태이고 Labveiw는 시뮬레이션을 위한 3D모델은 완성했지만 동영상과 같이 모델이 움직이는 효과를 주는 배경과 주변 그림은 미완성 상태이다. 비행기의 움직임을 시뮬레이션 하기엔 3축 가속도 센서로는 한계가 있다. 3축 가속도 센서에 자이로 센서를 더하여 6축 센서를 활용하여야 더욱 정밀한 비행기의 자세와 위치, 가속도를 시뮬레이션 하여 제어할 수 있을 것이다. 무선통신을 이용 쿼드콥터 같은 모델에 부착하여 추가적인 데이터를 얻을 수 있을 것이다. 무선통신을 이용 센서를 이용한 모델의 자세제어뿐만 아니라 센서 값을 이용하여 모델의 위치 및 경로추적과 현재 속도 같은 운항 데이터를 얻는데 사용 할 수 있다.
Q & A