Files
Avery Haas 120e4f505f init commit
2026-08-28 22:38:58 -04:00

22 lines
632 B
C++

#include "vehicle.h"
void Vehicle::step(double dt, double wheel_torque_nm) {
double drive_force_n = wheel_torque_nm / kWheelRadiusM;
double drag_force_n = kDragCoeff * m_speed_mps * m_speed_mps;
double net_force_n = drive_force_n - drag_force_n;
double accel_mps2 = net_force_n / kMassKg;
m_speed_mps += accel_mps2 * dt;
if (m_speed_mps < 0.0) m_speed_mps = 0.0; // no reverse yet
}
double Vehicle::speed_mps() const {
return m_speed_mps;
}
double Vehicle::wheel_rpm() const {
double wheel_rad_per_s = m_speed_mps / kWheelRadiusM;
return wheel_rad_per_s * 60.0 / (2.0 * 3.14159265358979);
}