Skip to content

Conversation

@leander-dsouza
Copy link
Contributor


Basic Info

Info Please fill out this column
Ticket(s) this addresses #4400
Primary OS tested on Ubuntu
Robotic platform tested on Turtlebot4 Gazebo Simulation
Does this PR contain AI generated software? No

Description of contribution in a few bullet points

  • Added namespace support for speed filter with joinWithParentNamespace

  • Added a keepout_ and speed_ prefixes to related parameters.

  • Added speed zone parameter to the global costmap.

  • Added two zones with 30% and 60% max speed limits.

    depot_speed_limit_zones
    warehouse_speed_zone

Description of documentation updates required from your changes

  • N/A

Description of how this change was tested

  • Tested the speed drop by monitoring the /cmd_vel_nav and /speed_limit topics in the 30% and 60% zones.

    speed_limit_depot.mp4

    As the video shows, the turtlebot starts with 0.5, which drops to 0.3 in the 60% zone, then 0.15 in the 30% max speed limit zone.

    Possible Bug?

    The issue I found was the /speed_limit topic 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_limit topic not being triggered due to no change in the costmap.


Future work that may be required in bullet points

  • If the intended behaviour is as described above, the documentation could be updated to include this, as it is not intuitive at the current state of the guide.

For Maintainers:

  • Check that any new parameters added are updated in docs.nav2.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists

@codecov
Copy link

codecov bot commented May 11, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Files with missing lines Coverage Δ
...ller/include/nav2_controller/controller_server.hpp 100.00% <ø> (ø)
nav2_controller/src/controller_server.cpp 85.81% <100.00%> (+0.20%) ⬆️
...ostmap_2d/plugins/costmap_filters/speed_filter.cpp 97.59% <100.00%> (+0.02%) ⬆️

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@leander-dsouza leander-dsouza marked this pull request as ready for review May 11, 2025 23:41
@SteveMacenski
Copy link
Member

SteveMacenski commented May 12, 2025

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!

@leander-dsouza leander-dsouza force-pushed the add_speed_filter_zones branch from 4209368 to c57b616 Compare May 12, 2025 20:31
@leander-dsouza
Copy link
Contributor Author

As to the zones:

I have updated the maps according to your suggestion :)

updated_depot_speed

updated_warehouse_speed

@leander-dsouza
Copy link
Contributor Author

@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) :)

@SteveMacenski
Copy link
Member

Depot:

  • Please make the 75% zone from the top/bottom of the shelves only (not to the wall)
  • Please also include the graph points and areas near the shelves (shouldn't be all the way to the stairwell on the right -- also should be more on the shelf points on the left)
  • Increate the 50% zone to include a bit of margin like we did in the warehouse map -- at least cover the lethal space inflating the obstacles

Warehouse:

  • Looks good to me - though I think a bit more care on making sure things are aligned/centered with their features would be nice. It looks like that could be improved a bit :-)

@SteveMacenski
Copy link
Member

The issue I found was the /speed_limit topic 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.

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)

@leander-dsouza
Copy link
Contributor Author

Depot:

Warehouse:

These are the results of the suggestions:

Depot

I have covered the graph points and have enclosed the inflation of the obstacles.

Screenshot from 2025-05-13 16-04-06

Warehouse

I have ensured the same size and translation of the speed zone across each column.

Screenshot from 2025-05-13 17-02-06

@leander-dsouza
Copy link
Contributor Author

The issue I found was the /speed_limit topic 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.

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)

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.
For reference, this is the conditional expression.

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.

@SteveMacenski
Copy link
Member

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?

This saves computation, but will not downscale the speed if the start point is in a filter zone.

But if speed_limit_ == speed_limit_prev_ wouldnt that mean the current speed limit is already sent? Why isn't it being used? I think that's the crux of the issue. Between navigation requests, is it being reset by the controller but not by the costmap filter state?

Signed-off-by: Leander Stephen D'Souza <[email protected]>
@leander-dsouza
Copy link
Contributor Author

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?

No worries, Steve :) I am happy to receive active feedback. I have reduced the speed zone at the central part of the warehouse map.

Screenshot from 2025-05-14 12-33-20

@leander-dsouza
Copy link
Contributor Author

But if speed_limit_ == speed_limit_prev_ wouldnt that mean the current speed limit is already sent? Why isn't it being used? I think that's the crux of the issue. Between navigation requests, is it being reset by the controller but not by the costmap filter state?

This is because the controller_server node resets the controllers after the goal is reached or exited.
To be specific, the onGoalExit() function resets the controllers.

In order to combat this, I have saved the last speed limit and applied it to computeControl() function, as this is called whenever a new goal is in sequence.

@SteveMacenski
Copy link
Member

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.


    declare_graph_file_cmd = DeclareLaunchArgument(
        'graph',
        default_value=os.path.join(bringup_dir, 'graphs', 'turtlebot4_graph.geojson'),
    )

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

@leander-dsouza
Copy link
Contributor Author

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.

Yes, sure, Steve.
I will add a route graph for the warehouse map in an upcoming PR.

RCLCPP_INFO(get_logger(), "Received a goal, begin computing control effort.");

// Set the controller to the last known speed limit
setSpeedLimit(last_speed_limit_);
Copy link
Member

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.

Copy link
Contributor Author

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.

Copy link
Member

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?

Copy link
Contributor Author

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

Copy link
Member

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?

Copy link
Contributor Author

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.

Copy link
Member

@SteveMacenski SteveMacenski May 15, 2025

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.

Copy link
Contributor Author

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The line here

In addition, the nav2_rotation_shim_controller sets the angular velocity to maximum on reset.

That should have nothing to do with speed limits

Copy link
Contributor Author

@leander-dsouza leander-dsouza May 15, 2025

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::GracefulController
  • dwb_core::DWBLocalPlanner
  • nav2_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?

@SteveMacenski
Copy link
Member

@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 Controller::Reset(Optimizer::Reset) but false elsewhere

@SteveMacenski SteveMacenski merged commit df12f68 into ros-navigation:main May 15, 2025
13 checks passed
MarcoMatteoBassa pushed a commit to MarcoMatteoBassa/navigation2 that referenced this pull request May 16, 2025
)

* 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]>
SakshayMahna pushed a commit to SakshayMahna/navigation2 that referenced this pull request Jun 8, 2025
)

* 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]>
SteveMacenski pushed a commit that referenced this pull request Jun 17, 2025
* 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]>
SteveMacenski added a commit that referenced this pull request Jun 17, 2025
* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants