cartographer-project / cartographer_turtlebot

Provides TurtleBot integration for Cartographer.
Apache License 2.0
151 stars 96 forks source link

turtlebot_gazebo + cartographer will show error #47

Closed stevenyslins closed 7 years ago

stevenyslins commented 7 years ago

Hello, I have a problem when starting cartographer_turtlebot,

Question: Since I don't have a real turtlebot, so I want to use turtlebot simulator to see how the result of cartographer, my steps as following:

  1. $ roslaunch turtlebot_gazebo turtlebot_world.launch
  2. $ roslaunch cartographer_turtlebot demo_depth_camera_2d_v1.launch

and the demo_depth_camera_2d_v1.launch launch file as following: I just modify this line <remap from="imu_in" to="/mobile_base/sensors/imu_data" />

<launch>

  <param name="/use_sim_time" value="true" />

  <node name="cartographer_node" pkg="cartographer_ros"
      type="cartographer_node" args="
          -configuration_directory $(find cartographer_turtlebot)/configuration_files
          -configuration_basename turtlebot_depth_camera_2d.lua"
      output="screen" />

  <node name="flat_world_imu_node" pkg="cartographer_turtlebot"
      type="cartographer_flat_world_imu_node" output="screen">
    <remap from="imu_in" to="/mobile_base/sensors/imu_data" />
    <remap from="imu_out" to="/imu" />
  </node>

  <node name="squash_depth_camera" pkg="depthimage_to_laserscan"
      type="depthimage_to_laserscan">
    <remap from="image" to="/camera/depth/image_raw" />
  </node>

  <node name="rviz" pkg="rviz" type="rviz" required="true" args="-d $(find cartographer_turtlebot)/configuration_files/demo_turtlebot.rviz" />

</launch>

when I enter the two commands, it will show error message as following:

[ WARN] [1487748827.862433977, 4.500000000]: W0222 15:33:47.000000 19967 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 4.240000000 but the earliest data is at time 4.570000000, when looking up transform from frame [camera_depth_frame] to frame [gyro_link]
[ WARN] [1487748827.862688735, 4.500000000]: W0222 15:33:47.000000 19967 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 4.490000000 but the earliest data is at time 4.570000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
F0222 15:33:47.862857 19967 sensor_bridge.cc:33] Check failed: frame_id[0] != '/' ('/' vs. '/') 
[FATAL] [1487748827.863191024, 4.500000000]: F0222 15:33:47.000000 19967 sensor_bridge.cc:33] Check failed: frame_id[0] != '/' ('/' vs. '/') 
*** Check failure stack trace: ***
    @     0x7f326c4b9daa  (unknown)
    @     0x7f326c4b9ce4  (unknown)
    @     0x7f326c4b96e6  (unknown)
    @     0x7f326c4bc687  (unknown)
    @           0x500a63  cartographer_ros::(anonymous namespace)::CheckNoLeadingSlash()
    @           0x500a95  cartographer_ros::SensorBridge::HandleRangefinder()
    @           0x501922  cartographer_ros::SensorBridge::HandleLaserScanMessage()
    @           0x4eb4dc  _ZN5boost6detail8function26void_function_obj_invoker1IZN16cartographer_ros12_GLOBAL__N_13RunEvEUlRKNS_10shared_ptrIKN11sensor_msgs10LaserScan_ISaIvEEEEEE_vSD_E6invokeERNS1_15function_bufferESD_
    @           0x4f0aab  boost::detail::function::void_function_obj_invoker1<>::invoke()
    @           0x4f7778  ros::SubscriptionCallbackHelperT<>::call()
    @     0x7f32693ac6b5  (unknown)
    @     0x7f3269366107  (unknown)
    @     0x7f3269366c33  (unknown)
    @     0x7f32693af1e5  (unknown)
    @     0x7f3269396e0b  (unknown)
    @           0x4ec8eb  cartographer_ros::(anonymous namespace)::Run()
    @           0x4e9d1d  main
    @     0x7f3268169f45  (unknown)
    @           0x4eb3c7  (unknown)
    @              (nil)  (unknown)
[cartographer_node-1] process has died [pid 19967, exit code -6, cmd /root/SLAM_project/googleSlam_ws/install_isolated/lib/cartographer_ros/cartographer_node -configuration_directory /root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer_turtlebot/configuration_files -configuration_basename turtlebot_depth_camera_2d.lua __name:=cartographer_node __log:=/root/.ros/log/3b23272c-f8d1-11e6-9b7f-c86000043788/cartographer_node-1.log].
log file: /root/.ros/log/3b23272c-f8d1-11e6-9b7f-c86000043788/cartographer_node-1*.log

