-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Add speed filter zones to depot and warehouse maps. #5146
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
Add speed filter zones to depot and warehouse maps. #5146
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
... and 3 files with indirect coverage changes 🚀 New features to boost your workflow:
|
|
As to the zones: I'd like the depot to have the 60% on the other side of the shelves as well for consistency - as well as bumping that up to 75%. I'd like to make it a demo, but also not so slow that it drives me nuts 😆 You can just create 1 enveloping polygon that goes over the keepout zoner ather than 4 individual polygons. We'd actually prefer that so that if the keepout is toggled, the robot is still going at the limited speed in the shelving area globally. Put a 50% zone then encapsilating the keepout zone at the bottom with the pallets - including the open corridor between the 2x on the left side that is still marked as not in a keepout zone. For the warehouse: Lower the speed to 80% around the keepout zone in the middle with some margin (like 2m in any direction around it, roughly). Also set a 80% speed limit within a 2m window around each of the i-beam pillars that are in the middle of the map so we slow down near them. Otherwise, looks good to me, really no major notes beyond the absolute topics! |
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
4209368 to
c57b616
Compare
|
@SteveMacenski I have raised a supposed bug that the speed of the robot does not reduce if the start and goal are in the same speed zone. Is this the supposed behaviour? (You can check the PR Description for more details) :) |
|
Depot:
Warehouse:
|
Wouldn't it have already been triggered and reduced the speed from the last request? But that's a pretty good point - can you check in the speed filter? Maybe we should make sure we set this on the initial path request if we're in a zone (And make sure to properly reset at the end of a navigation request so we don't have dirty state between requests) |
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
This is because the speed filter only publishes limit values if the speed limit of the current zone varies from the previously stored zone. This saves computation, but will not downscale the speed if the start point is in a filter zone. I have removed this check locally, and everything works as expected. I have not included this in the PR as I am not sure whether this is by design. In addition, several unittests actively test for this comparison. |
|
On the zones, only 1 more thing (sorry sorry sorry): the warehouse map's big square in the center isn't aligned with the keepout zone. Is there a reason for this or should the left border be reduced by ~1m?
But if |
Signed-off-by: Leander Stephen D'Souza <[email protected]>
No worries, Steve :) I am happy to receive active feedback. I have reduced the speed zone at the central part of the warehouse map. |
This is because the In order to combat this, I have saved the last speed limit and applied it to |
|
Perhaps one more thing that might be good to totally button this up in a follow up PR. You introduced the idea of being able to easily launch the depot or the warehouse - but the graph is only good for the depot. It might be nice to have this updated to have the same naming schema for the maps / zone files you setup & a graph for that warehouse world. A tutorial for how to do is here: https://docs.nav2.org/tutorials/docs/route_server_tools.html |
Yes, sure, Steve. |
| RCLCPP_INFO(get_logger(), "Received a goal, begin computing control effort."); | ||
|
|
||
| // Set the controller to the last known speed limit | ||
| setSpeedLimit(last_speed_limit_); |
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.
I'm not sure I think this is best, the robot can be teleoped around which might not use the controller server to change this value.
I think the better solution is to publish the speed limit the first time its called for a task to update it immediately on execution. This state from the last speed limit could be very stale potentially & if we use the current pose / state instead, then we know we have current information.
For example, when we clean up a task in onGoalExit, we can reset the last speed limit in the costmap filter so that when we compute a new one on the first task, it gets immediately sent out since the old one is reset as non-existent.
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.
I'm not sure how to go about this, Steve.
I do not know how to determine which costmap (global/local) would have the speed filter, in order to get a reset function for the last speed limit.
I think I might need some help on this, as I do not know how to technically get the speed filter plugin from the costmap.
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.
Just spitballing:
When in the controller server we do reset of the controller / goal checker / progress checker, we could have a similar for the costmap layers to do any state cleanup at the end of a task. The implementation for all layers but the speed layer (maybe others could benefit from this?) is just empty but the speed layer we can override to reset the speed limit state. We shouldn't call it 'reset' since that's used to describe total resets already.
Another cleaner idea is to look at the controllers and see which and why the speed limit is being reset and consider not resetting that part of the state. I'm looking at the RPP controller and I don't see any reason that it should modify the last speed limit. So:
- Which planners are resetting that speed limit state?
- Is there a way to maintain it for those cases?
- Is this the best direction to go?
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.
Approach - 1: Selectively reset speed filter
Yes, resetting specific layers/plugins of the costmap makes sense.
However, since the speed filter is predominantly used by the global costmap, we need another instance of it running, as by default, the local costmap is the main instance in controller_server.
Approach - 2: Set the controllers to the last known speed limit upon exit
-
The following planners use
setSpeedlimit():rotation_shim_controllerregulated_pure_pursuit_controllermppi_controllerdwb_plugins/kinematics_parametersgraceful_controller
Looking at these examples, I do not think we need to reset the speed limits of the controllers.
-
Inside the
onGoalExit()function, we can simply set the speed of the controllers to that last known state after reset.
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.
Ah good point on Approach 1.
For Approach 2: but which are doing what you mention in resetting its speed limit state when we finish the task? You mentioned that the speed limit wasn't being respected bc the speed limit layer had it still set but the controller reverted back to the original limits after reset() is called between tasks. Please find which controller(s) do that and we can see how we can fix that. For instance, I think if you test RPP, that shouldn't be resetting from my example, does it?
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.
-
All controllers would reset to the max speed limit once the goal is reached/reset. This is because we loop through all the controllers and reset them once we call
onGoalExit(). -
Since the speed limit is set only in the callback, whenever a new goal is given, it defaults to max speed. This is because the speed filter node only publishes when there is a change. Hence, all controllers would have no memory after the goal is reached/reset.
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.
Look at the controllers' implementations of reset. I checked a couple and there was no adjustment of speed limit. I could only see that MPPI did from my quick scan and pretty sure RPP doesn't.
whenever a new goal is given, it defaults to max speed.
Where does that happen? If we don't publish a new speed limit bc its the same in the layer, then this isn't triggered and the state of the controllers should prevail. If the reset() doesn't change the limits, then it should persist.
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.
My bad, you are correct, Steve.
Could you please point out how the MPPI resets its speed upon reset? I was not able to understand its behavior upon resetting its optimizer.
In addition, the nav2_rotation_shim_controller sets the angular velocity to maximum on reset.
I assume the next steps are to remove the resetting of the speed for different controllers.
I probably think that this could be moved to a different PR then.
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.
In addition, the nav2_rotation_shim_controller sets the angular velocity to maximum on reset.
That should have nothing to do with speed limits
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.
I have tested the following planners in simulation:
nav2_graceful_controller::GracefulControllerdwb_core::DWBLocalPlannernav2_regulated_pure_pursuit_controller::RegulatedPurePursuitController
All of them work if they start in a speed limit zone.
I have reverted the most recent commit of storing the last speed limit.
If I remove the resetting of the constraints in the MPPI controller, then everything works as expected.
Should I open a separate PR for this change?
da1136f to
132884d
Compare
|
@leander-dsouza yes please! I don't think we should always not reset, but I think when the Controller::Reset is called that's the right move to exclude it. When reset is called from an internal parameter change, I think we should reset those limits. So what we can do is have the reset take a bool for whether to reset dynamic speed limits and set it true for |
) * Added keepout prefix to keepout zone related params. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Add namespace support for speed filter zones. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Added speed filter zones to depot and warehouse maps. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Added dedicated launch file for speed zone support. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Updated rviz2 config to include speed zone filter. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Preserve initial nature of costmap filters tests. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Enable namespace for the speed limit topic. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Update speed filter zones in depot and warehouse maps Signed-off-by: Leander Stephen D'Souza <[email protected]> * Readjust speed filter zones in depot and warehouse maps. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Enable namespace support for speed limit topic. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Reduced central speed zone in warehouse map. Signed-off-by: Leander Stephen D'Souza <[email protected]> --------- Signed-off-by: Leander Stephen D'Souza <[email protected]>
) * Added keepout prefix to keepout zone related params. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Add namespace support for speed filter zones. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Added speed filter zones to depot and warehouse maps. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Added dedicated launch file for speed zone support. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Updated rviz2 config to include speed zone filter. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Preserve initial nature of costmap filters tests. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Enable namespace for the speed limit topic. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Update speed filter zones in depot and warehouse maps Signed-off-by: Leander Stephen D'Souza <[email protected]> * Readjust speed filter zones in depot and warehouse maps. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Enable namespace support for speed limit topic. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Reduced central speed zone in warehouse map. Signed-off-by: Leander Stephen D'Souza <[email protected]> --------- Signed-off-by: Leander Stephen D'Souza <[email protected]> Signed-off-by: Sakshay Mahna <[email protected]>
* Added keepout prefix to keepout zone related params. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Add namespace support for speed filter zones. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Added speed filter zones to depot and warehouse maps. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Added dedicated launch file for speed zone support. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Updated rviz2 config to include speed zone filter. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Preserve initial nature of costmap filters tests. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Enable namespace for the speed limit topic. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Update speed filter zones in depot and warehouse maps Signed-off-by: Leander Stephen D'Souza <[email protected]> * Readjust speed filter zones in depot and warehouse maps. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Enable namespace support for speed limit topic. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Reduced central speed zone in warehouse map. Signed-off-by: Leander Stephen D'Souza <[email protected]> --------- Signed-off-by: Leander Stephen D'Souza <[email protected]>
* Add speed filter zones to depot and warehouse maps. (#5146) * Added keepout prefix to keepout zone related params. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Add namespace support for speed filter zones. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Added speed filter zones to depot and warehouse maps. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Added dedicated launch file for speed zone support. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Updated rviz2 config to include speed zone filter. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Preserve initial nature of costmap filters tests. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Enable namespace for the speed limit topic. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Update speed filter zones in depot and warehouse maps Signed-off-by: Leander Stephen D'Souza <[email protected]> * Readjust speed filter zones in depot and warehouse maps. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Enable namespace support for speed limit topic. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Reduced central speed zone in warehouse map. Signed-off-by: Leander Stephen D'Souza <[email protected]> --------- Signed-off-by: Leander Stephen D'Souza <[email protected]> * suppress rviz logging to warnings and above (#5163) * suppress rviz to warnings and above Signed-off-by: Steve Macenski <[email protected]> * Update nav2_bringup/launch/rviz_launch.py Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Adding Jazzy build job on Main PRs to automatically test Jazzy compatiblity long term (Kilted to come shortly) (#5164) * Adding jazzy testing job Signed-off-by: Steve Macenski <[email protected]> * on PR not push Signed-off-by: Steve Macenski <[email protected]> * move dir Signed-off-by: Steve Macenski <[email protected]> * more Signed-off-by: Steve Macenski <[email protected]> * moar Signed-off-by: Steve Macenski <[email protected]> * moar Signed-off-by: Steve Macenski <[email protected]> * more Signed-off-by: Steve Macenski <[email protected]> * fin Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Prevent MPPI controller from resetting speed limits upon goal execution. (#5165) Signed-off-by: Leander Stephen D'Souza <[email protected]> * Backward docking without sensors (#5153) * Merge remote-tracking branch 'jakub/backward-docking-without-sensors' into docking_backward Signed-off-by: Jakubach <[email protected]> Signed-off-by: Alberto Tudela <[email protected]> * Minor fixes and update controller test Signed-off-by: Alberto Tudela <[email protected]> * Add more tests Signed-off-by: Alberto Tudela <[email protected]> * Move backward_plugin param to plugin Signed-off-by: Alberto Tudela <[email protected]> * Fixed rotateToDock and tests Signed-off-by: Alberto Tudela <[email protected]> * Update readme Signed-off-by: Alberto Tudela <[email protected]> * Added rotate_to_dock_timeout Signed-off-by: Alberto Tudela <[email protected]> * Use angular acceleration te acelerate / decelerate Signed-off-by: Alberto Tudela <[email protected]> * Added mutex Signed-off-by: Alberto Tudela <[email protected]> * Fix exception Signed-off-by: Alberto Tudela <[email protected]> * Revert "Added mutex" This reverts commit 29ff010. Signed-off-by: Alberto Tudela <[email protected]> * Rename rotate_to_dock Signed-off-by: Alberto Tudela <[email protected]> * Rotate after undock and fixes Signed-off-by: Alberto Tudela <[email protected]> * Minor fixes Signed-off-by: Alberto Tudela <[email protected]> * Log after rotation Signed-off-by: Alberto Tudela <[email protected]> --------- Signed-off-by: Jakubach <[email protected]> Signed-off-by: Alberto Tudela <[email protected]> * Speed up CI builds for released distros (#5168) Signed-off-by: Steve Macenski <[email protected]> * Save 2 minutes in Main-Jazzy build times to align with other CI job lengths (#5169) * Save 2 minutes in Main-Jazzy build times to align with other CI job lengths Signed-off-by: Steve Macenski <[email protected]> * Update build_main_against_distros.yml Signed-off-by: Steve Macenski <[email protected]> * Update build_main_against_distros.yml Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Fixing docking server when already docked at the requeste ddock (#5171) Signed-off-by: Steve Macenski <[email protected]> * Update mergify.yml Signed-off-by: Steve Macenski <[email protected]> * fix MPPI goal critic inversion (#5088) (#5105) * fix MPPI goal critic inversion (#5088) Signed-off-by: brayanpa <[email protected]> * Support path inversion in all critics (#5088) Signed-off-by: brayanpa <[email protected]> * Fix code style issues and formatting Signed-off-by: brayanpa <[email protected]> * Remove trailing whitespaces Signed-off-by: brayanpa <[email protected]> * Fix goalAngleCritic tests Signed-off-by: brayanpa <[email protected]> * Normalize code formatting Signed-off-by: brayanpa <[email protected]> * Add getLastPathPose test Signed-off-by: brayanpa <[email protected]> * Abstract getCriticGoal in nav2_mppi critics Signed-off-by: brayanpa <[email protected]> * Fix whitespace issues Signed-off-by: brayanpa <[email protected]> * Fix getCriticGoal test Signed-off-by: brayanpa <[email protected]> --------- Signed-off-by: brayanpa <[email protected]> Signed-off-by: Brayan Pallares <[email protected]> * Add stateful to regulated pure pursuit controller (#5167) * add_stateful_to_regulated_pure_pursuit_controller Signed-off-by: Jad haj mustafa <[email protected]> * fix naming Signed-off-by: Jad haj mustafa <[email protected]> * fix naming left over Signed-off-by: Jad haj mustafa <[email protected]> * resolve comments Signed-off-by: Jad haj mustafa <[email protected]> * typo Signed-off-by: Jad haj mustafa <[email protected]> * add unit test for both cases stateful and not stateful Signed-off-by: Jad haj mustafa <[email protected]> --------- Signed-off-by: Jad haj mustafa <[email protected]> * tf2 uses hpp headers in rolling (and is backported) (#5180) Signed-off-by: Tim Clephas <[email protected]> * added config for laserscan in lb-sim (#5174) * added config for laserscan in lb-sim Signed-off-by: RamanaBotta <[email protected]> * fixing ament_flake8 errors Signed-off-by: RamanaBotta <[email protected]> * review: use_inf is default:true and added parameters on readme #4992 Signed-off-by: RamanaBotta <[email protected]> * refactor: meaningfull value for scan_angle_increment Signed-off-by: RamanaBotta <[email protected]> --------- Signed-off-by: RamanaBotta <[email protected]> Co-authored-by: RamanaBotta <[email protected]> * Publish planned footprints after smoothing (#5155) * Publish planned footprints after smoothing Signed-off-by: Tony Najjar <[email protected]> * Revert "Publish planned footprints after smoothing" This reverts commit c9b349a. * Add smoothed footprints publishing Signed-off-by: Tony Najjar <[email protected]> * fix formatting Signed-off-by: Tony Najjar <[email protected]> * Fix indentation for publisher creation in SmacPlannerHybrid and SmacPlannerLattice Signed-off-by: Tony Najjar <[email protected]> * address PR comments Signed-off-by: Tony Najjar <[email protected]> * fixes Signed-off-by: Tony Najjar <[email protected]> * fix build error Signed-off-by: Tony Najjar <[email protected]> --------- Signed-off-by: Tony Najjar <[email protected]> * fixing deprecation warning (#5182) Signed-off-by: Steve Macenski <[email protected]> * Removing action server timeout duration after fixes to ROS 2, Reverts 3787 (#5183) * Removing action server timeout duration after fixes to ROS 2 Signed-off-by: Steve Macenski <[email protected]> * fix build warning Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * action timeout in BT client edits error code and string (#5184) Signed-off-by: Steve Macenski <[email protected]> * Dynamic Parameters Only validating params that are part of the plugin (#5106) * Only validating params that are part of the plugin Signed-off-by: Nils-ChristianIseke <[email protected]> * review Signed-off-by: Nils-Christian Iseke <[email protected]> * Refactoring type with param_type and name with param_name to get more consistency. Signed-off-by: Nils-Christian Iseke <[email protected]> * Check if plugin_name is part of param_name Signed-off-by: Nils-Christian Iseke <[email protected]> * Check if param_name contains name_ Signed-off-by: Nils-Christian Iseke <[email protected]> * Uncrustify Signed-off-by: Nils-Christian Iseke <[email protected]> * Add check param name in dynamic parameter upate. Signed-off-by: Nils-Christian Iseke <[email protected]> * fix Signed-off-by: Nils-Christian Iseke <[email protected]> * Merge remote-tracking branch 'upstream/main' into FixNamespaceCheck Signed-off-by: Nils-Christian Iseke <[email protected]> * Remove controller_frequency as dynamic parameter Signed-off-by: Nils-Christian Iseke <[email protected]> * Revert "Merge remote-tracking branch 'origin/main' into FixNamespaceCheck" This reverts commit 7632e41, reversing changes made to 19afc9e. Signed-off-by: Nils-Christian Iseke <[email protected]> * Merge remote-tracking branch 'upstream/main' into FixNamespaceCheck Signed-off-by: Nils-Christian Iseke <[email protected]> * Fix merge errors. Signed-off-by: Nils-Christian Iseke <[email protected]> * Add missing check to simple_goal_checker Signed-off-by: Nils-Christian Iseke <[email protected]> * Handel param_name resolution for smac_planner_hybrid Signed-off-by: Nils-Christian Iseke <[email protected]> * fix typo Signed-off-by: Nils-Christian Iseke <[email protected]> * uncrustify Signed-off-by: Nils-Christian Iseke <[email protected]> * fix Signed-off-by: Nils-Christian Iseke <[email protected]> * Revert "uncrustify" This reverts commit 43749c2. Signed-off-by: Nils-Christian Iseke <[email protected]> * uncrustify Signed-off-by: Nils-Christian Iseke <[email protected]> * Revert "uncrustify" This reverts commit e18f704. Signed-off-by: Nils-Christian Iseke <[email protected]> * Revert "fix" This reverts commit a0a7892. Signed-off-by: Nils-Christian Iseke <[email protected]> * Merge remote-tracking branch 'upstream/main' into FixNamespaceCheck Signed-off-by: Nils-Christian Iseke <[email protected]> * MPPI Check Namespace. Signed-off-by: Nils-Christian Iseke <[email protected]> * fixing parameter_handler tests. Signed-off-by: Nils-Christian Iseke <[email protected]> * Fix optimizer Signed-off-by: Nils-Christian Iseke <[email protected]> * Fix indentation Signed-off-by: Nils-Christian Iseke <[email protected]> * mppi param handler only execute post_callbacks if a param of mppi was updated. Signed-off-by: Nils-Christian Iseke <[email protected]> * Update nav2_rotation_shim_controller.hpp Signed-off-by: Nils-Christian Iseke <[email protected]> * Review Signed-off-by: Nils-Christian Iseke <[email protected]> * Update nav2_mppi_controller/src/parameters_handler.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_mppi_controller/src/parameters_handler.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_mppi_controller/src/parameters_handler.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Nils-ChristianIseke <[email protected]> Signed-off-by: Nils-Christian Iseke <[email protected]> Signed-off-by: Nils-Christian Iseke <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * Increase Readability of testing. (#5190) Signed-off-by: Nils-Christian Iseke <[email protected]> * Add value rewrites to RewrittenYaml (#5191) * Added context manager for safe file closing and prevent warnings. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Implement value_rewrites to ReWrittenYaml. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Use placeholders for costmap filters using the new value rewrite feature. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Enable system tests to use value rewrites. Signed-off-by: Leander Stephen D'Souza <[email protected]> * Define remappings for costmap filters instead of inline substitution. Signed-off-by: Leander Stephen D'Souza <[email protected]> --------- Signed-off-by: Leander Stephen D'Souza <[email protected]> * Updates for Kilted Branch off (#5199) * Adding kilted build to main branch workflow Signed-off-by: Steve Macenski <[email protected]> * Updating kilted for ci image build Signed-off-by: Steve Macenski <[email protected]> * Bumping to 1.4.0 for kilted release Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Removing underlay workspace from Main (#5200) Signed-off-by: Steve Macenski <[email protected]> * Adding missing dep to loopback sim (#5204) * Adding missing dep Signed-off-by: Steve Macenski <[email protected]> * typo Signed-off-by: Steve Macenski <[email protected]> * updating fix Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Adding parameter warn_when_defaulting_parameters to control default parameter warnings (#5189) * Adding a parameter warn_when_defaulting_parameters to control default parameter warnings instead of using a flag Signed-off-by: Marco Bassa <[email protected]> * Adding parameter strict_param_loading for optionally throwing an exception if parameter overrides are missing Signed-off-by: Marco Bassa <[email protected]> * Using default false declaration instead of declare_or_get in param util Signed-off-by: Marco Bassa <[email protected]> --------- Signed-off-by: Marco Bassa <[email protected]> * Update mergify.yml Signed-off-by: Steve Macenski <[email protected]> * include bug fix for nav2_smac_planner (#5198) Signed-off-by: Stevedan Omodolor <[email protected]> * Revert "Removing underlay workspace from Main" (#5206) * Revert "Removing underlay workspace from Main (#5200)" This reverts commit 1278df7. * Update underlay.repos Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Option to Reduce Lethal to High-Cost Navigable To Get Out of Keepout Zones if Wandered In (#5187) * Adding toggle option of keepout zone Signed-off-by: Steve Macenski <[email protected]> * Default off Signed-off-by: Steve Macenski <[email protected]> * Join conditions Signed-off-by: Steve Macenski <[email protected]> * spell check Signed-off-by: Steve Macenski <[email protected]> * copilot suggestions Signed-off-by: Steve Macenski <[email protected]> * Update nav2_costmap_2d/plugins/costmap_filters/keepout_filter.cpp Co-authored-by: Leander Stephen D'Souza <[email protected]> Signed-off-by: Steve Macenski <[email protected]> * Update nav2_costmap_2d/plugins/costmap_filters/keepout_filter.cpp Co-authored-by: Leander Stephen D'Souza <[email protected]> Signed-off-by: Steve Macenski <[email protected]> * Update keepout_filter.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Co-authored-by: Leander Stephen D'Souza <[email protected]> * Prototype solving #5192 Issue 2: Reeds-Shepp reduce small reverse expansions (#5207) * prototype solving 5192 issue 2 Signed-off-by: Steve Macenski <[email protected]> * Removing unnecessary variable Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Revert recent smac changes causing regressions (#5221) * Revert "Prototype solving #5192 Issue 2: Reeds-Shepp reduce small reverse expansions (#5207)" This reverts commit c32873d. * Revert "include bug fix for nav2_smac_planner (#5198)" This reverts commit 6a74ba6. * Revert "Feat/smac planner include orientation flexibility (#4127)" This reverts commit f5543c3. * Disable costmap filter zones from tb3 bringup (only Tb4 enabled) (#5223) * Update tb3_loopback_simulation_launch.py Signed-off-by: Steve Macenski <[email protected]> * Update tb3_simulation_launch.py Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Revert "Fix Ci from key signing (#5220)" (#5237) * Revert "Fix Ci from key signing (#5220)" This reverts the changes to the Dockerfile done in 1345c22. Signed-off-by: Nils-Christian Iseke <[email protected]> * Update Cache Version Signed-off-by: Nils-Christian Iseke <[email protected]> --------- Signed-off-by: Nils-Christian Iseke <[email protected]> * Updating readme table for kilted release (#5249) * updating readme table for kilted release Signed-off-by: Steve Macenski <[email protected]> * Updating table lint Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Add min_distance_to_obstacle parameter to RPP (#4543) * min_distance_to_obstacle Signed-off-by: Guillaume Doisy <[email protected]> * suggestion to time base and combine Signed-off-by: Guillaume Doisy <[email protected]> * typo Signed-off-by: Guillaume Doisy <[email protected]> * use min_approach_linear_velocity Signed-off-by: Guillaume Doisy <[email protected]> --------- Signed-off-by: Guillaume Doisy <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> * Fixing builds for message filters API change while retaining Jazzy, Kilted, and Rolling support (#5251) * Update amcl_node.hpp Signed-off-by: Steve Macenski <[email protected]> * Update amcl_node.cpp Signed-off-by: Steve Macenski <[email protected]> * Working for Kilted, Jazzy Signed-off-by: Steve Macenski <[email protected]> * Update amcl_node.cpp Signed-off-by: Steve Macenski <[email protected]> * Update amcl_node.cpp Signed-off-by: Steve Macenski <[email protected]> * Update amcl_node.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> * Route server corner smoothing (#5226) * added edge length method Signed-off-by: Alexander Yuen <[email protected]> * Added corner arc class Signed-off-by: Alexander Yuen <[email protected]> * replaced double vectors with Coordinates, added methods to return start and end coordinates Signed-off-by: Alexander Yuen <[email protected]> * using Coordinates, fixed direction of tangents Signed-off-by: Alexander Yuen <[email protected]> * added corner arc in header, added logger in protected variable Signed-off-by: Alexander Yuen <[email protected]> * first pass of corner smoothing algorithm Signed-off-by: Alexander Yuen <[email protected]> * reassigning next edge to have a different start, if a corner occurs before it Signed-off-by: Alexander Yuen <[email protected]> * using unique pointer instead of raw pointers for new edges and nodes Signed-off-by: Alexander Yuen <[email protected]> * added smoothing parameter Signed-off-by: Alexander Yuen <[email protected]> * made angle of interpolation a parameter Signed-off-by: Alexander Yuen <[email protected]> * const for return methods, added flag for smoothing corners Signed-off-by: Alexander Yuen <[email protected]> * moved getEdgeLength() into the Directional Edge struct Signed-off-by: Alexander Yuen <[email protected]> * using float instead of double Signed-off-by: Alexander Yuen <[email protected]> * smoothing radius is float, couple methods moved to protected Signed-off-by: Alexander Yuen <[email protected]> * removed signed_angle_ as a member variable Signed-off-by: Alexander Yuen <[email protected]> * removed unnecessary member variables Signed-off-by: Alexander Yuen <[email protected]> * removed angle of interpolation and inferring it from path density and radius instead Signed-off-by: Alexander Yuen <[email protected]> * consolidated corner arc into one header function Signed-off-by: Alexander Yuen <[email protected]> * readded newline Signed-off-by: Alexander Yuen <[email protected]> * changed corner arc to corner smoothing Signed-off-by: Alexander Yuen <[email protected]> * replaced the use of edges with coordinates to generate smoothing arc, removed storage of nodes and edges Signed-off-by: Alexander Yuen <[email protected]> * linting Signed-off-by: Alexander Yuen <[email protected]> * fixing cpplint Signed-off-by: Alexander Yuen <[email protected]> * linting for headers Signed-off-by: Alexander Yuen <[email protected]> * cpplinting Signed-off-by: Alexander Yuen <[email protected]> * Update nav2_route/src/path_converter.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_route/src/path_converter.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_route/src/path_converter.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_route/src/path_converter.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_route/include/nav2_route/corner_smoothing.hpp Signed-off-by: Steve Macenski <[email protected]> * fixed divide by zeros and accessing empty route.edges Signed-off-by: Alexander Yuen <[email protected]> * uncrustify linting Signed-off-by: Alexander Yuen <[email protected]> * cpp linting Signed-off-by: Alexander Yuen <[email protected]> * path converter linting Signed-off-by: Alexander Yuen <[email protected]> * changed all doubles to floats Signed-off-by: Alexander Yuen <[email protected]> * added check for edges that are colinear to avoid divide by 0, fixed final edge interpolation Signed-off-by: Alexander Yuen <[email protected]> * linting Signed-off-by: Alexander Yuen <[email protected]> * Update nav2_route/include/nav2_route/corner_smoothing.hpp Signed-off-by: Steve Macenski <[email protected]> * added doxygen for corner arc class Signed-off-by: Alexander Yuen <[email protected]> * added warning message if corner can't be smoothed Signed-off-by: Alexander Yuen <[email protected]> * added smooth_corners to the nav2 params file Signed-off-by: Alexander Yuen <[email protected]> * added smoothing flag and radius parameter to README.md' Signed-off-by: Alexander Yuen <[email protected]> * typo in README Signed-off-by: Alexander Yuen <[email protected]> * added testing for corner smoothing Signed-off-by: Alexander Yuen <[email protected]> * Update nav2_route/include/nav2_route/corner_smoothing.hpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Alexander Yuen <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * Conserve curvature with LIMIT action (#5255) * Conserve curvature with LIMIT action Signed-off-by: Tony Najjar <[email protected]> * fix format Signed-off-by: Tony Najjar <[email protected]> * fix test Signed-off-by: Tony Najjar <[email protected]> --------- Signed-off-by: Tony Najjar <[email protected]> * Parametrizing obstacle layer tf filter tolerance (#5261) Signed-off-by: Marco Bassa <[email protected]> * Add namespace support for rviz costmap cost tool (#5268) Signed-off-by: Maurice-1235 <[email protected]> * Fix/smac planner orientation goals (#5235) * cherry pick Signed-off-by: Stevedan Omodolor <[email protected]> * cherry pick 6a74ba6 Signed-off-by: Stevedan Omodolor <[email protected]> * cherrpy pick Signed-off-by: Stevedan Omodolor <[email protected]> * include x11 forwarding Signed-off-by: Stevedan Omodolor <[email protected]> * kind of working version Signed-off-by: Stevedan Omodolor <[email protected]> * cleanup Signed-off-by: Stevedan Omodolor <[email protected]> * formatting Signed-off-by: Stevedan Omodolor <[email protected]> * minor format change Signed-off-by: Stevedan Omodolor <[email protected]> * change naming Signed-off-by: Stevedan Omodolor <[email protected]> * minor changes Signed-off-by: Stevedan Omodolor <[email protected]> * working with new changes Signed-off-by: Stevedan Omodolor <[email protected]> * Revert "Fix Ci from key signing (#5220)" (#5237) * Revert "Fix Ci from key signing (#5220)" This reverts the changes to the Dockerfile done in 1345c22. Signed-off-by: Nils-Christian Iseke <[email protected]> * Update Cache Version Signed-off-by: Nils-Christian Iseke <[email protected]> --------- Signed-off-by: Nils-Christian Iseke <[email protected]> Signed-off-by: Stevedan Omodolor <[email protected]> * Revert back Signed-off-by: Stevedan Omodolor <[email protected]> * enable_groot_monitoring_ false (#5246) Signed-off-by: Guillaume Doisy <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Signed-off-by: Stevedan Omodolor <[email protected]> * Updating readme table for kilted release (#5249) * updating readme table for kilted release Signed-off-by: Steve Macenski <[email protected]> * Updating table lint Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Stevedan Omodolor <[email protected]> * Add min_distance_to_obstacle parameter to RPP (#4543) * min_distance_to_obstacle Signed-off-by: Guillaume Doisy <[email protected]> * suggestion to time base and combine Signed-off-by: Guillaume Doisy <[email protected]> * typo Signed-off-by: Guillaume Doisy <[email protected]> * use min_approach_linear_velocity Signed-off-by: Guillaume Doisy <[email protected]> --------- Signed-off-by: Guillaume Doisy <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Signed-off-by: Stevedan Omodolor <[email protected]> * Fixing builds for message filters API change while retaining Jazzy, Kilted, and Rolling support (#5251) * Update amcl_node.hpp Signed-off-by: Steve Macenski <[email protected]> * Update amcl_node.cpp Signed-off-by: Steve Macenski <[email protected]> * Working for Kilted, Jazzy Signed-off-by: Steve Macenski <[email protected]> * Update amcl_node.cpp Signed-off-by: Steve Macenski <[email protected]> * Update amcl_node.cpp Signed-off-by: Steve Macenski <[email protected]> * Update amcl_node.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Stevedan Omodolor <[email protected]> * Change max_cost default to 254 (#5256) Signed-off-by: Tony Najjar <[email protected]> Signed-off-by: Stevedan Omodolor <[email protected]> * linter Signed-off-by: Stevedan Omodolor <[email protected]> * remove const Signed-off-by: Stevedan Omodolor <[email protected]> * pass const pointer by value Signed-off-by: Stevedan Omodolor <[email protected]> * pass const pointer by value Signed-off-by: Stevedan Omodolor <[email protected]> * remove unused param Signed-off-by: Stevedan Omodolor <[email protected]> --------- Signed-off-by: Stevedan Omodolor <[email protected]> Signed-off-by: Nils-Christian Iseke <[email protected]> Signed-off-by: Guillaume Doisy <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Tony Najjar <[email protected]> Co-authored-by: Steve Macenski <[email protected]> Co-authored-by: Nils-Christian Iseke <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Co-authored-by: Tony Najjar <[email protected]> * Increase cache Signed-off-by: Steve Macenski <[email protected]> * fixes for humble main compatibility Signed-off-by: Steve Macenski <[email protected]> * Revert "Removing action server timeout duration after fixes to ROS 2, Reverts 3787 (#5183)" This reverts commit c9438b4. * fixing CI build Signed-off-by: Steve Macenski <[email protected]> * revert Signed-off-by: Steve Macenski <[email protected]> * done Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Leander Stephen D'Souza <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Jakubach <[email protected]> Signed-off-by: Alberto Tudela <[email protected]> Signed-off-by: brayanpa <[email protected]> Signed-off-by: Brayan Pallares <[email protected]> Signed-off-by: Jad haj mustafa <[email protected]> Signed-off-by: Tim Clephas <[email protected]> Signed-off-by: RamanaBotta <[email protected]> Signed-off-by: Tony Najjar <[email protected]> Signed-off-by: Nils-ChristianIseke <[email protected]> Signed-off-by: Nils-Christian Iseke <[email protected]> Signed-off-by: Nils-Christian Iseke <[email protected]> Signed-off-by: Marco Bassa <[email protected]> Signed-off-by: Stevedan Omodolor <[email protected]> Signed-off-by: Guillaume Doisy <[email protected]> Signed-off-by: Alexander Yuen <[email protected]> Signed-off-by: Maurice-1235 <[email protected]> Co-authored-by: Leander Stephen D'Souza <[email protected]> Co-authored-by: Alberto Tudela <[email protected]> Co-authored-by: Brayan Pallares <[email protected]> Co-authored-by: Jad Haj Mustafa <[email protected]> Co-authored-by: Tim Clephas <[email protected]> Co-authored-by: Raman <[email protected]> Co-authored-by: RamanaBotta <[email protected]> Co-authored-by: Tony Najjar <[email protected]> Co-authored-by: Nils-Christian Iseke <[email protected]> Co-authored-by: Marco Bassa <[email protected]> Co-authored-by: Stevedan Ogochukwu Omodolor <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Co-authored-by: alexanderjyuen <[email protected]> Co-authored-by: mini-1235 <[email protected]>





Basic Info
Description of contribution in a few bullet points
Added namespace support for speed filter with
joinWithParentNamespaceAdded a
keepout_andspeed_prefixes to related parameters.Added speed zone parameter to the global costmap.
Added two zones with 30% and 60% max speed limits.
Description of documentation updates required from your changes
Description of how this change was tested
Tested the speed drop by monitoring the
/cmd_vel_navand/speed_limittopics in the 30% and 60% zones.speed_limit_depot.mp4
As the video shows, the turtlebot starts with
0.5, which drops to0.3in the 60% zone, then0.15in the 30% max speed limit zone.Possible Bug?
The issue I found was the
/speed_limittopic gets triggered when entering a different costmap zone than the robot is currently in. Therefore, if a goal was given within a speed limit zone, it will ignore all the speed limits because the topic is not triggered.This can be seen in the above video when the second goal is given. The robot moves with full speed (
0.5) in a 60% max speed zone before it enters the 30% max speed zone.I have attached another video which may prove to be helpful:
speed_limit_not_respected.mp4
Here, the robot moves at full speed despite being in a 30% max limit area. This is due to the
/speed_limittopic not being triggered due to no change in the costmap.Future work that may be required in bullet points
For Maintainers: