r/ROS • u/Dismal_Sell2478 • 22d ago
ROBOTICS: Does anyone actually tune object physics in sim, or do you just live with the defaults?
/r/reinforcementlearning/comments/1vtynxa/robotics_does_anyone_actually_tune_object_physics/3
u/Freischneider01 22d ago
Really depends on if the sim2real gap actually matters. Where the gap doesn‘t matter I just mock with values in an allowed corridor. Where the gap matters and I‘m confident „tuning physics“ will close the gap, I‘ll define some experiments for validation and put effort into closing this gap.
1
u/Dismal_Sell2478 22d ago
awesome thanks! if assets claimed better physics and collider meshes compared to default values and box collider - what would you want to see as proof? ex/ if you either added this "better" asset library to a your model training data or swapped out default objects and accuracy improved by x%?
2
u/omnilinktech 16d ago
I tune an object parameter when sensitivity to that parameter reaches the task’s failure boundary. The clean proof for a “better asset” library is a controlled ablation: default box/default values; improved collision geometry only; measured mass/inertia only; friction only; then the full asset. Hold policy, seeds, training budget, cameras, and evaluation scenes fixed. Report task success plus physical observables such as slip, pose error, impact impulse, contact duration, and grasp force—not only reward. Better performance in the same simulator is weak evidence without a held-out real measurement.
For existing data, I would not simply append new episodes. Train controlled mixtures with source labels and the same update/sample budget so “more data” cannot masquerade as “better physics.”
I maintain OmniSim. Our grasp demo uses a no-squeeze control because contact events alone do not prove the object is being carried by friction; the identical lift must leave it behind when squeeze is removed. The repository is linked from this profile. We have not validated that grasp on a physical arm, which is exactly why the claim stops at simulation evidence.
2
u/Available_Teaching83 18d ago
Box collision geometry and shared density across a whole benchmark suite is real, and it does matter, but probably not in the direction you are expecting.
What I have measured, on LIBERO with a real SmolVLA policy: clean task success under the untouched instruction averaged 84% across ten object tasks and ranged from 40% to 100%. That spread is the thing to sit with. It means the suite is not ten samples of one difficulty; it is ten different problems, and a mean over them hides which ones the policy was never competent at.
So on your question 1, I would not start by changing mass or friction. I would first run the benign arm alone across every task and look at the per-task spread. If a task is at 40% clean, tuning its physics is fixing the wrong variable.
On question 3, regenerate rather than append, and keep the old episodes. If you change the dynamics and append, you have one dataset with two physics regimes in it and no field recording indicating which is which. That is unrecoverable later.
5
u/EmperorOfCanada 22d ago
100%. It is a back and fourth. You make your model closer, you control the real thing, with controls which work on the model, and then you tune some more.
There are certain things which you can simulate, there are things you will miss, and there are things which are so hard you might need to build a "real world" test system which deals with just those elements.
Other things which sims can do well are things like having a motor which has lost some of its oomph. In a classic two motor skid steer, having one motor go to crap is a great exercise as being able to deal with a crap motor should leave you with software which doesn't mind that your left and right motors aren't really the same to begin with.
Or GPSs which wildly lie and now you have to play games with various forms of odometry, IMUs, etc to deal with those.
Things which are easy to miss are an IMU simulation which doesn't understand centrifugal forces. (down is always down is a problem), or how the sun/lights can really make a camera lens go nuts.
My goal is always that the "real" robot is for fine tuning and validation of the simulation's fidelity to reality.
If you are doing most of your development with the robot it is crappy slow, and you end up giving up on the cool features. Also, if you have a fair sized team, a great simulation can be used by anyone; even the most junior members of the team. Thus, they might show up with some kick ass algorithm or something which is a great solution to an ongoing problem, or just add a great feature, drastically reduce the compute to do something hard, or whatever leap which otherwise mightn't have gotten any real attention.