Skip to content

Undocking doesn't seem to take into account backwards docking in staging pose retrieval #81

@AlessandroPozzoni

Description

@AlessandroPozzoni

Hello,

I've been having some issues with undocking after successful backwards docking with external detection.
In particular I noticed that when the staging pose for the undocking is retrieved, the pose used to get the staging pose is the one of the docked robot.

In my case I have:

  • a robot docking backwards
  • a dock, with pose with yaw = 0, staging_x_offset = -2.0 and staging_yaw_offset = 3.14

This means that at the end of the docking phase, the robot pose has yaw = 3.14 .

When getting the staging pose in the undocking phase, the robot pose is passed as parameter pose. This also means that:

  • yaw = tf2::getYaw(pose.orientation) = 3.14
  • cos(yaw) = -1
  • cos(yaw) * staging_x_offset_ = -staging_x_offset_

Therefore the staging offset gets inverted in sign, bringing the staging pose on the other side of the dock (in my case not reachable).

I feel like the function to get the staging pose should take into account the fact that the robot was docking backwards, in order to retrieve the staging pose on the correct side of the dock.

I hope I didn't make any mistakes along the way and that this is an actual issue (being my first one ever), thank you for the amazing resource.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions