[FEATURE] Add dedicated sensor manager.#1518
[FEATURE] Add dedicated sensor manager.#1518duburcqa merged 20 commits intoGenesis-Embodied-AI:mainfrom
Conversation
7a59c0d to
9906ee6
Compare
|
Some design decisions made:
Typically in a scene, a robot may have multiple of the same type of sensor. Previously the implementation tried to cache sensor data at the class level, but this will not work when running multiple scenes. The
For time delay and other types of noise, we will need to buffer the history. So either users will have to call step themselves (or otherwise face unintended/inaccurate values), or we can cleanly handle this inside of the simulator step (more aligned to Genesis's usage design).
For future contributions of new sensors, we want to enforce usage of the cross-batch, cross-sensor-type caching mechanism to ensure high sensor performance in Genesis. |
59db13f to
832c196
Compare
|
looks like unit test failed because of camera |
…done in future PR
Head branch was pushed to by a user without write access
Description
Add SensorManager to Simulator. Sensor classes can now have per-scene multi-sensor caching.
Related Issue
Rigid Tactile Sensors #1451 will be rebased on this PR.
IMU Sensor Milotrince#1 is also based on this PR. (I can't do a "stacked PR" directly in Genesis repo since my branch doesn't live there, which is why the PR currently lives in my fork of Genesis)
Motivation and Context
The current sensor implementation does not allow for caching across multiple sensors, and usage is un-Genesis-like (unintuitive, e.g. does not align with
add_camerapattern). See new IMU for an implementation/usage example.How Has This Been / Can This Be Tested?
Will add tests per sensor.
Checklist:
Submitting Code Changessection of CONTRIBUTING document.