21 float deceleration_integrator_limit{0.3f};
23 VTOLConfig & withBackTransitionDeceleration(
30 VTOLConfig & withDecelerationIntegratorLimit(
31 const float deceleration_integrator_limit)
33 this->deceleration_integrator_limit = deceleration_integrator_limit;
37 VTOLConfig & withBackTransitionDecelerationIGain(
40 this->back_transition_deceleration_setpoint_to_pitch_i =
63 TransitionToFixedWing = 1,
64 TransitionToMulticopter = 2,
76 Eigen::Vector3f computeAccelerationSetpointDuringTransition(
77 std::optional<float> back_transition_deceleration_m_s2 = std::nullopt);
79 VTOL::State getCurrentState()
const {
return _current_state;}
83 rclcpp::Publisher<px4_msgs::msg::VehicleCommand>::SharedPtr _vehicle_command_pub;
84 rclcpp::Subscription<px4_msgs::msg::VtolVehicleStatus>::SharedPtr _vtol_vehicle_status_sub;
85 rclcpp::Subscription<px4_msgs::msg::VehicleLocalPosition>::SharedPtr _vehicle_local_position_sub;
86 rclcpp::Time _last_command_sent;
87 rclcpp::Time _last_vtol_vehicle_status_received;
88 rclcpp::Time _last_pitch_integrator_update{0, 0, _node.get_clock()->get_clock_type()};
90 float _vehicle_heading{NAN};
91 float _decel_error_bt_int{0.f};
93 Eigen::Vector2f _vehicle_acceleration_xy{NAN, NAN};
95 VTOL::State _current_state{VTOL::State::Undefined};
97 float computePitchSetpointDuringBacktransition(
98 std::optional<float> back_transition_deceleration_m_s2 = std::nullopt);
Definition context.hpp:20