qgroundcontrol 4 Linux Ubuntu 13.04 and 14.04 64 bits

3689556858?profile=original

Compile and run qgroundcontrol  for Linux Ubuntu .

Perquisites:

Open a terminal and check the followings:

# ubuntu version

cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.04
DISTRIB_CODENAME=raring
DISTRIB_DESCRIPTION="Ubuntu 13.04"


# compiler (gcc and g++) versions (should be 4.7.X or greater)

g++ --version
g++ (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
gcc --version

gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3

#install following packages (qt,regex,sdl,osg,osgearth,osg phonon...I hope they are all)

sudo apt-get update

sudo apt-get install build-essential

sudo apt-get install libopenscenegraph-dev

sudo apt-get install regexxer

sudo apt-get install libsdl1.2-dev

sudo apt-get install flite-dev

sudo apt-get install libosgViewer

sudo apt-get install libosgearth-dev

sudo apt-get install libphonon(4)   # try with 4 or without

sudo apt-get install phonon-backend-gstreamer

sudo apt-get install qt4-default

sudo apt-get install libqt4-dev (optional)

#(I don't know if this is mandatory, I just have it in history)

sudo apt-get install  libglade2.0-cil-dev 

sudo apt-get install  git

Repos:

# get the sources for mavlink from git, and build it

git clone https://github.com/mavlink/mavlink

cd mavlink

mkdir build

cd  build

cmake ..   #<----------------------------correction from qmake ..

make configure  

make

sudo make install

# if you get any errors (repo changes always), in building mavlink crap,

just forget it and, https://github.com/downloads/mavlink/mavlink/mavlink-1.0.9.deb

and install it with package manager. Right click, open with 'package|system|* whatever installer'

then continue with the procedure...

#get the sources for qgroundcontrol, and build ir

git clone git://github.com/mavlink/qgroundcontrol.git

cd qgroundcontrol

git clone http://github.com/LorenzMeier/qupgrade/

qmake qgroundcontrol.pro

make

# If you get linker errors as: Geometry::set*Array and View::checkErrors type of..

#apply the attached patch. PATCH.TXT obsolette

#apply this patch: patch2.txt

# fixes for linkage errors and FlightModes current PWM value

#Read here how to apply a patch file to a tree (Linux): howto-patch

#then continue

make clean && make

# it should build without errors

# copy the qml/ resources folder where the qgroundcontrol binary was made

cp -r qml /release

cd release

# start qground control application

./qgroundcontol

#select APM. Now let's connect the USB cable from PC to the 3DR arducopter 2.5/6

#open another terminal, and clean the kernel message log

sudo dmesg -c  # clean the log

# insert the usb cable from the PC to the APM 2.5(6). (for telemetry connection radio 3DR scroll a bit down)

sudo dmesg -c    # check (visually in the output) the device tty* which was installed... ttyACM0

[30856.087388] usb 3-2: new full-speed USB device number 3 using xhci_hcd
[30856.160058] usb 3-2: New USB device found, idVendor=2341, idProduct=0010
[30856.160066] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[30856.160072] usb 3-2: Product: Arduino Mega 2560
[30856.160076] usb 3-2: Manufacturer: Arduino (www.arduino.cc)
[30856.160081] usb 3-2: SerialNumber: 64036363039351715080
[30856.160398] usb 3-2: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[30856.162093] cdc_acm 3-2:1.0: ttyACM0: USB ACM device

Go on the right top corner of the QGrouncControl and select ttyACM0 and the speed 115200

Click:  Connect.

3689556872?profile=original

Using 3DR Telemetry Radio module 915 MHz

The mavlink build manually, above did not do it's magic, so on top of it, I installed the Debian binary package.

Download @ https://github.com/mavlink/mavlink/downloads the: mavlink-1.0.9.deb

in to your ~/Downloads folder. Open a file browser,  right-click it and Open it

with Ubuntu Software Centre (or Debian installer). Install. Ignore all the messages

about the stability of the package. After install it might say INSTALL again. Just exit the

Installer, if you have seen the progress bar going to the end.

Close the connection to APM. Unplug the USB.Close the qgroundcontrol application.

Power the APM from a USB power  or from the battery (don't forget the safety procedures).

Make sure the radio (s) TX/RX are plugged, RX on APM, ant TX on the USB.

Look here for details: http://code.google.com/p/ardupilot-mega/wiki/3DRadio

Check the dmesg when you plug the USB radio module. On my computer it assigns it to ttyUSB0 device.

Start qgroundcontrol. Change the device by clicking on the [ttyACM0] (previous your device) square

(right-top corner) to ttyUSB0 (new dmesg detected device), and Bit rate to 57600. Press CONNECT.

3689556831?profile=original

#The patch has been updated to add current PWM feature to flight modes page:  (Nov/23/2013)

3689556920?profile=original

-re-edited on Nov 22 (added the radio 3DR mavlink guideline)

-re-edited on Nov 23 (added current PWM on flight modes page to tune up the PWM's)

Ubuntu 14-04 86_64 x86_64 GNU/Linux

Qgc source code is the same as the one in Ubuntu 13.XX.

required packages for compiling.

sudo apt-get install libsdl-dev

sudo apt-get install phonon-backend-gstreamer

sudo apt-get install libphonon4qt5-dev

sudo apt-get install flite-dev

sudo apt-get install libprotoc-dev libosgearth-dev

qmake ./qgroundcontrol.pro

make

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • On:

    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=14.04
    DISTRIB_CODENAME=trusty
    DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"


    just

    sudo apt-get install apmplanner2

  • Don't bother doing this on 12.04

  • Which steps are not clear enough? I can expand if you are more specific.

  • I am running Lubuntu 13.10 how can i install this i am very new to Linux systems

    Thanks!

  • Tank you,

    Hi, ($find -L ./ -type l -> Bump... no links) I wrote the guide, going back on

    my history, greping mavlink and qgroundcontrol.

    I tried to reconstruct as accurate, but you know, is Linux and things are Linux-like.

    It might be a command I use while while I was trying things here and there from different

    repositories. t looks like that ln is not required with the repositories specified in the guidline.

    I'll fix it, Thank you..

  • Hi,

    thank you Marius for the instructions and the patch :). I'm running Ubuntu 13.04 and followed the instructions. At the step

    ln -s mavlink/pymavlink/generator/C/include_v0.9/mavlink_conversions.h mavlink/pymavlink/generator/C/include_v0.1/mavlink_conversions.h

    I stuck as I get

     

    Lenovo:~/Downloads/MP/mavlink$ ln -s mavlink/pymavlink/generator/C/include_v0.9/mavlink_conversions.h mavlink/pymavlink/generator/C/include_v0.1/mavlink_conversions.h
    ln: failed to create symbolic link ‘mavlink/pymavlink/generator/C/include_v0.1/mavlink_conversions.h’: No such file or directory

    and yes there is no mavlink_conversions.h in /include_v0.9.

    as I'm still very noob to Linux I don't know what to do. any help is highly appreciated 

    thanks

    Dieter

  • The 'toUpper()', is not my code, but I'll fix it slowly...

  • Hi,

    As ususal in Linus everytinh is approximative....

    In the working folder, where you run the ./qgroundcotrol copy the qml folder

     cp -r ./qml ./release/
     cp -r ./qml build-release/

  • ..ohh, I have not seen the question. I use APM, bu the splashscreen menu has these options.

    3692869960?profile=original

  • Hi,I'll keep an eye on the build from time to time. If I have updates I'll post them here. I am not a maintainer of qgroundcontrol. It seems that the project is not built on Linux at all because the unsolved externals (set*Array) from openScene libraries are not part of linux distro.

    find -name 'libosg*' | xargs readelf -s | grep 'set*Array' yields noting

This reply was deleted.