0
$\begingroup$

Rosanswers logo

I'm trying to get the frontier_exploration package to work with my TurtleBot. But so far it's not working.

The launch file

<launch>
  <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
    <remap from="scan" to="/scan2" />
    <rosparam>
      occ_thresh: 0.25
      odom_frame: odom
      map_update_interval: 5.0
      maxUrange: 6.0
      maxRange: 8.0
      sigma: 0.05
      kernelSize: 1
      lstep: 0.05
      astep: 0.05
      iterations: 5
      lsigma: 0.075
      ogain: 1.0
      lskip: 0
      srr: 0.01
      srt: 0.02
      str: 0.01
      stt: 0.02
      linearUpdate: 0.5
      angularUpdate: 0.436
      temporalUpdate: -1.0
      resampleThreshold: 0.5
      particles: 80
      xmin: -1.0
      ymin: -1.0
      xmax: 1.0
      ymax: 1.0
      delta: 0.05
      llsamplerange: 0.01
      llsamplestep: 0.01
      lasamplerange: 0.005
      lasamplestep: 0.005
      base_frame: base_link
    </rosparam>
  </node>
  <node name="rviz" pkg="rviz" type="rviz">
  </node>

          <include file="$(find turtlebot_navigation)/launch/includes/velocity_smoother.launch.xml"/>
          <include file="$(find turtlebot_navigation)/launch/includes/safety_controller.launch.xml"/>

          <arg name="odom_topic" default="odom" />

   <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
          <rosparam file="$(find turtlebot_navigation)/param/costmap_common_params.yaml" command="load" ns="global_costmap" />
          <rosparam file="$(find turtlebot_navigation)/param/costmap_common_params.yaml" command="load" ns="local_costmap" />
          <rosparam file="$(find turtlebot_navigation)/param/local_costmap_params.yaml" command="load" />
          <rosparam file="$(find turtlebot_navigation)/param/global_costmap_params.yaml" command="load" />
          <rosparam file="$(find turtlebot_navigation)/param/base_local_planner_params.yaml" command="load" />
          <rosparam file="$(find turtlebot_navigation)/param/move_base_params.yaml" command="load" />
          <remap from="cmd_vel" to="navigation_velocity_smoother/raw_cmd_vel"/>
          <remap from="odom" to="$(arg odom_topic)"/>
</node>
</launch>

global_costmap_params.yaml

global_costmap:
   global_frame: /map
   robot_base_frame: /base_footprint
   update_frequency: 3.0
   publish_frequency: 0.0
   static_map: true
   transform_tolerance: 0.5

local_costmap_params.yaml

local_costmap:
   global_frame: /odom
   robot_base_frame: /base_footprint
   update_frequency: 5.0
   publish_frequency: 2.0
   static_map: false
   rolling_window: true
   width: 4.0
   height: 4.0
   resolution: 0.05
   transform_tolerance: 0.5

Errors from the frontier_exploration terminal

[ WARN] [1414574875.215553173]: Please select an initial point for exploration inside the polygon
[ INFO] [1414574876.981956729]: Sending goal
[ INFO] [1414574877.352866124]: Using plugin "static"
[ INFO] [1414574877.621707478]: Requesting the map...
[ INFO] [1414574877.775594588]: Resizing costmap to 576 X 288 at 0.050000 m/pix
[ INFO] [1414574877.847249155]: Received a 576 X 288 map at 0.050000 m/pix
[ INFO] [1414574877.847298258]: Subscribing to updates
[ INFO] [1414574878.016550480]: Using plugin "explore_boundary"
[ INFO] [1414574878.541237670]: Using plugin "sensor"
[ INFO] [1414574878.664303536]:     Subscribed to Topics: /scan2
[ INFO] [1414574879.327905514]: Using plugin "inflation"
[ERROR] [1414574880.852823897]: Exception thrown while processing service call: Lookup would require extrapolation into the past.  Requested time 1414574873.590463123 but the earliest data is at time 1414574878.157772422, when looking up transform from frame [odom] to frame [map]
[ERROR] [1414574880.853237138]: Service call failed: service [/explore_server/explore_costmap/explore_boundary/update_boundary_polygon] responded with an error: Lookup would require extrapolation into the past.  Requested time 1414574873.590463123 but the earliest data is at time 1414574878.157772422, when looking up transform from frame [odom] to frame [map]
[ERROR] [1414574880.853397382]: Failed to set region boundary

Errors from my gmapping launch file terminal

[ WARN] [1414574406.526808975]: Could not transform the global plan to the frame of the controller
[ WARN] [1414574406.726686480]: Rotate recovery behavior started.
[ERROR] [1414574407.526747008]: Extrapolation Error: Lookup would require extrapolation into the future.  Requested time 1414574410.178328037 but the latest data is at time 1414574407.557751617, when looking up transform from frame [odom] to frame [map]

[ERROR] [1414574407.526792212]: Global Frame: odom Plan Frame size 83: map

[ WARN] [1414574407.526823145]: Could not transform the global plan to the frame of the controller
[ERROR] [1414574407.726658949]: Aborting because a valid control could not be found. Even after executing all recovery behaviors

This is from roswtf

================================================================================
Static checks summary:

No errors or warnings
================================================================================
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
ERROR: connection refused to [http://192.168.1.101:57184/]
... done running graph rules
running tf checks, this will take a second...
... tf checks complete

Online checks summary:

Found 4 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /rviz:
   * /tf_static
   * /exploration_polygon_marker_array
   * /map_updates
 * /slam_gmapping:
   * /tf_static
 * /explore_server:
   * /explore_server/explore_costmap/footprint
   * /explore_server/cancel
   * /tf_static
   * /map_updates
   * /explore_server/goal
 * /camera/camera_nodelet_manager:
   * /tf_static
 * /mobile_base_nodelet_manager:
   * /kobuki_safety_controller/reset
   * /kobuki_safety_controller/disable
   * /mobile_base/events/bumper
   * /kobuki_safety_controller/enable
   * /mobile_base/events/cliff
   * /mobile_base/events/wheel_drop
   * /cmd_vel_mux/input/teleop
 * /move_base:
   * /move_base/local_costmap/footprint
   * /scan
   * /scan1
   * /move_base/global_costmap/footprint
   * /tf_static
   * /mobile_base/sensors/bumper_pointcloud
   * /scan3
 * /robot_pose_ekf:
   * /tf_static
 * /rviz_1414572817549013793:
   * /tf_static

WARNING The following nodes are unexpectedly connected:
 * /turtlebot_node->/rqt_gui_py_node_5547 (/turtlebot_node/parameter_updates)
 * /turtlebot_node->/rqt_gui_py_node_5547 (/turtlebot_node/parameter_descriptions)

WARNING These nodes have died:
 * turtlebot_laptop_battery-8
 * kinect_breaker_enabler-4

WARNING Received out-of-date/future transforms:
 * receiving transform from [/robot_state_publisher] that differed from ROS time by 3.751655102s
 * receiving transform from [/camera_base_link1] that differed from ROS time by 2.878755525s
 * receiving transform from [/camera_base_link3] that differed from ROS time by 2.878594282s
 * receiving transform from [/camera_base_link2] that differed from ROS time by 2.87764309s
 * receiving transform from [/camera_base_link] that differed from ROS time by 2.879013752s
 * receiving transform from [/robot_pose_ekf] that differed from ROS time by 2.751272917s
 * receiving transform from [/ira_static_broadcaster2] that differed from ROS time by 3.765229121s


Found 3 error(s).

ERROR Could not contact the following nodes:
 * /rviz_1414572817549013793

ERROR The following nodes should be connected but aren't:
 * /depthimage_to_laserscan->/explore_server (/scan2)
 * /camera_base_link2->/rviz_1414572817549013793 (/tf)
 * /camera_base_link->/rviz_1414572817549013793 (/tf)
 * /slam_gmapping->/rviz_1414572817549013793 (/tf)
 * /ira_static_broadcaster2->/rviz_1414572817549013793 (/tf)
 * /robot_pose_ekf->/rviz_1414572817549013793 (/tf)
 * /camera_base_link3->/rviz_1414572817549013793 (/tf)
 * /robot_state_publisher->/rviz_1414572817549013793 (/tf)
 * /camera_base_link1->/rviz_1414572817549013793 (/tf)

ERROR Errors connecting to the following services:
 * service [/rviz_1414572817549013793/get_loggers] appears to be malfunctioning: Unable to communicate with service [/rviz_1414572817549013793/get_loggers], address [rosrpc://192.168.1.101:36179]
 * service [/rviz_1414572817549013793/reload_shaders] appears to be malfunctioning: Unable to communicate with service [/rviz_1414572817549013793/reload_shaders], address [rosrpc://192.168.1.101:36179]
 * service [/rviz_1414572817549013793/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/rviz_1414572817549013793/set_logger_level], address [rosrpc://192.168.1.101:36179]

I believe that the tf tree is fine. But i'll attached it anyways along with rqt_graph, the launch file and costmaps config.

EDIT: Uni's network is blocking imgur and other important stuffs. I'll figure how to upload things. Brb.

EDIT: tf tree

image description


Originally posted by charkoteow on ROS Answers with karma: 121 on 2014-10-29

Post score: 3


Original comments

Comment by sobot on 2015-05-05:
have you finally got it to work? its driving me nuts lol any luck, progress, idea? here is my Question I'd appreciate any little help. thanks

Comment by charkoteow on 2015-05-06:
i really can't pin down the exact problem. sometimes it works, sometimes it doesn't. even with the clock synced properly and i also set the openni publish transform to false to fix the kinect's tf issues. we've moved on from mapping to olfaction recently so I can't help you much for the time being.

Comment by sobot on 2015-05-06:
thank you for the response. one last thing, i thought i would borrow the configs that you posted here, to test on my bot. apart from clock n stuff, you did use the same config as posted here right?

Comment by charkoteow on 2015-05-06:
Almost all of it are the same. I've increased the transform tolerance, update_frequency, publish_frequency and changed robot_base_frame to base_link on the global costmap params and frontier's launch file. I think they must be the same. Check your launch file....

Comment by charkoteow on 2015-05-06:
...the one i've uploaded was mainly about gmapping & move_base. i think i should update my Q.

Comment by sobot on 2015-05-06:
Thanks a bunch for the replies. im so stuck on finding a working exploration package you have no idea lol. have a good day!

Comment by 130s on 2016-06-15:
Maybe either of you can help me at http://answers.ros.org/question/237001/turtlebotfrontier_exploration-robot-never-moves-while-sending-goal/

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Due to the time difference in the timestamps (3-5 seconds), it looks like you have tf setup problems, or some serious latency issues.

You can set a tolerance value on amcl to future date the tf timestamps and prevent extrapolation errors, but the most you'd ever need would be ~0.1 s or so.

Are you running the nodes on separate computers? Are the clocks synced with chrony or something similar?


Originally posted by paulbovbel with karma: 4518 on 2014-10-29

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by charkoteow on 2014-10-30:
I am using two computers. One laptop on the bot and a pc as workstation. Ran all the essentials like turtlebot startup and kinect's packages on the laptop. All other nodes are on the pc.

I do get some tf error sometimes. All of it were kinect's tf. It flickers on RViz.

Updated the Q with tf frames

Comment by paulbovbel on 2014-10-30:
Try going through this

Comment by charkoteow on 2014-11-27:
[ WARN] [1417145721.905257930]: Costmap2DROS transform timeout. Current time: 1417145721.9052, global_pose stamp: 1417145721.3650, tolerance: 0.5000 [ WARN] [1417145722.105144612]: Could not get robot pose, cancelling reconfiguration

Comment by paulbovbel on 2014-11-28:
That is also a TF issue, likely cause by your multi-machine setup. Please open a separate question if you need more info about setting up your network properly. Main issues would be latency, and time synchronization.

Comment by RND on 2015-03-10:
Hi, I am having the exact same problem as described in this post but I'm not running on multiple workstations. I am running everything on one computer and i'm running the nodes separately by their own launch file (i.e. gmapping, move_base, TF from odom->base_link->laser, and exploration).

Comment by RND on 2015-03-10:
Also, I'm using gmapping to provide the map->odom transform and of course to build the map.

Comment by paulbovbel on 2015-03-10:
I doubt it's the exact same problem, since @charkoteow's issue was extremely post-dated timestamps. Either way, please open a new question, and provide some more information.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.