Thank you for your help.

SirVer commented 7 years ago

The problem is here:

Check failed: frame_id[0] != '/' ('/' vs. '/') 

One of your frames start with a '/'. This is deprecated behavior in ROS and we do not handle it. Please change your frames to not start with a slash.

stevenyslins commented 7 years ago

Dear SirVer,

Really thanks a lot. Here is my new turtlebot_world.launch.

<launch>

<!-- gazebo world -->
  <arg name="world_file"  default="$(env TURTLEBOT_GAZEBO_WORLD_FILE)"/>

  <arg name="base"      value="$(optenv TURTLEBOT_BASE kobuki)"/> <!-- create, roomba -->
  <arg name="battery"   value="$(optenv TURTLEBOT_BATTERY /proc/acpi/battery/BAT0)"/>  <!-- /proc/acpi/battery/BAT0 --> 
  <arg name="gui" default="true"/>
  <arg name="stacks"    value="$(optenv TURTLEBOT_STACKS hexagons)"/>  <!-- circles, hexagons --> 
  <arg name="3d_sensor" value="$(optenv TURTLEBOT_3D_SENSOR kinect)"/>  <!-- kinect, asus_xtion_pro --> 

  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="use_sim_time" value="true"/>
    <arg name="debug" value="false"/>
    <arg name="gui" value="$(arg gui)" />
    <arg name="world_name" value="$(arg world_file)"/>
  </include>

  <include file="$(find turtlebot_gazebo)/launch/includes/$(arg base).launch.xml">
    <arg name="base" value="$(arg base)"/>
    <arg name="stacks" value="$(arg stacks)"/>
    <arg name="3d_sensor" value="$(arg 3d_sensor)"/>
  </include>

  <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher">
    <param name="publish_frequency" type="double" value="30.0" />
  </node>

  <!-- Fake laser -->
  <node pkg="nodelet" type="nodelet" name="laserscan_nodelet_manager" args="manager"/>
  <node pkg="nodelet" type="nodelet" name="depthimage_to_laserscan"
        args="load depthimage_to_laserscan/DepthImageToLaserScanNodelet laserscan_nodelet_manager">
    <param name="scan_height" value="10"/>
    <!-- change start -->
    <param name="output_frame_id" value="camera_depth_frame"/>**
    <param name="range_min" value="0.45"/>
    <remap from="image" to="camera/depth/image_raw"/>
    <remap from="scan" to="scan"/>
    <!-- change end -->
  </node>

  <node pkg="tf" type="static_transform_publisher" name="odom_map_broadcaster" args="0 0 0 0 0 0 /map /odom 100" />

</launch>
stevenyslins commented 7 years ago

And I have another question after I enter this command ($ roslaunch cartographer_turtlebot demo_depth_camera_2d_v1.launch ).

SUMMARY
========

PARAMETERS
 * /rosdistro: indigo
 * /rosversion: 1.11.20
 * /use_sim_time: True

NODES
  /
    cartographer_node (cartographer_ros/cartographer_node)
    flat_world_imu_node (cartographer_turtlebot/cartographer_flat_world_imu_node)
    rviz (rviz/rviz)
    squash_depth_camera (depthimage_to_laserscan/depthimage_to_laserscan)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[cartographer_node-1]: started with pid [32478]
process[flat_world_imu_node-2]: started with pid [32479]
[ INFO] [1487835085.640725607]: I0223 15:31:25.000000 32478 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer_turtlebot/configuration_files/turtlebot_depth_camera_2d.lua' for 'turtlebot_depth_camera_2d.lua'.
[ INFO] [1487835085.641221913]: I0223 15:31:25.000000 32478 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1487835085.641301836]: I0223 15:31:25.000000 32478 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1487835085.641428447]: I0223 15:31:25.000000 32478 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1487835085.641518760]: I0223 15:31:25.000000 32478 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1487835085.641771008]: I0223 15:31:25.000000 32478 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1487835085.641838761]: I0223 15:31:25.000000 32478 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1487835085.642015666]: I0223 15:31:25.000000 32478 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/sparse_pose_graph.lua' for 'sparse_pose_graph.lua'.
[ INFO] [1487835085.642069513]: I0223 15:31:25.000000 32478 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/sparse_pose_graph.lua' for 'sparse_pose_graph.lua'.
process[squash_depth_camera-3]: started with pid [32561]
process[rviz-4]: started with pid [32562]
[ INFO] [1487835085.697343493]: I0223 15:31:25.000000 32478 submaps.cc:176] Added submap 1
[ INFO] [1487835085.697462334]: I0223 15:31:25.000000 32478 map_builder_bridge.cc:37] Added trajectory with ID '0'.
[ WARN] [1487835085.943039301, 9.150000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.120000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835085.943278409, 9.150000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.120000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835085.943408195, 9.150000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.130000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835085.943519530, 9.150000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.130000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835085.943793722, 9.150000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.140000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835085.943960775, 9.150000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.140000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835085.951152242, 9.160000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.150000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835085.951273443, 9.160000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.150000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835085.961300095, 9.170000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.160000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835085.961401359, 9.170000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation at time 9.160000000, but only time 9.640000000 is in the buffer, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835085.971617966, 9.180000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.170000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835085.971823224, 9.180000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.170000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835085.981369489, 9.190000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.180000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835085.981488017, 9.190000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.180000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835085.991325568, 9.200000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.190000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835085.991428768, 9.200000000]: W0223 15:31:25.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.190000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.001338792, 9.210000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.200000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.001596935, 9.210000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.200000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.011547928, 9.220000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.210000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.011735418, 9.220000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.210000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.021245384, 9.230000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.220000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.021426852, 9.230000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.220000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.031276860, 9.240000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.230000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.031405007, 9.240000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.230000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.043208443, 9.250000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.240000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.043513294, 9.250000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.240000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.051329976, 9.260000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.250000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.051465857, 9.260000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.250000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.061276312, 9.270000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.260000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.061409254, 9.270000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.260000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.071361925, 9.280000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.270000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.071499527, 9.280000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.270000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.081529097, 9.290000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.280000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.081663631, 9.290000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.280000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.091676245, 9.300000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.290000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.091826286, 9.300000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.290000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.102030618, 9.310000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.300000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.102238917, 9.310000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.300000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.111377924, 9.320000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.310000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.111533380, 9.320000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.310000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.127892961, 9.330000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.320000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.128130646, 9.330000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.320000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.132016551, 9.340000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.330000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.132224494, 9.340000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.330000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.141848981, 9.350000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.340000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.142018679, 9.350000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.340000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.151829000, 9.360000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.350000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.152023660, 9.360000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.350000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.162036285, 9.370000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.360000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.162271820, 9.370000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.360000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.171609375, 9.380000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.370000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.171762079, 9.380000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.370000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.181896056, 9.390000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.380000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.182036942, 9.390000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.380000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.191469757, 9.400000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.390000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.191616621, 9.400000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.390000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.201528961, 9.410000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.400000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.201796382, 9.410000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.400000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.211479172, 9.420000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.410000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.211633340, 9.420000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.410000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.221515067, 9.420000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.420000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.223108116, 9.430000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.420000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.231601979, 9.440000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.430000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.231743948, 9.440000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.430000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.242142918, 9.450000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.440000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.242283995, 9.450000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.440000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.251536865, 9.460000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.450000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.251669096, 9.460000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.450000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.261645201, 9.470000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.460000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.261932015, 9.470000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.460000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.272171870, 9.480000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.470000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.272317364, 9.480000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.470000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.283134132, 9.490000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.480000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.283526138, 9.490000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.480000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.292461981, 9.500000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.490000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.292649460, 9.500000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.490000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.303555145, 9.510000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.500000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.303822169, 9.510000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.500000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.311748273, 9.520000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.510000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.311920610, 9.520000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.510000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.321338428, 9.530000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.520000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.321476347, 9.530000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.520000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.331434473, 9.540000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.530000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.331560996, 9.540000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.530000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.342362761, 9.550000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.540000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.343172815, 9.550000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.540000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.351968435, 9.560000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.550000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.352591252, 9.560000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.550000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.360112562, 9.560000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.330000000 but the earliest data is at time 9.640000000, when looking up transform from frame [camera_depth_frame] to frame [gyro_link]
[ WARN] [1487835086.360392712, 9.560000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.330000000 but the earliest data is at time 9.640000000, when looking up transform from frame [camera_depth_frame] to frame [gyro_link]
[ WARN] [1487835086.361550349, 9.570000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.560000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.361673052, 9.570000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.560000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.372642934, 9.580000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.570000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.372791466, 9.580000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.570000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.381775360, 9.590000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.580000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.383576496, 9.590000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.580000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.392030153, 9.600000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.590000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.392231066, 9.600000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.590000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.401884767, 9.610000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.600000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.402056238, 9.610000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.600000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.412221094, 9.620000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.610000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.412441663, 9.620000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.610000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.422006473, 9.630000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.620000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.422564243, 9.630000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.620000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
[ WARN] [1487835086.432419495, 9.640000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.630000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_footprint] to frame [gyro_link]
[ WARN] [1487835086.432614388, 9.640000000]: W0223 15:31:26.000000 32478 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.630000000 but the earliest data is at time 9.640000000, when looking up transform from frame [base_link] to frame [gyro_link]
F0223 15:31:26.441735 32478 sensor_bridge.cc:67] Check failed: sensor_to_tracking->translation().norm() < 1e-5 The IMU frame must be colocated with the tracking frame. Transforming linear acceleration into the tracking frame will otherwise be imprecise.
[FATAL] [1487835086.442132618, 9.650000000]: F0223 15:31:26.000000 32478 sensor_bridge.cc:67] Check failed: sensor_to_tracking->translation().norm() < 1e-5 The IMU frame must be colocated with the tracking frame. Transforming linear acceleration into the tracking frame will otherwise be imprecise.
*** Check failure stack trace: ***
    @     0x7fcaf2918daa  (unknown)
    @     0x7fcaf2918ce4  (unknown)
    @     0x7fcaf29186e6  (unknown)
    @     0x7fcaf291b687  (unknown)
    @           0x5015c1  cartographer_ros::SensorBridge::HandleImuMessage()
    @           0x4eb90c  _ZN5boost6detail8function26void_function_obj_invoker1IZN16cartographer_ros12_GLOBAL__N_13RunEvEUlRKNS_10shared_ptrIKN11sensor_msgs4Imu_ISaIvEEEEEE2_vSD_E6invokeERNS1_15function_bufferESD_
    @           0x4f0b9b  boost::detail::function::void_function_obj_invoker1<>::invoke()
    @           0x4f6b48  ros::SubscriptionCallbackHelperT<>::call()
    @     0x7fcaef80b6b5  (unknown)
    @     0x7fcaef7c5107  (unknown)
    @     0x7fcaef7c5c33  (unknown)
    @     0x7fcaef80e1e5  (unknown)
    @     0x7fcaef7f5e0b  (unknown)
    @           0x4ec8eb  cartographer_ros::(anonymous namespace)::Run()
    @           0x4e9d1d  main
    @     0x7fcaee5c8f45  (unknown)
    @           0x4eb3c7  (unknown)
    @              (nil)  (unknown)
