On Wed, Dec 1, 2010 at 5:11 PM, devpriya wrote: > The setup is like this, I have a MobileRobots PeopleBot. I wrote a > playerstage wrapper for ROS so that ROS running on my laptop can communicate > with the player server on the robot. The connection is through a wired > ethernet. > > I am seeing a strange case of tf failure here. The transform from base_link > to base_laser fails unless I subtract 1.75 seconds from the timestamp of > laser transforms! The base_link to base_laser transform, being fixed, is usually established by a tf/static_transform_publisher. Is that how you're doing it? Where is that publisher running, and how are you invoking it (in particular, at what rate does it publish the transform)? Just to remove variables, you might try taking Player out of the equation. The p2os stack from USC (http://www.ros.org/wiki/p2os) should let you control the robot, and there should be a package in laser_drivers (http://www.ros.org/wiki/laser_drivers) that's appropriate for your laser. If that configuration works, then there's probably something wrong in the timestamping between Player and ROS. Also, what happens if you ask tf_echo for the transform? rosrun tf tf_echo base_link base_laser brian.