PR2 odom vo robot_pose_ekf gazebo [closed]

asked 2013-05-23 05:08:32 -0500

silgon gravatar image

updated 2014-11-22 17:05:40 -0500

ngrennan gravatar image

I have my simulated PR2, where I activated the variable vo_used in order to use some kind of GPS. I'm working with gazebo and the /robot_pose_ekf/odom_combined gives me the estimated position of the robot. I want to tell the robot that he's in some position x,y. So for this purpose the AddingGpsSensor Tutorial tells me to send my values to the vo topic so I do that. The problem is that /robot_pose_ekf/odom_combined is not taking into account the values I send, I tried with values totally different to the position the robot is. The vo is supposed to be activated since I receive the next message: Vo sensor activated.

I leave the main part of the code.

std::string base_footprint="vo";
ros::Publisher gps_pub = n.advertise<nav_msgs::Odometry>(base_footprint, 1000);
// the next part is working in a loop
msg.header.stamp = gps_time;                   // time of gps measurement
msg.header.frame_id = base_footprint;          // the tracked robot frame
msg.pose.pose.position.x = gps_x;             // x measurement GPS.
msg.pose.pose.position.y = gps_y;              // y measurement GPS.
msg.pose.pose.position.z = gps_z;              // z measurement GPS.
msg.pose.pose.orientation.x = 1;               // identity quaternion
msg.pose.pose.orientation.y = 0;               // identity quaternion
msg.pose.pose.orientation.z = 0;               // identity quaternion
msg.pose.pose.orientation.w = 0;               // identity quaternion
msg.pose.covariance =  boost::assign::list_of    (cov_x) (0) (0)  (0)  (0)  (0)
                                                   (0) (cov_y)  (0)  (0)  (0)  (0)
                                                   (0)   (0)  (cov_z) (0)  (0)  (0)
                                                   (0)   (0)   (0) (1e6) (0)  (0)
                                                   (0)   (0)   (0)  (0) (1e6) (0)
                                                   (0)   (0)   (0)  (0)  (0)  (1e6) ;
gps_pub.publish(msg);

In short. I'm sending everything is supposed to be needed to send, and the odom_combined is not changing at all.

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2016-07-27 18:08:49.086965