qgroundcontrol(이하 qgc)은 px4를 사용하기 위한 필수 GCS프로그램이다.
Missionplanner와 달리 qgc는 멀티 플랫폼을 겨냥하여 만들어졌기 때문에 윈도우 뿐 아니라 리눅스, 맥, 심지어 모바일 플랫폼을 가리지 않고 실행할 수 있다.
이게 가능한것은 qgc가 qt라는 강력한 멀티플랫폼 개발 도구를 사용하여 개발되었기 때문이다.
GUI가 포함된 프로젝트는 플랫폼에 따라 호환성 문제가 많은데 qt 를 사용하면 큰 어려움 없이 다양한 기기에 포팅할 수 있어서 많이 사용되고 있다.
이게 굉장히 편리하기때문에 Px4의 강점이라고 할 수 있다.
그럼 이번에는 이 qgc를 build 하는 방법을 알아보자.
본인이 사용하고있는 컴퓨터가 mac 이므로 mac os를 기준으로 설명한다.
역시 자세한 설명은 qgc깃허브에 나와있다.
여기를 참조한다.
https://github.com/mavlink/qgroundcontrol
1. 소스코드 가져오기
git 명령어를 사용하여 소스코드를 원하는 폴더에 clone 한다.
터미널 창에 다음을 입력한다.
git clone https://github.com/mavlink/qgroundcontrol.git ./폴더이름
2. xcode 설치하기
맥에서 qt를 사용하기 위해서는 xcode라는 mac 전용 컴파일 환경이 필요하다. 만약 이게 설치되어 있다면 3으로 넘어가도 좋다.
xcode는 다음에서 받을 수 있다.
https://developer.apple.com/xcode/
현재 최신 버전은 8 이고 단순히 설치만 해서는 안되고 개발자 profile을 생성해야 한다.
설치가 완료되면 xcode를 실행하고
상단 메뉴에서 Xcode ->Preferences 를 열고 두번째 탭에 있는 Account에서 본인의 Apple ID 를 넣어야 한다.
만약 없다면 계정을 만들어서 선택한다.
오른쪽 화면에 Team 을 선택하고 View Detail 을 누르면 Signing Identities가 있는데 여기서 개발할 수 있는 항목을 선택한다.
아마도 iOS Development와 Mac Development만 선택 가능할 것이다.
이렇게 되면 일단은 xcode를 사용할 수 있게 된 것이다.
하지만 보다 확실하게 되는지 확인하기 위해서 간단한 콘솔 프로그램 개발 프로젝트를 만들어서 build 해볼 수 있다.
3. qt 설치하기
qt는 프로그램을 빌드하기 위한 환경이다. eclipse와 유사하나 qgc프로젝트 자체가 qt에 기반하고 있으므로 반드시 필요하다.
최신 버전은 5.8+인데 아직까지는 5.5.1만을 지원한다고 하므로 아래 링크에서 다운받도록 한다.
https://download.qt.io/archive/qt/5.5/5.5.1/
5.5.1 버전에서 빌드에 문제가 있어서(실행하면 하얀색 화면만 나오고 동작하지 않음) 문의해본 결과 2017/3/17 현재 qt 5.7.1 로 업데이트가 진행되었다고 한다.
아래 링크의 답변 참조
https://groups.google.com/forum/#!topic/qgroundcontrol/VeObMACR1T4
qt 5.7.1 버전은 아래 링크에서 다운로드 받는다.
https://download.qt.io/archive/qt/5.7/5.7.1/
설치 완료 후 설치된 폴더에서 QTCreator 를 실행한다.
qgc 소스코드 root 폴더에 있는 qgroundcontrol.pro 파일을 열어서 프로젝트를 추가한다.
4. Build 하기
아래 문제는 qt 5.7.1에서 없어진듯 하다.
이때 프로젝트 파일에 접근하려고 하면 다음과 같은 오류를 내뿜으며 열리지 않는 경우가 있다.
Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.
이것은 qt5.5.1 개발 환경이 Xcode 5를 기본으로 하고 있는데 XCode 6 이후로 넘어오면서 xcrun 이 xcodebuild 로 변경되었는데
qt에서 xcrun을 찾으려고 하기 때문이라고 한다.
아래 링크를 보고 해당 파일을 변경해야 한다.
해결 방법은 아래 파일을 텍스트 에디터로 열고
QT설치 폴더/5.5/clang_64/mkspecs/features/mac/default_pre.prf
아래 부분을
isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))
다음과 같이 변경해준다.
isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))
변경 후 qt를 다시 실행해 본다.
QT Creator->Preferences에서 다음과 같이 Kit 를 선택한다.
아마도 기본으로 Desktop Qt 5.7.1 clang 64bit 가 선택되어 있을 것이다.
OK를 누르고 IDE 메인화면 좌측 하단의 망치 그림을 눌러 Build 한다.
GStream 오류
경우에 따라 gst/gst.h 가 없다는 에러 메세지가 뜰 수 있다. 이것은 GStreamer 가 설치되어 있지 않은 경우이므로 다음의 설명을 따라 올바른 패키지를 설치하도록 한다.
아래 링크에 mac 에서 설치하는 방법이 나와있는데 이걸 몰라서 한참을 해맸다.
https://github.com/mavlink/qgroundcontrol/tree/master/src/VideoStreaming
설치 후에 PATH까지 업데이트 하면 정상적으로 빌드가 될것이다.
export PATH=$PATH:/Library/Frameworks/GStreamer.framework/Commands
처음 빌드하는 경우 10분에서 13분 정도 빌드 시간이 걸린다.
아래 그림처럼 실행되면 성공이다.
3/18/2017에 최종 수정됨.
'Drone' 카테고리의 다른 글
PX4 QTCreator 에서 Build 하기 (0) | 2017.04.24 |
---|---|
Amimon 영상 전송장치 전원 테스트 (0) | 2017.03.25 |
Hobbyking Bixler 무인기 프로젝트[Part.1] (0) | 2017.01.04 |
MicroSD 벤치마크 (0) | 2016.12.15 |
PX4의 시작음 변경하기 (1) | 2016.10.16 |