A method of estimating vehicle mass (m), comprising: determining acceleration of the vehicle over a first period when a first force from an engine is applied to wheels of the vehicle; determining acceleration of the vehicle over a second period when a second force from the engine is applied to the vehicle wheels; estimating a first value of vehicle mass from an equation where: m 0 = dF / dA wherein, dF = F 2 − F 1 dA = A 2 − A 1; estimating a second value of vehicle mass during the first period and a third value of vehicle mass by: approximating values of a first resistance parameter during the first period and a second resistance parameter during the second period, wherein: R 1 = − m 0 * A 1 + F 1 − 1⁄2 * δ * a * Cd * V 1 2 / m 0 R 2 = − m 0 * A 2 + F 2 − 1⁄2 * δ * a * Cd * V 2 2 / m 0 wherein: δ = air density Cd = coefficient of drag on the vehicle a = frontal area of vehicle V1 = average vehicle velocity during the first period V2 = average vehicle velocity during the second period R1 = a first resistance parameter during the first period R2 = a second resistance parameter during the second period, and solving for m1 and m2 via the equations: m 1 = F 1 − 1⁄2 * δ * a * Cd * V 1 2 / A 1 + R 2 m 1 = F 2 − 1⁄2 * δ * a * Cd * V 2 2 / A 2 + R 1; and estimating m using values including at least m0, m1, and m2. determining acceleration of the vehicle over a first period when a first force from an engine is applied to wheels of the vehicle; determining acceleration of the vehicle over a second period when a second force from the engine is applied to the vehicle wheels; estimating a first value of vehicle mass from an equation where: m 0 = dF / dA wherein, dF = F 2 − F 1 dA = A 2 − A 1; estimating a second value of vehicle mass during the first period and a third value of vehicle mass by: approximating values of a first resistance parameter during the first period and a second resistance parameter during the second period, wherein: R 1 = − m 0 * A 1 + F 1 − 1⁄2 * δ * a * Cd * V 1 2 / m 0 R 2 = − m 0 * A 2 + F 2 − 1⁄2 * δ * a * Cd * V 2 2 / m 0 wherein: δ = air density Cd = coefficient of drag on the vehicle a = frontal area of vehicle V1 = average vehicle velocity during the first period V2 = average vehicle velocity during the second period R1 = a first resistance parameter during the first period R2 = a second resistance parameter during the second period, and solving for m1 and m2 via the equations: m 1 = F 1 − 1⁄2 * δ * a * Cd * V 1 2 / A 1 + R 2 m 1 = F 2 − 1⁄2 * δ * a * Cd * V 2 2 / A 2 + R 1; and estimating m using values including at least m0, m1, and m2. approximating values of a first resistance parameter during the first period and a second resistance parameter during the second period, wherein: R 1 = − m 0 * A 1 + F 1 − 1⁄2 * δ * a * Cd * V 1 2 / m 0 R 2 = − m 0 * A 2 + F 2 − 1⁄2 * δ * a * Cd * V 2 2 / m 0 wherein: δ = air density Cd = coefficient of drag on the vehicle a = frontal area of vehicle V1 = average vehicle velocity during the first period V2 = average vehicle velocity during the second period R1 = a first resistance parameter during the first period R2 = a second resistance parameter during the second period, and solving for m1 and m2 via the equations: m 1 = F 1 − 1⁄2 * δ * a * Cd * V 1 2 / A 1 + R 2 m 1 = F 2 − 1⁄2 * δ * a * Cd * V 2 2 / A 2 + R 1; and estimating m using values including at least m0, m1, and m2. δ = air density Cd = coefficient of drag on the vehicle a = frontal area of vehicle V1 = average vehicle velocity during the first period V2 = average vehicle velocity during the second period R1 = a first resistance parameter during the first period R2 = a second resistance parameter during the second period, and solving for m1 and m2 via the equations: m 1 = F 1 − 1⁄2 * δ * a * Cd * V 1 2 / A 1 + R 2 m 1 = F 2 − 1⁄2 * δ * a * Cd * V 2 2 / A 2 + R 1; and estimating m using values including at least m0, m1, and m2. solving for m1 and m2 via the equations: m 1 = F 1 − 1⁄2 * δ * a * Cd * V 1 2 / A 1 + R 2 m 1 = F 2 − 1⁄2 * δ * a * Cd * V 2 2 / A 2 + R 1; and estimating m using values including at least m0, m1, and m2.