Being a product of the 1960's and a fan of science fiction films/series like Star Trek, Lost in Space, 2001: Space Odyssey, Space 1999, Silent Running, the idea of having a control surface full of multi-colored buttons seemed a natural approach for managing flying aircraft. Last week, I decided to design a web based UI that scratched that 1960's sci-fi itch, so to speak. I call it the Flying Robot Commander, with a wink and a nod to Johnny Sokko. The goal was to make a flexible web based UI that allowed for easy development of virtual control surfaces with nice big, colored buttons, sliders, etc... that easily integrate with Paparazzi UAV. Since it's delivered via a web browser, it works on any device that runs a browser(i,e. touch screens, touch devices, traditional laptops/desktops). Here's the a video of the first ever live test of the FRC(flying robot commander). Unfortunately, the rainy weather kept the first demo limited to simple arming/disarming of motors. The weather folks promise that we will be getting a few rainless days soon, so stay tuned for a follow-up video with multiple aircraft in the air under the tutelage the Flying Robot Commander. Giant robot, launch! ~HooperFly
You need to be a member of diydrones to add comments!
Comments
@simoni, eventually it wall all be pushed to the Paparazzi UAV github. Stay tuned....
This is really cool :-) Will you be sharing any more details on how you coded it?
Thanks for the extra info. Very nice!
Here's one way to use the Flying Robot Commander to manage 12 multirotors, in 4 groups of 3 aircraft by just leveraging multiple browser panes. Note, each group could have variant behavior as well. You could also divide workflow by mission sequence, launch, flight, landing. In theory you could build your own Space-X control room using this architecture, slicing and dicing based on each users needs.
@randy the "Launch", "Flight", "Landing" buttons are meta-buttons/grouped buttons, the video doesn't explain it very well as it was a live Periscope video and I was just rambling a stream of consciousness. :)
The interface embodies pages, groups and hierarchy of buttons, as well as UI skinning of the interface. It makes it easy to build variant control interfaces that are late binding, since they are abstracted at the messaging interface. The decoupled architecture gives the UI developer freedom to implement in their favorite languages/frameworks: ruby, sinatra, python, flask, java, javascript, C, C++, OCAML, RUST, bash, curl, etc....
Another benefit, with respect to interfacing with Paparazzi, is that you can trigger sophisticated flight behaviors contained in flight blocks providing another level of abstraction. As I develop new UI use cases, I'll do my best to share them with the group. There are many more to come. :)
Happy New Year and Cheers to the DIYD community!
Really cool in many ways. The star-trek inspired interface is fun but also looks very functional when it comes to multiple vehicles. The ability to bind the buttons to the biug buttons is also nice. Add one more higher level (the ability to make multiple groups of vehicles) and a way for a single controller to be used to control any one of the vehicles (with another column of buttons) and Sulu and Chekov will be able to effectively control a fleet of drones.
Amazing GCS realization!
Happy New Year !