APM Planner
Project: http://github.com/diydrones/apm_planner
Files: https://github.com/diydrones/apm_planner
Credits: http://planner2.ardupilot.com/credits-and-contributors/
see http://planner2.ardupilot.com
To build on Mac OS X (10.6 or later):
-
Download SDL from: http://www.libsdl.org/release/SDL-1.2.14.dmg
-
From the SDL disk image, copy the
sdl.framework
bundle to/Library/Frameworks
directory (if you are not an admin copy to~/Library/Frameworks
)
-
Download Qt 4.8.x (Does not currently work with Qt5.x)
- you can verify the version by typing 'qmake -v' and it should report Qt 4.8.x as the version.
-
Double click the package installer
-
From the terminal go to the
apm_planner
directory created when you cloned the repository. -
Run
qmake -spec macx-g++ qgroundcontrol.pro
-
Run
make -j8
Building on Linux (tested against Ubuntu 13.10):
- Install the required packages:
sudo apt-get install phonon libqt4-dev libqt4-opengl-dev \
libphonon-dev libphonon4 phonon-backend-gstreamer \
qtcreator libsdl1.2-dev libflite1 flite1-dev build-essential \
libopenscenegraph-dev libssl-dev libqt4-opengl-dev libudev-dev \
libsndfile1-dev
- Clone the repository in your workspace:
cd ~/workspace
git clone https://github.com/diydrones/apm_planner
- Build APM Planner:
cd ~/workspace/apm_planner
qmake-qt4 qgroundcontrol.pro
make
Or try qmake qgroundcontrol.pro
if the qmake-qt4
command doesn't exist on your version of Ubuntu. This will only work if the Qt version install on your machine is Qt4.8.x, this can be checked using `qmake -v'
- Run APM Planner:
./release/apmplanner2
- Permanent installation (optional, if you'd like to install APM Planner in a fixed location)
There are two ways to do this:
a) You can build a .deb using scripts/LinuxBuildPackage.sh
, and then install the deb via dpkg -i ~/Documents/APMPlanner2-$NOW.deb
(where $NOW is today's date). This should add it to your launcher too.
b) Alternatively, run sudo make install
. This will place the binary in your /bin/ folder and corresponding files in /share/.
GNU GCC / MINGW IS UNTESTED, COULD WORK VISUAL STUDIO 2008 / 2010 EXPRESS EDITION IS FREE!
Steps for Visual Studio 2008 / 2010:
Windows XP/7:
-
Download and install the Qt libraries for Windows from https://qt.nokia.com/downloads/ (the Visual Studio 2008 or 2010 version as appropriate)
-
Download and install Visual Studio 2008 or 2010 Express Edition (free) from https://www.microsoft.com/visualstudio. If using Visual Studio 2010, make sure you are running at least SP1. There is a linking error you'll encounter otherwise that will prevent compilation.
-
Go to the QGroundControl folder and then to thirdParty/libxbee and build it following the instructions in win32.README
-
Open the Qt Command Prompt program (should be in the Start Menu), navigate to the source folder of QGroundControl and create the Visual Studio project by typing:
qmake -tp vc qgroundcontrol.pro
-
Now start Visual Studio and load the qgroundcontrol.vcproj if using Visual Studio 2008 or qgroundcontrol.vcxproj if using Visual Studio 2010
-
Compile and edit in Visual Studio. If you need to add new files, add them to qgroundcontrol.pro and re-run
qmake -tp vc qgroundcontrol.pro
qgroundcontrol:
demo-log.txt
license.txt
qgcunittest.pro - For the unit tests.
qgcunittest.pro.user
qgcvideo.pro
qgroundcontrol.pri - Used by qgroundcontrol.pro
qgroundcontrol.pro - Project opened in QT to run qgc.
qgroundcontrol.pro.user
qgroundcontrol.qrc - Holds many images.
qgroundcontrol.rc - line of code to point toward the images
qserialport.pri - generated by qmake.
testlog.txt
testlog2.txt
user_config.pri.dist - Custom message specs to be added here.
data:
Maps from yahoo and kinect and earth.
deploy:
Install and uninstall for win32.
Create a debian packet.
Create .DMG file for publishing for mac.
Audio test on mac.
doc:
Doxyfile is in this directory and information for creating html documentation for qgc.
files:
Has the audio for the vehicle and data output.
ardupilotmega:
widgets and tool tips for pilot heading for the fixed wing.
tooltips for quadrotor
flightgear:
Aircraft:
Different types of planes and one jeep.
Protocol:
The protocol for the fixed_wings and quadrotor and quadhil.holds info about the fixed wing yaw, roll etc. Quadrotor. Agian holds info about yaw, roll etc.
Pixhawk:
Widgets for hexarotor. Widgets and tooltips for quadrotor.
vehicles:
different vehicles. Seems to hold the different kinds of aircrafts as well as files for audio and the hexarotor and quadrotor.
widgets:
Has a lot of widgets defined for buttons and sliders.
images:
For the UI. Has a bunch of different images such as images for applications or actions or buttons.
lib:
SDL is located in this direcotry.
Msinttypes:
Defines intteger types for microsoft visual studio.
sdl:
Information about the library and to run the library on different platforms.
mavlink:
The files for the library mavlink.
qgcunittest:
Has the unittests for qgc
settings:
Parameter lists for alpha, bravo and charlie.
Data for stereo, waypoints and radio calibrartion.
src:
Code for QGCCore, audio output, configuration, waypoints, main and log compressor.
apps - Code for mavlink generation and for a video application.
comm - Code for linking to simulation, mavlink, udp, xbee, opal, flight gear and interface.
Has other libraries. Qwt is in directory named lib. The other libraries are in libs.
lib - qwt library
libs - eigen, opmapcontrol, qestserialport, qtconcurrent, utils.
input - joystick and freenect code.
plugins - Qt project for PIXHAWK plugins.
uas - Ardu pilot, UAS, mavlink factory, uas manager, interface, waypoint manager and slugs.
ui - Has code for data plots, waypoint lists and window congfiguration. All of the ui code.
thirdParty:
Library called lxbee.
Library called QSerialPort.