ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
2014-07-02 07:36:47 -0500 | received badge | ● Notable Question (source) |
2014-02-24 02:30:39 -0500 | received badge | ● Popular Question (source) |
2014-02-22 06:06:36 -0500 | asked a question | arm_kinematics in hydro Hi, does anyone still use the arm_kinematics package in hydro? Looks like some updates are needed, since the message location and types changed a little. Thanks to moveit, there is no real need any more for this package, but it would be nice to run old code in hydro. Cheers! |
2014-01-23 20:14:01 -0500 | received badge | ● Nice Answer (source) |
2013-12-17 04:30:10 -0500 | commented answer | Hydro move_base/tf2 extrapolation error into the future errror Maybe it helps to dump all the frames that are in your tf instance? There is the getFrames() method - not sure if it prints the timestamps though. |
2013-12-12 06:23:39 -0500 | received badge | ● Teacher (source) |
2013-12-12 04:32:25 -0500 | answered a question | Hydro move_base/tf2 extrapolation error into the future errror Well, the code requests transformPose with time t_b of the latest base pose. If you publish at different places of your node, time t_g of global would e.g. have a slightly earlier timestamp - and tf must fail. Same thing if one of the other tf-messages has not been received yet. Unless you enable extrapolation, this is how tf(2) should behave. In amcl - which would typically publish the map->odom or world->local transform - they timestamp the transform with 0.2s in the future. Maybe that's also a solution for you? |
2013-12-10 03:56:27 -0500 | commented answer | Hydro move_base/tf2 extrapolation error into the future errror What's your transformation chain, and what node publishes the individual frames? |
2013-12-06 01:16:22 -0500 | commented answer | Hydro move_base/tf2 extrapolation error into the future errror Have you actually verified it fails really at tf.lookupTransform? Because in this line, you are not requesting a lookup 40ms before now(), as the error message says. What is your tf chain from local to global? |
2013-12-05 04:45:03 -0500 | commented question | "Unable to lookup transform, cache is empty" error while running navigation stack Similar thread: http://answers.ros.org/question/106996/hydro-move_basetf2-extrapolation-error-into-the-future-errror/ . I posted my "solution" there. Could you check your transformation timings? |
2013-12-05 04:41:53 -0500 | received badge | ● Editor (source) |
2013-12-05 04:41:35 -0500 | answered a question | Hydro move_base/tf2 extrapolation error into the future errror Hi, there are many questions here about that error in different scenarios. I am using slam_karto and groovy, but the code in goal_functions.cpp has not changed much. I also found that the exception is thrown in navigation/base_local_planner/src/goal_functions.cpp:transformGlobalPlan() - yet for me, tf.lookupTransform (line 110) is ok, but tf.transformPose (line 116) fails. My tf-tree is /map -> /odom -> /base_footprint. /odom is published with an average delay of 90ms, while /base_footprint has a delay of 35ms. Debugging the code shows that tf.transformPose is requested to transform the pose to /map at now()-35ms. That fails, since the /odom transformation is older, and tf apparently does not extrapolate so far into the future. My solution was to change the tf.transformPose call, such that it takes the most recent time: tf.transformPose(plan_pose.header.frame_id, ros::Time(0), global_pose, global_pose.frame_id_, robot_pose); While this works, I wonder how things should behave in the original code. Are delays between the different frames not accepted? Or does the extrapolation usually work, for whatever reason? Maybe someone who runs move_base successfully can comment on that. @robotiqsguy: Could you verify where exactly the exception is triggered in your case? Also, what delays do you see for your frames, if you run rosrun tf tf_monitor? Best Regards! |