Merge pull request #2569 from tinito/master

Model name from ROS parameter server instead of hardcoded string
This commit is contained in:
Lorenz Meier
2015-07-17 10:22:48 +02:00
2 changed files with 3 additions and 2 deletions
@@ -54,6 +54,7 @@ PositionEstimator::PositionEstimator() :
_vehicle_position_pub(_n.advertise<px4::vehicle_local_position>("vehicle_local_position", 1)),
_startup_time(1)
{
_n.getParam("vehicle_model", _model_name);
}
void PositionEstimator::ModelStatesCallback(const gazebo_msgs::ModelStatesConstPtr &msg)
@@ -68,7 +69,7 @@ void PositionEstimator::ModelStatesCallback(const gazebo_msgs::ModelStatesConstP
//XXX: maybe a more clever approach would be to do this not on every loop, need to check if and when
//gazebo rearranges indexes.
for (std::vector<std::string>::const_iterator it = msg->name.begin(); it != msg->name.end(); ++it) {
if (*it == "iris" || *it == "ardrone") {
if (*it == _model_name) {
index = it - msg->name.begin();
break;
}
@@ -57,6 +57,6 @@ protected:
ros::Publisher _vehicle_position_pub;
uint64_t _startup_time;
std::string _model_name;
};