Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demo request: optimizing for mass/system identification #66

Open
fgolemo opened this issue Sep 28, 2021 · 1 comment
Open

Demo request: optimizing for mass/system identification #66

fgolemo opened this issue Sep 28, 2021 · 1 comment

Comments

@fgolemo
Copy link

fgolemo commented Sep 28, 2021

Dear Brax team,

Since Brax is fully differentiable, I thought it'd be possible to use it like DiffTaichi or GradSim for system identification (e.g. determining the mass of an object from a trajectory and known force) but I couldn't find any example for this.
Do you happen to have any demo or tips for this?

From the top of my head I would do something like this:
Let's say the task is to estimate the mass of a cube that received a push. The size of the cube is known, same as the friction coefficient, and the applied force.

  1. Record a rollout of the positions of that cube after the push.
  2. Reset the cube to its starting position and set the mass to a random value.
  3. (a) generating a rollout, (b) measuring the MSE between new observed positions over time and GT positions, (c) calculate the gradient wrt to the mass property of the cube and applying that to the mass.
  4. Repeat (3) until the loss increases.

Best,
Florian

@fgolemo fgolemo changed the title Demo request: optimizing for mass Demo request: optimizing for mass/system identification Sep 28, 2021
@cdfreeman-google cdfreeman-google added the good first issue Good for newcomers label Oct 19, 2021
@btaba btaba removed the good first issue Good for newcomers label Jan 13, 2023
@RolandZhu
Copy link

Hello! I'm currently dealing with a similar issue. Have there been any recent advancements or updates on this matter?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants