# Forces and masses don't add up in Gazebo 7

I have a 5kg sphere and apply 100N of force in the +Z direction. Assuming lim t->0, the sphere should leave the ground at ~20m/s vertically and reach a height of ~41m. Instead it remains stationary. It will only hop if I apply outrageous amounts of force (1000N).

Does anybody know what's causing this? Even if the impulse is over half a second it should leave the ground. I see this even when I create a sphere primitive using the GUI, and apply force using the GUI.

edit retag close merge delete

Are there others who are seeing this? I'm not sure if this is a problem with the engine or just how it's setup on my machine.

( 2018-04-08 16:20:50 -0600 )edit
1

I suspect the impulse is over way less than half a second. Probably one simulation time step.

( 2018-04-08 23:44:57 -0600 )edit

Whether 100N is spread out over 500ms or 1ms I should still see the ball move vertically, right? What happens when you put a primitive sphere in the simulation and apply 100N in the +Z direction?

( 2018-04-09 00:05:03 -0600 )edit

Sort by ยป oldest newest most voted

As @Peter Mitrano suggests, the force is applied over only 1 simulation time step, resulting in a small impulse and therefore a very small change in velocity.

When I run Gazebo simulator, the default max time (step) size is 0.001 (1 ms)

F = m * a
v = a * t
v(t) = v(t=0) + 1/m * integral(F(t), 0, t)

If we assume a constant F across the time step, then
v(t) = v(t=0) + (F * t)/m

Given:
v(t=0) = 0
F = 100 N (F > Fgravity)
t = 0.001 s (1 simulation time step)
m = 5 kg

v(0.001) = 0 + (100 * 0.001)/5
v(0.001) = 0.02 m/s or 2 cm/s

Throwing in the effects of gravity, we can determine (roughly) that the 5 kg sphere in your example should - in theory - reach a maximum vertical (+z) height of 0.01 m (1 cm) and return to a height of 0 m after 0.02 s (20 ms).

more