ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

[Nav2] Keepout Zones - dynamic change of KeepoutFilter mask file during simulation

asked 2022-06-03 06:57:33 -0600

ljaniec gravatar image

updated 2022-07-13 05:25:32 -0600

Hello,

I would like to use these tutorials with filter masks (keep out and speed filter):

As a basis for creating safety zones that the user can turn on and off while simulating multiple AMRs in the Gazebo world.

E.g. I prepared two mask files where robots can/cannot move:

1) a driveable corridor is free (there is no keep-out zone)

2) the same corridor, but this time it is blocked by a new part of the keep-out zone

image description

The user can change state of these keep-out zones for selected robots using a special service. The robot can re-plan its global path to adapt after waiting a few seconds/cancel the target goal and await for a new move goal.

How should I approach this part of the problem with changing the keep-out mask file (PGM + YAML) in Costmap Filters during simulation? Would this be possible dynamically already? Or would this be a new feature to implement?

Best

Łukasz Janiec

edit retag flag offensive close merge delete

Comments

I have a similar use case in mind where a node on the robot could detect and update the Keepout zones depending on the sensor observations (camera + vision).

Alex-SSoM gravatar image Alex-SSoM  ( 2022-06-07 09:54:54 -0600 )edit

@Alex-SSoM Yes, this kind of zone updates can be useful in many applications, that's why I am interested in this feature :)

ljaniec gravatar image ljaniec  ( 2022-06-07 15:17:46 -0600 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2022-07-13 08:31:18 -0600

Per Edwardsson gravatar image

Unsure if dynamically changing filters is how you are supposed to go about it. Feels more like you are supposed to deal with dynamic objects via costmap changes, and doing keepout zones for areas you know ahead of time that you should avoid. You can make a custom costmap layer based on sensor data, other maps or anything else you deem useful. Tutorial here.

However, if you necessarily must do it your way, add a hook in the costmap filter interface for dynamically changing the parameters you need changed, add the equivalent response in existing costmaps (so as to not break them), implement your functionality, and you're done.

edit flag offensive delete link more

Comments

ljaniec gravatar image ljaniec  ( 2022-09-20 02:19:23 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2022-06-03 06:57:33 -0600

Seen: 682 times

Last updated: Jul 13 '22