Browse Source

TrajMath: replace type placeholder with floats

sbg
Dennis Mannhart 5 years ago committed by Mathieu Bresciani
parent
commit
e6b7062442
  1. 16
      src/lib/FlightTasks/tasks/Utility/TrajMath.hpp

16
src/lib/FlightTasks/tasks/Utility/TrajMath.hpp

@ -54,12 +54,11 @@ namespace trajmath @@ -54,12 +54,11 @@ namespace trajmath
*
* @return maximum speed
*/
template<typename T>
const T computeMaxSpeedFromBrakingDistance(T jerk, T accel, T braking_distance)
float computeMaxSpeedFromBrakingDistance(const float jerk, const float accel, const float braking_distance)
{
T b = (T) 4 * accel * accel / jerk;
T c = - (T) 2 * accel * braking_distance;
T max_speed = (T) 0.5 * (-b + sqrtf(b * b - (T) 4 * c));
float b = 4.0f * accel * accel / jerk;
float c = - 2.0f * accel * braking_distance;
float max_speed = 0.5f * (-b + sqrtf(b * b - 4.0f * c));
return max_speed;
}
@ -78,11 +77,10 @@ const T computeMaxSpeedFromBrakingDistance(T jerk, T accel, T braking_distance) @@ -78,11 +77,10 @@ const T computeMaxSpeedFromBrakingDistance(T jerk, T accel, T braking_distance)
*
* @return maximum tangential speed
*/
template<typename T>
const T computeMaxSpeedInWaypoint(T alpha, T accel, T d)
float computeMaxSpeedInWaypoint(const float alpha, const float accel, const float d)
{
T tan_alpha = tan(alpha / (T) 2);
T max_speed_in_turn = sqrtf(accel * d * tan_alpha);
float tan_alpha = tanf(alpha / 2.0f);
float max_speed_in_turn = sqrtf(accel * d * tan_alpha);
return max_speed_in_turn;
}

Loading…
Cancel
Save