osrf / drcsim

Repository for the DRC project.
16 stars 6 forks source link

Mass properties for the Atlas Unplugged v4 SDF are way off #487

Closed osrf-migration closed 9 years ago

osrf-migration commented 9 years ago

Original report (archived issue) by DouglasS (Bitbucket: DouglasS).

The original report had attachments: atlas_v4_simple_shapes.urdf, atlas_v5_simple_shapes.urdf


The total mass as reported by the .sdf for the atlas v4 (no_wry2, from drcsim 4.2) is around 159-160kg. Having now received the new robot from Boston Dynamics, we hung the robot from a fish scale and measured a mass of around 182kg. This is a huge discrepancy, and most model-based controllers are very sensitive to incorrect mass properties making this a blocker for teams that are developing their own control algorithms.

I will be raising this issue with Atlas Support as well. It would be helpful to have a model with the correct masses distributed to whatever links are inaccurate so that intertias/center of mass locations are also as accurate as possible.

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


@BillBlank any thoughts on this?

osrf-migration commented 9 years ago

Original comment by DouglasS (Bitbucket: DouglasS).


@nkoenig @BillBlank To be clear, since I'm talking about .sdf, the process for getting this model was to xacro.py on the xacro, then run gz sdf on the resulting URDF. So I suppose it's possible that something gets stripped out in that conversion? We don't consume URDF in our internal tools so I have no way to verify that without going through and tallying up by hand.

And we triple checked the real robot measurement by backing out the weight from the foot sensors, and got approx. 180kg there as well. So the figure of 180-182 seems valid.

osrf-migration commented 9 years ago

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


@dljsjr I just checked that atlas v4 model mass from URDF is 160.05kg. So not a URDF -> SDF parsing error.

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


We plan to do some weighing today and tomorrow and get some better numbers. Sorry for the painful discrepancy.

osrf-migration commented 9 years ago

Original comment by DouglasS (Bitbucket: DouglasS).


Thanks @BillBlank. We have always noticed discrepancies in the SDF models in the past; they seemingly don't take the weight of the hydraulic fluid and the cabling in to account. But this is usually on the order of 10kg, not 22kg.

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


Just to update, I expect to have new numbers later next week. I wish it was sooner too. Thanks for your patience. In the meantime, Performers may wish to make a WAG at the values, sprinkling some of the missing mass into the limbs while putting most of the difference in the torso. We just weighed an entire robot with sensor head and stub hands, it was 182.3 kg, which agrees with your numbers Doug.

osrf-migration commented 9 years ago

Original comment by DouglasS (Bitbucket: DouglasS).


@BillBlank Has there been any update on this? We've been working with our own hacked model that distributes the missing mass uniformly (and mainly in the torso) but it still seems to be inaccurate; specifically the robot's center of mass is still around 2cm off in the y-axis (we suspect asymmetry in the design of the torso internals). We have a bunch of hacks in place to work with a best-guess estimate but it would be awesome if we had an accurate mass model of the robot for South Carolina.

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


I've got a mechE who's been hard at work calculating these values all week. He hopes to have some numbers for me later this morning. Because of the time crunch, my plan will be to publish those numbers here immediately, then submit them to OSRF...and then go back and evaluate if AtlasSimInterface behaviors have been negatively affected.

osrf-migration commented 9 years ago

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


Thanks, we'll be standing by...

When that happens, either a quick release with new inertia values or instructions on how to update models locally will be provided.

tagging @j-rivero

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


The following is atlas_v4_simple_shapes.urdf...

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


@_jrivero_

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


<?xml version="1.0"?>

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


Sorry guys, that looks pretty ugly. Will mail this file to John Hsu and Nate.

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


@billblank maybe you can attach that as a file instead of pasting it?

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


There should be an attach button on this page

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


Attach was looking for a link not a file upload?

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


PLEASE NOTE: That file was incomplete. The COM of the upper_torso also changed to -0.0622 0.0023 0.3157

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


Here is a summary of the changes:

New mass values: pelvis 9.509 ltorso 2.270 mtorso 0.799 utorso 84.409 head 2.901 l_uglut 1.959 l_lglut 0.898 l_uleg 8.204 l_lleg 4.515 l_talus 0.125 l_foot 2.410 r_uglut 1.959 r_lglut 0.898 r_uleg 8.204 r_lleg 4.515 r_talus 0.125 r_foot 2.410 l_clav 4.466 l_scap 3.899 l_uarm 4.386 l_larm 3.248 l_ufarm 4.386 l_lfarm 2.509 r_clav 4.466 r_scap 3.899 r_uarm 4.386 r_larm 3.248 r_ufarm 4.386 r_lfarm 2.509

Only utorso had changes to COM and MOI moi_xx moi_xy moi_xz moi_yy moi_yz moi_zz com_x com_y com_z 1.577 -0.032 0.102 1.602 0.047 0.565 -0.0622 0.0023 0.3157

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


At the top right of the page, there is an Attach button. It has a Browse button for me. Does that work for you?

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


Thanks Steven!

osrf-migration commented 9 years ago

Original comment by DouglasS (Bitbucket: DouglasS).


@BillBlank This is fantastic, thanks.

Could you or somebody at OSRF advise how to go forward setting up the "no_wry2" version of these? Is it as simple as just stripping out the one joint and adjusting the parents? Or is it more complicated than that?

osrf-migration commented 9 years ago

Original comment by DouglasS (Bitbucket: DouglasS).


I think I can handle modifying the files you've provided myself, but it would be nice if there was a no_wry2 version of these when this fix is pulled in to drcsim.

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


Doug, the wry2 joints are required for AtlasSimInterface 3.0.x whether one is using the electric forearms (v5) or the current hydraulic forearms (v4). The wry2 DOFs are frozen in the urdf for the hydraulic (v4). Sorry, I know this makes a mismatch with the AtlasRobotInterface. There are no plans to release a no_wry2 version of AtlasSimInterface.

Thanks again for your patience getting the proper mass properties and the kind words..!

osrf-migration commented 9 years ago

Original comment by DouglasS (Bitbucket: DouglasS).


@BillBlank we don't use the sim interface so that doesn't really impact us. I made the no_wry2 version myself for our benefit. There's currently a no_wry2 version of simple shapes available with the bad masses, I was just suggesting that OSRF do the same for the ones that you just generated.

osrf-migration commented 9 years ago

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


@BillBlank

regarding the long message, if you want to format it better, add three tildes before and after the block to make it prettier:

... xml block ...
~~~
osrf-migration commented 9 years ago

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


new inertias in pull request #532

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


see pull request #532

osrf-migration commented 9 years ago

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).


Changes pushed. Reopen issue if needed. Thanks!

osrf-migration commented 9 years ago

Original comment by DouglasS (Bitbucket: DouglasS).


@hsu @scpeters @BillBlank Wanted to follow up on this re: the v5 model. I see where the masses were updated in the pull request, but the total mass of the generated .sdf is around 155kg, which seems low. I know that the forearms come with a weight reduction but ~10 kg per arm seems quite a bit for just the forearms. Is this correct?

osrf-migration commented 9 years ago

Original comment by DouglasS (Bitbucket: DouglasS).


@hsu @scpeters @BillBlank disregard, I was under the impression that those changes were already part of the default release provided by the Ubuntu drcsim package. I'm just using the files in the pull request for now, seeing a mass of 174 kg. Sorry about that.

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


According to the URDF, the first four links are identical in mass (clav, scap, uarm, farm). The next three links (ufarm, lfarm, and hand) have values of 4.386, 2.509. 0.1 = 6.995 for v4 and 2.4798, 0.648, 0.5839 = 3.7117 for v5.

So the difference in weight should be ~3.7 kg per arm. Maybe these urdfs were processed differently to derive .sdf? Or perhaps the weight of the actual hands (sandia, robitiq, etc) also attached was added in?

osrf-migration commented 9 years ago

Original comment by Bill Blank (Bitbucket: BillBlank).


Of course now saw your disregard message..:)