UDB Logo Editor

7 views
Skip to first unread message

ben levitt

unread,
Sep 9, 2010, 12:37:36 AM9/9/10
to uavdevboard
Hi guys,

In case you're interested in playing around with UDB Logo, I just
checked in a very simple little editor, based on Adam's Waypoint
editor. It's in svn in the Tools directory, and you can grab a copy
by saving the page at this link and then opening it in a browser:

http://gentlenav.googlecode.com/svn/trunk/Tools/UDB_Logo_Editor/udb_logo_editor.html

Happy flying,
Ben

Riccardo Kuebler

unread,
Sep 9, 2010, 2:19:57 AM9/9/10
to uavde...@googlegroups.com
Hi Ben,

that's nice, thank you !

Best regards,

Ric

2010/9/9 ben levitt <ben...@gmail.com>

Riccardo Kuebler

unread,
Sep 9, 2010, 6:03:49 AM9/9/10
to uavde...@googlegroups.com
Hi Ben,

on my laptop, using Chrome, the map doesn't appear, what am I doing wrong ?
That's the same like Adam's latest editor (which does not work at all with IE8, Firefox nor Chrome).

All is working with W7 and on my laptop with Firefox or IE8, but not with laptop WXP / Chrome.

Previous versions of Adam's tool works well on my laptop too  

Best regards,

Ric

2010/9/9 Riccardo Kuebler <kue...@ticino.com>
35F.gif

ben levitt

unread,
Sep 9, 2010, 1:16:20 PM9/9/10
to uavde...@googlegroups.com
I tested on my Mac in Safari, Firefox, and Chrome.  I guess I need to test windows browsers too!

Ric, are you able to get to a Javascript console and send me whatever errors appear there?

Thanks,
Ben
35F.gif

Riccardo Kuebler

unread,
Sep 9, 2010, 2:25:50 PM9/9/10
to uavde...@googlegroups.com
Hi Ben,

doing a debug with the IE8 console I get this error :

wwidth = document.defaultView.getComputedStyle(wframe, null).getPropertyValue("width").replace(/px/, "");

  'document.defaultView' is null or not an object  udb_logo_editor.html, Riga 805 Carattere 2

Is it useful ?

Btw, with Adam's version I get several errors.
35F.gif

Riccardo Kuebler

unread,
Sep 9, 2010, 4:07:28 PM9/9/10
to uavde...@googlegroups.com
Hi Ben,

I'm playing with the flight language : it's amazing :)

Any chance to have throttle level too ?

What do you think about the possibility to set banking angle and climb angle ?
This way we could effectively begin to control exactly what the plane is doing, or how tight I want the turn, how steep I want the climb, how fast I want the actual leg. Playing only with gains is always a guess and the plane can change his behavior based on several factors, like wind etc.

Anyway thanks for that great work !

(I guess Pete will have some work too, to actualize Flan for waypoints.h programmed this way ;) )
35F.gif

Riccardo Kuebler

unread,
Sep 9, 2010, 4:11:14 PM9/9/10
to uavde...@googlegroups.com
... forgot to say that with the mentioned options we could begin to do some aerobatics, increasing step by step climbing angle (looping), the same with banking angle (roll), climb vertically at full throttle or diving vertically with low throttle to brake...
35F.gif

ben levitt

unread,
Sep 9, 2010, 4:31:57 PM9/9/10
to uavde...@googlegroups.com
Hi Ric,

I think this is a great idea, but I think that this will only work really well once we have full Mahoney-style controls.  So I think I might wait with the language changes until the controls are ready.

Ben
35F.gif

Peter Hollands

unread,
Sep 9, 2010, 6:36:34 PM9/9/10
to uavde...@googlegroups.com
If possible, I would support modigying the code soon so that autonmous mode commands a roll and pitch.

At the moment, when the plane flies stabilized, it is always trying to try straight and level, but by mixing in some additional manually commended aileron, rudder and or elevator, we fight the stabilisation and turn the plane. This is ideal for a novice flyer because the plane will always recover and fly level if the pilot let's go of the controls.

The curious thing, is that when the plane flies in autonomous / waypoint mode, it flies in exactly the same way. The navigation commands a turn, and the plane fights the turn because it is trying to stabilize itself. The autonomous navigation is also treated as a novice pilot.

What could happen is for the autonomous navigation to command a specific "roll", "pitch" and or "yaw" (but probably using DCM notation). We can actually do some of this today with a fairly small modification to the code. This could be our first step, and would actually make it much easier to tune up the plane. As a benefit, the LOGO flight language could then become much more powerful in the way that it flies the plane.

I'm still focussed on camera work, so I will not be doing this yet myself, although I have spent some time looking at the code in detail now.

Best wishes, Pete
35F.gif

Netfoot

unread,
Sep 9, 2010, 7:37:08 PM9/9/10
to uavde...@googlegroups.com
On Thu, Sep 9, 2010 at 4:11 PM, Riccardo Kuebler <kue...@ticino.com> wrote:
... forgot to say that with the mentioned options we could begin to do some aerobatics, increasing step by step climbing angle (looping), the same with banking angle (roll), climb vertically at full throttle or diving vertically with low throttle to brake...

I was thinking only last night that seeing as we have a flag for inverted flight, what about knife-edged flight?   Carry this further as per your suggestion, what about a choice of flight-angle?  If we don't want to allow total freedom degree by degree, perhaps eight points as per an 8-point roll?  To specify eight points would only require three bits.....

