Skip to content
Snippets Groups Projects
  1. May 22, 2019
    • Matthias Grob's avatar
      Revert "mc_att_control: fix having high thrust when disarmed" · 953e5e50
      Matthias Grob authored
      This reverts commit 0c81a19decde6ddfe4ce87c34c762ea15fd3ab09.
      953e5e50
    • Matthias Grob's avatar
      mc_pos_control: switch back to velocity ramp · fac3e1c3
      Matthias Grob authored
      But fix the two crucial problems:
      - When to begin the ramp?
      There's a calculation now for the velocity ramp initial value
      such that the resulting thrust is zero at the beginning.
      - When to end the ramp?
      The ramp is applied to the upwards velocity constraint and it
      just ramps from the initial value to the velocity constraint
      which is applied during flight. Slower/going down is always possible.
      fac3e1c3
    • Matthias Grob's avatar
    • Matthias Grob's avatar
      mc_pos_control: fix updating takeoff state when no flight task is running · 856d129b
      Matthias Grob authored
      Without always updating the takeoff state it will not get skipped when
      the takeoff happened manually and when you switch from manual to position
      mode the drone goes to idle and falls.
      856d129b
    • Matthias Grob's avatar
      mc_pos_control: fix adjusting the wrong setpoint · a9f0981a
      Matthias Grob authored
      There are two local_position_setpoint in the position controller.
      One describing the setpoint the task gives to the position controller
      and a second one with the output of the position controller. I corrected
      the wrong one during takeoff because the new takeoff thrust ramp runs after
      the controller and not before.
      a9f0981a
    • Matthias Grob's avatar
      Add a Takeoff class to handle multicopter takeoff · ad6eb19f
      Matthias Grob authored
      In a deterministic way with clear states to go through.
      ad6eb19f
    • Matthias Grob's avatar
      mc_pos_control: replace takeoff velocity ramp with thrust ramp · da533a7b
      Matthias Grob authored
      The velocity ramp had problems with:
      - different vehicle tunings resulted in the start value of the resulting
      thrust ramp staring either higher and lower than zero thrust.
      lower -> delay of beginning
      higher -> small jump at beginning
      - when a task set position and velocity at the same time during takeoff
      (which AutoSmoothVel does) it resulted in a velocity setpoint
      jump at the end of the ramp because the additional velocity
      setpoint correction from the position controller was not considered.
      
      The thrust ramp should now be very deterministic:
      - always start at zero
      - always end at the curreant thrust setpoint output
      of the complete position controller
      da533a7b
    • bresch's avatar
      AutoSmoothVel - Override checkTakeoff with task-specific logic and reactivate... · bb055fda
      bresch authored
      AutoSmoothVel - Override checkTakeoff with task-specific logic and reactivate z axis with downward velocity to takeoff smoothly
      bb055fda
    • Matthias Grob's avatar
      7c7d980c
    • Matthias Grob's avatar
      mc_pos_control/FlightTasks: trigger takeoff based on task · e73218d6
      Matthias Grob authored
      The initial idea of the flight task architecture was that
      a task can freely set it's setpoints and doesn't have to
      worry about takeoff and landing. It would just takeoff
      when it's landed and there's a setpoint to go up and
      land when it puts a setpoint that pushes into the ground.
      With the takeoff logic there are some significant interface
      problems depending on the way a task is implemented:
      From the setpoint is not high enough to trigger to
      an unexpected takeoff because of some estimator
      fluctuation affecting the setpoint. It's easiest to solve this
      by allowing the task to determine when a takeoff is triggered.
      If no condition is implemented by default a task is not
      allowing a takeoff  and cannot be used to get the vehicle
      off the ground.
      e73218d6
    • Matthias Grob's avatar
      mc_att_control: fix having high thrust when disarmed · 9ba748e6
      Matthias Grob authored
      After boot the user is in manual mode and if he has an RC
      but doesn't switch out the thrust gets set to the throttle stick
      position. When he then starts a takeoff from tablet the thrust is still
      high while arming and the land detector immediately sees a takeoff
      skiping smooth takeoff from the position controller.
      9ba748e6
    • Matthias Grob's avatar
      mc_pos_control: initialize takeoff altitude reference · ae96e16c
      Matthias Grob authored
      according to @dagar's review comment.
      ae96e16c
    • Matthias Grob's avatar
    • Matthias Grob's avatar
      mc_pos_control: fix smooth takeoff ramp · 5e238833
      Matthias Grob authored
      - start from a velocity setpoint pushing into the ground
      to ramp from idle thrust up.
      - start with a bit higher velocity setpoint threshold to make
      sure the vehicle has a chance to really get off the ground.
      - calculate ramp slope from initialization setpoint to the desired one
      instead from zero to the desired. this ramps up quicker when you demand
      a very small upwards velocity like the AutoLineSmoothVel and
      ManualPositionSmoothVel tasks do at the beginning.
      - don't stay in the takeoff ramp depending on the land detector, this
      is unnecessary.
      5e238833
    • Matthias Grob's avatar
      mc_pos_control: refactor smooth takeoff names · bc77302f
      Matthias Grob authored
      The comments and variable names were partly misleading.
      I grouped all members, hopefully gave them more
      understandable names and adjusted the comments.
      bc77302f
    • Matthias Grob's avatar
      mc_pos_control: refactor smooth takeoff call · 6d5d09c2
      Matthias Grob authored
      There were two rather confusing function calls one to check
      if smooth takeoff needs to be ran and one that updates it.
      I combined them and documented the interface correctly
      making the parameters non-reference const floats.
      6d5d09c2
  2. May 20, 2019
  3. May 17, 2019
  4. May 16, 2019
    • Julian Oes's avatar
      modules/lib: ignore address-of-packed-member · 9d8015d0
      Julian Oes authored
      For now we need to ignore this warning which GCC 9 shows for the MAVLink
      headers.
      9d8015d0
    • Julian Oes's avatar
      drivers: fix -Wstringop-truncation · b20feacd
      Julian Oes authored
      GCC 9 complained about stringop-truncation which is a cautionary message
      to prevent using strncpy with non-null terminated strings.
      
      We can fix this by copying one byte less than the destination size and
      then manually adding the null termination, as we already do.
      b20feacd
  5. May 11, 2019
  6. May 09, 2019
  7. May 08, 2019
Loading