Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Helicopter main rotor rpm control #24096

Draft
wants to merge 8 commits into
base: rpm-sensing
Choose a base branch
from

Conversation

MaEtUgR
Copy link
Member

@MaEtUgR MaEtUgR commented Dec 11, 2024

Solved Problem

PX4 currently has no support to control the main rotor's RPM on the autopilot. This should in my eyes be avoided and an ESC with RPM control used if possible but in the following cases that's not so easily possible:

  • Cheap RC helicopters where the ESC cannot do this and just has a plug for rpm feedback pulses and a duty cycle signal input.
  • More complex helicopters where you have two motors with a freewheel for redundancy. There each motor needs an ESC and even if they do rpm control you somehow need to make sure the load is shared equally in the normal use case. Then it can make sense to do the rpm control on the autopilot directly and control both ESCs with a command producing roughly the same load.
  • If a separate e.g. more accurate rpm sensor is used which cannot be hooked up as telemetry for the ESC. Note this is also the case if you have any freewheel between motor and rotor.

Solution

Following up on #23931 and #24041 we now have the pieces to do a clean helicopter rpm controller for the main rotor.

Changelog Entry

Feature: Helicopter main rotor rpm control

Test coverage

We successfully used the version in the first commit on a real helicopter before it was ported and changed again to clean up and improve for this pull request. We'll follow up with more improvements and new bench tests.

Context

To be added from bench test results.

@MaEtUgR MaEtUgR force-pushed the helicopter-rpm-control branch from dd82d45 to ed0129a Compare December 16, 2024 14:40
@MaEtUgR MaEtUgR force-pushed the helicopter-rpm-control branch from ed0129a to 317bc0b Compare December 16, 2024 17:39
Copy link

🔎 FLASH Analysis

px4_fmu-v5x [Total VM Diff: 1800 byte (0.09 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.1% +1.76Ki  +0.1% +1.76Ki    .text
  [NEW]    +612  [NEW]    +612    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
   +17%    +360   +17%    +360    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +252  [NEW]    +252    ../../src/lib/pid/PID.cpp
  +0.1%    +250  +0.1%    +250    [section .text]
  +0.1%    +163  +0.1%    +163    ROMFS/nsh_romfsimg.c
  +1.8%     +92  +1.8%     +92    ../../src/modules/logger/logged_topics.cpp
  +0.3%     +80  +0.3%     +80    ../../src/lib/parameters/parameters.cpp
   +60%     +12   +60%     +12    msg/topics_sources/rover_mecanum_status.cpp
  +0.2%      +3  +0.2%      +3    ../../src/systemcmds/ver/ver.cpp
  -0.1%      -4  -0.1%      -4    ../../src/modules/mag_bias_estimator/MagBiasEstimator.cpp
 -12.5%      -4 -12.5%      -4    msg/topics_sources/rpm.cpp
  -0.1%      -8  -0.1%      -8    ../../src/modules/control_allocator/ControlAllocator.cpp
 -28.6%      -8 -28.6%      -8    msg/topics_sources/register_ext_component_request.cpp
+0.2% +3.84Ki  [ = ]       0    .debug_abbrev
  [NEW] +1.15Ki  [ = ]       0    ../../src/lib/pid/PID.cpp
   +11%     +56  [ = ]       0    ../../src/lib/version/version.c
  +4.9%    +144  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW] +2.50Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
+0.1%    +192  [ = ]       0    .debug_aranges
  [NEW]     +56  [ = ]       0    ../../src/lib/pid/PID.cpp
  -5.0%      -8  [ = ]       0    ../../src/lib/version/version.c
   +11%     +24  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +120  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
+0.1%    +524  [ = ]       0    .debug_frame
+0.2% +54.4Ki  [ = ]       0    .debug_info
  +0.1%     +24  [ = ]       0    ../../src/drivers/batt_smbus/batt_smbus.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/cdcacm_autostart/cdcacm_autostart.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/distance_sensor/lightware_laser_i2c/lightware_laser_i2c.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/dshot/DShot.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/heater/heater.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/lights/rgbled/rgbled.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/lights/rgbled_is31fl3195/rgbled_is31fl3195.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/lights/rgbled_lp5562/rgbled_lp5562.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/lights/rgbled_ncp5623c/rgbled_ncp5623c.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/osd/msp_osd/msp_osd.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina226/ina226.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina226/ina226_main.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina228/ina228.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina228/ina228_main.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina238/ina238.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina238/ina238_main.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/power_monitor/pm_selector_auterion/PowerMonitorSelectorAuterion.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/pwm_out/PWMOut.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/px4io/px4io.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/rc/crsf_rc/CrsfRc.cpp
 -99.6% +53.9Ki  [ = ]       0    [174 Others]
+0.1% +5.70Ki  [ = ]       0    .debug_line
  +0.1%     +29  [ = ]       0    ../../src/lib/parameters/parameters.cpp
  [NEW] +1.19Ki  [ = ]       0    ../../src/lib/pid/PID.cpp
  -1.3%     -25  [ = ]       0    ../../src/lib/version/version.c
   +16%    +905  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW] +3.56Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  +0.1%     +13  [ = ]       0    ../../src/modules/control_allocator/ControlAllocator.cpp
  +0.9%     +58  [ = ]       0    ../../src/modules/logger/logged_topics.cpp
+0.1% +6.57Ki  [ = ]       0    .debug_loc
  -0.0%     -14  [ = ]       0    ../../src/drivers/uavcan/uavcan_main.cpp
  -0.0%      -2  [ = ]       0    ../../src/drivers/uavcan/uavcan_servers.cpp
  -0.1%     -15  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
  +0.1%     +15  [ = ]       0    ../../src/lib/mixer_module/mixer_module.cpp
  -0.1%     -50  [ = ]       0    ../../src/lib/parameters/parameters.cpp
  [NEW]    +516  [ = ]       0    ../../src/lib/pid/PID.cpp
  +0.2%     +15  [ = ]       0    ../../src/modules/camera_feedback/CameraFeedback.cpp
  +0.4%     +15  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/checks/accelerometerCheck.cpp
  +0.6%     +15  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/checks/baroCheck.cpp
  +0.3%     +15  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/checks/batteryCheck.cpp
  +0.1%     +15  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/checks/estimatorCheck.cpp
  +0.4%     +15  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/checks/gyroCheck.cpp
  +0.2%     +15  [ = ]       0    ../../src/modules/commander/HealthAndArmingChecks/checks/magnetometerCheck.cpp
  +0.0%      +2  [ = ]       0    ../../src/modules/commander/failure_detector/FailureDetector.cpp
   +33% +1.95Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  -0.6%     -48  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessTiltrotorVTOL.cpp
  [NEW] +3.37Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  -0.0%     -16  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
  +0.0%     +48  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  -0.0%     -17  [ = ]       0    ../../src/modules/fw_rate_control/FixedwingRateControl.cpp
 -100.0%    +764  [ = ]       0    [12 Others]
+0.2% +2.48Ki  [ = ]       0    .debug_ranges
  [NEW]     +64  [ = ]       0    ../../src/lib/pid/PID.cpp
  -2.6%      -8  [ = ]       0    ../../src/lib/version/version.c
   +39%    +784  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW] +1.41Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  -0.1%      -8  [ = ]       0    ../../src/modules/control_allocator/ControlAllocator.cpp
  +4.0%     +56  [ = ]       0    ../../src/modules/logger/logged_topics.cpp
  +0.4%    +208  [ = ]       0    [section .debug_ranges]
  +1.5%      +1  [ = ]       0    task/task_cancelpt.c
