Angle vs Horizon

This forum is dedicated to software development related to MultiWii.
It is not the right place to submit a setup problem.
Software download
Post Reply
tovrin
Posts: 705
Joined: Tue Sep 20, 2011 4:08 pm

Angle vs Horizon

Post by tovrin »

I think i understand but want to be sure.

I tried searching for answers, but apparently wasnt asking the search engine the right questions.
heres what i learned, please correct me.

Angle is the old level mode (2.0 level mode) you calibrate it using the inflight calibration where you turn the motors off (im just not comfortable with this, but doing the full throttle and adjust pitch roll with motors off doesnt seem to work anymore (at least im not getting an LED response anymore))

Horizon is an advanced level mode using alt hold (only valid if using barometer?) (calibrates the same?)

dont use angle and horizon together, dont use either with gps mode.

feedback please, did i miss anything important? is there documentation somewhere i should have seen?

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Angle vs Horizon

Post by PatrikE »

Horizon is basicly the same as Angle.
The differense is
In horizon mode The Pids for leveling is dynamic depending on stick input.
At full throw it will behave almost as in acro mode.
Kind of semi acrobatic.
It's able to flip with large inputs and returns to level when sticks is centered.
I only use Horizon and Acro mode and Never Angle.

AltHold can be used in all modes even Acro.

dont use angle and horizon together, dont use either with gps mode.

It should be fixed in newer devs.
The GPS don't care what Level mode you use.

vpb
Posts: 231
Joined: Mon Jul 23, 2012 4:09 pm

Re: Angle vs Horizon

Post by vpb »

I use horizon mode + alt-hold + gps-hold without any problem. Horizon mode is easier to fly than old angle mode.

I spent time reading the difference between two but it's true that you should try it, it's very nice, something like you move around with acro-mode and when you stop (neutral sticks) the machine is in angle-mode.

jy0933
Posts: 180
Joined: Wed Jun 27, 2012 4:24 pm

Re: Angle vs Horizon

Post by jy0933 »

ok.. all these make sense..

but how about the PID tuning for horizon?

I tuned in acro mode.. then it doesnt seem good enough in horizon mode (just feel a bit "slow" at some point)

but if i turn with horizon mode.. what might be the potential problem with it?

thx

vpb
Posts: 231
Joined: Mon Jul 23, 2012 4:09 pm

Re: Angle vs Horizon

Post by vpb »

Horizon is just angle, so it uses the same PID settings. You can tune in angle or horizon mode. But I think you should tune in horizon mode when hovering around, when moving forward, how the angle-correction acts when you release the sticks...

User avatar
shikra
Posts: 783
Joined: Wed Mar 30, 2011 7:58 pm

Re: Angle vs Horizon

Post by shikra »

Since Horizon mode came out I no longer use angle/old level mode anymore. I also use it with GPS RTH and PH

Horizon is really good. Its a nice blend of the two modes. And very nice to fly with when set up right. Great when learning.

For best results - you do still need to tune level and acro PIDS.

To describe:
Sticks centered - your copter is in 100% angle /old level mode. Using Level PID
Full stick - your copter is in 100% acro mode. Using ACRO PID
Stick halfway - its a 50/50 mix..... of the two.

It is a linear proportional change to ACRO as you move sticks away from center.

When tuning I aim for a similar feel between them. It feels very natural flying in Horizon mode. Al lot less "fighting" against the controls that you get with level mode.


Try a very light touch on the level PID - I run around 4.0/0.010/055 on most of my copters for a nice feel. Thats always my starting point now.

doughboy
Posts: 252
Joined: Tue Sep 04, 2012 7:20 am

Re: Angle vs Horizon

Post by doughboy »

PatrikE wrote:Horizon is basicly the same as Angle.
The differense is
In horizon mode The Pids for leveling is dynamic depending on stick input.
At full throw it will behave almost as in acro mode.
Kind of semi acrobatic.
It's able to flip with large inputs and returns to level when sticks is centered.
I only use Horizon and Acro mode and Never Angle.

AltHold can be used in all modes even Acro.

dont use angle and horizon together, dont use either with gps mode.

It should be fixed in newer devs.
The GPS don't care what Level mode you use.


That description sounds exactly like the acrotrainer mode you described here

viewtopic.php?f=16&t=1944#p17437