[cartographer_node-1] process has died [pid 32478, exit code -6, cmd /root/SLAM_project/googleSlam_ws/install_isolated/lib/cartographer_ros/cartographer_node -configuration_directory /root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer_turtlebot/configuration_files -configuration_basename turtlebot_depth_camera_2d.lua __name:=cartographer_node __log:=/root/.ros/log/0e2a3fc0-f99a-11e6-9b7f-c86000043788/cartographer_node-1.log].
log file: /root/.ros/log/0e2a3fc0-f99a-11e6-9b7f-c86000043788/cartographer_node-1*.log

It shows two red error as following:

[FATAL] [1487835086.442132618, 9.650000000]: F0223 15:31:26.000000 32478 sensor_bridge.cc:67] Check failed: sensor_to_tracking->translation().norm() < 1e-5 The IMU frame must be colocated with the tracking frame. Transforming linear acceleration into the tracking frame will otherwise be imprecise.
[cartographer_node-1] process has died [pid 32478, exit code -6, cmd /root/SLAM_project/googleSlam_ws/install_isolated/lib/cartographer_ros/cartographer_node -configuration_directory /root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer_turtlebot/configuration_files -configuration_basename turtlebot_depth_camera_2d.lua __name:=cartographer_node __log:=/root/.ros/log/0e2a3fc0-f99a-11e6-9b7f-c86000043788/cartographer_node-1.log].
log file: /root/.ros/log/0e2a3fc0-f99a-11e6-9b7f-c86000043788/cartographer_node-1*.log

And I use tool to trace error

rqt_graph: http://imgur.com/a/orRqW

frames tree: http://imgur.com/a/b8ZkN

It seems like the flat_world_imu_node can't output /imu frame, and the cartographer_node don't work. Please help to solve the problem, thank you so much.

SirVer commented 7 years ago

The error is this:

Check failed: sensor_to_tracking->translation().norm() < 1e-5 The IMU frame must be colocated with the tracking frame.

Your IMU is not at the same origin as the tracking frame, i.e. the frame you want to track with SLAM. This is not supported since angular velocities cannot be transformed out of this mathematically correct. So you always have to track your IMU (though rotations are okay).

stevenyslins commented 7 years ago

Dear SirVer,

When I modify the turtlebot_depth_camera_2d.lua file, the red error will disappear. I modify this line: tracking_frame = "mobile_base/sensors/imu_data",

But there has a new warning on my terminal

[ WARN] [1487841837.999211894, 78.940000000]: W0223 17:23:57.000000 20101 tf_bridge.cc:51] "mobile_base/sensors/imu_data" passed to lookupTransform argument target_frame does not exist.

May I ask if this is correct? Thank you.

SirVer commented 7 years ago

May I ask if this is correct?

Unlikely. This looks like a topic name, not like a frame name. Use rostopic echo -n1 <topic> to figure out the frame_id of this.

stevenyslins commented 7 years ago

Dear SirVer,

Thank you for your prompt reply. I enter this command rostopic echo -n1 /mobile_base/sensors/imu_data, and the result as following:

header: 
  seq: 23485
  stamp: 
    secs: 234
    nsecs: 860000000
  frame_id: base_link
orientation: 
  x: -0.000250574373646
  y: -0.00399240017799
  z: -0.0692090905304
  w: 0.997594155828
orientation_covariance: [1000000.0, 0.0, 0.0, 0.0, 1000000.0, 0.0, 0.0, 0.0, 0.05]
angular_velocity: 
  x: 8.99941052281e-05
  y: 0.000162501806715
  z: -0.000645573780137
angular_velocity_covariance: [1000000.0, 0.0, 0.0, 0.0, 1000000.0, 0.0, 0.0, 0.0, 0.05]
linear_acceleration: 
  x: -0.00877279334463
  y: -0.0958036597477
  z: 9.73305207043
linear_acceleration_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

And I modify again this line, tracking_frame = "base_link",

After enter command, it shows a lot of error message,

SUMMARY
========

PARAMETERS
 * /rosdistro: indigo
 * /rosversion: 1.11.20
 * /use_sim_time: True

NODES
  /
    cartographer_node (cartographer_ros/cartographer_node)
    flat_world_imu_node (cartographer_turtlebot/cartographer_flat_world_imu_node)
    rviz (rviz/rviz)
    squash_depth_camera (depthimage_to_laserscan/depthimage_to_laserscan)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[cartographer_node-1]: started with pid [24010]