+0.1% +3.93Ki  [ = ]       0    .debug_str
  +0.2%     +99  [ = ]       0    
  -3.1%      -5  [ = ]       0    ../../platforms/nuttx/src/px4/common/print_load.cpp
  +0.1%     +43  [ = ]       0    ../../src/drivers/batt_smbus/batt_smbus.cpp
  [NEW]     +45  [ = ]       0    ../../src/lib/pid/PID.cpp
   +62%    +967  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +276  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  +8.0% +2.52Ki  [ = ]       0    ../../src/modules/control_allocator/ControlAllocator.cpp
  +0.0%     +33  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
  -0.2%      -9  [ = ]       0    ../../src/modules/sensors/vehicle_imu/VehicleIMU.cpp
  -0.6%      -1  [ = ]       0    msg/topics_sources/rover_ackermann_status.cpp
  +0.0%      +3  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
  -0.0%     -10  [ = ]       0    src/modules/mavlink/modules__mavlink_unity.cpp
+0.1%    +424  [ = ]       0    .strtab
  [NEW]     +96  [ = ]       0    ../../src/lib/pid/PID.cpp
  -8.1%     -32  [ = ]       0    ../../src/lib/version/version.c
  +8.5%     +96  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +183  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  +1.2%      +9  [ = ]       0    ../../src/modules/control_allocator/ControlAllocation/ControlAllocationPseudoInverse.cpp
  +0.1%     +72  [ = ]       0    [section .strtab]
+0.1%    +640  [ = ]       0    .symtab
  +2.5%     +16  [ = ]       0    ../../src/drivers/magnetometer/st/iis2mdc/iis2mdc.cpp
  +2.3%     +16  [ = ]       0    ../../src/drivers/uavcan/libdronecan/libuavcan/src/transport/uc_can_io.cpp
  [NEW]    +176  [ = ]       0    ../../src/lib/pid/PID.cpp
  -7.0%     -64  [ = ]       0    ../../src/lib/version/version.c
   +24%    +144  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +240  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  +3.2%     +16  [ = ]       0    ../../src/modules/control_allocator/ControlAllocation/ControlAllocationPseudoInverse.cpp
  +0.9%     +16  [ = ]       0    ../../src/modules/control_allocator/ControlAllocator.cpp
  -0.9%     -16  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
  +0.3%     +16  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  +0.1%     +80  [ = ]       0    [section .symtab]
-14.4% -1.76Ki  [ = ]       0    [Unmapped]
+0.2% +78.6Ki  +0.1% +1.76Ki    TOTAL

