This is the Qt GCS that James and I have been working on. It still needs some work but it uses cross-platform libraries and the CMake build system. It uses OsgEarth, an open source equivalent to Google Earth. The GCS can load many 3d model types including the cool FlightGear Models. Right now it mostly uses pop-up menus for editing waypoints (triggered by shift-click). Its a work in progress so not everything is hooked up yet. It was developed on a linux system but has been compiled on mac thanks to drziplock. There are some issues with OsgEarth that we still need to figure out on mac though.



Here is our first recorded test. There is some dead time at the beginning and end since the ground station was started on the 3rd floor of our lab building and we had to walk outside and setup the autopilot. Not a lot of action on the 3D display since we have some signal interference issues with our video, R/C transmitter, and Xbee modules, but DroneGCS works with the GCS_STANDARD_PROTOCOL and uses the ardupilotmegacomm library. http://code.google.com/p/ardupilotmegacomm/ . The website with our ArduPilot, DroneGCS, and aerospace related code is: http://sourceforge.net/projects/oooark/. The git repository for DroneGCS is: git clone git://oooark.git.sourceforge.net/gitroot/oooark/dronegcs. Let us know what you think, we're open to suggestions and development help.
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Developer
    Thanks for the info. Bringing up Qt in wine is definitely further than I"ve gotten. I installed mingw, added mingw toolchain file for cross compiling in cmake, and then found a mingw compilation of boost to download. But I could never get the path flags to sort out in cmake. I was probably doing something stupid as I"m not very familiar with Windows paths anymore.
  • This sounds interesting, we'll have to look into it as well, Thanks for the heads up.
  • There may be also a way to crosscompile things from linux. I've been planning to look into mingw and related things but haven't had time yet.. although I did manage to bring up a QT window via wine (using qmake with a windows build target). Don't remember the details but google is our friend, as always. Not sure how this will affect the opengl stuff though.
  • Developer
    For linux users I should be able to get official packages into ubuntu and debian in the next few months of all of this, so you'll just have to do sudo apt-get install dronegcs :-). Until then you can check hsl.dynalias.com/debian for experimental packages.

    I guess the communications programming is really the tedious part. Most of us are all using ardupilotmegacomm library right now so its wouldn't really be that bad to just have a different front end that is easy to install for each os.
  • Developer
    I think it's user friendly, it may just not be developer friendly at the moment :-). We can built the oooark dependencies from source and get it down to these:
    cmake >= 2.6 : http://www.cmake.org/cmake/resources/software.html
    boost >= 1.40 https://sourceforge.net/projects/boost/files/boost/1.44.0/
    openscenegraph>=2.8.3 http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGr...
    opencv>=2.0.0 https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/
    ardupilotmegacomm>=0.1.0 svn checkout http://ardupilotmegacomm.googlecode.com/svn/trunk/ ardupilotmegacomm-read-only
    qt >= 4.6 http://qt.nokia.com/downloads/sdk-windows-cpp

    The other libraries are from the oooark library and support our computer vision and flight dynamics trimming applications that we will be releasing soon. So eventually I would like to find some people to build all of oooark. But it is not necessary now. As far as maintainability, as soon as we get a cmake file that builds on all platforms we could write a script that downloads the required deps and builds a new package for whatever os. If necessary I can install the windows cross-compiling tools but currently I haven't read up on that enough.

    Cross platform has its hurdles but I think the ability to have all the developers working together on something is a big advantage. The alternative where we just have a specific gcs for each platform is also a possiblity but will cost us more development time.
  • I like what you guys have done... the setting of waypoints is really nice. I still haven't figured out how I'm going to handle it in my GCS.

    The two posts above are what I dislike about cross-platform developement. I've been writing software since 1992 and I wouldn't even know where to begin compiling your project. Then when there are changes, will it be up to the Windows user to compile it on their own updated executable? I'm sure there are some Windows users out there that may be up for the challenge... but I can't see how this GCS can become mainstream with this kind of hurdle. I'm not trying to bash your work. It looks great and I bet it works great. It's just not user-friendly.
  • Developer
    We could really use some help compiling the ground station/ ardupilotmegacomm library for windows. Here is the dependency graph:
    Dependency Graph
    drone gcs : git clone git://oooark.git.sourceforge.net/gitroot/oooark/jsbsim
    cmake >= 2.6 : http://www.cmake.org/cmake/resources/software.html
    oooark>=0.1.0 git clone git://oooark.git.sourceforge.net/gitroot/oooark/oooark
    boost >= 1.40 https://sourceforge.net/projects/boost/files/boost/1.44.0/
    lapack (optional) http://icl.cs.utk.edu/lapack-for-windows/lapack/index.html#librairies
    scicoslab = 4.4b7 http://www.scicoslab.org/
    jsbsim = 1.0.rc4-advtrim git clone git://oooark.git.sourceforge.net/gitroot/oooark/jsbsim
    openscenegraph>=2.8.3 http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGr...
    opencv>=2.0.0 https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/
    ardupilotmegacomm>=0.1.0 svn checkout http://ardupilotmegacomm.googlecode.com/svn/trunk/ ardupilotmegacomm-read-only
    qt >= 4.6 http://qt.nokia.com/downloads/sdk-windows-cpp
  • Developer
    We currently don't have any developers running windows to build it for us. It should only require all the deps to be installed and then run cpack -G NSIS. That should generate a nullsoft installer for windows. As far as static linking for the qt libs under windows, it is possible but will take some work: http://www.freehackers.org/thomas/2008/06/27/static-link-with-cmake... Today I'm working on getting the control gains to send/receive as well as flight plan send/receive via dronegcs. Once I get this on the bincom integration branch it should also be available for other ground stations to use if they are using the ardupilotmegacomm library or following the APM binary protocol standard.
  • 3D Robotics
    Looking good! Do you have to install the whole QT toolchain to run it?

    I'm just looking for an executable that runs under Windows. I looked around a bit, but didn't find it. Could you provide a link?
This reply was deleted.