rosflight / rosflight_firmware

Firmware for the ROSflight autopilot
http://rosflight.org/
BSD 3-Clause "New" or "Revised" License
130 stars 46 forks source link

ROLL_RATE_I and YAW_RATE_I configuration not being accepted #306

Open korken89 opened 6 years ago

korken89 commented 6 years ago

During some testing I wanted to test the response with some I term, where the PITCH_RATE_I is accepted, but changes to ROLL_RATE_I and YAW_RATE_I are not recognized. When running rosservice call /emifre/param_load_from_file ~/pixy.yaml I get the response Parameter PID_PITCH_RATE_I has new value 0.1, but nothing for ROLL_RATE_I and YAW_RATE_I. Also, if I download the param file again with rosservice call /emifre/param_save_to_file ~/pixy.yaml the ROLL_RATE_I and YAW_RATE_I are 0 while the PITCH_RATE_I has the expected result.

Is there perhaps some bug in the configuration code of these parameters?

  1. OS Version Ubuntu 16.04, ROS Kinetic

  2. git tag (master, stable, v1.0, etc..) Current release v1.2.0

  3. parameter file (rosservice call /param_save_to_file)

    - {name: ACC_LPF_ALPHA, type: 9, value: 0.5}
    - {name: ACC_X_BIAS, type: 9, value: 0.3902239203453064}
    - {name: ACC_X_TEMP_COMP, type: 9, value: 0}
    - {name: ACC_Y_BIAS, type: 9, value: 0.02863248251378536}
    - {name: ACC_Y_TEMP_COMP, type: 9, value: 0}
    - {name: ACC_Z_BIAS, type: 9, value: -0.0629960298538208}
    - {name: ACC_Z_TEMP_COMP, type: 9, value: 0}
    - {name: AIL_REV, type: 6, value: 0}
    - {name: ARM_CHANNEL, type: 6, value: 4}
    - {name: ARM_SPIN_MOTORS, type: 6, value: 1}
    - {name: ARM_THRESHOLD, type: 9, value: 0.1500000059604645}
    - {name: BARO_BIAS, type: 9, value: 16433.998046875}
    - {name: BAUD_RATE, type: 6, value: 921600}
    - {name: CAL_GYRO_ARM, type: 6, value: 0}
    - {name: DIFF_PRESS_BIAS, type: 9, value: 0}
    - {name: ELEVATOR_REV, type: 6, value: 0}
    - {name: FAILSAFE_THR, type: 9, value: 0}
    - {name: FC_PITCH, type: 9, value: 0}
    - {name: FC_ROLL, type: 9, value: 0}
    - {name: FC_YAW, type: 9, value: 0}
    - {name: FILTER_INIT_T, type: 6, value: 3000}
    - {name: FILTER_KI, type: 9, value: 0.01}
    - {name: FILTER_KP, type: 9, value: 0.5}
    - {name: FILTER_MAT_EXP, type: 6, value: 1}
    - {name: FILTER_QUAD_INT, type: 6, value: 1}
    - {name: FILTER_USE_ACC, type: 6, value: 1}
    - {name: FIXED_WING, type: 6, value: 0}
    - {name: GROUND_LEVEL, type: 9, value: 1387}
    - {name: GYRO_LPF_ALPHA, type: 9, value: 0.300000011920929}
    - {name: GYRO_X_BIAS, type: 9, value: 0.009238879196345806}
    - {name: GYRO_Y_BIAS, type: 9, value: -0.01717542298138142}
    - {name: GYRO_Z_BIAS, type: 9, value: 0.010241380892694}
    - {name: MAG_A11_COMP, type: 9, value: 1}
    - {name: MAG_A12_COMP, type: 9, value: 0}
    - {name: MAG_A13_COMP, type: 9, value: 0}
    - {name: MAG_A21_COMP, type: 9, value: 0}
    - {name: MAG_A22_COMP, type: 9, value: 1}
    - {name: MAG_A23_COMP, type: 9, value: 0}
    - {name: MAG_A31_COMP, type: 9, value: 0}
    - {name: MAG_A32_COMP, type: 9, value: 0}
    - {name: MAG_A33_COMP, type: 9, value: 1}
    - {name: MAG_X_BIAS, type: 9, value: 0}
    - {name: MAG_Y_BIAS, type: 9, value: 0}
    - {name: MAG_Z_BIAS, type: 9, value: 0}
    - {name: MIN_THROTTLE, type: 6, value: 0}
    - {name: MIXER, type: 6, value: 2}
    - {name: MOTOR_IDLE_THR, type: 9, value: 0.1000000014901161}
    - {name: MOTOR_MAX_PWM, type: 6, value: 2000}
    - {name: MOTOR_MIN_PWM, type: 6, value: 1000}
    - {name: MOTOR_PWM_UPDATE, type: 6, value: 490}
    - {name: OVRD_LAG_TIME, type: 6, value: 1000}
    - {name: PARAM_MAX_CMD, type: 9, value: 1}
    - {name: PID_PITCH_ANG_D, type: 9, value: 0.04}
    - {name: PID_PITCH_ANG_I, type: 9, value: 0}
    - {name: PID_PITCH_ANG_P, type: 9, value: 0.14}
    - {name: PID_PITCH_RATE_D, type: 9, value: 0}
    - {name: PID_PITCH_RATE_I, type: 9, value: 0.1}
    - {name: PID_PITCH_RATE_P, type: 9, value: 0.07}
    - {name: PID_ROLL_ANG_D, type: 9, value: 0.04}
    - {name: PID_ROLL_ANG_I, type: 9, value: 0}
    - {name: PID_ROLL_ANG_P, type: 9, value: 0.14}
    - {name: PID_ROLL_RATE_D, type: 9, value: 0}
    - {name: PID_ROLL_RATE_I, type: 9, value: 0.1}
    - {name: PID_ROLL_RATE_P, type: 9, value: 0.07}
    - {name: PID_TAU, type: 9, value: 0.05}
    - {name: PID_YAW_RATE_D, type: 9, value: 0}
    - {name: PID_YAW_RATE_I, type: 9, value: 0.1}
    - {name: PID_YAW_RATE_P, type: 9, value: 0.25}
    - {name: RC_ATT_CTRL_CHN, type: 6, value: -1}
    - {name: RC_ATT_MODE, type: 6, value: 1}
    - {name: RC_ATT_OVRD_CHN, type: 6, value: 5}
    - {name: RC_F_CHN, type: 6, value: 2}
    - {name: RC_MAX_PITCH, type: 9, value: 0.7860000133514404}
    - {name: RC_MAX_PITCHRATE, type: 9, value: 3.141590118408203}
    - {name: RC_MAX_ROLL, type: 9, value: 0.7860000133514404}
    - {name: RC_MAX_ROLLRATE, type: 9, value: 3.141590118408203}
    - {name: RC_MAX_YAWRATE, type: 9, value: 3.141590118408203}
    - {name: RC_NUM_CHN, type: 6, value: 6}
    - {name: RC_OVRD_DEV, type: 9, value: 1.0}
    - {name: RC_THR_OVRD_CHN, type: 6, value: 5}
    - {name: RC_TYPE, type: 6, value: 1}
    - {name: RC_X_CHN, type: 6, value: 0}
    - {name: RC_Y_CHN, type: 6, value: 1}
    - {name: RC_Z_CHN, type: 6, value: 3}
    - {name: RUDDER_REV, type: 6, value: 0}
    - {name: STRM_AIRSPEED, type: 6, value: 20}
    - {name: STRM_ATTITUDE, type: 6, value: 100}
    - {name: STRM_BARO, type: 6, value: 50}
    - {name: STRM_HRTBT, type: 6, value: 1}
    - {name: STRM_IMU, type: 6, value: 100}
    - {name: STRM_MAG, type: 6, value: 50}
    - {name: STRM_RC, type: 6, value: 50}
    - {name: STRM_SERVO, type: 6, value: 50}
    - {name: STRM_SONAR, type: 6, value: 40}
    - {name: STRM_STATUS, type: 6, value: 10}
    - {name: SWITCH_5_DIR, type: 6, value: 1}
    - {name: SWITCH_6_DIR, type: 6, value: 1}
    - {name: SWITCH_7_DIR, type: 6, value: 1}
    - {name: SWITCH_8_DIR, type: 6, value: 1}
    - {name: SYS_ID, type: 6, value: 1}
    - {name: X_EQ_TORQUE, type: 9, value: 0}
    - {name: Y_EQ_TORQUE, type: 9, value: 0}
    - {name: Z_EQ_TORQUE, type: 9, value: 0}
  4. Compiler version (arm-none-eabi-gcc --version) N/A

  5. Hardware configuration (MAV type, flight controller version, connected sensors) NAZE based flight controller

superjax commented 6 years ago

@dpkoch, could this be related to the issue that we've seen that every time we change any parameter, rosflight_io responds that the ARM_CHANNEL has a new value (even if it never changes)?

korken89 commented 6 years ago

Ah, yes, this I have seen. I just thought that was some internal safety-thingy :)

dpkoch commented 6 years ago

Yeah, that's a "feature"... ;) Could be related. I'll look into it.