process[flat_world_imu_node-2]: started with pid [24011]
[ INFO] [1487845529.215956672]: I0223 18:25:29.000000 24010 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer_turtlebot/configuration_files/turtlebot_depth_camera_2d.lua' for 'turtlebot_depth_camera_2d.lua'.
[ INFO] [1487845529.216333076]: I0223 18:25:29.000000 24010 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1487845529.216384575]: I0223 18:25:29.000000 24010 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1487845529.216491093]: I0223 18:25:29.000000 24010 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1487845529.216539520]: I0223 18:25:29.000000 24010 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1487845529.216656572]: I0223 18:25:29.000000 24010 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1487845529.216700474]: I0223 18:25:29.000000 24010 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1487845529.216840497]: I0223 18:25:29.000000 24010 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/sparse_pose_graph.lua' for 'sparse_pose_graph.lua'.
[ INFO] [1487845529.216881569]: I0223 18:25:29.000000 24010 configuration_file_resolver.cc:40] Found '/root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer/configuration_files/sparse_pose_graph.lua' for 'sparse_pose_graph.lua'.
process[squash_depth_camera-3]: started with pid [24093]
[ INFO] [1487845529.272803408]: I0223 18:25:29.000000 24010 submaps.cc:176] Added submap 1
[ INFO] [1487845529.272903709]: I0223 18:25:29.000000 24010 map_builder_bridge.cc:37] Added trajectory with ID '0'.
process[rviz-4]: started with pid [24094]
[ WARN] [1487845529.438571720, 9.890000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] "base_link" passed to lookupTransform argument target_frame does not exist. 
[ WARN] [1487845529.448378397, 9.900000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation at time 9.880000000, but only time 10.400000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.448539830, 9.900000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation at time 9.890000000, but only time 10.400000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.458250830, 9.910000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation at time 9.900000000, but only time 10.400000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.468509844, 9.920000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation at time 9.910000000, but only time 10.400000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.479161946, 9.930000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation at time 9.920000000, but only time 10.400000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.488456036, 9.940000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation at time 9.930000000, but only time 10.400000000 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.497818398, 9.950000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.940000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.508424371, 9.960000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.950000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.518155578, 9.970000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.960000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.527832039, 9.980000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.970000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.538711339, 9.990000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.980000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.548000227, 10.000000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 9.990000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.558008568, 10.010000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.000000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.568104707, 10.020000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.010000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.578150284, 10.030000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.020000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.588394319, 10.040000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.030000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.598370414, 10.050000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.040000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.608056343, 10.060000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.050000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.618701029, 10.070000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.060000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.628113322, 10.080000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.070000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.638071361, 10.090000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.080000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.647977337, 10.100000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.090000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.658826808, 10.110000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.100000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.668037814, 10.120000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.110000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.677985985, 10.130000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.120000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.688124945, 10.140000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.130000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.698199687, 10.150000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.140000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.708152181, 10.160000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.150000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.718421092, 10.170000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.160000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.728602986, 10.170000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.170000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.738170848, 10.190000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.180000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.748551326, 10.200000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.190000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.758252187, 10.210000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.200000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.769054195, 10.220000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.210000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.778409068, 10.230000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.220000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.788211473, 10.240000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.230000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.798681339, 10.250000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.240000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.808920500, 10.260000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.250000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.818592051, 10.270000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.260000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.828352155, 10.280000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.270000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.839373345, 10.290000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.280000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.851447779, 10.300000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.290000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.858636211, 10.310000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.300000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.868813500, 10.320000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.080000000 but the earliest data is at time 10.400000000, when looking up transform from frame [camera_depth_frame] to frame [base_link]
[ WARN] [1487845529.869038875, 10.320000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.310000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.880013998, 10.330000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.320000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.888749043, 10.340000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.330000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.899186719, 10.350000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.340000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.908525642, 10.360000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.350000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.919214534, 10.370000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.360000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.929725348, 10.380000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.370000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.938650534, 10.390000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.380000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1487845529.949218170, 10.400000000]: W0223 18:25:29.000000 24010 tf_bridge.cc:51] Lookup would require extrapolation into the past.  Requested time 10.390000000 but the earliest data is at time 10.400000000, when looking up transform from frame [base_footprint] to frame [base_link]
[ INFO] [1487845529.985342462, 10.430000000]: I0223 18:25:29.000000 24010 ordered_multi_queue.cc:172] All sensor data for trajectory 0 is available starting at '621355968104200000'.
[ WARN] [1487845530.139046105, 10.590000000]: W0223 18:25:30.000000 24010 residual_block.cc:131] 

Error in evaluating the ResidualBlock.

There are two possible reasons. Either the CostFunction did not evaluate and fill all    
residual and jacobians that were requested or there was a non-finite value (nan/infinite)
generated during the or jacobian computation. 

Residual Block size: 1 parameter blocks x 27 residuals

For each parameter block, the value of the parameters are printed in the first column   
and the value of the jacobian under the corresponding residual. If a ParameterBlock was 
held constant then the corresponding jacobian is printed as 'Not Computed'. If an entry 
of the Jacobian/residual array was requested but was not written to by user code, it is 
indicated by 'Uninitialized'. This is an error. Residuals or Jacobian values evaluating 
to Inf or NaN is also an error.  

Residuals:              nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan          nan 

Parameter Block 0, size: 3

         nan |         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan 
         nan |         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan 
-0.000153712 |         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan         -nan 

