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 <redvinaa@gmail.com>
Signed-off-by: redvinaa <redvinaa@gmail.com>
Signed-off-by: redvinaa <redvinaa@gmail.com>
Signed-off-by: redvinaa <redvinaa@gmail.com>
Signed-off-by: redvinaa <redvinaa@gmail.com>
Signed-off-by: redvinaa <redvinaa@gmail.com>
Signed-off-by: redvinaa <redvinaa@gmail.com>
07c373c to
b9c3055
Compare
Signed-off-by: redvinaa <redvinaa@gmail.com>
|
@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.
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 - git@github.com:ros-navigation/navigation2.git
Cloning into '.'...
git@github.com: 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 "git@github.com: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 <redvinaa@gmail.com>
|
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 <redvinaa@gmail.com> * Pass goal pose directly to withinPositionGoalTolerance Signed-off-by: redvinaa <redvinaa@gmail.com> * Fix condition not Signed-off-by: redvinaa <redvinaa@gmail.com> * Add goal positions to tests Signed-off-by: redvinaa <redvinaa@gmail.com> * Use plan stamp Signed-off-by: redvinaa <redvinaa@gmail.com> * Use float instead of auto Signed-off-by: redvinaa <redvinaa@gmail.com> * Throw nav2_core exceptions Signed-off-by: redvinaa <redvinaa@gmail.com> * Set pose frame id in test Signed-off-by: redvinaa <redvinaa@gmail.com> * Fix frame id in test vol 2 Signed-off-by: redvinaa <redvinaa@gmail.com> --------- Signed-off-by: redvinaa <redvinaa@gmail.com> (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 <redvinaa@gmail.com> * Pass goal pose directly to withinPositionGoalTolerance Signed-off-by: redvinaa <redvinaa@gmail.com> * Fix condition not Signed-off-by: redvinaa <redvinaa@gmail.com> * Add goal positions to tests Signed-off-by: redvinaa <redvinaa@gmail.com> * Use plan stamp Signed-off-by: redvinaa <redvinaa@gmail.com> * Use float instead of auto Signed-off-by: redvinaa <redvinaa@gmail.com> * Throw nav2_core exceptions Signed-off-by: redvinaa <redvinaa@gmail.com> * Set pose frame id in test Signed-off-by: redvinaa <redvinaa@gmail.com> * Fix frame id in test vol 2 Signed-off-by: redvinaa <redvinaa@gmail.com> --------- Signed-off-by: redvinaa <redvinaa@gmail.com> (cherry picked from commit d11de56) # Conflicts: # nav2_mppi_controller/include/nav2_mppi_controller/tools/utils.hpp * Update utils.hpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> --------- Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Co-authored-by: Vince Reda <60265874+redvinaa@users.noreply.github.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
* Add goal pose to CriticData Signed-off-by: redvinaa <redvinaa@gmail.com> * Pass goal pose directly to withinPositionGoalTolerance Signed-off-by: redvinaa <redvinaa@gmail.com> * Fix condition not Signed-off-by: redvinaa <redvinaa@gmail.com> * Add goal positions to tests Signed-off-by: redvinaa <redvinaa@gmail.com> * Use plan stamp Signed-off-by: redvinaa <redvinaa@gmail.com> * Use float instead of auto Signed-off-by: redvinaa <redvinaa@gmail.com> * Throw nav2_core exceptions Signed-off-by: redvinaa <redvinaa@gmail.com> * Set pose frame id in test Signed-off-by: redvinaa <redvinaa@gmail.com> * Fix frame id in test vol 2 Signed-off-by: redvinaa <redvinaa@gmail.com> --------- Signed-off-by: redvinaa <redvinaa@gmail.com> Signed-off-by: RBT22 <rozgonyibalint@gmail.com>
|
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 <redvinaa@gmail.com> * Pass goal pose directly to withinPositionGoalTolerance Signed-off-by: redvinaa <redvinaa@gmail.com> * Fix condition not Signed-off-by: redvinaa <redvinaa@gmail.com> * Add goal positions to tests Signed-off-by: redvinaa <redvinaa@gmail.com> * Use plan stamp Signed-off-by: redvinaa <redvinaa@gmail.com> * Use float instead of auto Signed-off-by: redvinaa <redvinaa@gmail.com> * Throw nav2_core exceptions Signed-off-by: redvinaa <redvinaa@gmail.com> * Set pose frame id in test Signed-off-by: redvinaa <redvinaa@gmail.com> * Fix frame id in test vol 2 Signed-off-by: redvinaa <redvinaa@gmail.com> --------- Signed-off-by: redvinaa <redvinaa@gmail.com> Signed-off-by: stevedanomodolor <stevedan.o.omodolor@gmail.com>
Reopen #4812 against main