스마트무인기의 비행제어컴퓨터는 탑재장비와의 입/출력 신호처리, 비행제어법칙 연산 그리고 고장진단 및 이중화 기능 등이 구현된 비행운용프로그램이 탑재되어 있다. 비행운용프로그램은 PowerPC 755 프로세서와 VxWorks 5.5 실시간운영체제 환경에서 개발되었다. 비행운용프로그램은 메모리 참조 모듈, 탑재장비 입/출력 신호처리 모듈 그리고 비행제어법칙 모듈로 구성되었고 각각의 모듈은 계층 구조로 설계되었다. 메모리 참조 모듈과 신호처리 모듈은 벤치 테스트를 통해 검증되었고, 비행제어법칙 모듈은 시뮬레이션 시험, 지상통합시험, 안전줄 시험 그리고 비행시험을 통해 검증되었다. 본 논문에서는 비행운용프로그램의 개발환경, 소프트웨어 구조 그리고 검증 및 관리방법에 대해서 기술하였다.
스마트무인기의 비행제어컴퓨터는 탑재장비와의 입/출력 신호처리, 비행제어법칙 연산 그리고 고장진단 및 이중화 기능 등이 구현된 비행운용프로그램이 탑재되어 있다. 비행운용프로그램은 PowerPC 755 프로세서와 VxWorks 5.5 실시간운영체제 환경에서 개발되었다. 비행운용프로그램은 메모리 참조 모듈, 탑재장비 입/출력 신호처리 모듈 그리고 비행제어법칙 모듈로 구성되었고 각각의 모듈은 계층 구조로 설계되었다. 메모리 참조 모듈과 신호처리 모듈은 벤치 테스트를 통해 검증되었고, 비행제어법칙 모듈은 시뮬레이션 시험, 지상통합시험, 안전줄 시험 그리고 비행시험을 통해 검증되었다. 본 논문에서는 비행운용프로그램의 개발환경, 소프트웨어 구조 그리고 검증 및 관리방법에 대해서 기술하였다.
The operational flight program(OFP) which has the functions of I/O processing with avionics, flight control logic calculation, fault diagnosis and redundancy mode is embedded in the flight control computer of Smart UAV. The OFP was developed in the environment of PowerPC 755 processor and VxWorks 5....
The operational flight program(OFP) which has the functions of I/O processing with avionics, flight control logic calculation, fault diagnosis and redundancy mode is embedded in the flight control computer of Smart UAV. The OFP was developed in the environment of PowerPC 755 processor and VxWorks 5.5 real-time operating system. The OFP consists of memory access module, device I/O signal processing module and flight control logic module, and each module was designed to hierarchical structure. Memory access and signal processing modules were verified from bench test, and flight control logic module was verified from hardware-in-the-loop simulation(HILS) test, ground integration test, tethered test and flight test. This paper describes development environment, software structure, verification and management method of the OFP.
The operational flight program(OFP) which has the functions of I/O processing with avionics, flight control logic calculation, fault diagnosis and redundancy mode is embedded in the flight control computer of Smart UAV. The OFP was developed in the environment of PowerPC 755 processor and VxWorks 5.5 real-time operating system. The OFP consists of memory access module, device I/O signal processing module and flight control logic module, and each module was designed to hierarchical structure. Memory access and signal processing modules were verified from bench test, and flight control logic module was verified from hardware-in-the-loop simulation(HILS) test, ground integration test, tethered test and flight test. This paper describes development environment, software structure, verification and management method of the OFP.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
각각의 함수는 단위시험을 통해 먼저 검증되었고, 모듈 단위로 통합하여 검증시험이 수행되었다. 그리고 비행제어컴퓨터의 채널과 비행체 호기에 따라 다르게 운용되는 비행운용프로그램의 형상관리 방법에 대해서 설명하였다.
비행제어컴퓨터에는 틸트로터 제어기술 뿐 아니라 각종 탑재장비와의 입/출력 신호처리 기능, 고장진단 기능 그리고 이중화 기능이 구현된 비행운용프로그램이 탑재되어 있고, 소프트웨어 구조는 40% 축소형 비행체 개발 경험[1-3]을 바탕으로 설계되었다. 본 논문에서 스마트무인기를 위해 개발된 비행운용프로그램의 개발환경, 소프트웨어 구조 그리고 검증 및 관리방법에 대해서 전반적으로 기술하였다.
제안 방법
공유데이터 참조함수는 초기 값을 갖는 바이너리 세마포어가 이용되었다. 공유데이터 참조 시 세마포어를 얻은 후 반환 하는 구조로 설계되었고 읽기함수와 쓰기함수가 각각 구현되었다. 공유데이터는 256개의 크기를 갖는 double형 배열 변수가 각각 사용되었다.
프로세서의 부하를 측정하기 위하여 VxWorks API에서 제공하는 spyLib를 이용하였다[6,7]. 그리고 별도의 시험 프로그램을 이용하여 공유데이터 참조를 위해 사용되는 함수호출 및 세마포어 사용에 대한 분석을 수행하였다. 세마포어를 2,000회 정도 사용하는 비행운용프로그램에서는 약 15%의 CPU 부하가 측정되었다.
디바이스 드라이버 역할을 수행하는 메모리 참조 모듈은 메모리 읽기/쓰기가 정상적으로 수행되어 비행제어컴퓨터의 모든 채널에 대한 전기적 신호가 정상 동작하는 것을 검증하여야 한다. 메모리 참조 모듈은 비행운용프로그램 동작주기에 따라 메모리 관련 읽기/쓰기 함수의 반복 호출 시험을 통해 채널 별 전기적 신호의 정상동작 여부를 확인하여 검증 되었다. 메모리 참조 모듈에 대한 검증시험 단계에서는 비행제어컴퓨터 외부 커넥터에서 전기적 루프백(loopback) 방식이 주로 이용되었다.
CPU 보드의 RS-232 포트에 하이퍼 터미널을 연결하여 디버깅 작업 시 이용되었고, VxWorks API에서 제공하는 spyLib는 비행운용프로그램의 성능평가에 이용되었다. 비행운용프로그램의 개발 및 검증은 토네이도의 타켓 쉘을 이용하여 RAM모드에서 수행되었고, 최종적으로 검증된 비행운용프로그램의 이미지는 플래시메모리에 올린 후 지상 및 비행시험에 이용되었다.
비행운용프로그램에는 비행제어컴퓨터 채널 별이중화 기능과 비행체 호기에 따라 별도로 관리되는 작동기 보정 식이 구현되어 있다. 비행운용프로그램의 소스코드와 생성된 이미지 파일을 통합 관리하기 위하여 비행체 식별 번호와 비행제어컴퓨터 채널 번호가 관리되는 두 개의 환경 변수가 비휘발성 메모리에 기록되었다. 환경 변수는 비행운용프로그램이 시작 될 때 비행제어컴퓨터의 비휘발성 메모리를 참조하여 설정된다.
또한 시스템의 신뢰도를 높이기 위하여 비행제어컴퓨터, 항법센서, 작동기제어기 그리고 통신장비는 이중화 시스템으로 구성되었다. 비행제어컴퓨터에는 틸트로터 제어기술 뿐 아니라 각종 탑재장비와의 입/출력 신호처리 기능, 고장진단 기능 그리고 이중화 기능이 구현된 비행운용프로그램이 탑재되어 있고, 소프트웨어 구조는 40% 축소형 비행체 개발 경험[1-3]을 바탕으로 설계되었다. 본 논문에서 스마트무인기를 위해 개발된 비행운용프로그램의 개발환경, 소프트웨어 구조 그리고 검증 및 관리방법에 대해서 전반적으로 기술하였다.
탑재장비모사컴퓨터는 실제 비행체에 탑재되는 모든 장비의 입/출력 신호를 모사하는 기능과 송신 데이터를 구성하고 수신 데이터를 분석하는 기능이 구현되어 있다. 탑재장비모사컴퓨터를 이용하여 비행제어컴퓨터에 연결되는 모든 탑재장비와의 실시간 데이터 통신 시험이 가능하기 때문에 입/출력 신호처리 모듈에서 발생하는 최대 부하조건에 대한 시험도 수행되었다.
대상 데이터
비행제어법칙 모듈은 한 개의 세마포어가 사용되었고 입/출력 신호처리 모듈은 파일 기반으로 총 10개의 세마포어가 사용되었다. 공유데이터 참조함수는 초기 값을 갖는 바이너리 세마포어가 이용되었다. 공유데이터 참조 시 세마포어를 얻은 후 반환 하는 구조로 설계되었고 읽기함수와 쓰기함수가 각각 구현되었다.
공유데이터 참조 시 세마포어를 얻은 후 반환 하는 구조로 설계되었고 읽기함수와 쓰기함수가 각각 구현되었다. 공유데이터는 256개의 크기를 갖는 double형 배열 변수가 각각 사용되었다. 이러한 구조는 각각의 공유데이터를 참조 하기위하여 함수를 여러 번 호출하여 프로세서의 부하가 발생할 수 있다.
비행운용프로그램에서는 파일 및 모듈 구조를 기반으로 세마포어를 사용한 데이터 참조 함수가 추가 되었다. 비행제어법칙 모듈은 한 개의 세마포어가 사용되었고 입/출력 신호처리 모듈은 파일 기반으로 총 10개의 세마포어가 사용되었다. 공유데이터 참조함수는 초기 값을 갖는 바이너리 세마포어가 이용되었다.
데이터처리
비행제어법칙 모듈은 스마트무인기 비선형운동모델 컴퓨터를 이용한 HILS 시험평가를 통해 검증되었다. HILS 시험환경을 구성하기 위하여 비행운용프로그램에는 별도의 HILS 모듈이 추가되었다.
이론/모형
HILS 시험평가는 비행제어법칙 모듈의 기능 및 성능시험을 위해 수행된다. 비행제어법칙 모듈이 수정되면 수정 부분에 대한 기능과 성능시험이 제어법칙 및 비행운용프로그램 개발자에 의해 먼저 수행된다.
환경 변수는 비행운용프로그램이 시작 될 때 비행제어컴퓨터의 비휘발성 메모리를 참조하여 설정된다. 비행체 식별 번호는 비행제어법칙 모듈의 이득 값 관리 모듈에서 사용된다. 비행체 식별 번호에 해당되는 이득 값 테이블은 이득 값 관리 모듈에서 참조되고 각각의 작동기 보정 식에 적용된다.
프로세서의 부하를 측정하기 위하여 VxWorks API에서 제공하는 spyLib를 이용하였다[6,7]. 그리고 별도의 시험 프로그램을 이용하여 공유데이터 참조를 위해 사용되는 함수호출 및 세마포어 사용에 대한 분석을 수행하였다.
성능/효과
스마트무인기의 비행운용프로그램은 실시간운영 체제 환경에서 신호처리 수준, 탑재장비 기능, 임무 및 제어법칙 수준, 태스크 실행우선순위, 공유데이터 참조 등을 고려하여 계층 및 모듈화 구조로 설계 및 구현되었고, 150회 이상의 비행과 누적 40시간 이상의 비행시간을 통해 기능, 성능 그리고 신뢰성이 검증되었다. 검증된 소프트웨어 구조 및 모듈이 향후 KARI의 차세대 무인기 프로젝트에 적용된다면 비행운용프로그램 개발 및 검증을 좀 더 효율적으로 수행할 수 있을 것으로 기대한다.
함수호출 영향성 분석을 위한 시험 프로그램에서 세마포어를 10,000회 사용 시 약 35%의 CPU 부하가 측정되었고, 세마포어를 래퍼(wrapper) 함수로 구성하여 10,000회 사용 시 약 38%의 CPU 부하가 측정되었다. 함수 호출에 의해 발생하는 추가적인 CPU 부하는 전체의 3% 미만이기 때문에 비행운용프로그램에서 사용하는 공유데이터 처리 방식에 큰 문제가 없음을 확인 하였다. 비행운용프로그램 및 세마포어 사용에 대한 CPU 부하 측정 결과는 Fig.
세마포어를 2,000회 정도 사용하는 비행운용프로그램에서는 약 15%의 CPU 부하가 측정되었다. 함수호출 영향성 분석을 위한 시험 프로그램에서 세마포어를 10,000회 사용 시 약 35%의 CPU 부하가 측정되었고, 세마포어를 래퍼(wrapper) 함수로 구성하여 10,000회 사용 시 약 38%의 CPU 부하가 측정되었다. 함수 호출에 의해 발생하는 추가적인 CPU 부하는 전체의 3% 미만이기 때문에 비행운용프로그램에서 사용하는 공유데이터 처리 방식에 큰 문제가 없음을 확인 하였다.
후속연구
스마트무인기의 비행운용프로그램은 실시간운영 체제 환경에서 신호처리 수준, 탑재장비 기능, 임무 및 제어법칙 수준, 태스크 실행우선순위, 공유데이터 참조 등을 고려하여 계층 및 모듈화 구조로 설계 및 구현되었고, 150회 이상의 비행과 누적 40시간 이상의 비행시간을 통해 기능, 성능 그리고 신뢰성이 검증되었다. 검증된 소프트웨어 구조 및 모듈이 향후 KARI의 차세대 무인기 프로젝트에 적용된다면 비행운용프로그램 개발 및 검증을 좀 더 효율적으로 수행할 수 있을 것으로 기대한다.
질의응답
핵심어
질문
논문에서 추출한 답변
틸트로터 비행체는 무엇인가?
한국항공우주연구원(KARI)에서 개발된 스마트 무인기는 550마력의 터보샤프트 엔진이 장착되어 최대속도 500km/h와 체공시간 5시간의 성능을 목표로 개발된 1톤급 틸트로터 비행체이다. 틸트로터 비행체는 회전익 모드뿐 아니라 고정익 모드에서도 비행이 가능하기 때문에, 수직이착륙 기능과 고속비행 성능을 필요로 하는 육상 및 해상임무에 최적화된 비행체이다. 스마트무인기의 비행형상은 Fig.
틸트로터 비행체의 비행모드 전환 기능은 어떻게 구현 가능한가?
1에 보였다. 틸트로터 비행체의 비행모드 전환 기능은 로터가 장착된 나셀의 장착 각도를 비행속도에 맞게 안정적으로 회전시키는 틸트로터 제어기술로 구현이 가능하다. 틸트로터 제어기술은 지상명령체계와 탑재센서정보를 기반으로 비행제어컴퓨터에서 계산되고, 계산결과는 작동기제어기로 전송되어 비행체의 조종면을 동작시킨다.
공유데이터 구조의 장점은 무엇인가?
이러한 구조는 각각의 공유데이터를 참조 하기위하여 함수를 여러 번 호출하여 프로세서의 부하가 발생할 수 있다. 그러나 다 수의 장비가 연결되어 있는 스마트무인기 비행제어컴퓨터의 입/출력 처리를 효율적으로 관리할 수 있는 장점이 있다. 비행운용프로그램에서 사용되는 공유데이터 참조 함수에 대한 호출 횟수를 분석한 결과는 Table 5에 보였다.
참고문헌 (7)
Park, B. J., Kim, S. P., Kang, Y. S. and Yoo, C. S., 2007.4, "Development of Operational Flight Program for Small-Scaled Smart UAV", The Korean Society for Aeronautical and Space Sciences, pp. 484-487.
Park, B. J., Kim, S. P., Kang, Y. S. and Yoo, C. S., 2007.4, "Operational Flight Program Optimization for Small-Scaled Tiltrotor Aircraft", The Korean Society for Aeronautical and Space Sciences, pp. 1268-1271.
Yoo, C. S., Park, B. J., and Kang, Y. S., 2008.8, "Evaluation of Operational Flight Program in Tilt Rotor UAV", AIAA Guidance, Navigation and Control Conference and Exhibit, Honolulu, Hawaii.
Park, B. J., Yoo, C. S., Cho, A., Kang, Y. S. and Koo, S. O., 2012.11, "Development of HILS System for Collision Avoidance Test of Smart UAV", The Korean Society for Aeronautical and Space Sciences, pp. 715-720.
Park, B. J., Kang, Y. S., Cho, A., Chang, S. H. and Yoo, C. S., 2012.4, "Development of HILS System for Camera Guidance Mode Test of Smart UAV", The Korean Society for Aeronautical and Space Sciences, pp. 500-505.
"VxWorks Programmer's Guide, 5.5," Wind River Systems Inc., 2002.
"Tornado User's Guide, 2.2," Wind River Systems Inc., 2002.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.