CHOLMOD error: invalid xtype
F0223 18:25:30.139127 24010 covariance_impl.cc:652] Check failed: 'permutation' Must be non NULL 
[FATAL] [1487845530.139450034, 10.590000000]: F0223 18:25:30.000000 24010 covariance_impl.cc:652] Check failed: 'permutation' Must be non NULL 
*** Check failure stack trace: ***
    @     0x7fb5b4dfcdaa  (unknown)
    @     0x7fb5b4dfcce4  (unknown)
    @     0x7fb5b4dfc6e6  (unknown)
    @     0x7fb5b4dff687  (unknown)
    @           0x60ce8e  ceres::internal::CovarianceImpl::ComputeCovarianceValuesUsingSuiteSparseQR()
    @           0x612605  ceres::internal::CovarianceImpl::ComputeCovarianceValues()
    @           0x61275b  ceres::internal::CovarianceImpl::Compute()
    @           0x550965  cartographer::mapping_2d::scan_matching::CeresScanMatcher::Match()
    @           0x554819  cartographer::mapping_2d::LocalTrajectoryBuilder::ScanMatch()
    @           0x554d93  cartographer::mapping_2d::LocalTrajectoryBuilder::AddHorizontalLaserFan()
    @           0x553598  cartographer::mapping_2d::GlobalTrajectoryBuilder::AddRangefinderData()
    @           0x526658  cartographer::mapping::CollatedTrajectoryBuilder::HandleCollatedSensorData()
    @           0x5268a1  _ZNSt17_Function_handlerIFvRKSsSt10unique_ptrIN12cartographer6sensor4DataESt14default_deleteIS5_EEEZNS3_7mapping25CollatedTrajectoryBuilderC1EPNS4_8CollatorEiRKSt13unordered_setISsSt4hashISsESt8equal_toISsESaISsEES2_INSA_32GlobalTrajectoryBuilderInterfaceES6_ISN_EEEUlS1_S8_E_E9_M_invokeERKSt9_Any_dataS1_S8_
    @           0x5dc6bb  _ZNSt17_Function_handlerIFvSt10unique_ptrIN12cartographer6sensor4DataESt14default_deleteIS3_EEEZNS2_8Collator13AddTrajectoryEiRKSt13unordered_setISsSt4hashISsESt8equal_toISsESaISsEESt8functionIFvRKSsS6_EEEUlS6_E_E9_M_invokeERKSt9_Any_dataS6_
    @           0x5dfa03  std::function<>::operator()()
    @           0x5dea5f  cartographer::sensor::OrderedMultiQueue::Dispatch()
    @           0x5df482  cartographer::sensor::OrderedMultiQueue::Add()
    @           0x5dc8de  cartographer::sensor::Collator::AddSensorData()
    @           0x525708  cartographer::mapping::CollatedTrajectoryBuilder::AddSensorData()
    @           0x50150a  cartographer_ros::SensorBridge::HandleImuMessage()
    @           0x4eb90c  _ZN5boost6detail8function26void_function_obj_invoker1IZN16cartographer_ros12_GLOBAL__N_13RunEvEUlRKNS_10shared_ptrIKN11sensor_msgs4Imu_ISaIvEEEEEE2_vSD_E6invokeERNS1_15function_bufferESD_
    @           0x4f0b9b  boost::detail::function::void_function_obj_invoker1<>::invoke()
    @           0x4f6b48  ros::SubscriptionCallbackHelperT<>::call()
    @     0x7fb5b1cef6b5  (unknown)
    @     0x7fb5b1ca9107  (unknown)
    @     0x7fb5b1ca9c33  (unknown)
    @     0x7fb5b1cf21e5  (unknown)
    @     0x7fb5b1cd9e0b  (unknown)
    @           0x4ec8eb  cartographer_ros::(anonymous namespace)::Run()
    @           0x4e9d1d  main
    @     0x7fb5b0aacf45  (unknown)
    @           0x4eb3c7  (unknown)
[cartographer_node-1] process has died [pid 24010, exit code -6, cmd /root/SLAM_project/googleSlam_ws/install_isolated/lib/cartographer_ros/cartographer_node -configuration_directory /root/SLAM_project/googleSlam_ws/install_isolated/share/cartographer_turtlebot/configuration_files -configuration_basename turtlebot_depth_camera_2d.lua __name:=cartographer_node __log:=/root/.ros/log/5e95a6f8-f9b2-11e6-9b7f-c86000043788/cartographer_node-1.log].
log file: /root/.ros/log/5e95a6f8-f9b2-11e6-9b7f-c86000043788/cartographer_node-1*.log

Thank you for your help.

SirVer commented 7 years ago

Seems like you feed Cartographer wrong data. Please provide configuration (in a git branch based on cartographre_ros) & bag - otherwise it is impossible to say what is wrong.

stevenyslins commented 7 years ago

Dear SirVer,

Is there an example for configuration that I can provide. And I'm not using rosbag to play bag, I use this command to simulate turtlebot roslaunch turtlebot_gazebo turtlebot_world.launch

And I want ask another question: Does cartographer_turtlebot can update rviz map, when a object is moving? For example, when the toyota HSR detect four chair at 0:57, and update the map at 1:15. https://www.youtube.com/watch?v=cK6s7soVwws&list=LL_Uuv-CU37JaR2XiILvtBvQ#t=57s

