package com.roboclub.robobuggy.nodes.localizers;
/**
* Motion model - TODO
*/
public class MotionModel {
/**
* @brief distance between buggy axles
*/
private static final double WHEELBASE_M = 1.13;
MotionModel() {
//TODO
}
/**
* Project our path around a circle of our turning radius to find change in heading.
*
* @param deltaDistance Distance traveled since last heading update. Assumed to be along constant radius arc.
* @param steeringAngle the current steering angle
* @return the heading change
*/
public static double getHeadingChange(double deltaDistance, double steeringAngle) {
double turningRadius = WHEELBASE_M / Math.sin(Math.toRadians(steeringAngle));
return (deltaDistance * 360) / (2 * Math.PI * turningRadius);
}
}