Navigation2における通行禁止エリアの設定について

お世話になります。
Google検索等で情報は探したのですが自己解決できず、こちらで類似の課題を解決されている方がいればと思い質問させていただきます。

現在、ROS2 Foxyでnavigation2を使った自律走行ロボットを試作しており、
自動掃除ロボットのような通行禁止エリアの設定を行い、navigation2がそのエリアを避けるような経路計算をできるように改良したいと考えています。
ただし、通行禁止エリアは静的なものではなく、ロボット稼働中にも外部入力で変化する動的なものを考えています。

こちらのQiitaの記事にあるように、静的なエリアを通行不可にする方法はあるようですが、

動的なエリアを通行不可にするのにいい方法をご存じないでしょうか?
costmap上に障害物判定を上書きしてしまえばいいのかと思い、それらしい名称の /global_costmap/costmap_updatesトピックなどを触ってみましたが、navigation2の経路計算に影響を与えることができず…
適切な方法があればご教示お願いいたします。

追記です。
costmap_updatesなどのトピックは単にcostmapが再計算されたときの差分をpublishするだけのトピックで、ユーザーがいじるところではなかったようです。

類似の情報として、動的にkeepout filterを制御したいような話をしているフォーラム投稿を見つけました。

Costmapプラグインを新規に作成すればできるかも…という内容のようです。
こちらの方針で試行錯誤するほうが良さそうですね。

Navigation2の公式に書かれているこちらのチュートリアル通りでしたい機能を実装することができました。
https://navigation.ros.org/plugin_tutorials/docs/writing_new_costmap2d_plugin.html

CostmapプラグインはC++なので、大抵の処理は任意に記述でき、わりと自由度が高そうです。