px4_fmu-v6x [Total VM Diff: 1736 byte (0.09 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.1% +1.70Ki  +0.1% +1.70Ki    .text
  [NEW]    +612  [NEW]    +612    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
   +17%    +360   +17%    +360    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +252  [NEW]    +252    ../../src/lib/pid/PID.cpp
  +0.1%    +244  +0.1%    +244    [section .text]
  +0.1%    +164  +0.1%    +164    ROMFS/nsh_romfsimg.c
  +1.8%     +92  +1.8%     +92    ../../src/modules/logger/logged_topics.cpp
  +0.1%     +24  +0.1%     +24    ../../src/lib/parameters/parameters.cpp
   +60%     +12   +60%     +12    msg/topics_sources/rover_mecanum_status.cpp
  -0.1%      -4  -0.1%      -4    ../../src/modules/mag_bias_estimator/MagBiasEstimator.cpp
 -12.5%      -4 -12.5%      -4    msg/topics_sources/rpm.cpp
  -0.1%      -8  -0.1%      -8    ../../src/modules/control_allocator/ControlAllocator.cpp
 -28.6%      -8 -28.6%      -8    msg/topics_sources/register_ext_component_request.cpp
+0.2% +3.84Ki  [ = ]       0    .debug_abbrev
  [NEW] +1.15Ki  [ = ]       0    ../../src/lib/pid/PID.cpp
   +11%     +56  [ = ]       0    ../../src/lib/version/version.c
  +4.9%    +144  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW] +2.50Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
+0.1%    +192  [ = ]       0    .debug_aranges
  [NEW]     +56  [ = ]       0    ../../src/lib/pid/PID.cpp
  -5.0%      -8  [ = ]       0    ../../src/lib/version/version.c
   +11%     +24  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +120  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
+0.1%    +524  [ = ]       0    .debug_frame
+0.2% +53.7Ki  [ = ]       0    .debug_info
  +0.1%     +24  [ = ]       0    ../../src/drivers/cdcacm_autostart/cdcacm_autostart.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/distance_sensor/lightware_laser_i2c/lightware_laser_i2c.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/dshot/DShot.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/heater/heater.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/lights/rgbled/rgbled.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/lights/rgbled_is31fl3195/rgbled_is31fl3195.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/lights/rgbled_lp5562/rgbled_lp5562.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/lights/rgbled_ncp5623c/rgbled_ncp5623c.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/osd/msp_osd/msp_osd.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina226/ina226.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina226/ina226_main.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina228/ina228.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina228/ina228_main.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina238/ina238.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/power_monitor/ina238/ina238_main.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/power_monitor/pm_selector_auterion/PowerMonitorSelectorAuterion.cpp
  +0.1%     +24  [ = ]       0    ../../src/drivers/pwm_out/PWMOut.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/px4io/px4io.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/rc_input/RCInput.cpp
  +0.0%     +24  [ = ]       0    ../../src/drivers/uavcan/actuators/esc.cpp
 -99.6% +53.2Ki  [ = ]       0    [163 Others]
+0.1% +5.68Ki  [ = ]       0    .debug_line
  [NEW] +1.19Ki  [ = ]       0    ../../src/lib/pid/PID.cpp
  -1.3%     -25  [ = ]       0    ../../src/lib/version/version.c
   +16%    +905  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW] +3.56Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  +0.1%     +13  [ = ]       0    ../../src/modules/control_allocator/ControlAllocator.cpp
  +0.9%     +58  [ = ]       0    ../../src/modules/logger/logged_topics.cpp
  +0.4%      +4  [ = ]       0    task/task_cancelpt.c
+0.1% +6.69Ki  [ = ]       0    .debug_loc
  -0.1%     -15  [ = ]       0    ../../src/drivers/px4io/px4io.cpp
  -0.0%     -29  [ = ]       0    ../../src/drivers/uavcan/uavcan_main.cpp
  +0.0%      +3  [ = ]       0    ../../src/drivers/uavcan/uavcan_servers.cpp
  +0.1%     +15  [ = ]       0    ../../src/lib/avoidance/ObstacleAvoidance.cpp
  -0.1%     -30  [ = ]       0    ../../src/lib/collision_prevention/CollisionPrevention.cpp
  [NEW]    +516  [ = ]       0    ../../src/lib/pid/PID.cpp
  +0.1%     +15  [ = ]       0    ../../src/modules/airspeed_selector/airspeed_selector_main.cpp
  +0.2%     +15  [ = ]       0    ../../src/modules/camera_feedback/CameraFeedback.cpp
  -0.0%     -15  [ = ]       0    ../../src/modules/commander/Commander.cpp
  +0.0%      +2  [ = ]       0    ../../src/modules/commander/failure_detector/FailureDetector.cpp
   +33% +1.95Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  +1.1%     +96  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessTiltrotorVTOL.cpp
  [NEW] +3.37Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  -0.0%     -13  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.cpp
  -0.3%     -15  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/FlightTask/FlightTask.cpp
  -0.1%     -15  [ = ]       0    ../../src/modules/flight_mode_manager/tasks/Transition/FlightTaskTransition.cpp
  -0.1%     -80  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  +0.1%     +15  [ = ]       0    ../../src/modules/gyro_calibration/GyroCalibration.cpp
  +0.2%     +15  [ = ]       0    ../../src/modules/land_detector/LandDetector.cpp
  +0.5%     +15  [ = ]       0    ../../src/modules/land_detector/RoverLandDetector.cpp
 -99.9%    +916  [ = ]       0    [11 Others]
