init commit
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
#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);
|
||||
}
|
||||
Reference in New Issue
Block a user