Tech Story/QuadCopter

DJI F450기반 쿼드콥터(4) - GCS 환경설정 및 Flying

슈퍼맨짱 2020. 12. 19. 20:19

DJI F450기반 쿼드콥터(4) - GCS 환경설정 및 Flying

 

DJI F450 기반 쿼드콥터 GCS 설정방법

● DJI F450기반 쿼드콥터(1) - 부품 설명

● DJI F450기반 쿼드콥터(2) - 조립정보 및 조립순서

 DJI F450기반 쿼드콥터(3) - Pixhawk 드론 DJI F450 연결

 

 DJI F450기반 쿼드콥터(4) - GCS 환경설정 및 Flying

 

 

1. MissionPlanner

1) 다운로드 : https://firmware.ardupilot.org/Tools/MissionPlanner/

2) 설정방법(원영상) : https://youtu.be/2z6hNdNp8i0

00:00 GCS 설치 및 초기 Firware 업데이트(usb)

04:55 텔레메트리 연결

06:05 프레임 유형 셋팅

06:25 무선교정(조종기 캘리브레이션)

11:00 ESC(변속기) 캘리브레이션

13:40 가속도 교정

15:25 나침반 교정

**19:05 단축키 Ctrl+F 

19:42 비행모드설정

21:05 안정장치

21:37 (옵션하드웨어) 배터리 알림창

24:10 (옵션하드웨어) 모터테스트

25:20 기체 움직임 전체 확인(기울기 및 비행화면)

25:40 기본 에러메세지 확인

27:04 Arming방법/스로틀값셋팅

27:50 구성/튜닝 > 전체 매개변수 리스트 설정

29:55 안전스위치 제외방법

32:03 최초 비행테스트

34:15 호버링

 

 

 

 

2. QGroundControl

1) 다운로드 : http://qgroundcontrol.com/downloads/

2) 설정방법(원영상) : https://youtu.be/0JOwODzGNoQ

 

 

 

 


 


▶ QGroundControl or Mission Planner 설치

[노트북에 설치]
QGroundControl 
 https://docs.qgroundcontrol.com/en/getting_started/download_and_install.html

Mission Planner ▶ 

http://firmware.ardupilot.org/Tools/MissionPlanner/노트북과 Pixhawk를 연결(USB to TTL)하여 기본적인 셋팅과 인식에 문제가 없는지 점검합니다.

※ 각종 GCS(Ground Control Stations)에 대한 설명 http://ardupilot.org

 

[라즈베리파이에 QGroundControl 설치]

※ 사전에  ROS, Gazebo등이 설치되어 있어야 합니다.