+0.2% +2.48Ki  [ = ]       0    .debug_ranges
  [NEW]     +64  [ = ]       0    ../../src/lib/pid/PID.cpp
  -2.6%      -8  [ = ]       0    ../../src/lib/version/version.c
   +39%    +784  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW] +1.41Ki  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  -0.1%      -8  [ = ]       0    ../../src/modules/control_allocator/ControlAllocator.cpp
  +4.0%     +56  [ = ]       0    ../../src/modules/logger/logged_topics.cpp
  +0.4%    +208  [ = ]       0    [section .debug_ranges]
  +3.1%      +2  [ = ]       0    task/task_cancelpt.c
+0.1% +3.92Ki  [ = ]       0    .debug_str
  +0.2%     +99  [ = ]       0    
  -3.1%      -5  [ = ]       0    ../../platforms/nuttx/src/px4/common/print_load.cpp
  +0.1%     +43  [ = ]       0    ../../src/drivers/cdcacm_autostart/cdcacm_autostart.cpp
  [NEW]     +45  [ = ]       0    ../../src/lib/pid/PID.cpp
   +63%    +967  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +276  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  +8.0% +2.52Ki  [ = ]       0    ../../src/modules/control_allocator/ControlAllocator.cpp
  +0.0%     +11  [ = ]       0    ../../src/modules/flight_mode_manager/FlightModeManager.cpp
  +0.0%     +12  [ = ]       0    ../../src/modules/navigator/navigator_main.cpp
  -0.1%      -9  [ = ]       0    ../../src/modules/sensors/vehicle_imu/VehicleIMU.cpp
  -0.6%      -1  [ = ]       0    msg/topics_sources/rover_ackermann_status.cpp
  +0.0%      +1  [ = ]       0    src/modules/flight_mode_manager/FlightTasks_generated.cpp
  -0.0%     -10  [ = ]       0    src/modules/mavlink/modules__mavlink_unity.cpp
+0.1%    +424  [ = ]       0    .strtab
  [NEW]     +96  [ = ]       0    ../../src/lib/pid/PID.cpp
  -8.1%     -32  [ = ]       0    ../../src/lib/version/version.c
  +8.5%     +96  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +183  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  +1.2%      +9  [ = ]       0    ../../src/modules/control_allocator/ControlAllocation/ControlAllocationPseudoInverse.cpp
  +0.1%     +72  [ = ]       0    [section .strtab]
+0.1%    +640  [ = ]       0    .symtab
  -1.2%     -16  [ = ]       0    ../../src/drivers/pwm_out/PWMOut.cpp
  +2.3%     +16  [ = ]       0    ../../src/drivers/uavcan/libdronecan/libuavcan/src/transport/uc_can_io.cpp
  [NEW]    +176  [ = ]       0    ../../src/lib/pid/PID.cpp
  -7.0%     -64  [ = ]       0    ../../src/lib/version/version.c
   +24%    +144  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessHelicopter.cpp
  [NEW]    +240  [ = ]       0    ../../src/modules/control_allocator/ActuatorEffectiveness/RpmControl.cpp
  +3.2%     +16  [ = ]       0    ../../src/modules/control_allocator/ControlAllocation/ControlAllocationPseudoInverse.cpp
  +0.9%     +16  [ = ]       0    ../../src/modules/control_allocator/ControlAllocator.cpp
  +0.3%     +16  [ = ]       0    ../../src/modules/fw_pos_control/FixedwingPositionControl.cpp
  +0.1%     +80  [ = ]       0    [section .symtab]
   +33%     +16  [ = ]       0    msg/topics_sources/rpm.cpp
-2.5% -1.70Ki  [ = ]       0    [Unmapped]
+0.2% +78.0Ki  +0.1% +1.70Ki    TOTAL

Updated: 2024-12-16T17:45:02

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants