-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Fix backward moving while docking #4572
Conversation
Signed-off-by: Ivan Radionov <[email protected]>
Hi, This is already fixed in the main branch. Your dock detector must publish a pose pointing in the direction of the motion, regardless of whether the robot is moving forward or backward.
Please, check this issue for more info: open-navigation/opennav_docking#47 |
@ajtudela go on vacation! Is that the direction of the dock arrow the same as forward docking before your PR? Maybe my memory is wrong, but I thought it was pointing 'out' before like a surface normal for forward docking - but that may have been when I was doing dock detection output testing. I don't care which way it does (and pointing like your image makes sense to me from a control perspective), as long as its consistently the same with forward and reverse docking orientations. If that's all good, I need to make sure that I update the documentation to mention that so that its not ambiguous @iradionov please verify with the updated orientation |
@SteveMacenski Two days left!! 😃 Yes, the direction of the dock arrow must be the same for both forward and backwards. (If the docking is backwards, the controller will reverse it internally, so the trajectory is generated correctly). I agree, it should be clear from the documentation that the orientation of the dock has to be the same, regardless of whether the docking is forward or backwards. |
I don't understand the question fully or what I'm looking at in terms of the images, the frames are unlabeled and not described. They also look both like adequate solutions so I don't see 'the problem' and 'the solution' curves.
Precision here would be helpful. You shouldn't need to rotate anything specially for reversing. It sounds like your dock's detected orientation need to be rotated but that would have been required for forward or backward. It was just the wrong orientation - but to be fair - I don't document what that should be anywhere, so this is a very useful conversation for a gap in docs that I should fill. Then, inline in the software, we handle any inversions required without your need for modification to make reversing work properly. Is that correct? If so, I think that makes this PR not needed - anything else we need to discuss?
Precision would be helpful, I don't know if you mean your dock's detected orientation or the inversion actually in the software. |
As I understand @ajtudela, on this image |
Sorry for the late replay. You shouldn't have to rotate anything for backwards or forward docking, because the pose of the dock doesn't depend on the movement of the robot, it's always the same. The server, internally, will reverse the dock orientation if the movement is backwards, but you only have to worry about publishing the pose correctly. I'm not sure if this answers your questions, please let me know. |
@iradionov to be clear, are you saying with the current state of main, setting the orientation of the dock as suggested, is still having a problem for you? |
It's not a problem. I understand this idea, but as mentioned ahead this representation seems more natural for our team since we work with a car-like robot. |
Basic Info
| Primary OS tested on | Ubuntu |
| Robotic platform tested on | simulation |
| Does this PR contain AI generated software? | No |
Description of contribution in a few bullet points
This commit ruins the backward docking process because the phi angle is rotated (+M_PI) and a robot tries to approach with wrong direction.
For Maintainers: