* Separate offboard path setpoints as fixedwing pos control state
This commit separates offboard path following as a separate state inside the FW Poscontrol module.
This is a cleanup on clearly defining fw pos control behaviors
* Update src/modules/fw_pos_control/FixedwingPositionControl.cpp
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
* Fix format
---------
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
The IMU topic is not zeroed, and the clipping information was not
copied, so this field ended up being garbage.
Signed-off-by: Julian Oes <julian@oes.ch>
With this margin it is made sure that if the loiter is not perfectly tracked,
(vehicle outside of path setpoint) a wp just at the border of the loiter
is still reachable.
It should though be as small as necessary, as otherwise, with good
loiter tracking, waypoints that are close but not right on the loiter
radius are not enforcing the exit course neither.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
* PositionSetpoint: remove yaw_valid field
* Navigator: set yaw setpoint to NAN for Takeoff
Don't set a yaw setpoint for takeoff, as Navigator doesn't handle the yaw reset.
The yaw setpoint generation is handled by FlightTaskAuto.
* PositionSetpoint.msg: remove disable_weather_vane and instead only use the yaw field
Strictly follow the concept that if the position_setpoint.yaw is set, then
follow it the controller, and otherwise let the controller set it as it
thinks it's best.
* Navigator: remove logic that sets yaw to be accepted in TAKEOFF
No longer needed as during Takeoff we anyway don't set a yaw setpoint.
* PositionSetpoint.msg: remove yawspeed_valid
* PositionSetpoint.msg: remove yawspeed
* Navigator: set yaw setpoint to NAN instead of current
In set_takeoff and set_land_item, as well as for VTOL transition.
The flight tasks then set the yaw corresponding to the current yaw.
* Navigator: change get_yaw_acceptance into a bool
* PositionSetpoint.msg: improve comment for yaw
* MissionBlock: remove unnecessary code from set_vtol_transition_item
* Navigator: clean up calculate_breaking_stop(), set yaw to NAN
* Navigator: set yaw to NAN in variouls places where not specifc setpoint is desired
* Navigator: set yaw to NAN in reset_position_setpoint()
---------
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Matthias Grob <maetugr@gmail.com>
1s gives some false positives at boot up, as the airspeed selector only
starts publishing 2s after its startup.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
-remove dedicated vtol transition airspeed init logic
-init airspeed setpoint on first usage of tecs
-init to max of current airspeed and min airspeed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>