REQUEST ANGLE_MAX OPTIONS FOR OSCILLATING & STALLING

greetings,

my suggestion and request is for the option to remove angle_max from stabilize mode. 

i have field tested arducopter 2013 & 2014 versions with angle_max in stabilize mode. 

  1. my review of about 5 crash landings is that angle_max was the problem:
    1. angle_max can oscillate the frame: 
      1. if the frame attitude reaches an angle_max
        1. it can overcompensate all the way to the opposing angle_max
          1. and then oscillate back & forth in a loop until crashing
    2. angle_max can stall the stab_pid_controller & motors 
      1. if the frame attitude results "upside down" or angle_max 180 degrees
        1. it can stall the stab_pid_controller
          1. and then stall the motors falling until crashing.  
    3. angle_max cannot be set to a full 360 degrees: 
      1. angle_max cannot be deactivated in stabilize mode. 
      2. angle_max furthest rotation angle is 180 degrees or default range 0 - 180.  .  


i suggest options for angle_max in stabilize mode: 

  1. option angle_max none or full 360 rotation
    1. result there is no chance of oscillating the frame between two opposing angle_max attitudes. 
    2. result there is no chance of the stab_pid stalling when the frame is upside down @ the angle_max range limit of 180 degrees. 
  2. option angle_max return to level: 
    1. if the frame is upside down @ angle_max 180
      1. stab_pid will activate a "return to level" command. 
        1. exiting the upside down condition
        2. preventing a stab_pid stall while upside down @ 180 degrees. 

i suggest the reason angle_max is limited to 180 degrees: 

  1. if the frame is upside down @ 180 degrees
    1. then there is "no stabilization possible" 
      1. reason, the motors have to turn continuously in one direction. 
        1. example stabilizing the frame while upside down would require the motors to turn in the opposite direction. 

i suggest add code for "oscillation dampening"

  1. if the frame is oscillating: 
    1. code evaluate that the frame is oscillating
      1. if
        1. over a time range: 
          1. angle_max right
          2. angle_max left
          3. angle_max right
          4. angle_max left
  1. then
    1. code dampen the oscillation 
      1. reduce stab_pid controller

 

 

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Activity