Development discussion of TauLabs software such as flight controllers, sensors, radios and speed controllers.

UAVTalk over websocket

no avatar
User

flyingfrog

Posts

10

Joined

Tue May 05, 2015 10:22 am

UAVTalk over websocket

by flyingfrog » Mon Jun 29, 2015 7:26 pm

Hi guys,

I’d like to introduce you (in greater details than my "Introduce Yourself" post) to the project I am working on with my friends. As said in my initial post, our current goal is to create the perfect Hackathon drone, which means preconfigured of course, but also greatly accessible to beginner developers and pilots.

Our project is still very young but we already have some few things to show: one hardware board which is basically a sparky mixed with a USB hub, and a piece of software that acts as a bridge between the USB telemetry on one side and a web socket (JSON uavs) on the other side.

We're aiming to have a Raspberry Pi (or any kind of small computers) on the drone, connected by USB to the Sparky-USBHub (no name yet), running any kind of script that controls the Taulabs controller through the web socket, providing a clean and abstract interface to talk to.

Then let's just put a wifi AP on the raspberry pi and you roughly have a bebop, but much more opened to hackings (and breakings :wink: ).

We chose Taulabs for the cleanliness of the code and for the uavtalk/uavobject architecture that seems to perfectly fit our goal, which is to move the non-real time code from the controller to a higher level architecture. That’s why we mixed the sparky with a USB hub, so we can connect plenty of peripherals, like 3g dongle, wifi, camera or even a robotic arm etc… right now we are using a raspberry pi, but we got an artik10 from samsung which gives much more GPU power. We’re also planning on playing with “real” computers like an intel nuke or even a classic computer mother board, you got the idea :)

So now we’re experimenting with our bridge, first to create GCS-like features runnable in a smartphone browser and then we will start actually controlling the drone.

Putting a computer next to Taulabs gives the ability to create higher level uavobjects for say, delivering a beer to my pal that lives in the next village ;)

Bridge is written in golang and we are preparing a small abstraction layer in javascript; the web socket allows to be be open to any kind of language whether it runs on the drone or outside (like ROS).

Now we are focusing on understanding the whole uavobject system, mostly from the GCS uavobject explorer, and stuff like the gamepad controller gcs plugin.

If you could point us at anything (documentation, sources, etc…) that could help us learn more about uavobjects, that would greatly be appreciated:)

Thanks for the great work :)

PS: Sorry if I'm posting in the wrong category, I'm not sure whether our project is Ground or Flight.
no avatar
User

mcg

Posts

23

Joined

Thu Jun 18, 2015 7:49 pm

Re: UAVTalk over websocket

by mcg » Wed Jul 01, 2015 7:44 pm

Its a hell of a lot more work, but could be worth considering something like this for your bridge:
http://www.ti.com/product/cc3200
Its available as a ready-made module and various break out boards are also available.

I threw together a simple log reader software in C# over the weekend, which parses UAVTalk in the log files generated by the GCS. Probably the most useful resources is this one to get started:
https://github.com/TauLabs/TauLabs/wiki ... k-Protocol
no avatar
User

flyingfrog

Posts

10

Joined

Tue May 05, 2015 10:22 am

Re: UAVTalk over websocket

by flyingfrog » Thu Jul 02, 2015 3:46 pm

Thanks mcg, actually the bridge is already functional (we can read and write from the websocket), we will release the code soon on github.

Now we are more looking for documentation on how to take control of the drone through UAVObject manipulations.

More like, how could we create a small POC of a delivery with just a little javascript code.

One of our challenge is also to interoperate with sensors, like we just got a lidar and sonars, so maybe we could mix algorithm from the raspberry pi (high level code but not real time), with algorithm on the flight controller (low level and real time).

Our assumption is that with just the attitude mode on the flight controller we could have all the gps and sensors on the PI, and start coding autonomous stuff with plenty of sensors and video analysis (other board could be used, rasperry pi is just here because we have plenty of them).
We chose the keep an architecture with a dedicated flight controller for stability of the system, even if the PI side crashed (or is under heavy load) the flight controller could still operate and keep the drone in place as much as possible waiting for recovery on the PI side.
User avatar
User

VArcht

Posts

287

Joined

Thu Mar 06, 2014 5:24 am

Re: UAVTalk over websocket

by VArcht » Thu Jul 02, 2015 11:07 pm

flyingfrog wrote:Thanks mcg, actually the bridge is already functional (we can read and write from the websocket), we will release the code soon on github.


Very cool, I was hoping you would say that. :)
no avatar
User

flyingfrog

Posts

10

Joined

Tue May 05, 2015 10:22 am

Re: UAVTalk over websocket

by flyingfrog » Sun Jul 19, 2015 8:54 pm

Hi!

Little update to say that our code is just out, javascript code under way.

https://github.com/openskybot/skybot-router

Please let me know what you think.
no avatar
User

flyingfrog

Posts

10

Joined

Tue May 05, 2015 10:22 am

Re: UAVTalk over websocket

by flyingfrog » Thu May 05, 2016 12:48 pm

This is now finally a working projet:

https://github.com/HackerLoop/rotonde-uavtalk

Works as a module for our middleware called rotonde: https://github.com/HackerLoop/rotonde

here is a small demo of an open looped take off and landing (I'm controlling the positionning):

https://www.youtube.com/watch?v=pYWlJzmggF0

This is the code for this demo: https://github.com/HackerLoop/rotonde-v ... offland.js

Anyway, I'm experimenting with arduCopter now, as I don't know if Taulabs developments directions is into autonomous flights.

But still, I think this might be a cool way to bridge to higher languages.
no avatar
User

marvin

Posts

1

Joined

Sun Sep 11, 2016 7:03 am

Re: UAVTalk over websocket

by marvin » Sat Sep 17, 2016 7:31 am

Hi flyingfrog, could you send control commands (such as pitch yaw roll) to flight controller via rotonde?
no avatar
User

ethedereura

Posts

2

Joined

Tue Nov 08, 2016 3:25 pm

UAVTalk over websocket

by ethedereura » Sun Dec 11, 2016 7:08 am

i got 3 tfts 19" on my computer and i wonder if it is possible to play flightsim over all my screens ?

Who is online

Users browsing this forum: No registered users and 1 guest

Powered by phpBB ® | phpBB3 Style by KomiDesign
cron