Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 21

Extrapolation error using hector_mapping + move_base

Previous: Comment by Huibuh for Hello all,I have a problem with my robot setup which I cannot resolve, even after reading all relevant posts on here. I really would appreciate your help.Problem DescriptionThe system starts up not generating any errors (see https://dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/start_up_log.txt), producing an accurate map, and localization working well, too. As soon as I select a goal in rviz, move_base reproducibly throws the following errors:[ ...] [ERROR] [1369321339.784772926]: Extrapolation Error: Unable to lookup transform, cache is empty, when looking up transform from frame [/odom] to frame [/map] [ERROR] [1369321339.785409391]: Global Frame: /odom Plan Frame size 107: /map [ WARN] [1369321339.785726634]: Could not transform the global plan to the frame of the controller [ERROR] [1369321340.434425166]: Extrapolation Error: Unable to lookup transform, cache is empty, when looking up transform from frame [/odom] to frame [/map] [ERROR] [1369321340.434493357]: Global Frame: /odom Plan Frame size 107: /map [ WARN] [1369321340.434528719]: Could not transform the global plan to the frame of the controller [ ...] However, if I make the following change in the local_costmap_params.yaml file:local_costmap: global_frame: /odomtolocal_costmap: global_frame: /mapI don't get any errors and move_base generates a plan to the goal, which is also displayed in rviz. Unfortunately, the generated cmd_vel commands are very shaky, oscillate and weird navigation behaviour is the result. My SetupRobot: Custom robot with chain drive, i.e. non-holonomic. I have written a base_controller node for it which sends drive commands to the motors and uses the encoder information to calculate odometry and publish as tf+nav_msg (as described http:// www.ros.org/wiki/navigation/Tutorials/RobotSetup/Odom). I have also created a *.urdf file and use robot_state_publisher to publish the tf's for the model.Sensors: Hokuyo UTM-30LX laser scannerNodes: max_driver (custom base_controller), hector_mapping, move_base, hokuyo_nodehector_mapping config:[hector_config.launch] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/hector_config.launchmove_base config:[move_base_config.launch] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/move_base_config.launch[base_local_planner_params.yaml] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/base_local_planner_params.yaml[costmap_common_params.yaml] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/costmap_common_params.yaml[global_costmap_params.yaml] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/global_costmap_params.yaml[local_costmap_params.yaml] https://dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/local_costmap_params.yamlRemote nodes: The hokuyo_node and the base_controller node run on an embedded PC, which is connected via ethernet to a powerful laptop running the remaining nodes. The time of both machines is synced via crony.SW-Version: Ubuntu 12.04 + ROS Groovy, everything up to date Debug Infotf tree: [link] (https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/frames.pdf)tf_monitor output:ros@Base:~$ rosrun tf tf_monitor RESULTS: for all Frames Frames: Frame: /base_frame published by /max_driver Average Delay: -0.00377412 Max Delay: 0 Frame: /base_laser published by /robot_state_publisher Average Delay: -0.476582 Max Delay: 0 Frame: /base_laser_cap published by /robot_state_publisher Average Delay: -0.476592 Max Delay: 0 Frame: /base_laser_mount_box published by /robot_state_publisher Average Delay: -0.476591 Max Delay: 0 ...(more)
$
0
0
Hello all, I have a problem with my robot setup which I cannot resolve, even after reading all relevant posts on here. I really would appreciate your help. ###Problem Description The system starts up not generating any errors (see https://dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/start_up_log.txt), producing an accurate map, and localization working well, too. As soon as I select a goal in rviz, move_base reproducibly throws the following errors:
[  ...]
[ERROR] [1369321339.784772926]: Extrapolation Error: Unable to lookup transform, cache is empty, when looking up transform from frame [/odom] to frame [/map]
[ERROR] [1369321339.785409391]: Global Frame: /odom Plan Frame size 107: /map
[ WARN] [1369321339.785726634]: Could not transform the global plan to the frame of the controller
[ERROR] [1369321340.434425166]: Extrapolation Error: Unable to lookup transform, cache is empty, when looking up transform from frame [/odom] to frame [/map]
[ERROR] [1369321340.434493357]: Global Frame: /odom Plan Frame size 107: /map
[ WARN] [1369321340.434528719]: Could not transform the global plan to the frame of the controller
[  ...]
However, if I make the following change in the local_costmap_params.yaml file: **local_costmap: global_frame: /odom** to **local_costmap: global_frame: /map** I don't get any errors and move_base generates a plan to the goal, which is also displayed in rviz. Unfortunately, the generated cmd_vel commands are very shaky, oscillate and weird navigation behaviour is the result. ###My Setup - **Robot:** Custom robot with chain drive, i.e. non-holonomic. I have written a base_controller node for it which sends drive commands to the motors and uses the encoder information to calculate odometry and publish as tf+nav_msg (as described http:// www.ros.org/wiki/navigation/Tutorials/RobotSetup/Odom). I have also created a *.urdf file and use robot_state_publisher to publish the tf's for the model. - **Sensors:** Hokuyo UTM-30LX laser scanner - **Nodes:** max_driver (custom base_controller), hector_mapping, move_base, hokuyo_node - **hector_mapping config:** [hector_config.launch] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/hector_config.launch - **move_base config:** [move_base_config.launch] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/move_base_config.launch [base_local_planner_params.yaml] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/base_local_planner_params.yaml [costmap_common_params.yaml] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/costmap_common_params.yaml [global_costmap_params.yaml] https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/global_costmap_params.yaml [local_costmap_params.yaml] https://dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/local_costmap_params.yaml - **Remote nodes:** The hokuyo_node and the base_controller node run on an embedded PC, which is connected via ethernet to a powerful laptop running the remaining nodes. The time of both machines is synced via crony. - **SW-Version:** Ubuntu 12.04 + ROS Groovy, everything up to date ###Debug Info - **tf tree:** [link] (https:// dl.dropboxusercontent.com/u/10986309/2013-05-23_ros.answers/frames.pdf) - **tf_monitor output:**
ros@Base:~$ rosrun tf tf_monitor
RESULTS: for all Frames

Frames:
Frame: /base_frame published by /max_driver Average Delay: -0.00377412 Max Delay: 0
Frame: /base_laser published by /robot_state_publisher Average Delay: -0.476582 Max Delay: 0
Frame: /base_laser_cap published by /robot_state_publisher Average Delay: -0.476592 Max Delay: 0
Frame: /base_laser_mount_box published by /robot_state_publisher Average Delay: -0.476591 Max Delay: 0
Frame: /base_laser_mount_cylinder published by /robot_state_publisher Average Delay: -0.47659 Max Delay: 0
Frame: /base_turret published by /robot_state_publisher Average Delay: -0.476589 Max Delay: 0
Frame: /box_battery published by /robot_state_publisher Average Delay: -0.476588 Max Delay: 0
Frame: /box_slam published by /robot_state_publisher Average Delay: -0.476587 Max Delay: 0
Frame: /flipper_left_front published by /robot_state_publisher Average Delay: -0.476586 Max Delay: 0
Frame: /flipper_left_rear published by /robot_state_publisher Average Delay: -0.476585 Max Delay: 0
Frame: /flipper_right_front published by /robot_state_publisher Average Delay: -0.476584 Max Delay: 0
Frame: /flipper_right_rear published by /robot_state_publisher Average Delay: -0.476583 Max Delay: 0
Frame: /odom published by /hector_mapping Average Delay: 0.0199384 Max Delay: 0.0232629
Frame: /scanmatcher_frame published by /hector_mapping Average Delay: 0.0199549 Max Delay: 0.0232747

All Broadcasters:
Node: /hector_mapping 80.3703 Hz, Average Delay: 0.0199466 Max Delay: 0.0232747
Node: /max_driver 60.1367 Hz, Average Delay: -0.00377412 Max Delay: 0
Node: /robot_state_publisher 50.0022 Hz, Average Delay: -0.476587 Max Delay: 0
- **rosnode list:**
ros@Base:~$ rosnode list
/hector_geotiff_node
/hector_mapping
/hector_trajectory_server
/joint_state_publisher
/laser_scan_sensor
/max_driver
/move_base
/robot_state_publisher
/rosout
/rqt_gui
/rviz
Please let me know if there is any information missing that might help to resolve this issue. P.S.: Sorry for the broken links - my karma was insufficient to post links. Just remove the space after http:// and it will work again. ---------- **Update 1** I am not sure whether the odom frame behaves the way it should when watching it while driving. This is what I see: - The values of the odom nav_msg (/odom/pose/position/x,y and /odom/pose/orientation/z) look good - The odom frame in rviz doesn't follow base_frame, nor does it stay stationary locked to the map frame. It just moves in tiny fractions, sort of oscillates, and rotates around the origin of base_frame. (I could make a video if that would help.) Is this the expected behaviour? Thanks ---------- **Update 2** Still unable to resolve this issue. - Anyone out there who has seen this error message before? - Anyone using hector_mapping and move_base together who could look over my setup? - Any move_base experts out there who can tell me how I can debug and check out what's going on under the hood of move_base? Cheers

Viewing all articles
Browse latest Browse all 21

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>