@prathusa, that is a good question.

In general, acceleration depends on the mass of the robot (that will resist acceleration) and the force (torque) produced by the motors which, in turn, is proportional to the electric current going through the motors.

They are linked by the Newton’s Law “F=ma” or its angular equivalent “τ=Iα”

##
Then you can define differential equation for the forces acting on the robot.

There was a thread several years ago describing all this in details, but after forum migrated to a new platform it, unfortunately, lost a lot of its formatting and readability. Here is a couple of equations recovered from that thread:

There are equal but opposite forces acting on the robot. Torque out of the motors is trying to accelerate robot, while various friction forces (F_{rrf}), mass of the robot, and moment of inertia of the drivetrain are resisting.

“τ_{drive}” is torque out of the motors at wheel axles,

“V_{pwm}” is the voltage applied to the motors,

“n” is the number of motors,

“m” is the mass of the robot,

“F” is the force of resistance of the robot to acceleration (due to its mass),

“I_{dt}” is the moment of inertia of the drivetrain components,

“F_{dt}” is the force of resistance of drivetrain components to acceleration,

“τ_{dt}” is its torque equivalent at the wheel axles,

“ω” is angular velocity of the wheel axles,

“a” is linear acceleration of the robot and

“α” is angular acceleration of drivetrain that is related to acceleration as

“a=αr_{w}”, where “r_{w}” is the radius of the wheels.

“C_{??}” are various constant coefficients associated with the motors, drivetrain, and other parameters of the robot and could be determined experimentally.

For example, you can say “F_{rrf}=C_{rrf}m” assuming that friction force is proportional to the mass of the robot times some coefficient C_{rrf}, that somehow reflects everything on the robot that affects friction: number of axles in the drivetrain, gear ratios, gear materials, coefficients for dynamic and rolling resistance friction, … As far as we are concerned, if you don’t change the design of the drivetrain, it is some constant coefficient times total robot mass, that could change if robot carries additional game objects.

If anyone wants more details, I could dig them up from the original thread and external references.

Resulting graph for velocity and position (as an exponential function of time) will look like this:

C_{f} is the coefficient which describes the friction losses in the drivetrain of the robot.

C_{p} is the coefficient which describes how voltage commanded to the motors translates into idle velocity.

C_{t} is the coefficient describing the ratio between acceleration resistance due to the robot mass + drivetrain moment of inertia and total power available from the motors.

The larger C_{t} is - the slower the robot will accelerate.

These are general formulas that are applicable to any electric motor. The shape of the curves for V5 may be affected by the firmware control algorithms that limit max current and power going to the motors.

However, if V5 motors are operating below firmware limits, then you can expect their curves to be described by the graph above.