We have spent the past year developing a system to fly drones over the internet. We now have a hexacopter that can be flown from anywhere in the world using a joystick via APM Planner or Mission Planner (working on an iPad app as well). The latency is below 500 msecs and the video quality is 720p w/ 25fps. Obviously the flying requires the drone to be flown at a location with decent cellular coverage but we have been optimizing the platform to handle the inconsistencies inherent in cellular data connections by load balancing the data between multiple LTE radios. A single cellular modem is just not sufficient for true FPV flying. The F550 is piloted using APM planner and a joystick right now but will transition to the iPad app once we have finished testing it. All the video and controls are routed thru a central relay server so there is no concern about firewalls, VPNs or IP addresses. We have tested the system cross country flying from San Francisco with the drone over a field outside Boston. It has been a lot harder than we anticipated but the system is working very well right now and we are looking at ways to commercialize the technology.
Any ideas or feedback would be appreciated.
Comments
Really cool. This is what we need.
Of course, it would be nice if it would be open source.
Just a thought...
By going through a proxy you are creating more latency. Also its another point of failure.
You could achieve the same result connecting directly to your ground station. Cellular NAT or not.
You may not get a static IP on your GC.
But you can accomplish that by using a public Dynamic DNS server or even hosting your own.
Even an Ipad app could request a DDNS IP upon initializing, creating a URL. Then your multirotor, or whatever, could connect to the assigned URL.
Eventually multiple users connecting to a single proxy server that you provide (perhaps as a service), will cause a botttleneck.
Thanks Bernt. We have gone thru a bunch of modems, they all are frustrating for different reasons. Right now we are testing with a Sierra Wireless 4G LTE modem and a Pantech UML290. It is all very carrier specific and the existing device drivers are terrible. All the communications software on our rig has been developed by my partner Nick. The camera is a simple raspberry pi camera with a much better lens. Will post some flight video shortly.
Hi Ted.
Great achievement.
Could you provide more info on your setup.
Which modem are you using? Do you connect using true LTE? Software used? Camera?
Anyway, looking forward to see some flight vid...
Correct, you don't have to worry about firewalls or IP addresses
So basically what youre saying is that by using a proxy server, we don't need to worry about whether an LTE modem uses NAT or not?
Sorry Richard, was traveling. Yes it is Ubuntu, but it shouldn't matter really. As for the modems, ATT uses NAT (ie. the IP assigned to the modem is private), VZW doesn't (ie. the IP is public). They are all different.
Can anyone tell me, I am a complete Noob, I would like to set up a server as mentioned above, I can chose between Window server, Ubuntu, or Unix. As a Noob what would be my best option?
Thank you in advance.
Hi Ted, Linux Ubuntu? The LTE modems are they using public or private IP's?
Richard, just a simple Linux setup
Ted, thanks for the info. I'll give it a try. Can I ask what OS you are running on your proxy server?