diff --git a/submitted_models/costar_husky_sensor_config_2/launch/spawner.rb b/submitted_models/costar_husky_sensor_config_2/launch/spawner.rb
index 892fb354..eaddafa3 100644
--- a/submitted_models/costar_husky_sensor_config_2/launch/spawner.rb
+++ b/submitted_models/costar_husky_sensor_config_2/launch/spawner.rb
@@ -56,6 +56,7 @@ def spawner(_name, _modelURI, _worldName, _x, _y, _z, _roll, _pitch, _yaw)
name="ignition::gazebo::systems::Breadcrumbs">
/model/#{_name}/breadcrumb/deploy
12"
+ 3.0
"
diff --git a/submitted_models/explorer_x1_sensor_config_2/launch/spawner.rb b/submitted_models/explorer_x1_sensor_config_2/launch/spawner.rb
index 97457937..7499cc64 100644
--- a/submitted_models/explorer_x1_sensor_config_2/launch/spawner.rb
+++ b/submitted_models/explorer_x1_sensor_config_2/launch/spawner.rb
@@ -56,6 +56,7 @@ def spawner(_name, _modelURI, _worldName, _x, _y, _z, _roll, _pitch, _yaw)
name="ignition::gazebo::systems::Breadcrumbs">
/model/#{_name}/breadcrumb/deploy
12"
+ 3.0
"
diff --git a/subt_ign/launch/cave_circuit.ign b/subt_ign/launch/cave_circuit.ign
index 3a22732a..b0f516f0 100644
--- a/subt_ign/launch/cave_circuit.ign
+++ b/subt_ign/launch/cave_circuit.ign
@@ -529,6 +529,7 @@
" name=\"ignition::gazebo::systems::Breadcrumbs\">\n"\
" /model/#{_name}/breadcrumb/deploy\n"\
" #{max_breadcrumbs}"\
+ " 3.0"\
" \n"\
" \n"\
" \n"\
@@ -629,6 +630,7 @@
" name=\"ignition::gazebo::systems::Breadcrumbs\">\n"\
" /model/#{_name}/breadcrumb/deploy\n"\
" #{max_breadcrumbs}"\
+ " 3.0"\
" \n"\
" \n"\
" \n"\
diff --git a/subt_ign/launch/cloudsim_sim.ign b/subt_ign/launch/cloudsim_sim.ign
index 5923683a..6a1db33c 100644
--- a/subt_ign/launch/cloudsim_sim.ign
+++ b/subt_ign/launch/cloudsim_sim.ign
@@ -585,6 +585,7 @@
" name=\"ignition::gazebo::systems::Breadcrumbs\">\n"\
" /model/#{_name}/breadcrumb/deploy\n"\
" #{max_breadcrumbs}"\
+ " 3.0"\
" \n"\
" \n"\
" \n"\
@@ -664,6 +665,7 @@
" name=\"ignition::gazebo::systems::Breadcrumbs\">\n"\
" /model/#{_name}/breadcrumb/deploy\n"\
" #{max_breadcrumbs}"\
+ " 3.0"\
" \n"\
" \n"\
" \n"\
diff --git a/subt_ign/src/CommsBrokerPlugin.cc b/subt_ign/src/CommsBrokerPlugin.cc
index ea280025..0a6d045e 100644
--- a/subt_ign/src/CommsBrokerPlugin.cc
+++ b/subt_ign/src/CommsBrokerPlugin.cc
@@ -19,6 +19,7 @@
#include
#include
+#include
#include
#include
@@ -310,7 +311,9 @@ void CommsBrokerPlugin::UpdateIfNewBreadcrumbs()
for (const auto& [name, pose] : this->poses)
{
// New breadcrumb found.
- if (name.find("__breadcrumb__") != std::string::npos &&
+ // A static model is spawned when the breadcrumb is made static
+ if (std::regex_match(name,
+ std::regex(".*__breadcrumb___(\\d+)__static__")) &&
this->breadcrumbs.find(name) == this->breadcrumbs.end())
{
this->breadcrumbs[name] = pose;