haosulab / ManiSkill

SAPIEN Manipulation Skill Framework, a GPU parallelized robotics simulator and benchmark
https://maniskill.ai/
Apache License 2.0
930 stars 168 forks source link

[BugFix] ControllerDict prevented before_simulation_step on child controllers #613

Closed RoboNuke closed 1 month ago

RoboNuke commented 1 month ago

In the BaseAgent class, before_simulation_step calls it's controller object's before_simulation_step. When that controller is of type DictController or its subclass CombinedController the controller inherits baseController's before_simulation_step, which is an empty function. When the agent calls a DictController's before_simulation_step it always calls the empty function. If anyone writes a custom controller requiring before_simulation_step and their robot requires a DictController or it's children, then they will be unable to call the custom controller's before_simulation_step. In this pull I added a function to DictController to fix this issue.

StoneT2000 commented 1 month ago

thanks!