ben levitt

unread,
Sep 11, 2010, 2:33:07 PM9/11/10
to uavde...@googlegroups.com
Hi Pete,

I agree with all of this, but I think that if we added code now to just allow setting arbitrary roll and pitch targets, stabilization would start to fail once you get more than about 45 degrees off from normal flight.  Elevator would no longer be controlling pitch, etc.  We could start to add lots of special cases to the control code (as there are now), but that would quickly get very messy.  The alternative would be to start calculating what a deflection of each surface will do based on the plane's current attitude.  This is what I'd like us to do, but it's not a quick fix.  But it should be awesome.  :)  And fun to build.  And cleaner than the current control code.

Ben
35F.gif

Peter Hollands

unread,
Sep 11, 2010, 2:40:10 PM9/11/10
to uavde...@googlegroups.com
Hi Ben,

Thanks for the post. Yes, I can see your point of view on that.  There is quite an opportunity to make the code mathematically cleaner when we move to more of the Mahoney approach. The tricky piece will be modeling the force dynamics of the flight surfaces efficiently. 

Best wishes, Pete
35F.gif

Robert Eunice

unread,
Sep 13, 2010, 4:45:27 PM9/13/10
to uavdevboard
Hi Ben,

Very nice work! It's great to see a working virtual machine with
MatrixPilot!

With Logo support for primitive flight commands like x, y z, roll,
pitch, yaw, actuators, and rates for the aforementioned, we can adapt
FLIPS to generate Logo code for use with your system, which is similar
to the virtual machine (trunk/src/targets/uga) that I've already
developed.

If you have a moment, please take a look at some of the latest work
being done in the FLIPS project at:

http://code.google.com/p/flips-uav/
http://code.google.com/p/flips-uav/source/browse/trunk/examples/example1.uav
http://code.google.com/p/flips-uav/source/browse/trunk/examples/example2.uav
http://code.google.com/p/flips-uav/source/browse/trunk/examples/example5.uav
http://code.google.com/p/flips-uav/source/browse/trunk/src/targets/uga/flips.c
http://code.google.com/p/flips-uav/source/browse/trunk/src/targets/uga/flipsdecode.c

Perhaps we can work together to come up with a standard set of
primitive flight commands that are required for flight, which Logo
would be required to implement. That way, users would be able to write
a mission in either FLIPS or Logo, with the expectation that it would
be able to run correctly in either implementation.

Let me know your thoughts. Once again, great work with your Logo
implementation! This is getting really exciting to see all of our hard
work come together.

Best,
Robert
> http://gentlenav.googlecode.com/svn/trunk/Tools/UDB_Logo_Editor/udb_l...
>
> Happy flying,
> Ben

William Premerlani

unread,
Sep 13, 2010, 10:05:49 PM9/13/10
to uavde...@googlegroups.com
Hi Peter,

Of course, we will eventually change the way the controls work, its on my list of things to do next year. We will basically scrap what we have now for controls and start fresh. It will take a fair bit of work to do it right, I think probably a full flying season. But when we are done, we will have something that takes us to "the next level".

In the mean time, I think it is possible to get much better performance than some of have experienced. Mostly that is my fault, I have been remiss in putting together a document explaining how to tune the parameters. Sorry.

But if think about how the various control terms interact, I think you can get much better performance than you've seen so far. If I can get the kind of performance that I have been getting lately without ailerons, (see attached), those of you who are flying with ailerons should be able to do even better.

I was out flying this past weekend at a new field, with plenty of experienced fliers at hand to witness and to try their hand at flying my planes. They were quite impressed. Altitude hold was holding smoothly to within a couple of meters. Waypoint turns were at constant radius and constant altitude.

One of the key parameters that I recently added based on Sid and Rana's suggestion is ROLLKP_RUDDER. It has made all the difference in the world for my aileron-less planes. But as I think about it, I think it might make a huge difference with ailerons as well in getting the rudder to do the proper things during a turn, either in stabilized mode or in waypoint mode, you might want to give it a try.

Best regards,
Bill
GoogleEarth_Image.jpg

William Premerlani

unread,
Sep 13, 2010, 10:26:19 PM9/13/10
to uavde...@googlegroups.com
Team,

I should also mention that, based on an idea that Peter Hollands gave me, I recently improved the dead-reckoning computation. It is much smoother and more accurate now, and worth selecting the option. It is available in r582 of MatrixPilot in trunk.

One of the benefits, which is present even if you do not select the dead-reckoning option, is smoother and more accurate altitude control. These days I am typically seeing altitude being held to within a couple of meters, and the throttle settles down to a steady value. No more "waving" at high speeds.

Take a look at the attached flight track of my EasyStar.

Best regards,
Bill
ESaltitude.jpg

ben levitt

unread,
Sep 16, 2010, 2:43:32 AM9/16/10
to uavde...@googlegroups.com
And here's an image from my flight this morning with my ParkMaster running Bill's latest DeadReckoning with a UDB Logo flightplan (along with an image from the flight plan editor).

I think I could still improve my gains a bit, but I think it looks like it's doing really well, especially given the sharp turn it had to make from the first circle back down into the first square.  And the altitude hold felt much better than before.

Thanks Bill!
Ben
Flight079-GEarth.jpg
Flight079-LogoEditor.jpg
Reply all
Reply to author
Forward
0 new messages