QGround사이트에서 다운받은 해당 파일이 64비트용으로 되어 있어 아래와 같은 메세지가 나오면서 설치가 안됩니다('18.1.1기준)

 

 

 

라즈베리파에 설치하기 위해서는 QTCreator를 이용하여 QGround를 컴파일하여 구동하는 방법이 있는데, QTCreator를 이용하여 컴파일하기 위해서는 QT가 5.9버전 이상이어야 가능한데 이 또한 하위 버전으로 실행이 안됩니다.

 

아무리 찾아봐도 방법을 찾지 못하다가 우연히 찾은 사이트에서 해결 방법을 찾았습니다.

 

설치 Package & 순서

 Qt5 최신 설치 ▶ QGroundControl 소스 다운로드 ▶ QtCreator를 이용하여 build구성

 

 

◆ Qt5 설치방법/순서

(참조사이트 : https://wiki.qt.io/Native_Build_of_Qt5_on_a_Raspberry_Pi)

 # Instruction  Command 
 1  Native Build of Qt5 on a Raspberry Pi
(라즈에 Qt5 빌드하기)
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get install libfontconfig1-dev libdbus-1-dev libfreetype6-dev libudev-dev libicu-dev libsqlite3-dev
libxslt1-dev libssl-dev libasound2-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev
libgstreamer-plugins-base0.10-dev gstreamer-tools gstreamer0.10-plugins-good gstreamer0.10-plugins-bad
libraspberrypi-dev libpulse-dev libx11-dev libglib2.0-dev libcups2-dev freetds-dev libsqlite0-dev libpq-dev
libiodbc2-dev libmysqlclient-dev firebird-dev libpng12-dev libjpeg9-dev libgst-dev libxext-dev libxcb1 libxcb1-dev
libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0
libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync1 libxcb-sync-dev libxcb-render-util0
libxcb-render-util0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-glx0-dev
libxi-dev libdrm-dev libssl-dev libxcb-xinerama0 libxcb-xinerama0-dev 
 2 빌드 디렉토리 만들기
및 소스 다운받기
# sudo mkdir /opt
# cd /opt
git clone git://code.qt.io/qt/qt5.git 
 3  컴포넌트 구성 # cd /opt/qt5
# sudo ./init-repository 
※ 리포지토리 구성시 상당한 시간이 진행되니 라즈베리파이 전원이 꺼지지 않도록 주의할것
 4  환경설정 # cd /opt/qt5
# sudo vi qtbase/configure  
-----------------------------------------------------------------------------
해당 파일에 아래의 사항을 확인해서 수정하세요(안해도 됩니다)


# flags for raspberry pi build
# flags for libdbus-1
QT_CFLAGS_DBUS="-I/usr/include/dbus-1.0/ -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/"
QT_LIBS_DBUS=-ldbus-1


# flags for Glib (X11 only)
QT_CFLAGS_GLIB="-I/usr/include/glib-2.0/ -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include/"
QT_LIBS_GLIB=-lglib-2.0


QT_CFLAGS_PULSEAUDIO="-I/usr/include/glib-2.0/ -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include/"
QT_LIBS_PULSEAUDIO="-lpulse -lpulse-mainloop-glib"


# flags for GStreamer (X11 only)
QT_CFLAGS_GSTREAMER="-I/usr/include/gstreamer-0.10/ -I/usr/include/glib-2.0/ -I/usr/lib/arm-linux-
gnueabihf/glib-2.0/include/ -I/usr/include/libxml2/"
QT_LIBS_GSTREAMER=


QT_CFLAGS_FONTCONFIG=-I/usr/include/freetype2/

 5  컴파일 환경구성 # cd /opt/qt5
# sudo  ./configure -v -opengl es2 -device linux-rasp-pi-g''+ -device-option CROSS_COMPILE=/usr/bin/ -opensource -confirm-license -optimized-qmake -reduce-exports -release -qt-pcre -make libs -prefix /usr/local/qt5 &> output 
※ 많은 시간이 소요됩니다.
 6  컴파일 및 설치  #5의 컴파일 환경 구성이 끝나면 커멘트 명령어가 나옵니다.
# sudo make 
# sudo make install
※ 시간이 상당히 소요됩니다. long-long-long time....
   라즈베리파이에 연결된 터미널이나 원격데스크탑이 끊기지 않도록 하는게 중요합니다

 


◆ QTCreator를 이용하여 QGroundControl 설치방법/순서

- qgroundcontrol 소스 : https://github.com/mavlink/qgroundcontrol

- 컴파일 참조사이트 : https://www.skydronex.com/compiling-qgroundcontrol-raspberry-pi-raspbian

 Instruction   Command
 1  GCC 설정 QTCreator를 우분투에서 실행한다
TOOLS > OPTIONS... > COMPILE 선택
GCC 추가





 2  Qt5 설정 TOOLS > OPTIONS... > Qt Versions 선택
새로 설치한 Qt 설정




Kits에서 정확히 설정되어 있는지 확인



 3 Qt Help remote   Help > About Plugins... > Remote Linux 체크 제거




그리고, QtCreator를 재실행합니다.

 QGroundcontrol
소스받기
# git clone git://github.com/mavlink/qgroundcontrol.git
# cd qgroundcontrol

# git submodule init
# git submodule update
 5 컴파일  File > Open File or Project > 다운로드 받은 소스 디렉토리에서 qgroundcontrol.pro 파일 선택
QTCreator아래에 메세지를 확인하면 된다



 6    

 

 

1)

QT 5.9+이상 다운로드 설치(https://www.qt.io/download-thank-you?os=linux32)(wget http://download.qt.io/official_releases/online_installers/qt-unified-linux-x86-online.run)후 라즈베리파이에서 QTCreator를 이용하여 QGround 컴파일(https://www.skydronex.com/compiling-qgroundcontrol-raspberry-pi-raspbian/)

 

https://docs.qgroundcontrol.com/en/getting_started/download_and_install.html[QT]

http://webnautes.tistory.com/1120

[QGroundControl]https://diydrones.com/profiles/blogs/qgroundcontrol-4-linux-ubuntu-13-04-64-bits

http://www.realhanbit.co.kr/books/27/pages/305/preview

*https://www.skydronex.com/compiling-qgroundcontrol-raspberry-pi-raspbian/

https://dev.px4.io/kr/setup/dev_env_linux_ubuntu.html

https://wiki.qt.io/Native_Build_of_Qt5_on_a_Raspberry_Pi

가제보 설치 : http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install*https://www.youtube.com/watch?v=uJdwTjB_iGghttps://wiki.ubuntu.com/ARM/RaspberryPi/RaspberryPi3(라즈베리파이 wifi안될때 https://wiki.ubuntu.com/ARM/RaspberryPi#WiFi)

 라즈베리파이(Ubuntu 16.04 MATE)에 QGroundControl 설치가 안됩니다.

※ 사전에  ROS, Gazebo등이 설치되어 있어야 합니다.

QGround사이트에서 다운받은 해당 파일이 64비트용으로 되어 있어 아래와 같은 메세지가 나오면서 설치가 안됨('18.1.1기준).

- QtCreator를 이용하여 QGroundControl 소스(https://github.com/mavlink/qgroundcontro)를 다운받아 빌드도 안됨 

※ Qt5 최신버전(https://www.qt.io/download-thank-you?os=linux32)은 Rpi 16.04에서는 컴파일(https://wiki.qt.io/Native_Build_of_Qt5_on_a_Raspberry_Pi) 됨(상당시간이 소요됨 거의 8시간 이상)

 

- Qt5설치후 QtCreator 빌드(https://www.skydronex.com/compiling-qgroundcontrol-raspberry-pi-raspbian)했으나 실패