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.
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:
yaw = 0,staging_x_offset = -2.0andstaging_yaw_offset = 3.14This 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.