DAIRLab / dair_pll

DAIRLab Physics-based Learning Library
BSD 3-Clause "New" or "Revised" License
10 stars 5 forks source link

Option to render learned geometry in video rollouts #6

Closed ebianchi closed 1 year ago

ebianchi commented 1 year ago

Contents

The main aim of this PR is to add in the ability to choose whether rollout videos render the predicted trajectories with the original geometry or with the current learned geometry. This decision can be toggled via the flag update_geometry_in_videos in the configuration class SupervisedLearningExperimentConfig.

Tangential to this main aim, the following other minor changes are also incorporated:

Call for comments

In this implementation, the MultibodyLearnableSystem extension of the System class now has an additional (optional) argument for its summary method. This argument is the flag for whether to use original or learned geometry in the generated rollout videos. As originally created, this PR does not include any edits to the original System class or any other extensions of it to maintain a consistent set of arguments for summary(). This can be added in if desired, and I welcome feedback on this point in particular.

Examples

The following two gifs are of the same ground truth trajectory (in red) with different predicted trajectories (in blue) as the experiment updates the believed object properties. The geometric updates can be observed in these toss videos.

toss_learned_geom0 toss_learned_geom1

ebianchi commented 1 year ago

All comments addressed without disagreement.

ebianchi commented 1 year ago

I additionally opened an issue #7 as a reminder to address the current hacked way of getting experiment-level storage locations, so that the issue is remembered beyond the closing of this PR.