PX4-Autopilot icon indicating copy to clipboard operation
PX4-Autopilot copied to clipboard

Collision Prevention for manual flight mode

Open Claudio-Chies opened this issue 1 year ago • 2 comments

Solved Problem

Ports and extends the current collision prevention algorithm to FlightModeManualAcceleration

Associated PR's

  • [x] https://github.com/PX4/PX4-gazebo-models/pull/52
  • [ ] https://github.com/PX4/PX4-user_guide/pull/3364

Solution

The algorithm has two parts, velocity compensation, and constraining of the commanded acceleration.

Velocity compensation

For this i have ported over the existing methods from the velocity based collision prevention method. and transformed the velocity into an acceleration by subtracting the velocity set-point from the collision prevention velocity and applying a proportional gain ( MPC_XY_VEL_P_ACC ) to it.

Acceleration constraining

For this I'm calculating the minimal distance to the obstacle, and scaling it quadratic in the range of [0,1] distances proportional to the maximum velocity. hereby its important to note that scaling currently only happens in surface-normal direction, which means that the drone is still able to move freely tangentially.
whereby the acceleration constraining is done in the distance between CP_DIST and MPC_VEL_MANUAL / MPC_XY_P

Drawbacks

The main drawback of this approach is that it might allow collision causing accelerations if flying into inside corners, as when your closer to one wall than the other, you can command maximum acceleration into the other wall. might introduce normal and tangential damping parameters to solve this.

Changelog Entry

For release notes:

Feature: Collision prevention for FlightModeManual Acceleration
New parameter: TBD
Documentation: Need to clarify page ... / done, read docs.px4.io/...

Drawbacks

  • Difficulty with inside corners
  • If velocity is not close to set point, might cause crashes

Alternatives

  • dont use the max velocity and position error gain for the scaling factor and use a new normal and tangential scaling parameter.

Test coverage

  • Tested in SITL with a 2D scanning lidar
  • Hardware Testing planned

Context

https://github.com/user-attachments/assets/594d7011-10b8-49f8-ab40-dfc65866d363

Claudio-Chies avatar Aug 07 '24 08:08 Claudio-Chies

@Claudio-Chies is this something I can pull down to flight test? Or is it needing more time in the SITL?

dirksavage88 avatar Aug 13 '24 11:08 dirksavage88

@dirksavage88 it should be ready to test, the only thing i haven't tested is how non-default gains in the position and velocity controller change the CP behavior

Claudio-Chies avatar Aug 13 '24 11:08 Claudio-Chies

I've recreated this issue in sim

The main drawback of this approach is that it might allow collision causing accelerations if flying into inside corners, as when your closer to one wall than the other, you can command maximum acceleration into the other wall.
might introduce normal and tangential damping parameters to solve this.

This is kind of a big issue in indoors with an inside corner. Is there a way to maybe adapt the yaw setpoint to prevent ping-ponging between inside corner walls? We can yaw out of the corner and then revert to adapting the setpoint?

dirksavage88 avatar Nov 05 '24 18:11 dirksavage88

@dirksavage88

big issue in indoors with an inside corner. Is there a w

Yea, which is why i mentioned it. i just added a commit which looks at the distance in the tangential direction and then scales the tangential component based on that distance. this should fix this issue.

Claudio-Chies avatar Nov 06 '24 08:11 Claudio-Chies

I rebased on the main branch and removed the submodule update which is to be reviewed here: https://github.com/PX4/PX4-Autopilot/pull/23879 since it caused incompatibility with the simulation test setup.

Simulation tests can now be ran using make px4_sitl gz_x500_lidar_walls (and gz installed, I have 22.04 and gz-harmonic)

MaEtUgR avatar Nov 11 '24 14:11 MaEtUgR

@MaEtUgR can we change this to be a param? https://github.com/PX4/PX4-Autopilot/blob/6764c149d55e3992d4da9bcb05fc2db0d7cb573b/src/lib/collision_prevention/CollisionPrevention.cpp#L46

