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

Parameter configuration for holonomic robot #72

Open
annanya-tamu opened this issue Nov 20, 2024 · 2 comments
Open

Parameter configuration for holonomic robot #72

annanya-tamu opened this issue Nov 20, 2024 · 2 comments

Comments

@annanya-tamu
Copy link

Hello,

I noticed that the controller (graceful controller) that is currently being used is for non-holonomic robots. I was wondering if there were any suggestions on how to tune the parameters to set it up as close as possible to a holonomic robot? Or if there is any other workaround to this.

Thanks!

@SteveMacenski
Copy link
Member

I think it should work fine for your case, we have videos / users with mecanum and powered caster omnidirectional robots that are doing this fine today :-)

https://www.youtube.com/watch?v=hrjF_XAT0nE

@annanya-tamu
Copy link
Author

Hi Steve,

Thanks for sharing the video! I should have been a little more specific, as I am looking to control a legged robot like this. In this video, I have set use_external_detection_pose as false, but wanted to share the type of robot I am working on.

When I set use_external_detection_pose to true, the robot seems to make adjustments to itself based on the front left camera (where it's getting the transform to the fiducial from) and the rest of the body "sways" and doesn't seem to align itself completely perpendicular to the fiducial when docking. Ideally, I would like to have it's entire body stay perpendicular when docking just like it does when undocking. I should mention that the "body" frame is located in the middle of the robot and there exists a "rear" and "front" frame as well. Do you have any suggestions to the current param file setup to achieve this?

docking_server:
  ros__parameters:
    controller_frequency: 50.0
    initial_perception_timeout: 5.0
    wait_charge_timeout: 1.0
    dock_approach_timeout: 60.0
    undock_linear_tolerance: 1.0
    undock_angular_tolerance: 0.1
    max_retries: 3
    base_frame: "body"
    fixed_frame: "odom"
    dock_backwards: false
    dock_prestaging_tolerance: 0.5 #changed from 0.5

    # Types of docks
    dock_plugins: ['dog_dock']
    marsupial_ghost_dock:
      plugin: 'opennav_docking::SimpleChargingDock'
      docking_threshold: 0.25
      staging_x_offset: -2.0
      use_external_detection_pose: true
      use_battery_status: false
      use_stall_detection: false

      external_detection_timeout: 1.0
      external_detection_translation_x: -0.18
      external_detection_translation_y: 0.0
      external_detection_rotation_roll: -1.5708
      external_detection_rotation_pitch: -1.5708
      external_detection_rotation_yaw: 3.1415
      filter_coef: 0.1

    # Dock instances
    docks: ['main_dock']
    main_dock:
      type: 'dog_dock'
      frame: odom
      pose: [0.0, 0.0, 0.0]

    controller:
      k_phi: 2.0
      k_delta: 2.0
      v_linear_min: 0.15
      v_linear_max: 0.15
      v_angular_max: 0.75

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants