forked from Archive/PX4-Autopilot
Checkpoint: Quad is flying after PID lib changes
Conflicts: src/modules/multirotor_att_control/multirotor_attitude_control.c
This commit is contained in:
parent
e8dbc1fada
commit
c874f68108
|
@ -187,7 +187,7 @@ void multirotor_control_attitude(const struct vehicle_attitude_setpoint_s *att_s
|
||||||
/* control roll (left/right) output */
|
/* control roll (left/right) output */
|
||||||
rates_sp->roll = pid_calculate(&roll_controller, att_sp->roll_body ,
|
rates_sp->roll = pid_calculate(&roll_controller, att_sp->roll_body ,
|
||||||
att->roll, att->rollspeed, deltaT, NULL, NULL, NULL);
|
att->roll, att->rollspeed, deltaT, NULL, NULL, NULL);
|
||||||
|
|
||||||
// printf("rates_sp: %4.4f, att setpoint: %4.4f\n, pitch: %4.4f, pitchspeed: %4.4f, dT: %4.4f", rates_sp->pitch, att_sp->pitch_body, att->pitch, att->pitchspeed, deltaT);
|
// printf("rates_sp: %4.4f, att setpoint: %4.4f\n, pitch: %4.4f, pitchspeed: %4.4f, dT: %4.4f", rates_sp->pitch, att_sp->pitch_body, att->pitch, att->pitchspeed, deltaT);
|
||||||
|
|
||||||
if (control_yaw_position) {
|
if (control_yaw_position) {
|
||||||
|
|
|
@ -189,10 +189,8 @@ void multirotor_control_rates(const struct vehicle_rates_setpoint_s *rate_sp,
|
||||||
parameters_update(&h, &p);
|
parameters_update(&h, &p);
|
||||||
initialized = true;
|
initialized = true;
|
||||||
|
|
||||||
pid_init(&pitch_rate_controller, p.attrate_p, p.attrate_i, p.attrate_d, 1000.0f,
|
pid_init(&pitch_rate_controller, p.attrate_p, p.attrate_i, p.attrate_d, 1.0f, 1.0f, 0.2f, PID_MODE_DERIVATIV_CALC);
|
||||||
1000.0f, 0.2f, PID_MODE_DERIVATIV_CALC);
|
pid_init(&roll_rate_controller, p.attrate_p, p.attrate_i, p.attrate_d, 1.0f, 1.0f, 0.2f, PID_MODE_DERIVATIV_CALC);
|
||||||
pid_init(&roll_rate_controller, p.attrate_p, p.attrate_i, p.attrate_d, 1000.0f,
|
|
||||||
1000.0f, 0.2f, PID_MODE_DERIVATIV_CALC);
|
|
||||||
|
|
||||||
control_debug_pub = orb_advertise(ORB_ID(vehicle_control_debug), &control_debug);
|
control_debug_pub = orb_advertise(ORB_ID(vehicle_control_debug), &control_debug);
|
||||||
}
|
}
|
||||||
|
@ -201,8 +199,8 @@ void multirotor_control_rates(const struct vehicle_rates_setpoint_s *rate_sp,
|
||||||
if (motor_skip_counter % 2500 == 0) {
|
if (motor_skip_counter % 2500 == 0) {
|
||||||
/* update parameters from storage */
|
/* update parameters from storage */
|
||||||
parameters_update(&h, &p);
|
parameters_update(&h, &p);
|
||||||
pid_set_parameters(&pitch_rate_controller, p.attrate_p, p.attrate_i, p.attrate_d, 1000.0f, 1000.0f, 0.2f);
|
pid_set_parameters(&pitch_rate_controller, p.attrate_p, p.attrate_i, p.attrate_d, 1.0f, 1.0f, 0.2f);
|
||||||
pid_set_parameters(&roll_rate_controller, p.attrate_p, p.attrate_i, p.attrate_d, 1000.0f, 1000.0f, 0.2f);
|
pid_set_parameters(&roll_rate_controller, p.attrate_p, p.attrate_i, p.attrate_d, 1.0f, 1.0f, 0.2f);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* control pitch (forward) output */
|
/* control pitch (forward) output */
|
||||||
|
|
Loading…
Reference in New Issue