Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

diff drive robot cannot rotate in bullet-feathestone #697

Closed
jsupratman13 opened this issue Oct 25, 2024 · 2 comments
Closed

diff drive robot cannot rotate in bullet-feathestone #697

jsupratman13 opened this issue Oct 25, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@jsupratman13
Copy link

jsupratman13 commented Oct 25, 2024

Environment

  • OS Version: Ubuntu 24.04
  • Binary, gz-physics7 installed along with ros2 jazzy

Description

I apologize if this was address somewhere before. I'm working on a robot with differential drive using bullet-featherstone physics engine. The robot can move forward and backward without any issues but struggles to rotate in place. Instead of rotating, the robot slips, with no significant rotation. Even with the sample diff_drive.sdf, the vehicle is unable to turn or rotate in place. I also tried setting the caster friction to 0 but to no avail.

  • Expected behavior: Diff drive robot can rotate in place
  • Actual behavior: Diff drive robot does not rotate in place

Steps to reproduce

  1. gz sim diff_drive.sdf --physics-engine gz-physics-bullet-featherstone-plugin
  2. gz topic -t /model/vehicle_green/cmd_vel -m gz.msgs.Twist -p "linear: {x: 0.0}, angular: {z: 5.0}"

Output

issue-2024-10-25_11.51.19.mp4
@jsupratman13 jsupratman13 added the bug Something isn't working label Oct 25, 2024
@iche033
Copy link
Contributor

iche033 commented Oct 29, 2024

I think the default torsional friction value in bullet is causing this issue. As a workaround, try setting it to 0 to all the wheels and the ground plane, i.e. add this to the <collision> element in sdf:

          <surface>
            <friction>
              <torsional>
                <coefficient>0.0</coefficient>
              </torsional>
            </friction>
          </surface>

@jsupratman13
Copy link
Author

I see, thank you for your help!
Setting the wheel and the ground plane torsional friction to 0 works.

@github-project-automation github-project-automation bot moved this from Inbox to Done in Core development Oct 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Archived in project
Development

No branches or pull requests

2 participants