seems like a duplicate feature?
I use angle mode with acrotrainer enabled and works quite well.

do you think we can remove acrotrainer mode or just merge the feature into horizon mode (like setting of the threshold)?

vpb
Posts: 231
Joined: Mon Jul 23, 2012 4:09 pm

Re: Angle vs Horizon

Post by vpb »

Ya, I fly with horizon mode all the time FPV and non-fpv flight. With old level mode, I felt like trying to fight against the machine just to move around , I think guys who want to understand horizon mode just try it on field. My Level PID is 4.0/0.30/85. Level D is really like a damper, lowering it is like a old shock without any oil inside :D.

@Shikra: has your copter ever been pulled back after forward-flight stick releasing?

@doughboy: you should search & do some reading, Alexinparis answered about that somewhere. acrotrainer is just threshold.

doughboy
Posts: 252
Joined: Tue Sep 04, 2012 7:20 am

Re: Angle vs Horizon

Post by doughboy »

I must be missing something, if so, kindliy point it out.

acrotrainer, adds a threshold so angle mode will switch to acro mode when sticks go past the threadhold.
which is the same description given above for horizon mode, except the threshold is not tunable.

so basically, angle mode + acrotrainer = horizon mode
hence it is a duplicate feature.

doughboy
Posts: 252
Joined: Tue Sep 04, 2012 7:20 am

Re: Angle vs Horizon

Post by doughboy »

ok, it seems all the description of horizon mode given above is actually
angle mode + acrotrainer.

According to the code, horizon mode uses a different PID calculation. This is the only difference between angle and horizon. horizon takes portion from acc and portion from gyro. there is no threshold.

Code: Select all

    if ( f.HORIZON_MODE && axis<2) {
      PTerm = ((int32_t)PTermACC*(500-prop) + (int32_t)PTermGYRO*prop)/500;  //<=horizon mode
      ITerm = ((int32_t)ITermACC*(500-prop) + (int32_t)ITermGYRO*prop)/500;
    } else {
      if ( f.ANGLE_MODE && axis<2) {
        PTerm = PTermACC;  //<=angle mode
        ITerm = ITermACC;
      } else {
        PTerm = PTermGYRO;
        ITerm = ITermGYRO;
      }
    }


so based on all the above, what people want is really angle+acrotrainer.

acrotrainer is the mode that actually switches from angle (or level) to acro mode

Code: Select all

  #if defined(ACROTRAINER_MODE)
    if(f.ANGLE_MODE){
      if (abs(rcCommand[ROLL]) + abs(rcCommand[PITCH]) >= ACROTRAINER_MODE ) {
        f.ANGLE_MODE=0;
        f.HORIZON_MODE=0;
        f.MAG_MODE=0;
        f.BARO_MODE=0;
        f.GPS_HOME_MODE=0;
        f.GPS_HOLD_MODE=0;
      }
    }


horizon mode DOES NOT switch to acro mode.

doughboy
Posts: 252
Joined: Tue Sep 04, 2012 7:20 am

Re: Angle vs Horizon

Post by doughboy »

vpb wrote:Horizon is just angle, so it uses the same PID settings. You can tune in angle or horizon mode. But I think you should tune in horizon mode when hovering around, when moving forward, how the angle-correction acts when you release the sticks...


this is incorrect and misleading information.
read the code.

vpb
Posts: 231
Joined: Mon Jul 23, 2012 4:09 pm

Re: Angle vs Horizon

Post by vpb »

Yes, it's mixed between acro & level

Code: Select all

prop = max(abs(rcCommand[PITCH]),abs(rcCommand[ROLL])); // range [0;500]


Code: Select all

if ( f.HORIZON_MODE && axis<2) {
      PTerm = ((int32_t)PTermACC*(500-prop) + (int32_t)PTermGYRO*prop)/500;
      ITerm = ((int32_t)ITermACC*(500-prop) + (int32_t)ITermGYRO*prop)/500;
} else {
      if ( f.ANGLE_MODE && axis<2) {
        PTerm = PTermACC;
        ITerm = ITermACC;
      } else {
        PTerm = PTermGYRO;
        ITerm = ITermGYRO;
      }
    }