Thank you so much.

SirVer commented 7 years ago

Does cartographer_turtlebot can update rviz map, when a object is moving?

This happens automatically due to the nature of the probabilistic mapping.

Unfortunately I am not familiar with the gazebo integration of turtlebot. It might be that there is some duplication in this ros package and ours. Use roswtf to figure out issues, look at the rViz info for your individual sensor positions.

stevenyslins commented 7 years ago

Dear SirVer,

I got three error as following:

Loaded plugin tf.tfwtf
No package or stack in context
================================================================================
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://steven-U46A:46170/]
... done running graph rules
running tf checks, this will take a second...
... tf checks complete

Online checks summary:

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

WARNING The following node subscriptions are unconnected:
 * /mobile_base_nodelet_manager:
   * /cmd_vel_mux/input/switch
   * /mobile_base/sensors/core
   * /cmd_vel_mux/input/navi
   * /cmd_vel_mux/input/safety_controller
   * /cmd_vel_mux/input/teleop
 * /gazebo:
   * /gazebo/set_link_state
   * /mobile_base/commands/reset_odometry
   * /gazebo/set_model_state
   * /mobile_base/commands/motor_power

WARNING These nodes have died:
 * cartographer_node-1
 * spawn_turtlebot_model-4

Found 3 error(s).

ERROR Could not contact the following nodes:
 * /cartographer_node

ERROR The following nodes should be connected but aren't:
 * /laserscan_nodelet_manager->/cartographer_node (/scan)
 * /gazebo->/cartographer_node (/tf)
 * /flat_world_imu_node->/cartographer_node (/imu)
 * /gazebo->/cartographer_node (/clock)
 * /squash_depth_camera->/cartographer_node (/scan)
 * /odom_map_broadcaster->/cartographer_node (/tf)
 * /robot_state_publisher->/cartographer_node (/tf)
 * /cartographer_node->/cartographer_node (/tf)
 * /gazebo->/cartographer_node (/odom)

ERROR Errors connecting to the following services:
 * service [/finish_trajectory] appears to be malfunctioning: Unable to communicate with service [/finish_trajectory], address [rosrpc://steven-U46A:44329]
 * service [/cartographer_node/get_loggers] appears to be malfunctioning: Unable to communicate with service [/cartographer_node/get_loggers], address [rosrpc://steven-U46A:44329]
 * service [/cartographer_node/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/cartographer_node/set_logger_level], address [rosrpc://steven-U46A:44329]
 * service [/submap_query] appears to be malfunctioning: Unable to communicate with service [/submap_query], address [rosrpc://steven-U46A:44329]

And rviz didn't show any error. http://imgur.com/a/0ePRM

Really thank you for your help.

SirVer commented 7 years ago

It seems like your node wiring is not correct - i.e. a ROS misconfiguration. I do not think this is Cartographer related , maybe you can ask at http://answers.ros.org/questions/ for ROS instructions.

ghost commented 6 years ago

Same here. I assume the problem is that the xarco files in Gazebo for Turtlebo3 are not valid from cartographers perspective. @SirVer your wrote:

Your IMU is not at the same origin as the tracking frame, i.e. the frame you want to track with SLAM. This is not supported since angular velocities cannot be transformed out of this mathematically correct. So you always have to track your IMU (though rotations are okay).

So currently I am using this urdf.xarco file for the turtlebot: https://github.com/ROBOTIS-GIT/turtlebot3/blob/master/turtlebot3_description/urdf/turtlebot3_waffle.urdf.xacro#L148

I dont quite understand, the meaning of your statement.

Would be really great if you find time to explain it a little more.

Thanks alot!

BTW: The Lua-Config file contains:

map_frame = "map", --    The ROS frame ID to use for publishing submaps, the parent frame of poses, usually “map”.
  tracking_frame = "imu_link", --The ROS frame ID of the frame that is tracked by the SLAM algorithm. If an IMU is used, it should be at its position, although it might be rotated. A common choice is “imu_link”.
  published_frame = "base_link", -- The ROS frame ID to use as the child frame for publishing poses. For example “odom” if an “odom” frame is supplied by a different part of the system. In this case the pose of “odom” in the map_frame will be published. Otherwise, setting it to “base_link” is likely appropriate.
  odom_frame = "odom", --Only used if provide_odom_frame is true. The frame between published_frame and map_frame to be used for publishing the (non-loop-closed) local SLAM result. Usually “odom”.