I created a cube primitive in Isaac Gym similar to the
franka_cube_ik.py example. Inspecting the
RigidBodyProperties after creation I was quite surprised to find the default value for the mass was 240kg, the inertia values along the diagonal are on the order of 10-20, and looking in the
AssetOptions used to create the asset the density defaulted to 1000.
A couple points here:
- Those are insane values, and I’m confused how the simulation can even run with them. The cube dimensions are roughly 4.5cm, and this suggests it weighs 240kg. How is the robot picking it up? The documentation indicates those values are kg, is it something different? Grams maybe?
- The documentation indicates the
AssetOptionsis used when mass/inertia are not set. But the asset is created first and then body properties are set. Does this mean that whenever you create it with
gym.create_actorand then do
gym.set_rigid_body_propertiesthe mass/inertia you set will then override whatever was being computed based on the
Here is more or less what I’m doing, and then I retrieve the
RigidBodyProperties and print out the values:
asset_options = gymapi.AssetOptions() asset_options.fix_base_link = false obj_asset = gym.create_box(sim, x, y, z, asset_options) obj_pose = gymapi.Transform() obj_handle = gym.create_actor(env, obj_asset, obj_pose, "box", 0, 0) props = gym.get_actor_rigid_body_properties(env, obj_handle)