Joint Velocity time delay
Posted: 01 Oct 2015, 22:27
I noticed today that during simulation, there is a difference between graph data reported by "Joint: Velocity" and an derivative data transform of "Joint: Position". Theoretically these should be identical.
What I see is that the derivative transform of "Joint: Position" is returning the correct result to the graph. On the other hand "Joint: Velocity" is returning the result with a time delay of one simulation period (in this example for illustration this is 200ms).
From the below image it can be clearly seen that at t=200ms position begins to increase, and at t=400ms the position has increased to approximately 0.015m. This should return approximately 0.75m/s for joint velocity at t=400ms, which is true for derivative transform of "Joint: Position". For "Joint: Velocity" this value of 0.75m/s occurs at one time step latter at t=600ms.
Legend
Red line: "Joint: Position"
Cyan line: derivative transform of "Joint: Position"
Green line: "Joint: Velocity"
What I see is that the derivative transform of "Joint: Position" is returning the correct result to the graph. On the other hand "Joint: Velocity" is returning the result with a time delay of one simulation period (in this example for illustration this is 200ms).
From the below image it can be clearly seen that at t=200ms position begins to increase, and at t=400ms the position has increased to approximately 0.015m. This should return approximately 0.75m/s for joint velocity at t=400ms, which is true for derivative transform of "Joint: Position". For "Joint: Velocity" this value of 0.75m/s occurs at one time step latter at t=600ms.
Legend
Red line: "Joint: Position"
Cyan line: derivative transform of "Joint: Position"
Green line: "Joint: Velocity"