Optimize rendering sensor pose updates #2425
Merged
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.
🦟 Bug fix
Related PR: gazebosim/gz-sensors#439
Summary
Currently we are updating the pose of all rendering sensors every iteration. This is not necessary as we currently do not expect sensor pose to change at runtime. This PR removes the pose updates every iteration and it now just sets the pose of these rendering sensors once they created.
For camera based sensors, their pose transform is the combined result of(//sensor/pose
and//sensor/camera/pose
previously the).//sensor/camera/pose
sdf element was ignored and never usedHere is an example world for test: camera_test.sdf. The world consists of 2 cameras sensors (rgb and depth) with pose offsets in
//sensor/pose
and//sensor/camera/pose
. Together with gazebosim/gz-sensors#439, the camera sensor pose should be set correctly and you should see images like below:Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.