If stick is center, prop = 0, PTerm = PTermACC, ITerm = ITermACC
If stick is full, prop = 500, PTerm = PTermGYRO, ITerm = TermGYRO
Otherwise, it's MIXED, as Shikra said before.
Last edited by vpb on Tue Nov 20, 2012 7:12 pm, edited 1 time in total.

vpb
Posts: 231
Joined: Mon Jul 23, 2012 4:09 pm

Re: Angle vs Horizon

Post by vpb »

doughboy wrote:
vpb wrote:Horizon is just angle, so it uses the same PID settings. You can tune in angle or horizon mode. But I think you should tune in horizon mode when hovering around, when moving forward, how the angle-correction acts when you release the sticks...


this is incorrect and misleading information.
read the code.


Ya, you should read the code and figure out yourself why & when I say horizon is angle. :D

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Angle vs Horizon

Post by PatrikE »

Acrotrainer Switches mode very (distinct,Abrupt,sharp,sudden) select your choice of expression.
It's easy to be supriced by it if you unintended exeed the threashold value! :twisted:

Horizon will fade out the AngleMode propotional to the stick input.

You can also combine Horizon and Acrotrainer.

User avatar
shikra
Posts: 783
Joined: Wed Mar 30, 2011 7:58 pm

Re: Angle vs Horizon

Post by shikra »

vpb wrote:
@Shikra: has your copter ever been pulled back after forward-flight stick releasing?

.


Yes - and other directions too. I am convinced there is a bug in the IMU somewhere. For long time I assumed it was accelerometer being fooled by movement until testing one day proved this was not the total cause.
I will be looking at this once I have an OSD that displays debug info.

tovrin
Posts: 705
Joined: Tue Sep 20, 2011 4:08 pm

Re: Angle vs Horizon

Post by tovrin »

ok, thank you for the lesson, after flying both modes successfully, i like horizon a bit more, it seems much softer on the controls and return to level, i dont use level mode much at all, except as a failsafe when im goofing off, this could prove benficial if i turn up the pids a bit to make it snappier.

BTW, cranking up the yaw rate to .50 is insane. i wanted quicker yaw action and i got it alright, but found out that my bad habit of pressing yaw (just a little) while adjusting throttle is bad when yaw is this touchy.

p25o1
Posts: 33
Joined: Thu Mar 29, 2012 3:19 pm

Re: Angle vs Horizon

Post by p25o1 »

i'm using build r1240 to test out horizon mode, and its very smooth.

is gps pos hold disabled on horizon mode at this build ? didn't work for me.

altitude hold was nice and stable, but needed some PID tuning on my build.

mike h
Posts: 3
Joined: Sun Feb 09, 2014 1:45 am

Re: Angle vs Horizon

Post by mike h »

Hi
Just found this thread on google, can anyone tell me if there is a mode like the naza where you cant flip the quad (Attitude mode), its my first multiwii and just trying to get my head around the different flight modes.
I am not interested in flips and rolls, its only for messing about in FPV so really don't want to flip, i would just like a mode where you cant flip it, just like the naza.
T.I.A

User avatar
Crashpilot1000
Posts: 631
Joined: Tue Apr 03, 2012 7:38 pm

Re: Angle vs Horizon

Post by Crashpilot1000 »

That would be angle mode.

mike h
Posts: 3
Joined: Sun Feb 09, 2014 1:45 am

Re: Angle vs Horizon

Post by mike h »

Cool thanks, I am using 2.3, will I have to go back to 2.0 - 2.1 I dont see angle mode in 2.3. ACC Horizon only ?

Deet
Posts: 129
Joined: Sun Jul 08, 2012 1:54 am

Re: Angle vs Horizon

Post by Deet »

Angle is there in V2.3

-ralf-
Posts: 215
Joined: Mon Dec 03, 2012 7:08 pm

Re: Angle vs Horizon

Post by -ralf- »

Angle is "Level" in 2.3 ......

mike h
Posts: 3
Joined: Sun Feb 09, 2014 1:45 am

Re: Angle vs Horizon

Post by mike h »

Hi
Had problems getting it to show up in 2.3, all I was getting was ACC and Horizon, don't no what I did but now getting Angle and horizon, just need some good weather now :-/

Deet
Posts: 129
Joined: Sun Jul 08, 2012 1:54 am

Re: Angle vs Horizon

Post by Deet »

ACC used to be Angle, my guess is you had the wrong GUI version

Post Reply