The original collision prevention used point-lidar sensors with low resolution, but now we have advanced rotating lidars with <1 degree resolution per sample, so being able to set to the lowest increment value of 5 makes sense

dirksavage88 avatar Nov 11 '24 14:11 dirksavage88

@dirksavage88

big issue in indoors with an inside corner. Is there a w

Yea, which is why i mentioned it. i just added a commit which looks at the distance in the tangential direction and then scales the tangential component based on that distance. this should fix this issue.

I just tested with subtfinals on an inside corner and it no longer ping pongs between the corner walls, but it does get stuck. But overall much better. I think the lidar model on the x500 does not have rear facing coverage

dirksavage88 avatar Nov 11 '24 14:11 dirksavage88

can we change this to be a param?

This should rather be dependent on the input interface resolution https://github.com/PX4/PX4-Autopilot/blob/4f00df60ae7f20d747c9613e631d075e3a7ed3ce/msg/ObstacleDistance.msg#L17 or if that's too complicated we just run with the highest resolution and just fill the unknown directions accordingly when the resolution is lower.

MaEtUgR avatar Nov 11 '24 15:11 MaEtUgR

@MaEtUgR we have the obstacle distance increment set to 5 deg on the SF45 driver currently. However @Claudio-Chies is wanting to change it to 10 to match the collision prevention lib.

dirksavage88 avatar Nov 11 '24 15:11 dirksavage88

@dirksavage88 I see. I'd say let's change both to 5° and check it doesn't break things. Ideally, collision prevention would adapt to the input data but I assume it doesn't explode to run through the 72 bins.

MaEtUgR avatar Nov 11 '24 16:11 MaEtUgR

@dirksavage88 sounds good, then let's switch the driver and Collision Prevention to 5. my assumption was that it was 10 because of computational resources constraints and not because of sensor hardware limitations.

Claudio-Chies avatar Nov 12 '24 07:11 Claudio-Chies

Well well, your commit breaks the unit tests and mine breaks the unit test build 🙈 Let's roll back and fix. I have multiple suggestions already but I'd like to have constantly passing unit tests as a first barrier to not break things.

MaEtUgR avatar Nov 12 '24 20:11 MaEtUgR

I fixed all my commits but had to remove yours which both line changes broke the unit tests. Here's it for reference: 6be5dd0c5965bd109337df88346fe72b67e8ab93 I can add it back tomorrow making collision prevention use 72 bins again but have to check if anything is hardcoded in the tests.

MaEtUgR avatar Nov 12 '24 21:11 MaEtUgR

Note, this will need a docs update (but should be fairly easy)

hamishwillee avatar Nov 13 '24 01:11 hamishwillee

One open point for discussion:

  • should we expand the collision_constraint message to differentiate between the velocity compensation and setpoint scaling? It might help with debugging to see where what contributed how much to the constrained setpoint?

Claudio-Chies avatar Nov 13 '24 10:11 Claudio-Chies

FLASH Analysis

