diff --git a/Gazebo_Distributed_MPI/mpi_run/kunming_airport_distribution_10hector_tcp_test.world b/Gazebo_Distributed_MPI/mpi_run/kunming_airport_distribution_10hector_tcp_test.world index 8a90f3c..0f34ce7 100644 --- a/Gazebo_Distributed_MPI/mpi_run/kunming_airport_distribution_10hector_tcp_test.world +++ b/Gazebo_Distributed_MPI/mpi_run/kunming_airport_distribution_10hector_tcp_test.world @@ -50,6 +50,86 @@ --> + + + 0 0 0.186 0 0 0 + + model://quadrotor + + + + + + 0 5 0.186 0 0 0 + + model://quadrotor + + + + + + 0 10 0.186 0 0 0 + + model://quadrotor + + + + + + 0 15 0.186 0 0 0 + + model://quadrotor + + + + + + 0 20 0.186 0 0 0 + + model://quadrotor + + + + + + 0 25 0.186 0 0 0 + + model://quadrotor + + + + + + 0 30 0.186 0 0 0 + + model://quadrotor + + + + + + 0 35 0.186 0 0 0 + + model://quadrotor + + + + + + 0 40 0.186 0 0 0 + + model://quadrotor + + + + + + 0 45 0.186 0 0 0 + + model://quadrotor + + + diff --git a/Gazebo_Distributed_MPI/mpi_run/kunming_airport_distribution_30hector_tcp_test.world b/Gazebo_Distributed_MPI/mpi_run/kunming_airport_distribution_30hector_tcp_test.world index 12b6b77..75d2b3b 100644 --- a/Gazebo_Distributed_MPI/mpi_run/kunming_airport_distribution_30hector_tcp_test.world +++ b/Gazebo_Distributed_MPI/mpi_run/kunming_airport_distribution_30hector_tcp_test.world @@ -70,6 +70,246 @@ --> + + + 0 0 0.186 0 0 0 + + model://quadrotor + + + + + + 0 5 0.186 0 0 0 + + model://quadrotor + + + + + + 0 10 0.186 0 0 0 + + model://quadrotor + + + + + + 0 15 0.186 0 0 0 + + model://quadrotor + + + + + + 0 20 0.186 0 0 0 + + model://quadrotor + + + + + + 0 25 0.186 0 0 0 + + model://quadrotor + + + + + + 0 30 0.186 0 0 0 + + model://quadrotor + + + + + + 0 35 0.186 0 0 0 + + model://quadrotor + + + + + + 0 40 0.186 0 0 0 + + model://quadrotor + + + + + + 0 45 0.186 0 0 0 + + model://quadrotor + + + + + + 5 0 0.186 0 0 0 + + model://quadrotor + + + + + + 5 5 0.186 0 0 0 + + model://quadrotor + + + + + + 5 10 0.186 0 0 0 + + model://quadrotor + + + + + + 5 15 0.186 0 0 0 + + model://quadrotor + + + + + + 5 20 0.186 0 0 0 + + model://quadrotor + + + + + + 5 25 0.186 0 0 0 + + model://quadrotor + + + + + + 5 30 0.186 0 0 0 + + model://quadrotor + + + + + + 5 35 0.186 0 0 0 + + model://quadrotor + + + + + + 5 40 0.186 0 0 0 + + model://quadrotor + + + + + + 5 45 0.186 0 0 0 + + model://quadrotor + + + + + + 10 0 0.186 0 0 0 + + model://quadrotor + + + + + + 10 5 0.186 0 0 0 + + model://quadrotor + + + + + + 10 10 0.186 0 0 0 + + model://quadrotor + + + + + + 10 15 0.186 0 0 0 + + model://quadrotor + + + + + + 10 20 0.186 0 0 0 + + model://quadrotor + + + + + + 10 25 0.186 0 0 0 + + model://quadrotor + + + + + + 10 30 0.186 0 0 0 + + model://quadrotor + + + + + + 10 35 0.186 0 0 0 + + model://quadrotor + + + + + + 10 40 0.186 0 0 0 + + model://quadrotor + + + + + + 10 45 0.186 0 0 0 + + model://quadrotor + + + diff --git a/Gazebo_Distributed_TCP/gazebo/physics/World.cc b/Gazebo_Distributed_TCP/gazebo/physics/World.cc index b3c0743..da2ea15 100644 --- a/Gazebo_Distributed_TCP/gazebo/physics/World.cc +++ b/Gazebo_Distributed_TCP/gazebo/physics/World.cc @@ -958,11 +958,11 @@ void World::Update() { std::string tmp_model_name = this->distribution->GetGazeboIDPtr(gazeboLocalID)->GetModelName(i); unsigned int j = 0; - for (j = 0; j < this->GetModel(tmp_model_name)->GetLink("base_link")->GetName().length(); j++) - infor[i].link_name[j] = this->GetModel(tmp_model_name)->GetLink("base_link")->GetName()[j]; + for (j = 0; j < this->GetModel(tmp_model_name)->GetLink("canonical")->GetName().length(); j++) + infor[i].link_name[j] = this->GetModel(tmp_model_name)->GetLink("canonical")->GetName()[j]; infor[i].link_name[j] = '\0'; - infor[i].ID = this->GetModel(tmp_model_name)->GetLink("base_link")->GetId(); - infor[i].link_pose = this->GetModel(tmp_model_name)->GetLink("base_link")->GetWorldPose(); + infor[i].ID = this->GetModel(tmp_model_name)->GetLink("canonical")->GetId(); + infor[i].link_pose = this->GetModel(tmp_model_name)->GetLink("canonical")->GetWorldPose(); } CommunicationData temp[50]; @@ -1005,7 +1005,7 @@ void World::Update() for (unsigned int i = 0; i < this->distribution->GetGazeboIDPtr(1)->GetModelCount(); i++) { std::string tmp_model_name = this->distribution->GetGazeboIDPtr(1)->GetModelName(i); - this->GetModel(tmp_model_name)->GetLink("base_link")->SetWorldPose(temp[i].link_pose); + this->GetModel(tmp_model_name)->GetLink("canonical")->SetWorldPose(temp[i].link_pose); } // Added by zhangshuai 2019.04.03 for count time ----Begin @@ -1046,7 +1046,7 @@ void World::Update() for (unsigned int i = 0; i < this->distribution->GetGazeboIDPtr(0)->GetModelCount(); i++) { std::string tmp_model_name = this->distribution->GetGazeboIDPtr(0)->GetModelName(i); - this->GetModel(tmp_model_name)->GetLink("base_link")->SetWorldPose(temp[i].link_pose); + this->GetModel(tmp_model_name)->GetLink("canonical")->SetWorldPose(temp[i].link_pose); } // Added by zhangshuai 2019.04.03 for count time ----Begin @@ -1862,7 +1862,25 @@ void World::LoadPlugins() { ModelPtr model = boost::static_pointer_cast( this->dataPtr->rootElement->GetChild(i)); - model->LoadPlugins(); + // Modified by zhangshuai 2019.04.02 ----Begin + if (this->flag == 1) + { + // Judge if the model to load is simulated in this gazebo + for (unsigned int j = 0; j < this->distribution->GetGazeboIDPtr(gazeboLocalID)->GetModelCount(); j++) + { + if (model->GetName() == this->distribution->GetGazeboIDPtr(gazeboLocalID)->GetModelName(j)) + { + // Original part + model->LoadPlugins(); + // Original part + } + } + } + else + { + model->LoadPlugins(); + } + // Modified by zhangshuai 2019.04.02 ----End } } }