-
Notifications
You must be signed in to change notification settings - Fork 46
Description
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.0andstaging_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.14cos(yaw) = -1cos(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.