Skip to content

Friction disregarding surface friction coefficients #1682

@TheUncivil

Description

@TheUncivil

Environment

  • Ubuntu 22.04
  • Running DART in Ignition Gazebo 6.12

Expected Behavior

When colliding two objects, the simulator should take the friction coefficients of both into account. According to gazebo documentation, it should use the lower friction coefficient of the two.

Current Behavior

The simulator only seems to use the friction coefficient of the moving object, while the surface along which it is moving is disregarded.

Elaboration

I ran into this issue while attempting to model an AGV moving through an environment where the floor might have varying surface friction as a result of stains or dirt. I spent some time verifying this behavior, by sliding a few cubes along a sloped plane and changing the friction of both the cubes and the plane, as detailed below.

Note that the planes are coloured red and green. The red part of the plane has a friction coefficient of 20 and the green part has a friction coefficient of 0.2. The middle part of the slope has both overlapping, because I wanted to see how the simulator would handle that.

cubes_equal_friction
GIF 1: The cubes have equal friction coefficients of 1. Despite the varying friction coefficient of the slope beneath them, they all move exactly the same.

cubes_varied_friction
GIF 2: The cubes have been assigned different values for friction, from left to right: 20, 1, and 0.2. This affects their movement as would be expected if the friction of the slope was the same everywhere. However, that is not the case.

I also briefly experimented with driving my AGV around on a surface with a friction coefficient of 0, which I did not record. The AGV was able to move normally on a frictionless surface, contrary to expectations. When I set the friction coefficient of its wheels to 0, however, the AGV was unable to move due to the complete absence of grip, which aligns with my expectations.

I've also tried using Bullet to run this simulation, and Bullet does not have this issue (but is unsuitable for my project due to other limitations). Therefore, I believe the issue lies with DART or its implementation into Gazebo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugIndicates an unexpected problem or unintended behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions