A big enabler for UAVs going forward, especially with respect to commercialization, will be improving telemetry range. On that note, I've released my MAV Downlink Android application and associated tools today.
MAV Downlink opens up a new communication pathway for you to talk to your UAV while it is on a mission. This pathway uses an on-board Android smartphone to push MAVLink communications onto the Internet, then adds an intermediate server that hosts these communications and binds them to interested Mission Planner applications.
Pictured above is the general gist of the application.
I have been using it for the last few months to be able to communicate with my Sky Hunter in flight at essentially any range as long as I am at a field with good cellular service.
I know this idea isn't totally unique as there are several guides on how to enable UAV telemetry using cellular modems. To my knowledge, though, this is the first application that enables you to accomplish this easily using an old Android smartphone you probably have laying around. The big gotcha is that the smartphone must have an OTG compatible USB port. Fortunately, there are many cheap phones with these, notably the Galaxy Nexus:
http://www.ebay.com/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xgalaxy+nexu&_nkw=galaxy+nexus&_sacat=0
Right now, this application requires you to run your own dedicated server to host communication between the onboard smartphone and your MAV mission planning application. It also sends MAV commands in the clear with no authentication or encryption over public wireless airwaves. As such it is only really useful for hobbyists with good knowledge of networking.
It has also been brought to my attention that the Pixhawk cannot be connected to a standard Android phone via OTG. You may be able to put together a custom powered hub that connects to the Android phone but I cannot make any gaurantees. This has been tested on APM 2.6 and 2.5 boards.
I would like to develop this application further by adding dedicated servers so that virtually no set-up is required on the end-user's side. This would also enable me to add authentication and encryption to the communications channel so people using this do not risk their UAV being hacked.. no matter how unlikely that might be.
However, it works fine for me right now. Before I put any effort or money into improving it, I wanted to gauge public interest in it. Please let me know if something like this interests you by dropping a comment below.
You can try the application now. Here is a link to the Android application:
https://play.google.com/store/apps/details?id=com.appliedanalog.uav.mavdownlink
And the users manual:
http://www.applieduas.com/mav_downlink_advanced_manual.pdf
Comments
James,
I just noticed that the MavMapperCmd.jar you sent goes to 100% CPU usage while running with nothing connected. Is it possible to get a fix for that? Even a small delay in the main event loop would help.
I haven't been able to test with the drone connected yet, so I'm not sure if that would change things.
@playfieldofangels - what mobile device are you using?
Honestly I don't know then. I will really have to get my own Pixhawk to figure that out. Sorry to those of you using this autopilot..
I actually don't know that for sure. I would assume yes but I am not sure since we are not using the APM telemetry port so I don't know what "mode" the autopilot thinks it is in when it is plugged into the phone via USB.
I assume that if the phone loses wireless connectivity for a period of time, that would show up as loss of telemetry to APM, and it would engage the GCS failsafe. Is that right?
Awesome, glad that works. I actually have flown APM with telemetry only several times. IIRC the only thing you have to do is change both the failsafe config options to "Continue"
plane.ardupilot.com/wiki/arduplane-setup/apms-failsafe-function/
--
Regarding Pixhawk, An easy way to test the power hypothesis would be to connect the pixhawk to a powered USB hub then connect the computer side of that hub to the smartphone. Theoretically if it was just a power problem then that should work. I will have to get a Pixhawk in the next few weeks to try this out.
Re: Pixhawk power: is it possible the phone is actually trying to charge from the Pixhawk, or with that not happen over OTG? From a quick search, it seems that some phones may actually try to charge from USB, even while in host mode.
Thanks again, James!
nickthecook@tinytown MavMapperCmd$ java -jar MavMapperCmd.jar
MAV planner disconnected.
Android phone disconnected.
---
nickthecook@tinytown MavMapperCmd$ sudo netstat -ltpn | grep java
tcp 0 0 :::9998 :::* LISTEN 29737/java
tcp 0 0 :::9999 :::* LISTEN 29737/java
Connecting with APM Planner shows messages like this:
Client connected.
MAV planner connected.
MAV planner disconnected.
which is perfect. I'll try with the GNex plugged into APM tonight!
Any thoughts on what needs to be done to let an APM fly with only telemetry connection, no RC connection? I will probably take this thing a couple of km away in Auto to test this. I will disable Throttle Failsafe, but I can't think of anything else I'd need to do.
If I had to guess, I'd say that the Android devices being used are not capable of supplying the power that the Pixhawk is asking for from the USB port. Seems strange to me that they would ask for any power at all though if they were plugged in via the 3DR power adapter.
Totally a guess though.
I know you can connect an Odroid to the PixHawk and get telemetry OK. I do it routinely now. This is how we get telemetry for everything else using MavProxy. Perhaps there is something different with the OTG spec.
-
1
-
2
-
3
-
4
-
5
of 5 Next