-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Mppi goal to critic #4822
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
Mppi goal to critic #4822
Conversation
|
@redvinaa, your PR has failed to build. Please check CI outputs and resolve issues. |
|
@redvinaa before you ask, no this CI failure is also not from you. Geometry2 just changed a bunch of headers from |
|
Rebase with #4823 for CI |
Signed-off-by: redvinaa <[email protected]>
Signed-off-by: redvinaa <[email protected]>
Signed-off-by: redvinaa <[email protected]>
Signed-off-by: redvinaa <[email protected]>
Signed-off-by: redvinaa <[email protected]>
Signed-off-by: redvinaa <[email protected]>
Signed-off-by: redvinaa <[email protected]>
07c373c to
b9c3055
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This breaks a MPPI unit test - please make sure that this works properly. You may need to broadcast a transformation in that test so that the getTransformedGoal method can function. Likewise in your other PR.
Otherwise, LGTM
Signed-off-by: redvinaa <[email protected]>
|
@redvinaa, your PR has failed to build. Please check CI outputs and resolve issues. |
SteveMacenski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Waiting on CI to turn over - sorry you've hit landmine after landmine in our usually very stable CI. I'm not sure why circle's not cloning but its not your fault. I'm asking our CI guru to investigate :-)
|
@redvinaa, your PR has failed to build. Please check CI outputs and resolve issues. |
Cloning git repository - [email protected]:ros-navigation/navigation2.git
Cloning into '.'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
error running git clone "[email protected]:ros-navigation/navigation2.git": exit status 128Hmm, it failed to even clone the repo. That is strange... Looks like the CircleCI Deploy key got deleted from GitHub for this GitHub repo. Seems to be cloning the repo just fine now after re-adding a new deploy key! |
|
@redvinaa you have a test failing: |
Signed-off-by: redvinaa <[email protected]>
|
I'm not sure what's the best way to go here, because the dummy path is generated with "odom" frame, while the costmap is in "map" frame. @SteveMacenski if you have a better solution than mine, do tell me. The test now fails because of docking. :D Could you maybe rerun it? It passed on my machine on humble. |
* Add goal pose to CriticData Signed-off-by: redvinaa <[email protected]> * Pass goal pose directly to withinPositionGoalTolerance Signed-off-by: redvinaa <[email protected]> * Fix condition not Signed-off-by: redvinaa <[email protected]> * Add goal positions to tests Signed-off-by: redvinaa <[email protected]> * Use plan stamp Signed-off-by: redvinaa <[email protected]> * Use float instead of auto Signed-off-by: redvinaa <[email protected]> * Throw nav2_core exceptions Signed-off-by: redvinaa <[email protected]> * Set pose frame id in test Signed-off-by: redvinaa <[email protected]> * Fix frame id in test vol 2 Signed-off-by: redvinaa <[email protected]> --------- Signed-off-by: redvinaa <[email protected]> (cherry picked from commit d11de56) # Conflicts: # nav2_mppi_controller/include/nav2_mppi_controller/tools/utils.hpp
Fine by me - that test is a really basic exercising of the lifecycle and functions to make sure it can come up, do work, and shut down cleanly. Its not really doing any "work" in that test and each method have their own extensive test cases below.
Something's going on with that test right now, not your fault. Merging! Thanks for the great contribution, as always 😄 |
* Mppi goal to critic (#4822) * Add goal pose to CriticData Signed-off-by: redvinaa <[email protected]> * Pass goal pose directly to withinPositionGoalTolerance Signed-off-by: redvinaa <[email protected]> * Fix condition not Signed-off-by: redvinaa <[email protected]> * Add goal positions to tests Signed-off-by: redvinaa <[email protected]> * Use plan stamp Signed-off-by: redvinaa <[email protected]> * Use float instead of auto Signed-off-by: redvinaa <[email protected]> * Throw nav2_core exceptions Signed-off-by: redvinaa <[email protected]> * Set pose frame id in test Signed-off-by: redvinaa <[email protected]> * Fix frame id in test vol 2 Signed-off-by: redvinaa <[email protected]> --------- Signed-off-by: redvinaa <[email protected]> (cherry picked from commit d11de56) # Conflicts: # nav2_mppi_controller/include/nav2_mppi_controller/tools/utils.hpp * Update utils.hpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Co-authored-by: Vince Reda <[email protected]> Co-authored-by: Steve Macenski <[email protected]>
* Add goal pose to CriticData Signed-off-by: redvinaa <[email protected]> * Pass goal pose directly to withinPositionGoalTolerance Signed-off-by: redvinaa <[email protected]> * Fix condition not Signed-off-by: redvinaa <[email protected]> * Add goal positions to tests Signed-off-by: redvinaa <[email protected]> * Use plan stamp Signed-off-by: redvinaa <[email protected]> * Use float instead of auto Signed-off-by: redvinaa <[email protected]> * Throw nav2_core exceptions Signed-off-by: redvinaa <[email protected]> * Set pose frame id in test Signed-off-by: redvinaa <[email protected]> * Fix frame id in test vol 2 Signed-off-by: redvinaa <[email protected]> --------- Signed-off-by: redvinaa <[email protected]> Signed-off-by: RBT22 <[email protected]>
|
This MR seems to break the Mppi_goal_to_critic_inversion_fail.webm |
|
@BriceRenaudeau how so, specifically? I'm looking over the PR and I think you're referring to the change in the Is this happening when the inversion is with in the threshold to consider for the other critics to pass off for on-goal-approach behavior? The only 2 changes I see in this PR are:
Which of those (or both) are an issue? |
I am facing the same issue. Additionally, with the default parameters, when the robot is outside the GoalCritic threshold, the parameters may not be sufficient to guide the robot toward inversion. However, when GoalCritic considers the pruned path, it helps the robot converge within the inversion tolerances. |
|
In our case, the GoalCritic is always active to perform TEB like behavior hence cutting the inversion point. |
|
Here is another example of the problem. We want the robot in the opposite direction in a narrow aisle, it should go out of the aisle to make the half turn and then come into the aisle again. MPPI_inversion_point_ok.webmBut with this MR, the robot totally bypasses the path and just moves to the endpoint in the wrong direction. MPPI_inversion_point_failed.webm |
|
@BriceRenaudeau this keeps falling off of my radar by accident. Can you file a ticket for this with your context and we can take it from there? There are some Nav2 contributors around that are looking for projects and if we provide a detailed explanation of the issue and possible solutions, I'm sure we can find a contributor that would be willing to work on this to fix the issue. I think possibly we should use the 'real' goal unless there's a path inversion and we are caring about the path inversions. If so, use the intermediary goal. We can add in the parameter similar to that we have for the path follower if we should consider inversions / path pose orientations. Does that seem reasonable? My apologies for the delay |
* Add goal pose to CriticData Signed-off-by: redvinaa <[email protected]> * Pass goal pose directly to withinPositionGoalTolerance Signed-off-by: redvinaa <[email protected]> * Fix condition not Signed-off-by: redvinaa <[email protected]> * Add goal positions to tests Signed-off-by: redvinaa <[email protected]> * Use plan stamp Signed-off-by: redvinaa <[email protected]> * Use float instead of auto Signed-off-by: redvinaa <[email protected]> * Throw nav2_core exceptions Signed-off-by: redvinaa <[email protected]> * Set pose frame id in test Signed-off-by: redvinaa <[email protected]> * Fix frame id in test vol 2 Signed-off-by: redvinaa <[email protected]> --------- Signed-off-by: redvinaa <[email protected]> Signed-off-by: stevedanomodolor <[email protected]>
Reopen #4812 against main