mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
fw pos/att ctrl: pass manual nose wheel increments during takeoff ground roll
This commit is contained in:
parent
fcee314646
commit
721131a135
@ -556,6 +556,9 @@ void FixedwingAttitudeControl::Run()
|
||||
if (wheel_control) {
|
||||
yaw_u = _wheel_ctrl.control_bodyrate(dt, control_input);
|
||||
|
||||
// XXX: this is an abuse -- used to ferry manual yaw inputs from position controller during auto modes
|
||||
yaw_u += _att_sp.yaw_sp_move_rate * _param_fw_man_y_sc.get();
|
||||
|
||||
} else {
|
||||
yaw_u = _yaw_ctrl.control_euler_rate(dt, control_input, bodyrate_ff(2));
|
||||
}
|
||||
|
||||
@ -1424,6 +1424,11 @@ FixedwingPositionControl::control_auto_takeoff(const hrt_abstime &now, const flo
|
||||
// yaw control is disabled once in "taking off" state
|
||||
_att_sp.fw_control_yaw = _runway_takeoff.controlYaw();
|
||||
|
||||
// XXX: hacky way to pass through manual nose-wheel incrementing. need to clean this interface.
|
||||
if (_param_rwto_nudge.get()) {
|
||||
_att_sp.yaw_sp_move_rate = _manual_control_setpoint.r;
|
||||
}
|
||||
|
||||
// tune up the lateral position control guidance when on the ground
|
||||
if (_att_sp.fw_control_yaw) {
|
||||
_npfg.setPeriod(_param_rwto_l1_period.get());
|
||||
@ -2359,6 +2364,9 @@ FixedwingPositionControl::Run()
|
||||
// by default we don't want yaw to be contoller directly with rudder
|
||||
_att_sp.fw_control_yaw = false;
|
||||
|
||||
// default to zero - is used (IN A HACKY WAY) to pass direct nose wheel steering via yaw stick to the actuators during auto takeoff
|
||||
_att_sp.yaw_sp_move_rate = 0.0f;
|
||||
|
||||
if (_control_mode_current != FW_POSCTRL_MODE_AUTO_LANDING) {
|
||||
reset_landing_state();
|
||||
}
|
||||
|
||||
@ -765,7 +765,8 @@ private:
|
||||
(ParamFloat<px4::params::FW_WING_SPAN>) _param_fw_wing_span,
|
||||
(ParamFloat<px4::params::FW_WING_HEIGHT>) _param_fw_wing_height,
|
||||
|
||||
(ParamFloat<px4::params::RWTO_L1_PERIOD>) _param_rwto_l1_period
|
||||
(ParamFloat<px4::params::RWTO_L1_PERIOD>) _param_rwto_l1_period,
|
||||
(ParamBool<px4::params::RWTO_NUDGE>) _param_rwto_nudge
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
@ -144,3 +144,11 @@ PARAM_DEFINE_FLOAT(RWTO_RAMP_TIME, 2.0f);
|
||||
* @group Runway Takeoff
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(RWTO_L1_PERIOD, 5.0f);
|
||||
|
||||
/**
|
||||
* Enable use of yaw stick for nudging the wheel during runway ground roll
|
||||
*
|
||||
* @boolean
|
||||
* @group Runway Takeoff
|
||||
*/
|
||||
PARAM_DEFINE_INT32(RWTO_NUDGE, 0);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user