Common steering constants and calculations. More...
|static double||angle_to_yaw (double v, float angle)|
|static float||steering_angle (float v, float y)|
|const float||steer_speed_min = 3.8|
Common steering constants and calculations.
|static double Steering::angle_to_yaw||(||double||v,|
|static float Steering::steering_angle||(||float||v,|
Determine steering angle (in degrees) for a given speed and yawrate.
This computation is based on a simplified "bicycle model" of vehicle steering geometery. We ignore the slightly different angles of the two front wheels, abstracting them into a single wheel at the midline of the vehicle (like a bicycle or tricycle).
Consider a radius from the center of the vehicle's turning circle to the midpoint of the rear axle. The vehicle's wheelbase is at a right angle to this radius, since the rear wheels do not pivot. The hypotenuse of this right triangle is the slightly longer distance from the midpoint of the front axle back to the center of the circle. As long as the wheels do not slip, the acute angle between the radius and the hypotenuse will be equal to the angle of the front wheel relative to the midline of the vehicle.
Thus, the tangent of the steering angle is the wheelbase (w) divided by the radius (r). We estimate r from the desired yawspeed (y), assuming a constant velocity (v):
y = (2*pi radians) / (2*pi*r/v seconds) y = v/r radians/second r = v/y
|const double Steering::maximum_yaw|