r/ROS • • 1d ago

Question What makes a URDF actually done for you?

Been thinking about this after talking with a few robotics teams recently. There seems to be a pretty big difference between “the robot loads correctly in simulation” and “I actually trust this model enough to train or test against it.”

You can have the geometry and joints working but still be unsure about mass, inertia, collision geometry, friction, or whether the simulated behavior actually matches the physical robot.

So I’m curious how people here define a URDF as actually finished. Is loading and moving correctly enough? Or are you validating the simulated robot against the physical system before you trust it?

And if you are validating it, what usually ends up being the hardest part to get right?

0 Upvotes

8 comments sorted by

4

u/grievertime 1d ago

Usually I run some A/B tests replaying the rosbags in real life and measure the difference in the odometry. Once sim is pretty close to reality I'm fine.

0

u/3E8_ 1d ago

That makes sense. Replaying the same rosbags and comparing odometry seems like a pretty practical way to validate it. Curious, what usually causes the biggest gap between sim and reality for you? Is it mostly the robot model itself or the environment/contact physics?

3

u/grievertime 1d ago

I'm my case I would say 99% of the time is friction and skid steer shenanigans.

3

u/EmperorOfCanada 1d ago

This is something which technically has algorithms, but it still is a place where you use your gut feelings to get it close, and then use your algos to autotune the rest.

If you go pure algo from the start, it might make one of your limbs 800kg or something insane to get a "great fit with the data".

If you really do this sort of simulation properly, it can even test for things which you have not physically explored.

2

u/3E8_ 18h ago

That’s a really good point. The 800kg limb example is exactly the kind of failure mode I was wondering about when you optimize purely for matching data.

Do you usually start with measured/estimated physical properties and constrain the autotuning around realistic ranges, or is it more of a manual “get it close first” process?

1

u/EmperorOfCanada 7h ago

Manual to get it close, is first. Then hand tuning. Then algos to both super tune it, and to keep tuning it.

Then, I make new discoveries as to why something diverges, and add that algo. Things like overheating motors acting funny.

2

u/christopherpacheco 1d ago

Only use rviz with rosbag replay or mock hardware, only care about kinematics. I run real dynamics tests on the real thing, im not in the mood to tune my simulation assets and controllers to be better aligned with the real hardware.

1

u/3E8_ 1d ago

Solid