Andropilot - discussion for Android ground controller users/developers

Hi ya'll,

The thread on my blog post is getting a little unmanageable.  How about we discuss test results here instead...  

I'll also post release notes as new builds are out.  The device must support 'USB host mode' (most devices running android 3.1 or later are fine).  You'll need a 'OTG' adapter such as this

Please post feedback here or on the github issues site - the google play comments are not really useful yet.

Hi ya'll.  Please move further discussion of this app to a newly created group:

http://www.diydrones.com/groups/705844:Group:1132500?xg_source=msg_...

Feel free to make new approprately titled discussion threads.  

Future app releases will be announced only there.

 

Views: 55137

Reply to This

Replies to This Discussion

Very nice work. 

Is it possible to forward (one-way) a udp stream to AndroPilot?

Which is the minimal set of mavlink messages to send in order to get position updates? I'm sending only the following but that seems insufficient as AndroPilot logs the data well but does not move anything at all:

-HEARTBEAT

-SYS_STATUS

-GLOBAL_POSITION_INT

-ATTITUDE

That should be a fine set of messages, but give me a couple of days to get UDP working again - the UDP receiver has issues.

Working perfectly - awesome improvements Kevin, keep up the great work!

just to check - receiving UDP on Andropilot is working for you?  

Thanks a lot for the reply! Setup was Galaxy Nexus (I9250) with AndroPilot 0.1.30

PS: can it already handle several UAV?

Kevin, I tried to install the latest app ver 1.30 but but failed in installation due to mine is ZTE V9C Tab with android 2.34 and due to some limitation, I am unable to migrate to android 3.1 or higher. Is it possible, if you could do something ? Thanks in advance, Best Regards Rana

Most of the app is fine with multiple UAVs, alas - there are a few places in the GUI where I assume there is only one.  It would be easy for someone to fix, but I think it will be a while until I have time to add such a feature...

Alas - USB host mode support (required for talking to the 3dr hardware) wasn't added to android until 3.1.  

For the next build I'll try forcing the background color (unless your rom has some way of turning off this 'feature'?).  That might work

Very impressive app Kevin!

I've been testing it against a SITL version of ArduPlane, usnig mavproxy to forward packets over a 3DR radio so I can test the full capabilities at home. A couple of things stand out as possible improvements:

  • speech output for key events. I find the main thing I use my ground station for while flying is the speech output, as I like to keep my eyes on the aircraft. The key things are "mode XXX", "height XXX" (every 10 meters is good), "battery XX%" (every 10% is good), and optionally airspeed. Is there a nice android text to speech lib that could be used for this? Perhaps with a set of dialogs to enable/disable?
  • height above ground, not above sea-level. The best message to use for relative height is GLOBAL_POSITION_INT.relative_alt*0.001 (to get it in meters). It would be even better to use a cached version of SRTM data to get the true AGL height, by querying SRTM for the terrain height. That is how mavproxy displays correct AGL altitude (see https://github.com/tridge/MAVProxy/blob/master/modules/mavproxy_map...)
  • a way to pre-cache the map tiles for an area, so it will work with no network access at the field. I ended up doing my own slipmap implementation for mavproxy to get this (see https://github.com/tridge/MAVProxy/blob/master/modules/mavproxy_map...)
  • a button to enable/disable following the planes location on the map
  • a menu to load/save the waypoints to local files.
  • a menu to load/save/display the geofence

There also seems to be a bug that causes the aircraft position to lag the true position by quite a long way. Perhaps there is a buffering problem on the mavlink connection to the radio? Are you assuming a stream rate, or just reading messages as fast as they come in?

Overall this is a great app though - I had planned on porting MAVProxy to android, but I think it may be better for me to learn a bit of Java coding and submit some patches for your app.

Thanks!

Thanks!

re: speech

Yes there is - in fact it uses the cool google speach stuff from maps so it even gets inflection right...

Good idea & easy to add

Re: height above ground

Good point

Re: precaching

Not allowed with the google maps client (the embedded version doesn't support precache yet).  There is an android version of OSM - if someone wants to add it I'd happily accept a PR/help with questions.  I might add it someday but probably not that soon...

Re: follow plane

Yep easy to add & a good idea

Re: save/load waypoints

Easy to add.  Is there a 'standard' suffix for mavlink waypoint files (so I can have my app register with android that I handle those files - really sexy for opening email attachments or links on the web)

Likewise, is there a standard suffix for param files?

Re: Geofence

Good idea

For the time being I've plopped these all into one bug: https://github.com/geeksville/arduleader/issues/26

As I (or others?) have time we should break them out into separate issues.

Re: Overall this is a great app though - I had planned on porting MAVProxy to android, but I think it may be better for me to learn a bit of Java coding and submit some patches for your app.

Awesome!  Let me know if you have any questions getting started.  Scala is a really beautiful language and Android is loads of fun to develop for.  It also saves you from Java which is not a really fun language (both run on the JVM or the Android version - dalvik)

You _really_ do not want to try python on android - especially if you want to talk to USB devices (USB access not supported from the NDK I think - which is what the python engine is built on.  Also performance of python on android is poor but JVM is the 'native' runtime and heavily optimized for)

Btw - if you are futzing with andropilot, you might find it easier to develop/test by building/running 'posixpilot'.  It is a command line GCS that tests most of the code in andropilot and it runs on any posix machine:

sbt

project posixpilot

run

(This is useful if you are futzing with and of the UDP send/receive code in andropilot)

Reply to Discussion

RSS

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service