mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-31 18:47:21 +08:00
Navigator: loiter direction check: use -FLT_EPS instad of <0
Signed-off-by: Silvan <silvan@auterion.com>
This commit is contained in:
@@ -95,7 +95,7 @@ FigureEight::FigureEightPatternParameters FigureEight::sanitizeParameters(const
|
|||||||
|
|
||||||
if (!PX4_ISFINITE(parameters.loiter_radius)) {
|
if (!PX4_ISFINITE(parameters.loiter_radius)) {
|
||||||
valid_parameters.loiter_radius = DEFAULT_MAJOR_TO_MINOR_AXIS_RATIO * valid_parameters.loiter_minor_radius;
|
valid_parameters.loiter_radius = DEFAULT_MAJOR_TO_MINOR_AXIS_RATIO * valid_parameters.loiter_minor_radius;
|
||||||
valid_parameters.loiter_direction_counter_clockwise = _param_nav_loiter_rad.get() < 0;
|
valid_parameters.loiter_direction_counter_clockwise = _param_nav_loiter_rad.get() < -FLT_EPSILON;
|
||||||
}
|
}
|
||||||
|
|
||||||
valid_parameters.loiter_radius = math::max(valid_parameters.loiter_radius,
|
valid_parameters.loiter_radius = math::max(valid_parameters.loiter_radius,
|
||||||
|
|||||||
@@ -525,7 +525,7 @@ void Navigator::run()
|
|||||||
|
|
||||||
if (PX4_ISFINITE(cmd.param1)) {
|
if (PX4_ISFINITE(cmd.param1)) {
|
||||||
rep->current.loiter_radius = fabsf(cmd.param1);
|
rep->current.loiter_radius = fabsf(cmd.param1);
|
||||||
rep->current.loiter_direction_counter_clockwise = cmd.param1 < 0;
|
rep->current.loiter_direction_counter_clockwise = cmd.param1 < -FLT_EPSILON;
|
||||||
}
|
}
|
||||||
|
|
||||||
rep->current.lat = position_setpoint.lat;
|
rep->current.lat = position_setpoint.lat;
|
||||||
@@ -571,7 +571,7 @@ void Navigator::run()
|
|||||||
|
|
||||||
if (PX4_ISFINITE(cmd.param1)) {
|
if (PX4_ISFINITE(cmd.param1)) {
|
||||||
rep->current.loiter_radius = fabsf(cmd.param1);
|
rep->current.loiter_radius = fabsf(cmd.param1);
|
||||||
rep->current.loiter_direction_counter_clockwise = cmd.param1 < 0;
|
rep->current.loiter_direction_counter_clockwise = cmd.param1 < -FLT_EPSILON;
|
||||||
}
|
}
|
||||||
|
|
||||||
rep->current.loiter_radius = math::max(rep->current.loiter_radius, 2.0f * rep->current.loiter_minor_radius);
|
rep->current.loiter_radius = math::max(rep->current.loiter_radius, 2.0f * rep->current.loiter_minor_radius);
|
||||||
|
|||||||
Reference in New Issue
Block a user