Added the method wait_for_simulation_step_to_end() to fix #50 #51
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@dqrobotics/developers
Hi @mmmarinho,
This PR adds the method wait_for_simulation_step_to_end() to fix #50
Best regards,
Juancho
About the test:
The synchronous mode is tested, comparing the height of a dynamic object in free fall with the expected height after 0.25 s in the simulation time. The expected height is computed as y(t) = y_0 + 0.5 *
g
* t^2, whereg=-9.81
, t= elapsed simulation time. To ensure the synchrony (in the synchronous mode), the methodwait_for_simulation_step_to_end()
is paramount.Results (synchronized)
Results without
wait_for_simulation_step_to_end()
(Not synchronized)
Note:
During my local tests, the synchronous mode worked for only some setups. This means that in some cases, the method
wait_for_simulation_step_to_end()
, which calls the blocking functionsimxGetPingTime()
of the Legacy Remote API didn't ensure the synchrony between the simulation and the script.