px4_fmu-v5x
    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +1.4%    +344  [ = ]       0    [Unmapped]
  -0.0%    -344  -0.0%    -344    .text
     +28% +1.23Ki   +28% +1.23Ki    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +8.4%    +158  +8.4%    +158    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +4.1%    +146  +4.1%    +146    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
    +7.7%    +114  +7.7%    +114    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +0.8%     +58  +0.8%     +58    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +1.1%     +50  +1.1%     +50    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    +6.2%     +50  +6.2%     +50    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    +1.1%     +40  +1.1%     +40    ../../src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
    -0.3%     -32  -0.3%     -32    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -0.0%     -62  -0.0%     -62    [section .text]
    -0.1%     -94  -0.1%     -94    ROMFS/nsh_romfsimg.c
    -7.4%    -224  -7.4%    -224    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL]    -400  [DEL]    -400    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -1.38Ki  [DEL] -1.38Ki    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.2%    -360  [ = ]       0    .debug_aranges
  -0.1%    -704  [ = ]       0    .symtab
     +39%    +320  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
     +53%    +128  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
     +15%     +96  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +9.3%     +64  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
    +3.0%     +32  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    -0.0%     -48  [ = ]       0    [section .symtab]
    [DEL]    -192  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
   -23.2%    -208  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL]    -896  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.2% -1.03Ki  [ = ]       0    .debug_frame
  -0.2% -1.36Ki  [ = ]       0    .strtab
     +39%    +437  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
     +22%    +158  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
     +47%    +152  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
     +12%     +87  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +2.7%     +48  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    -0.1%    -108  [ = ]       0    [section .strtab]
   -26.7%    -312  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL]    -329  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -1.49Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.1% -2.05Ki  [ = ]       0    .debug_str
     +34% +1.03Ki  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +1.1%    +750  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
     +13%     +87  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    +1.7%     +48  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +8.8%     +37  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAltitudeSmoothVel/FlightTaskManualAltitudeSmoothVel.cpp
     +29%     +15  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingZ.cpp
    +1.0%     +10  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/FlightTask/FlightTask.cpp
    -0.6%      -1  [ = ]       0    ../../src/lib/motion_planning/HeadingSmoothing.cpp
    -4.4%     -14  [ = ]       0    ../../src/lib/rtl/rtl_time_estimator.cpp
    -3.7%     -18  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    -0.0%     -30  [ = ]       0    [section .debug_str]
    [DEL]     -73  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    -2.7%    -841  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -6.7% -1.41Ki  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL] -1.64Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.2% -4.06Ki  [ = ]       0    .debug_abbrev
    -0.2% -4.06Ki  [ = ]       0    armv7-m/arm_vectors.c
  -0.3% -4.18Ki  [ = ]       0    .debug_ranges
     +16%    +832  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +4.2%    +160  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +2.2%     +48  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    +2.0%     +48  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +0.8%     +40  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +2.7%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
    -1.0%     -40  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    -0.6%     -80  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
   -10.5%    -328  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    -0.1%    -352  [ = ]       0    [section .debug_ranges]
    [DEL]    -584  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -3.95Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.2% -8.43Ki  [ = ]       0    .debug_line
     +15% +1.68Ki  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +7.5%    +556  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +6.6%    +407  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    +5.8%    +407  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +1.8%    +380  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +1.0%    +150  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    +0.4%     +46  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
    -0.4%    -111  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -4.0%    -312  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    -3.8%    -398  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL] -2.25Ki  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -8.96Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.3% -14.7Ki  [ = ]       0    .debug_loc
     +26% +4.97Ki  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +3.6%    +539  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +5.4%    +457  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    +5.2%    +457  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +1.5%    +350  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +0.0%     +14  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    -0.7%    -340  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -4.0%    -676  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    -8.1%    -992  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    -0.2% -2.46Ki  [ = ]       0    [section .debug_loc]
    [DEL] -2.60Ki  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -14.4Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.3% -83.8Ki  [ = ]       0    .debug_info
     +12% +9.18Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +8.6% +7.10Ki  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +7.7% +6.30Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +7.8% +6.30Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    +4.1% +5.64Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +2.1% +2.69Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    +0.3%    +327  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
    -0.5%    -820  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -1.6% -1.49Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    -1.7% -2.17Ki  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL] -18.9Ki  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -98.0Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.2%  -120Ki  -0.0%    -344    TOTAL

px4_fmu-v6x
    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.5%    +335  [ = ]       0    [Unmapped]
  -0.0%    -336  -0.0%    -336    .text
     +28% +1.23Ki   +28% +1.23Ki    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +8.4%    +158  +8.4%    +158    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +4.1%    +146  +4.1%    +146    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
    +7.7%    +114  +7.7%    +114    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +0.8%     +58  +0.8%     +58    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +1.1%     +50  +1.1%     +50    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    +6.2%     +50  +6.2%     +50    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    +1.1%     +40  +1.1%     +40    ../../src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
    -0.3%     -32  -0.3%     -32    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -0.0%     -54  -0.0%     -54    [section .text]
    -0.1%     -94  -0.1%     -94    ROMFS/nsh_romfsimg.c
    -7.4%    -224  -7.4%    -224    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL]    -400  [DEL]    -400    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -1.38Ki  [DEL] -1.38Ki    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.2%    -360  [ = ]       0    .debug_aranges
  -0.1%    -704  [ = ]       0    .symtab
     +39%    +320  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
     +53%    +128  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
     +15%     +96  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +9.3%     +64  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
    +3.0%     +32  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    -0.0%     -48  [ = ]       0    [section .symtab]
    [DEL]    -192  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
   -23.2%    -208  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL]    -896  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.2% -1.03Ki  [ = ]       0    .debug_frame
  -0.2% -1.36Ki  [ = ]       0    .strtab
     +39%    +437  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
     +22%    +158  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
     +47%    +152  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
     +12%     +87  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +2.7%     +48  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    -0.1%    -108  [ = ]       0    [section .strtab]
   -26.7%    -312  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL]    -329  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -1.49Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.1% -2.05Ki  [ = ]       0    .debug_str
     +34% +1.03Ki  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +1.1%    +750  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
     +13%     +87  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    +2.0%     +58  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +8.8%     +37  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAltitudeSmoothVel/FlightTaskManualAltitudeSmoothVel.cpp
     +29%     +15  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingZ.cpp
    +1.0%     +10  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/FlightTask/FlightTask.cpp
    -0.6%      -1  [ = ]       0    ../../src/lib/motion_planning/HeadingSmoothing.cpp
    -4.4%     -14  [ = ]       0    ../../src/lib/rtl/rtl_time_estimator.cpp
    -3.7%     -18  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    -0.0%     -30  [ = ]       0    [section .debug_str]
    [DEL]     -73  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    -2.7%    -841  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -6.7% -1.41Ki  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL] -1.65Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.2% -4.06Ki  [ = ]       0    .debug_abbrev
    -0.2% -4.06Ki  [ = ]       0    armv7-m/arm_vectors.c
  -0.3% -4.18Ki  [ = ]       0    .debug_ranges
     +16%    +832  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +4.2%    +160  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +2.2%     +48  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    +2.0%     +48  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +0.8%     +40  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +2.7%     +24  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
    -1.0%     -40  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    -0.6%     -80  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
   -10.5%    -328  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    -0.1%    -352  [ = ]       0    [section .debug_ranges]
    [DEL]    -584  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -3.95Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.2% -8.43Ki  [ = ]       0    .debug_line
     +15% +1.68Ki  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +7.5%    +556  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +6.6%    +407  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    +5.8%    +407  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +1.8%    +380  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +1.0%    +150  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    +0.4%     +46  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
    -0.4%    -111  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -4.0%    -312  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    -3.8%    -398  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL] -2.25Ki  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -8.96Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.3% -14.7Ki  [ = ]       0    .debug_loc
     +26% +4.97Ki  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +3.6%    +539  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +5.4%    +457  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    +5.2%    +457  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +1.5%    +337  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    -0.7%    -340  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -4.1%    -689  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    -8.1%    -992  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    -0.2% -2.47Ki  [ = ]       0    [section .debug_loc]
    [DEL] -2.60Ki  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -14.4Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.3% -83.4Ki  [ = ]       0    .debug_info
     +12% +9.18Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp
    +8.7% +7.10Ki  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
    +7.7% +6.30Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAccelerationSlow/FlightTaskManualAccelerationSlow.cpp
    +7.9% +6.30Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualAcceleration/FlightTaskManualAcceleration.cpp
    +4.1% +5.64Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
    +2.1% +2.69Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
    +0.3%    +327  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
    -0.5%    -820  [ = ]       0    ../../src/modules/mc_pos_control/MulticopterPositionControl.cpp
    -1.6% -1.49Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPosition/FlightTaskManualPosition.cpp
    -1.7% -2.17Ki  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
    [DEL] -18.9Ki  [ = ]       0    ../../src/lib/motion_planning/ManualVelocitySmoothingXY.cpp
    [DEL] -97.5Ki  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/ManualPositionSmoothVel/FlightTaskManualPositionSmoothVel.cpp
  -0.3%  -120Ki  -0.0%    -336    TOTAL

github-actions[bot] avatar Nov 21 '24 10:11 github-actions[bot]