cartographer-project / cartographer_turtlebot Goto Github PK
View Code? Open in Web Editor NEWProvides TurtleBot integration for Cartographer.
License: Apache License 2.0
Provides TurtleBot integration for Cartographer.
License: Apache License 2.0
Is there any plan for a stable release which we can reference in separate projects?
My team recently released some code which used Cartographer Turtlebot with a custom parameter file and instructed users to install the Cartographer code via the read the docs site. However, shortly after this we discovered that the default parameter file had been changed and since new users were pulling the most recent code, they got all sorts of errors when using the parameter file we provided.
This isn't the end of the world as it ended up being a pretty simple fix but I was just curious if there was any plans to publish a static/stable release that others can reference so we don't run into this issue again? Given the current installation instructions, would the only real option be to tell our users to checkout a specific commit from each cartographer repository before proceeding with the installation?
I am doing all the steps pointed at https://google-cartographer-ros-for-turtlebots.readthedocs.io/en/latest/#.
During halfway of installation it gives this error:
[118/121] Building CXX object absl/synchronization/CMakeFiles/absl_synchronization.dir/mutex.cc.o
[119/121] Linking CXX static library absl/synchronization/libabsl_synchronization.a
[120/121] Building CXX object absl/debugging/CMakeFiles/absl_failure_signal_handler.dir/failure_signal_handler.cc.o
[121/121] Linking CXX static library absl/debugging/libabsl_failure_signal_handler.a
[18/391] Running C++ protocol buffer c...form/proto/timestamped_transform.proto
FAILED: cd /home/r4a/catkin_cartographer/build_isolated/cartographer/install && /usr/bin/protoc --cpp_out /home/r4a/catkin_cartographer/build_isolated/cartographer/install -I /home/r4a/catkin_cartographer/src/cartographer /home/r4a/catkin_cartographer/src/cartographer/cartographer/transform/proto/timestamped_transform.proto
cartographer/transform/proto/timestamped_transform.proto:15:10: Unrecognized syntax identifier "proto3". This parser only recognizes "proto2".
[18/391] Running C++ protocol buffer c...her/mapping/proto/3d/hybrid_grid.proto
FAILED: cd /home/r4a/catkin_cartographer/build_isolated/cartographer/install && /usr/bin/protoc --cpp_out /home/r4a/catkin_cartographer/build_isolated/cartographer/install -I /home/r4a/catkin_cartographer/src/cartographer /home/r4a/catkin_cartographer/src/cartographer/cartographer/mapping/proto/3d/hybrid_grid.proto
cartographer/mapping/proto/3d/hybrid_grid.proto:15:10: Unrecognized syntax identifier "proto3". This parser only recognizes "proto2".
[18/391] Running C++ protocol buffer c...graph/constraint_builder_options.proto
FAILED: cd /home/r4a/catkin_cartographer/build_isolated/cartographer/install && /usr/bin/protoc --cpp_out /home/r4a/catkin_cartographer/build_isolated/cartographer/install -I /home/r4a/catkin_cartographer/src/cartographer /home/r4a/catkin_cartographer/src/cartographer/cartographer/mapping/proto/pose_graph/constraint_builder_options.proto
cartographer/mapping/proto/pose_graph/constraint_builder_options.proto:15:10: Unrecognized syntax identifier "proto3". This parser only recognizes "proto2".
[18/391] Running C++ protocol buffer c...grapher/mapping/proto/pose_graph.proto
FAILED: cd /home/r4a/catkin_cartographer/build_isolated/cartographer/install && /usr/bin/protoc --cpp_out /home/r4a/catkin_cartographer/build_isolated/cartographer/install -I /home/r4a/catkin_cartographer/src/cartographer /home/r4a/catkin_cartographer/src/cartographer/cartographer/mapping/proto/pose_graph.proto
cartographer/mapping/proto/pose_graph.proto:15:10: Unrecognized syntax identifier "proto3". This parser only recognizes "proto2".
ninja: build stopped: subcommand failed.
<== Failed to process package 'cartographer':
Command '['/home/r4a/catkin_cartographer/install_isolated/env.sh', 'ninja', '-j4', '-l4']' returned non-zero exit status 1
We are using turtlebot 2
Hello,
I recently tried using google cartographer to generate a map of my building. I use to use gmapping but i didn't get very good results, so i switched to gmapping.
When I did couple of small test runs I got good results, but when i did try mapping my whole building it didn't give me good results at all ( please see the map below), This is what I am using:
Ubuntu 14.04
ROS Indigo
Turtlebot with Kinect 1.0 sensor
I looked into couple of other issues on tuning and tried to modify my config file to get good results, but i think i didn't do a great job.
Here is the map I got:
https://drive.google.com/open?id=1rIExNvfOZo7HN-z88YTISyitbxZ_cphF
Here are my config files:
https://drive.google.com/open?id=1-4MlGU8nfoUDYCQ8lwcL4PwoPtBqP9tk
https://drive.google.com/open?id=1EZ-7aFo3_5lfCyYU8RK7T6BdQpBhnvAu
here is my data bag:
https://drive.google.com/open?id=1z1U_gHrWXjJeyE8cqV3IRHIalMb4c0D8
Can anyone of you please help me?
Following the instructions exactly on the Read the Docs site causes rosdep install to fail as it can't resolve ceres-solver. I found that using wstool to merge the rosinstall file from cartograper_ros resolved this as that file does include the ceres-solver dependency. I think either updating the instructions to include this step or updating the rosinstall would fix this issue for future users.
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:
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.
Thanks a lot for the great work!
When I am running the demos, I have some questions, would you please help us to improve it?
1. Environment:
2. Launch Lidar Demo with bag cartographer_turtlebot_demo.bag
3. Launch 2D Depth Camera demo with bag cartographer_turtlebot_demo.bag
4. Questions?
Let me know if you need any other files or information in order to reproduce the issue. Thanks!
Hi.
For this issue, I am assuming that the imu data is used for trajectory building. (the following parameter is set to true in the .lua file)
TRAJECTORY_BUILDER_2D.use_imu_data = true
Now the question is, should we pass the /mobile_base/sensors/imu_data_raw
topic to the flat_world_imu_node through the turtlebot.launch, or should it be the /mobile_base/sensors/imu_data
topic. The main differences between imu_data_raw and imu_data topic as provided by yujinrobot/kobuki package are the angular velocities and covariance matrices. The imu_data_raw publishes non-zero angular velocity around X & Y axis and a zero covariance matrix:
orientation: x: 0.0 y: 0.0 z: 0.0 w: 0.0 orientation_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] angular_velocity: x: 0.0274889357189 y: 0.00198531202414 z: -0.0140499004786 angular_velocity_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
This results in the odom frame to be tilted with respect to the map frame, which will get worse as time passes by and finally causes the cartographer to crash. It can be seen in the following picture:
However, the angular velocity around X & Y are set to zero and the covariance matrix is non-zero on the imu_data topic:
orientation: x: 0.0 y: 0.0 z: 0.0 w: 1.0 orientation_covariance: [1.7976931348623157e+308, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.05] angular_velocity: x: 0.0 y: 0.0 z: 0.0
This results in the odom frame to be flat with respect to the map frame as shown here:
The quality of demo_lidar_2d.launch on cartographer_turtlebot_demo.bag is not as expected, it shows double walls and the local trajectory is shaky.
Here is a screenshot.
roslaunch cartographer_turtlebot demo_lidar_2d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag
When I set use_odometry = false
, it becomes better.
Is this perhaps a regression?
Of course, the bag file is not perfect. Here is report of
./devel_isolated/cartographer_ros/lib/cartographer_ros/cartographer_rosbag_validate -bag_filename=${HOME}/Downloads/cartographer_turtlebot_demo.bag
W0103 17:34:32.322019 241911 rosbag_validate_main.cc:103] frame_id gyro_link time 1474964028432292844: IMU linear acceleration is 0 m/s^2, expected is [3, 30] m/s^2. (It should include gravity and be given in m/s^2.) linear_acceleration 0 0 0
W0103 17:34:32.322496 241911 rosbag_validate_main.cc:103] frame_id gyro_link time 1474964028442292844: IMU linear acceleration is 0 m/s^2, expected is [3, 30] m/s^2. (It should include gravity and be given in m/s^2.) linear_acceleration 0 0 0
W0103 17:34:32.322543 241911 rosbag_validate_main.cc:103] frame_id gyro_link time 1474964028452238751: IMU linear acceleration is 0 m/s^2, expected is [3, 30] m/s^2. (It should include gravity and be given in m/s^2.) linear_acceleration 0 0 0
E0103 17:34:32.322903 241911 rosbag_validate_main.cc:251] Sensor with frame_id "gyro_link" jumps backwards in time. Make sure that the bag contains the data for each frame_id sorted by header.stamp, i.e. the order in which they were acquired from the sensor.
E0103 17:34:32.328048 241911 rosbag_validate_main.cc:251] Sensor with frame_id "gyro_link" jumps backwards in time. Make sure that the bag contains the data for each frame_id sorted by header.stamp, i.e. the order in which they were acquired from the sensor.
E0103 17:34:32.334275 241911 rosbag_validate_main.cc:251] Sensor with frame_id "gyro_link" jumps backwards in time. Make sure that the bag contains the data for each frame_id sorted by header.stamp, i.e. the order in which they were acquired from the sensor.
E0103 17:34:33.523506 241911 rosbag_validate_main.cc:299] Average IMU linear acceleration is 0 m/s^2, expected is [9.5, 10.5] m/s^2. Linear acceleration data should include gravity and be given in m/s^2.
I0103 17:34:33.524302 241911 rosbag_validate_main.cc:332] Time delta histogram for consecutive messages on topic "/mobile_base/sensors/imu_data_raw" (frame_id: "gyro_link"):
Count: 34785 Min: -0.000888 Max: 0.014964 Mean: 0.009397
[-0.000888, 0.000697) Count: 532 (1.529395%) Total: 532 (1.529395%)
[0.000697, 0.002283) # Count: 1565 (4.499066%) Total: 2097 (6.028461%)
[0.002283, 0.003868) Count: 1 (0.002875%) Total: 2098 (6.031335%)
[0.003868, 0.005453) Count: 0 (0.000000%) Total: 2098 (6.031335%)
[0.005453, 0.007038) Count: 4 (0.011499%) Total: 2102 (6.042835%)
[0.007038, 0.008623) Count: 40 (0.114992%) Total: 2142 (6.157826%)
[0.008623, 0.010208) ################### Count: 32200 (92.568634%) Total: 34342 (98.726463%)
[0.010208, 0.011794) Count: 433 (1.244789%) Total: 34775 (99.971252%)
[0.011794, 0.013379) Count: 8 (0.022998%) Total: 34783 (99.994247%)
[0.013379, 0.014964] Count: 2 (0.005750%) Total: 34785 (100.000000%)
I0103 17:34:33.524739 241911 rosbag_validate_main.cc:332] Time delta histogram for consecutive messages on topic "/odom" (frame_id: "odom"):
Count: 16343 Min: 0.016671 Max: 0.024952 Mean: 0.020001
[0.016671, 0.017499) Count: 7 (0.042832%) Total: 7 (0.042832%)
[0.017499, 0.018327) Count: 8 (0.048951%) Total: 15 (0.091782%)
[0.018327, 0.019155) ## Count: 1509 (9.233311%) Total: 1524 (9.325093%)
[0.019155, 0.019984) ######## Count: 6162 (37.704216%) Total: 7686 (47.029308%)
[0.019984, 0.020812) ######## Count: 6882 (42.109772%) Total: 14568 (89.139084%)
[0.020812, 0.021640) ## Count: 1760 (10.769136%) Total: 16328 (99.908218%)
[0.021640, 0.022468) Count: 9 (0.055069%) Total: 16337 (99.963287%)
[0.022468, 0.023296) Count: 3 (0.018356%) Total: 16340 (99.981644%)
[0.023296, 0.024124) Count: 2 (0.012238%) Total: 16342 (99.993881%)
[0.024124, 0.024952] Count: 1 (0.006119%) Total: 16343 (100.000000%)
E0103 17:34:33.524762 241911 rosbag_validate_main.cc:316] Point data (frame_id: "plate_top_link") has a large gap, largest is 0.103044 s, recommended is [0.0005, 0.05] s with no jitter.
I0103 17:34:33.524869 241911 rosbag_validate_main.cc:332] Time delta histogram for consecutive messages on topic "/laser_scan" (frame_id: "plate_top_link"):
Count: 3289 Min: 0.095438 Max: 0.103044 Mean: 0.099367
[0.095438, 0.096199) Count: 1 (0.030404%) Total: 1 (0.030404%)
[0.096199, 0.096960) Count: 2 (0.060809%) Total: 3 (0.091213%)
[0.096960, 0.097720) Count: 1 (0.030404%) Total: 4 (0.121618%)
[0.097720, 0.098481) Count: 8 (0.243235%) Total: 12 (0.364853%)
[0.098481, 0.099241) ##### Count: 891 (27.090302%) Total: 903 (27.455154%)
[0.099241, 0.100002) ############## Count: 2357 (71.663116%) Total: 3260 (99.118271%)
[0.100002, 0.100763) Count: 25 (0.760109%) Total: 3285 (99.878380%)
[0.100763, 0.101523) Count: 0 (0.000000%) Total: 3285 (99.878380%)
[0.101523, 0.102284) Count: 2 (0.060809%) Total: 3287 (99.939194%)
[0.102284, 0.103044] Count: 2 (0.060809%) Total: 3289 (100.000000%)
#why i have this error
i run the "roslaunch cartographer_ros turtlebot_lidar_2d.launch" the terminal place that "[FATAL] [1512705370.945497189]: F1208 11:56:10.000000 22035 configuration_file_resolver.cc:44] File 'trajectory_builder.lua' was not found." How could i solve it, please help me!
felicx@felicx-Lenovo-XiaoXin-310-14ISK:~/carto_ws$ roslaunch cartographer_ros turtlebot_lidar_2d.launch
... logging to /home/felicx/.ros/log/5327b740-dbcd-11e7-b5a9-ac2b6e7a2f6f/roslaunch-felicx-Lenovo-XiaoXin-310-14ISK-23951.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://felicx-Lenovo-XiaoXin-310-14ISK:41487/
PARAMETERS
NODES
/zeroconf/
zeroconf (zeroconf_avahi/zeroconf)
/
app_manager (rocon_app_manager/rapp_manager.py)
bumper2pointcloud (nodelet/nodelet)
capability_server (capabilities/capability_server)
cartographer_node (cartographer_ros/cartographer_node)
cmd_vel_mux (nodelet/nodelet)
diagnostic_aggregator (diagnostic_aggregator/aggregator_node)
flat_world_imu_node (cartographer_ros/cartographer_flat_world_imu_node)
interactions (rocon_interactions/interactions_manager.py)
master (rocon_master_info/master.py)
mobile_base (nodelet/nodelet)
mobile_base_nodelet_manager (nodelet/nodelet)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
rviz (rviz/rviz)
turtlebot_laptop_battery (laptop_battery_monitor/laptop_battery.py)
auto-starting new master
process[master]: started with pid [23966]
ROS_MASTER_URI=http://localhost:11311
[app_manager-10] killing on exit
[rviz-16] killing on exit
[zeroconf/zeroconf-13] killing on exit
[interactions-12] killing on exit
[master-11] killing on exit
[turtlebot_laptop_battery-8] killing on exit
[cmd_vel_mux-7] killing on exit
[bumper2pointcloud-6] killing on exit
[mobile_base-5] killing on exit
[capability_server-9] killing on exit
[mobile_base_nodelet_manager-4] killing on exit
[diagnostic_aggregator-3] killing on exit
[robot_state_publisher-2] killing on exit
Exception in thread Thread-25 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
File "/usr/lib/python2.7/threading.py", line 763, in run
File "/opt/ros/indigo/lib/python2.7/dist-packages/bondpy/bondpy.py", line 247, in _publishing_thread
File "/usr/lib/python2.7/threading.py", line 215, in exit
File "/usr/lib/python2.7/threading.py", line 202, in release
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
Thanks for the great package! It looks very promising and I can not wait to get it to work on my Turtlebot.
Unfortunately, for the last 2 days I have been struggling with the actual deployment. I followed the instructions of installing cartographer_ros and installing cartographer_turtlebot. I am able to run all of the demo's, except for demo_depth_camera_2d.launch. I am using Ubuntu 16.04 and ROS kinetic.
I seem to be getting the exact same errors when I try to launch turtlebot_depth_camera_2d.launch. Launching turtlebot_depth_camera_3d.launch works perfectly without errors, and I can see the 3D map being built in Rviz when I drive around the Turtlebot. Therefore, the problem seems to be specifically about the 2D mapping.
I put the terminal output I get in two txt files.
cartographer_terminal_output_2d_turtlebot.txt
cartographer_terminal_output_2d_demo.txt
For both files, the following is highlighted in red in the terminal:
[FATAL] [1528462899.578349680]: F0608 15:01:39.000000 16788 lua_parameter_dictionary.cc:410] Check failed: 1 == reference_counts_.count(key) (1 vs. 0) Key 'resolution' was used the wrong number of times.
And:
[cartographer_node-2] process has died [pid 16788, exit code -6, cmd /home/nathan/ros_ws/install_isolated/lib/cartographer_ros/cartographer_node -configuration_directory /home/nathan/ros_ws/install_isolated/share/cartographer_turtlebot/configuration_files -configuration_basename turtlebot_depth_camera_2d.lua __name:=cartographer_node __log:=/home/nathan/.ros/log/14f00552-6b1c-11e8-b200-a45e60d3ab15/cartographer_node-2.log]. log file: /home/nathan/.ros/log/14f00552-6b1c-11e8-b200-a45e60d3ab15/cartographer_node-2*.log
The launchfiles for 2D are very similar to 3D. The only difference seems to be the the passing of turtlebot_depth_camera_2d.lua vs. the passing of turtlebot_depth_camera_3d.lua
.
If anyone could help me with understanding and work towards solving this error I would greatly appreciate it!
Thanks for your brilliant work!
I just wonder that can I use the well-built map by the SLAM mode to carry out a navigation or localization work? Because I did not found the code to change the mode for SLAM to Localization in the cartographer_node_main.cc. Should I modify the code in some other documents to achieve the navigation task? Thanks.
And thanks again for this amazing work!!
Hi,
I have been trying to generate a 2D map using the lidar and odometry data alone. However I get the following error when I set using odom = true.
error:Check failed: frame_id[0] != '/' ('/' vs. '/')
My configuration is similar to that of pr2 but the enable odom is set true. Am I doing something wrong?
When I use these, the scan_matched_points normal display, but no map received, that means cartographer_node do not publish the topic of map, why?
Hi,
I followed the instructions in the doc to install cartographer_turtlebot on an unbuntu 16.04 + ROS Kinetic. Everything is fine until I get a rosdep error during the install:
$ echo ${ROS_DISTRO}
kinetic
$ rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
ERROR: Rosdep experienced an error: rosdep data for [type] must be a dictionary
Please go to the rosdep page [1] and file a bug report with the stack trace below.
[1] : http://www.ros.org/wiki/rosdep
rosdep version: 0.11.5
Traceback (most recent call last): [...]
I tried on fresh 16.04+ROS Kinetic install and a fresh 14.04+ROS Indigo install and I got the same error.
Any hint?
Thanks,
Also reported by #90 , I can not launch the turtlebot with turtlebot_depth_camera_2d.launch
, unless I comment out TRAJECTORY_BUILDER_2D.submaps.resolution
.
The following error log indicates that this parameter is not included in the cartographer dictionary.
Can anyone tell me why this unused parameter is still left in the config file?
[FATAL] [1530551123.368644980]: F0703 02:05:23.000000 29119 lua_parameter_dictionary.cc:410] Check failed: 1 == reference_counts_.count(key) (1 vs. 0) Key 'resolution' was used the wrong number of times.
When I used the data package I recorded to build the map, I encountered the following warning, and there was no odom information in the tf tree. The basic configuration is consistent with the field mapping (I think it should be consistent). I am new to slam and this problem has been bothering me for a long time, I hope to be able to get help
[ WARN] [1650341808.064493401, 1649214958.654808982]: Could not compute submap fading: "map" passed to lookupTransform argument target_frame does not exist.
[ WARN] [1650341808.479196164, 1649214959.074182483]: W0419 12:16:48.000000 6541 tf_bridge.cc:52] "odom" passed to lookupTransform argument source_frame does not exist.
bag information
mina@ubuntu:~/bagfiles$ rosbag info 17.bag
path: 17.bag
version: 2.0
duration: 15:45s (945s)
start: Mar 24 2022 15:50:08.60 (1648108208.60)
end: Mar 24 2022 16:05:54.56 (1648109154.56)
size: 132.8 MB
messages: 154499
compression: none [175/175 chunks]
types: nav_msgs/Odometry [cd5e73d190d741a2f92e81eda573aca7]
sensor_msgs/Imu [6a62c6daae103f4ff57a132d6f95cec2]
sensor_msgs/LaserScan [90c7ef2dc6895d81024acba2ac42f369]
topics: /mobile_base/sensors/imu_data_raw 97682 msgs : sensor_msgs/Imu
/odom 45421 msgs : nav_msgs/Odometry
/scan 11396 msgs : sensor_msgs/LaserScan
.launch file
<include file="$(find turtlebot_bringup)/launch/minimal.launch" />
<!-- bag的地址与名称 -->
<arg name="bag_filename" default="/home/mina/bagfiles/17.bag"/>
<node pkg="tf2_ros" type="static_transform_publisher" name="base_linktolaser"
args="0 0 0.95 0 0 0 base_link laser" />
<!-- 使用bag的时间戳 -->
<param name="/use_sim_time" value="true" />
<!-- 启动cartographer -->
<node name="cartographer_node" pkg="cartographer_ros"
type="cartographer_node" args="
-configuration_directory
$(find cartographer_turtlebot)/configuration_files
-configuration_basename turtlebot_rplidar_lidar_2d.lua"
output="screen">
<remap from="scan" to="/scan" />
<!--<remap from="imu" to="/imu_out" />-->
</node>
<!-- 生成ros格式的地图 -->
<node name="cartographer_occupancy_grid_node" pkg="cartographer_ros"
type="cartographer_occupancy_grid_node" args="-resolution 0.05" />
<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_raw" />-->
<remap from="imu_in" to="/mobile_base/sensors/imu_data_raw" />
<remap from="imu_out" to="/imu" />
</node>
<!-- 启动rviz -->
<node name="rviz" pkg="rviz" type="rviz" required="true"
args="-d $(find cartographer_turtlebot
)/configuration_files/demo_turtlebot.rviz" />
<!-- 启动rosbag -->
<node name="playbag" pkg="rosbag" type="play"
args="--clock $(arg bag_filename)" />
</launch>
.lua file
include "map_builder.lua"
include "trajectory_builder.lua"
options = {
map_builder = MAP_BUILDER,
trajectory_builder = TRAJECTORY_BUILDER,
map_frame = "map",
tracking_frame = "gyro_link", --gyro_link
published_frame = "odom",
odom_frame = "odom",
provide_odom_frame = false,
publish_frame_projected_to_2d = false,
use_odometry = true,
use_nav_sat = false,
use_landmarks = false,
num_laser_scans = 1,
num_multi_echo_laser_scans = 0,
num_subdivisions_per_laser_scan = 1,
num_point_clouds = 0,
lookup_transform_timeout_sec = 0.2,--0.2
submap_publish_period_sec = 0.3,
pose_publish_period_sec = 5e-3 , --5e-3
trajectory_publish_period_sec = 30e-3,
rangefinder_sampling_ratio = 1., --1.
odometry_sampling_ratio = 1, --1
fixed_frame_pose_sampling_ratio = 1.,
imu_sampling_ratio = 1.,
landmarks_sampling_ratio = 1.,
}
MAP_BUILDER.use_trajectory_builder_2d = true
TRAJECTORY_BUILDER_2D.min_range = 0.1 --0.1
TRAJECTORY_BUILDER_2D.max_range = 8. --8.
TRAJECTORY_BUILDER_2D.missing_data_ray_length = 5.
TRAJECTORY_BUILDER_2D.use_imu_data = true
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = true
TRAJECTORY_BUILDER_2D.motion_filter.max_angle_radians = math.rad(0.1)
POSE_GRAPH.constraint_builder.min_score = 0.65 --0.65
POSE_GRAPH.constraint_builder.global_localization_min_score = 0.7
I am following the tutorial of turtlebot3.
running the simulation with cartographer.
roslaunch turtlebot3_gazebo turtlebot3_world.launch
and
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=cartographer
The terminal outputs SUMMARY like parameters, nodes, bla bla bla then a FATAL
`ROS_MASTER_URI=http://localhost:11311
process[robot_state_publisher-1]: started with pid [30707]
process[move_base-2]: started with pid [30708]
process[cartographer_node-3]: started with pid [30710]
process[cartographer_occupancy_grid_node-4]: started with pid [30716]
process[flat_world_imu_node-5]: started with pid [30723]
process[rviz-6]: started with pid [30741]
[ INFO] [1580949011.982558804]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/turtlebot3_slam/config/turtlebot3_lds_2d.lua' for 'turtlebot3_lds_2d.lua'.
[ INFO] [1580949011.983794964]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1580949011.984031932]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1580949011.985031161]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'.
[ INFO] [1580949011.987864916]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'.
[ INFO] [1580949011.988713678]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'.
[ INFO] [1580949011.989251727]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'.
[ INFO] [1580949011.990035275]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1580949011.990485842]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1580949011.991215193]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1580949011.991636905]: I0206 00:30:11.000000 30710 configuration_file_resolver.cc:41] Found '/home/bingxin/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1580949012.046640156]: I0206 00:30:12.000000 30710 submap_2d.cc:187] Added submap 1
[ INFO] [1580949012.047447874]: I0206 00:30:12.000000 30710 map_builder_bridge.cc:130] Added trajectory with ID '0'.
F0206 00:30:12.316486 30710 sensor_bridge.cc:126] 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: ***
@ 0x7f62702135cd google::LogMessage::Fail()
@ 0x7f6270215433 google::LogMessage::SendToLog()
@ 0x7f627021315b google::LogMessage::Flush()
@ 0x7f6270215e1e google::LogMessageFatal::~LogMessageFatal()
@ 0x572142 cartographer_ros::SensorBridge::ToImuData()
@ 0x54ad2e cartographer_ros::Node::HandleImuMessage()
@ 0x55a74e boost::detail::function::void_function_obj_invoker1<>::invoke()
@ 0x567e89 ros::SubscriptionCallbackHelperT<>::call()
@ 0x7f626d6fed8d ros::SubscriptionQueue::call()
@ 0x7f626d6a4838 ros::CallbackQueue::callOneCB()
@ 0x7f626d6a623b ros::CallbackQueue::callAvailable()
@ 0x7f626d702e39 ros::SingleThreadedSpinner::spin()
@ 0x7f626d6e7e9b ros::spin()
@ 0x543974 cartographer_ros::(anonymous namespace)::Run()
@ 0x541234 main
@ 0x7f626c0f4830 __libc_start_main
@ 0x543499 _start
@ (nil) (unknown)
log file: /home/bingxin/.ros/log/bf654fbc-4877-11ea-ac1d-000c296a6d1a/cartographer_node-3*.log**
I am new to the cartographer so totally have no idea what does is means.
Any ideas?
Thanks
Hi
I successively run the cartographer_trutlebot_demo.bag.
I recorded my own bag, trying to run the cartographer_turtlebot based on that.
[FATAL] [1582746910.357573635]: Error opening file: all-2020-02-26-18-49-30.bag
....some [INFO] of find the lua
[playbag-5] process has died [pid 9519, exit code 1, cmd /opt/ros/kinetic/lib/rosbag/play --clock all-2020-02-26-18-49-30.bag __name:=playbag __log:=/home/bingxin/.ros/log/e48833da-58d1-11ea-a734-000c29f89067/playbag-5.log].
log file: /home/bingxin/.ros/log/e48833da-58d1-11ea-a734-000c29f89067/playbag-5*.log
[ WARN] [1582746913.431290607]: W0226 19:55:13.000000 9488 node.cc:857] Expected topic "scan" (trajectory 0) (resolved topic "/scan") but no publisher is currently active.
[ WARN] [1582746913.431528522]: W0226 19:55:13.000000 9488 node.cc:857] Expected topic "odom" (trajectory 0) (resolved topic "/odom") but no publisher is currently active.
[ WARN] [1582746913.431689439]: W0226 19:55:13.000000 9488 node.cc:866] Currently available topics are: /move_base_simple/goal,/constraint_list,/submap_list,/scan_matched_points2,/rosout,/initialpose,/tf,/clicked_point,/imu,/rosout_agg,/map,/trajectory_node_list,/landmark_poses_list,
Thank you
Maybe compressing the cache file more aggressively helps. bzip2
?
Hi everyone,
I used cartographer on ubuntu 14.04 and ros indigo with an IMU and vlp16 to build a map with the offline launch file. The bag file I used is available here.
The map I have now is:
My launch,config, pbstream and urdf files are launch file,lua, pbstream and urdf. Please help me with what I can do to make this map better.
I want to use cartographer with turtlebot and rplidar, but I get the following error:
started core service [/rosout]
process[rplidarNode-2]: started with pid [14772]
process[robot_state_publisher-3]: started with pid [14776]
process[diagnostic_aggregator-4]: started with pid [14777]
process[mobile_base_nodelet_manager-5]: started with pid [14783]
process[mobile_base-6]: started with pid [14788]
process[cmd_vel_mux-7]: started with pid [14791]
process[turtlebot_laptop_battery-8]: started with pid [14804]
process[capability_server-9]: started with pid [14812]
process[app_manager-10]: started with pid [14826]
process[master-11]: started with pid [14831]
process[interactions-12]: started with pid [14836]
process[zeroconf/zeroconf-13]: started with pid [14840]
process[cartographer_node-14]: started with pid [14843]
process[flat_world_imu_node-15]: started with pid [14847]
[ INFO] [946692925.919112963]: I0101 10:15:25.000000 14843 configuration_file_resolver.cc:40] Found '/home/ubuntu/google_cartographer/install_isolated/share/cartographer_turtlebot/configuration_files/turtlebot_rplidar_2d.lua' for 'turtlebot_rplidar_2d.lua'.
[ INFO] [946692925.920156380]: I0101 10:15:25.000000 14843 configuration_file_resolver.cc:40] Found '/home/ubuntu/google_cartographer/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [946692925.920353547]: I0101 10:15:25.000000 14843 configuration_file_resolver.cc:40] Found '/home/ubuntu/google_cartographer/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [946692925.920969130]: I0101 10:15:25.000000 14843 configuration_file_resolver.cc:40] Found '/home/ubuntu/google_cartographer/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [946692925.921240130]: I0101 10:15:25.000000 14843 configuration_file_resolver.cc:40] Found '/home/ubuntu/google_cartographer/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [946692925.921785297]: I0101 10:15:25.000000 14843 configuration_file_resolver.cc:40] Found '/home/ubuntu/google_cartographer/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [946692925.922093213]: I0101 10:15:25.000000 14843 configuration_file_resolver.cc:40] Found '/home/ubuntu/google_cartographer/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [946692925.922635880]: I0101 10:15:25.000000 14843 configuration_file_resolver.cc:40] Found '/home/ubuntu/google_cartographer/install_isolated/share/cartographer/configuration_files/sparse_pose_graph.lua' for 'sparse_pose_graph.lua'.
[ INFO] [946692925.922895547]: I0101 10:15:25.000000 14843 configuration_file_resolver.cc:40] Found '/home/ubuntu/google_cartographer/install_isolated/share/cartographer/configuration_files/sparse_pose_graph.lua' for 'sparse_pose_graph.lua'.
[WARN] [WallTime: 946692926.055610] Battery : unable to check laptop battery info [/sys/class/power_supply/BAT0/charge_full_design || /sys/class/power_supply/BAT0/energy_full_design does not exist]
[ INFO] [946692926.378924547]: I0101 10:15:26.000000 14843 submaps.cc:176] Added submap 1
[ INFO] [946692926.991353963]: Zeroconf: service successfully established [turtlebot][ros-master.tcp][11311]
[turtlebot_laptop_battery-8] process has finished cleanly
log file: /home/ubuntu/.ros/log/4cda3e64-bff1-11d3-9b70-7c5cf893e3bf/turtlebot_laptop_battery-8*.log
RPLidar health status : 0
[ INFO] [946692929.328739463]: I0101 10:15:29.000000 14843 cartographer_node_main.cc:615] gyro_link rate: unknown
[ INFO] [946692929.451284963]: I0101 10:15:29.000000 14843 motion_filter.cc:42] Motion filter reduced the number of scans to nan%.
[ INFO] [946692944.445147626]: I0101 10:15:44.000000 14843 cartographer_node_main.cc:615] base_footprint rate: 49.86 Hz 2.01e-02 s +/- 1.08e-03 s (pulsed at 114.16% real time)
[ INFO] [946692944.446515459]: I0101 10:15:44.000000 14843 cartographer_node_main.cc:615] camera_depth_frame rate: 6.24 Hz 1.60e-01 s +/- 9.11e-02 s (pulsed at 106.47% real time)
[ INFO] [946692944.447600209]: I0101 10:15:44.000000 14843 cartographer_node_main.cc:615] gyro_link rate: 106.72 Hz 9.37e-03 s +/- 2.31e-03 s (pulsed at 106.32% real time)
[ INFO] [946692959.496639372]: I0101 10:15:59.000000 14843 cartographer_node_main.cc:615] base_footprint rate: 49.87 Hz 2.01e-02 s +/- 1.94e-03 s (pulsed at 100.69% real time)
[ INFO] [946692959.498248372]: I0101 10:15:59.000000 14843 cartographer_node_main.cc:615] camera_depth_frame rate: 6.58 Hz 1.52e-01 s +/- 2.39e-02 s (pulsed at 99.88% real time)
[ INFO] [946692959.499091205]: I0101 10:15:59.000000 14843 cartographer_node_main.cc:615] gyro_link rate: 105.96 Hz 9.44e-03 s +/- 2.54e-03 s (pulsed at 100.17% real time)
F0101 10:16:10.441471 14843 ordered_multi_queue.h:149] Check failed: last_dispatched_key <= next_key_value_pair->sort_key (630822897702525020 vs. 630822897702522393) Non-sorted values added to queue: '(0, imu)'
**[FATAL] [946692970.445108370]: F0101 10:16:10.000000 14843 ordered_multi_queue.h:149] Check failed: last_dispatched_key <= next_key_value_pair->sort_key (630822897702525020 vs. 630822897702522393) Non-sorted values added to queue: '(0, imu)'**
** Check failure stack trace: ***
@ 0xb6a71060 (unknown)
@ 0xb6a70f5c (unknown)
@ 0xb6a70b78 (unknown)
@ 0xb6a72f98 (unknown)
@ 0xec18a cartographer::common::OrderedMultiQueue<>::Dispatch()
@ 0xf4f68 cartographer::common::OrderedMultiQueue<>::Add()
@ 0xf507a cartographer::mapping::SensorCollator<>::AddSensorData()
@ 0xf3e96 cartographer_ros::SensorDataProducer::AddLaserScanMessage()
@ 0xd8528 ZN5boost6detail8function26void_function_obj_invoker1IZN16cartographer_ros12_GLOBAL__N_14Node10InitializeEvEUlRKNS_10shared_ptrIKN11sensor_msgs10LaserScan_ISaIvEEEEEE_vSE_E6invokeERNS1_15function_bufferESE
@ 0xe05b0 boost::detail::function::void_function_obj_invoker1<>::invoke()
@ 0xeb204 ros::SubscriptionCallbackHelperT<>::call()
@ 0xb6ccf580 (unknown)
@ 0xb6ca0f12 (unknown)
@ 0xb6ca1610 (unknown)
@ 0xb6cd142e (unknown)
@ 0xb6cc15d4 (unknown)
@ 0xdacda cartographer_ros::(anonymous namespace)::Run()
@ 0xd706c main
@ 0xb648f670 (unknown)
[cartographer_node-14] process has died [pid 14843, exit code -6, cmd /home/ubuntu/google_cartographer/install_isolated/lib/cartographer_ros/cartographer_node -configuration_directory /home/ubuntu/google_cartographer/install_isolated/share/cartographer_turtlebot/configuration_files -configuration_basename turtlebot_rplidar_2d.lua points2:=/camera/depth/points __name:=cartographer_node __log:=/home/ubuntu/.ros/log/4cda3e64-bff1-11d3-9b70-7c5cf893e3bf/cartographer_node-14.log].
log file: /home/ubuntu/.ros/log/4cda3e64-bff1-11d3-9b70-7c5cf893e3bf/cartographer_node-14.log
At first it can run well, and I can recieve the map from the topic. But after a few seconds, it broke down.
The lua file is here:
include "map_builder.lua"
options = {
map_builder = MAP_BUILDER,
map_frame = "map",
tracking_frame = "gyro_link",
published_frame = "odom",
odom_frame = "odom",
provide_odom_frame = false,
use_odometry_data = true,
use_constant_odometry_variance = true,
constant_odometry_translational_variance = 1e-7,
constant_odometry_rotational_variance = 1e-7,
use_horizontal_laser = true,
use_horizontal_multi_echo_laser = false,
horizontal_laser_min_range = 0.1,
horizontal_laser_max_range = 6.,
horizontal_laser_missing_echo_ray_length = 4.,
num_lasers_3d = 0,
lookup_transform_timeout_sec = 0.2,
submap_publish_period_sec = 0.3,
pose_publish_period_sec = 5e-3,
}
MAP_BUILDER.use_trajectory_builder_2d = true
TRAJECTORY_BUILDER_2D.use_imu_data = true
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = true
TRAJECTORY_BUILDER_2D.motion_filter.max_angle_radians = math.rad(0.1)
return options
I modified the original launch configuration because I used rplidar.
<launch>
<node name="rplidarNode" pkg="rplidar_ros" type="rplidarNode" output="screen">
<param name="serial_port" type="string" value="/dev/ttyUSB0"/>
<param name="serial_baudrate" type="int" value="115200"/>
<param name="frame_id" type="string" value="camera_depth_frame"/>
<param name="inverted" type="bool" value="false"/>
<param name="angle_compensate" type="bool" value="true"/>
<remap from="rplidar_scan" to="/scan" />
</node>
<include file="$(find cartographer_turtlebot)/launch/turtlebot.launch">
<arg name="configuration_basename" value="turtlebot_rplidar_2d.lua" />
</include>
</launch>
<launch>
<arg name="configuration_basename" />
<include file="$(find turtlebot_bringup)/launch/minimal.launch" />
<node name="cartographer_node" pkg="cartographer_ros"
type="cartographer_node" args="
-configuration_directory
$(find cartographer_turtlebot)/configuration_files
-configuration_basename $(arg configuration_basename)"
output="screen">
<remap from="points2" to="/camera/depth/points" />
</node>
<node name="flat_world_imu_node" pkg="cartographer_turtlebot"
type="flat_world_imu_node" output="screen">
<remap from="imu_in" to="/mobile_base/sensors/imu_data_raw" />
<remap from="imu_out" to="/imu" />
</node>
</launch>
https://google-cartographer-ros.readthedocs.io/en/latest/
# Install deb dependencies.
rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
rosdep init
should be sudo rosdep init
I am running into some issues with very poor map quality and loop closure that I believe is likely just a parameter tuning issue. I have read through several other issues such as: this one and this one and these have helped some with the tuning.
However, I am still running into big issues with hallways becoming far too short in the map, which causes loop closure issues later on and results in maps like this:
Could anyone give me some suggestions on what parameters I should be tuning or working with to make the map better?
If it helps, I am working with a standard Kobuki Turtlebot base and a Hokuyo URG-04LX Lidar. Since I know that the odometry of the Kobuki base is pretty accurate, are there parameters I can tune to increase the reliance on the odometry and help the hallways be the correct length? From what I can tell this appears to be the main issue, but there might be other stuff going on here that I'm not aware of.
Github fork with my configuration and launch file: here
Bag data I used to produce this map: here
Let me know if you need any other files in order to reproduce the issue. Thanks!
Hello, I'm the user of Kobuki flatform and trying to use this package to my robot. As a beginner, I couldn't find all the things I need to modify from this package. I have a Hokuyo LRF (UTM-30LX). Could you answer or give me the hint? Thank you
Running any of the cartographer_turtlebot demos crashes cartographer for me, but the bag file continues running fine (and I can see the transforms and the like moving around in rviz)
Running Ubuntu 16.04, ROS Kinetic and the latest versions of Google Cartographer and cartographer_ros.
Running the command: roslaunch cartographer_turtlebot demo_depth_camera_2d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag
crashes with the following log file:
�[0m[ INFO] [1513646286.255300015]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer_turtlebot/configuration_files/turtlebot_depth_camera_2d.lua' for 'turtlebot_depth_camera_2d.lua'.�[0m
�[0m[ INFO] [1513646286.486297922]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.�[0m
�[0m[ INFO] [1513646286.486371499]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.�[0m
�[0m[ INFO] [1513646286.507305268]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'.�[0m
�[0m[ INFO] [1513646286.507367056]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'.�[0m
�[0m[ INFO] [1513646286.603565498]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'.�[0m
�[0m[ INFO] [1513646286.603668116]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'.�[0m
�[0m[ INFO] [1513646286.604016053]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.�[0m
�[0m[ INFO] [1513646286.604099415]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.�[0m
�[0m[ INFO] [1513646286.604532959]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.�[0m
�[0m[ INFO] [1513646286.604621262]: I1219 10:18:06.000000 6023 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.�[0m
�[0m[ INFO] [1513646286.621043376]: I1219 10:18:06.000000 6023 submaps.cc:190] Added submap 1�[0m
�[0m[ INFO] [1513646286.621118493]: I1219 10:18:06.000000 6023 map_builder_bridge.cc:86] Added trajectory with ID '0'.�[0m
�[33m[ WARN] [1513646354.416503026, 1474964028.630227051]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.442266700, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.416630495, 1474964028.630227051]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.442266700, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.416718073, 1474964028.630227051]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.462219400, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.416794333, 1474964028.630227051]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.462219400, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.416873029, 1474964028.630227051]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.483201200, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.416959276, 1474964028.630227051]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.483201200, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.417033872, 1474964028.630227051]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.503171400, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.417104863, 1474964028.630227051]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.503171400, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.417182022, 1474964028.630227051]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.432292800, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]�[0m
...
�[33m[ WARN] [1513646354.810388322, 1474964029.023642003]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964028.972893900 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.810486139, 1474964029.023642003]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964028.982893900 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.810572960, 1474964029.023642003]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964028.982893900 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]�[0m
�[33m[ WARN] [1513646354.810663485, 1474964029.023642003]: W1219 10:19:14.000000 6023 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964028.992904
The file is very long (200 lines) so I took a large chunk out of the middle. It's the same few warnings that are at the end repeated over and over again.
Note the strange encoding and the way it cuts off half way through a warning without throwing any errors.
Running the command: roslaunch cartographer_turtlebot demo_lidar_2d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag
Outputs:
logging to /home/px046/.ros/log/57da5538-e45e-11e7-a597-1c666d94682f/roslaunch-PX046-01-7484.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://PX046-01:39267/
SUMMARY
========
PARAMETERS
* /rosdistro: kinetic
* /rosversion: 1.12.12
* /use_sim_time: True
NODES
/
cartographer_node (cartographer_ros/cartographer_node)
cartographer_occupancy_grid_node (cartographer_ros/cartographer_occupancy_grid_node)
flat_world_imu_node (cartographer_turtlebot/cartographer_flat_world_imu_node)
playbag (rosbag/play)
rviz (rviz/rviz)
auto-starting new master
process[master]: started with pid [7497]
ROS_MASTER_URI=http://PX046-01:11311
setting /run_id to 57da5538-e45e-11e7-a597-1c666d94682f
process[rosout-1]: started with pid [7511]
started core service [/rosout]
process[cartographer_node-2]: started with pid [7516]
process[flat_world_imu_node-3]: started with pid [7527]
process[rviz-4]: started with pid [7537]
process[playbag-5]: started with pid [7545]
process[cartographer_occupancy_grid_node-6]: started with pid [7563]
[ INFO] [1513647951.560906426]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer_turtlebot/configuration_files/turtlebot_urg_lidar_2d.lua' for 'turtlebot_urg_lidar_2d.lua'.
[ INFO] [1513647951.586379785]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1513647951.586436117]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'.
[ INFO] [1513647951.586500590]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'.
[ INFO] [1513647951.586554983]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'.
[ INFO] [1513647951.586681860]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'.
[ INFO] [1513647951.586725574]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'.
[ INFO] [1513647951.586767743]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1513647951.586793589]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'.
[ INFO] [1513647951.586865370]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1513647951.586894624]: I1219 10:45:51.000000 7516 configuration_file_resolver.cc:41] Found '/home/px046/catkin_ws/install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'.
[ INFO] [1513647951.592618914]: I1219 10:45:51.000000 7516 submaps.cc:190] Added submap 1
[ INFO] [1513647951.592661303]: I1219 10:45:51.000000 7516 map_builder_bridge.cc:86] Added trajectory with ID '0'.
[ WARN] [1513647952.128497137, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.515544700, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [plate_top_link] to frame [base_link]
[ WARN] [1513647952.128667067, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.442266700, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.128758763, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.442266700, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.128855126, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.432292800, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.128971748, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.432292800, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129044158, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.442292800, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129109577, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.442292800, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129204230, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.462219400, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.129270025, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.462219400, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.129320767, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.452238800, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129368833, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.452238800, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129416994, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.462238800, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129479446, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.462238800, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129541088, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.483201200, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.129613533, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.483201200, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.129703794, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.463235000, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129836892, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.463235000, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129904934, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.473235000, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.129977583, 1474964028.626591778]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation at time 1474964028.473235000, but only time 1474964029.125347757 is in the buffer, when looking up transform from frame [gyro_link] to frame [base_link]
...
[ WARN] [1513647952.564392946, 1474964029.059705825]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.052819300 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.564443770, 1474964029.059705825]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.062819300 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.564499596, 1474964029.059705825]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.062819300 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.584066688, 1474964029.079839964]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.082797200 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.584127830, 1474964029.079839964]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.082797200 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.584187998, 1474964029.079839964]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.072821500 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.584223980, 1474964029.079839964]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.072821500 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.584300152, 1474964029.079839964]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.082821500 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.584338233, 1474964029.079839964]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.082821500 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.604117177, 1474964029.099951971]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.102792500 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.604234696, 1474964029.099951971]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.102792500 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.604337014, 1474964029.099951971]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.092812700 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.604431671, 1474964029.099951971]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.092812700 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.604529493, 1474964029.099951971]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.102812700 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.604579855, 1474964029.099951971]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.102812700 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.625348650, 1474964029.120064181]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.123770100 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.625473218, 1474964029.120064181]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.123770100 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [base_footprint] to frame [base_link]
[ WARN] [1513647952.625624106, 1474964029.120064181]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.103791100 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.625691458, 1474964029.120064181]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.103791100 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.625757776, 1474964029.120064181]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.113791100 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.625818651, 1474964029.120064181]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.113791100 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.625903855, 1474964029.120064181]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.123791100 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
[ WARN] [1513647952.625964074, 1474964029.120064181]: W1219 10:45:52.000000 7516 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1474964029.123791100 but the earliest data is at time 1474964029.125347757, when looking up transform from frame [gyro_link] to frame [base_link]
F1219 10:45:52.643960 7516 sensor_bridge.cc:95] 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] [1513647952.644094185, 1474964029.140180331]: F1219 10:45:52.000000 7516 sensor_bridge.cc:95] 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: ***
@ 0x7f4feec3726d google::LogMessage::Fail()
@ 0x7f4feec39083 google::LogMessage::SendToLog()
@ 0x7f4feec36dfb google::LogMessage::Flush()
@ 0x7f4feec39a6e google::LogMessageFatal::~LogMessageFatal()
@ 0x59ada2 cartographer_ros::SensorBridge::ToImuData()
@ 0x57b040 cartographer_ros::Node::HandleImuMessage()
@ 0x58a80e boost::detail::function::void_function_obj_invoker1<>::invoke()
@ 0x593b09 ros::SubscriptionCallbackHelperT<>::call()
@ 0x7f4fec8b044d ros::SubscriptionQueue::call()
@ 0x7f4fec856210 ros::CallbackQueue::callOneCB()
@ 0x7f4fec857683 ros::CallbackQueue::callAvailable()
@ 0x7f4fec8b4511 ros::SingleThreadedSpinner::spin()
@ 0x7f4fec8994cb ros::spin()
@ 0x573c90 cartographer_ros::(anonymous namespace)::Run()
@ 0x571264 main
@ 0x7f4feb2a6830 __libc_start_main
@ 0x573849 _start
[cartographer_node-2] process has died [pid 7516, exit code -6, cmd /home/px046/catkin_ws/install_isolated/lib/cartographer_ros/cartographer_node -configuration_directory /home/px046/catkin_ws/install_isolated/share/cartographer_turtlebot/configuration_files -configuration_basename turtlebot_urg_lidar_2d.lua scan:=/laser_scan __name:=cartographer_node __log:=/home/px046/.ros/log/57da5538-e45e-11e7-a597-1c666d94682f/cartographer_node-2.log].
log file: /home/px046/.ros/log/57da5538-e45e-11e7-a597-1c666d94682f/cartographer_node-2*.log
Seems to the same as cartographer-project/cartographer_ros#278, but I don't understand the answer given there.
I don't want to use the IMU data in the 2D demo using depth images. So, what I did was to comment out the use_imu flag in trajectory_2d.lua and also commented out the section in launch files that launches the imu related nodes. But on doing so, the code doesn't run at all and warns me that I need to provide IMU data. Is there anyway to turnoff this dependency on IMU data?
I'd appreciate another set of eyes to see what I might be doing wrong?
I'm using the demo_depth_camera_2d.launch stock from this repo, using a bag captured using the Intel RealSense ZR300 camera (https://click.intel.com/intelr-realsensetm-development-kit-featuring-the-zr300.html, https://github.com/intel-ros/realsense) instead of the Asus Xtion Pro camera used in the reference bag.
The map TF seems to randomly oscillate/jitter between a normal pose and something with the X and Y axis pointing somewhere else. The map -> odom transform is thus affected causing a poor quality map.
I've provided a sample bag file @ https://drive.google.com/open?id=0B-PswUXGJd8uU0RLcTVGR3NTZzQ
The same bag file but using the demo_lidar_2d.launch and the rplidar topic stream instead of the depth camera topic stream works fine. Any suggestions what is causing this behavior?
Environment:
Ubuntu 14.04.5, ROS Indigo
I'm a petty new person in ROS system.I did not write launch file ago. I want to building 2D-MAP using KinectV2 and turtlebot2.
This is my launch file. I cannot see anything by rviz. Please tell me where can I fix it. and, what should I do next. Thanks.
我是在ROS系统的新人,我以前没有写launch文件。我想使用kinectv2和turtlebot2建造2D-MAP。
这是我的launch文件。rviz命令后,什么都没有。请告诉我在哪里修改它?。我下一步该怎么办?。谢谢.
<?xml version="1.0"?>
<launch>
<!-- start kinect2-->
<include file="$(find kinect2_bridge)/launch/kinect2_bridge.launch">
<arg name="base_name" value="kinect2"/>
<arg name="sensor" value=""/>
<arg name="publish_tf" value="true"/>
<arg name="base_name_tf" value="kinect2"/>
<arg name="fps_limit" value="-1.0"/>
<arg name="calib_path" value="$(find kinect2_bridge)/data/"/>
<arg name="use_png" value="false"/>
<arg name="jpeg_quality" value="90"/>
<arg name="png_level" value="1"/>
<arg name="depth_method" value="default"/>
<arg name="depth_device" value="-1"/>
<arg name="reg_method" value="default"/>
<arg name="reg_device" value="-1"/>
<arg name="max_depth" value="12.0"/>
<arg name="min_depth" value="0.1"/>
<arg name="queue_size" value="5"/>
<arg name="bilateral_filter" value="true"/>
<arg name="edge_aware_filter" value="true"/>
<arg name="worker_threads" value="4"/>
</include>
<param name="/depthimage_to_laserscan/output_frame_id"
value="camera_depth_frame" />
<arg name="configuration_basename" value="turtlebot_depth_camera_2d.lua" />
<include file="$(find turtlebot_bringup)/launch/minimal.launch" />
<node name="cartographer_node" pkg="cartographer_ros"
type="cartographer_node" args="
-configuration_directory
$(find cartographer_turtlebot)/configuration_files
-configuration_basename $(arg configuration_basename)"
output="screen">
<remap from="points2" to="/camera/depth_registered/points" />
</node>
<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_raw" />
<remap from="imu_out" to="/imu" />
</node>
<node name="cartographer_occupancy_grid_node" pkg="cartographer_ros"
type="cartographer_occupancy_grid_node" args="-resolution 0.05" />
[12/38] Building CXX object internal/c...keFiles/ceres.dir/covariance_impl.cc.o
FAILED: /usr/bin/c++ -DCERES_CXSPARSE_VERSION="3.1.2" -DCERES_SUITESPARSE_VERSION="4.2.1" -DEIGEN_MPL2_ONLY -fopenmp -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -O3 -DNDEBUG -fPIC -Iconfig -I/home/prashant/catkin_ws/src/ceres-solver/include -I/home/prashant/catkin_ws/src/ceres-solver/internal -I/home/prashant/catkin_ws/src/ceres-solver/internal/ceres -isystem /usr/include/eigen3 -I/usr/include/suitesparse -MMD -MT internal/ceres/CMakeFiles/ceres.dir/covariance_impl.cc.o -MF internal/ceres/CMakeFiles/ceres.dir/covariance_impl.cc.o.d -o internal/ceres/CMakeFiles/ceres.dir/covariance_impl.cc.o -c /home/prashant/catkin_ws/src/ceres-solver/internal/ceres/covariance_impl.cc
In file included from /usr/include/eigen3/Eigen/SparseQR:29:0,
from /home/prashant/catkin_ws/src/ceres-solver/internal/ceres/covariance_impl.cc:45:
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h: In member function ‘void Eigen::SparseQR<MatrixType, OrderingType>::factorize(const MatrixType&)’:
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h:438:57: error: ‘numext’ has not been declared
for (Index itq = 1; itq < nzcolQ; ++itq) sqrNorm += numext::abs2(tval(Qidx(itq)));
^
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h:440:36: error: ‘numext’ has not been declared
if(sqrNorm == RealScalar(0) && numext::imag(c0) == RealScalar(0))
^
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h:443:14: error: ‘numext’ has not been declared
beta = numext::real(c0);
^
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h:448:24: error: ‘numext’ has not been declared
beta = std::sqrt(numext::abs2(c0) + sqrNorm);
^
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h:449:10: error: ‘numext’ has not been declared
if(numext::real(c0) >= RealScalar(0))
^
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h:454:13: error: ‘numext’ has not been declared
tau = numext::conj((beta-c0) / beta);
^
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h: In instantiation of ‘void Eigen::SparseQR<MatrixType, OrderingType>::factorize(const MatrixType&) [with _MatrixType = Eigen::SparseMatrix<double, 0>; _OrderingType = Eigen::COLAMDOrdering; Eigen::SparseQR<MatrixType, OrderingType>::MatrixType = Eigen::SparseMatrix<double, 0>]’:
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h:87:20: required from ‘void Eigen::SparseQR<MatrixType, OrderingType>::compute(const MatrixType&) [with _MatrixType = Eigen::SparseMatrix<double, 0>; _OrderingType = Eigen::COLAMDOrdering; Eigen::SparseQR<MatrixType, OrderingType>::MatrixType = Eigen::SparseMatrix<double, 0>]’
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h:82:18: required from ‘Eigen::SparseQR<MatrixType, OrderingType>::SparseQR(const MatrixType&) [with _MatrixType = Eigen::SparseMatrix<double, 0>; _OrderingType = Eigen::COLAMDOrdering; Eigen::SparseQR<MatrixType, OrderingType>::MatrixType = Eigen::SparseMatrix<double, 0>]’
/home/prashant/catkin_ws/src/ceres-solver/internal/ceres/covariance_impl.cc:842:32: required from here
/usr/include/eigen3/Eigen/src/SparseQR/SparseQR.h:315:3: error: ‘Eigen::SparseQR<Eigen::SparseMatrix<double, 0>, Eigen::COLAMDOrdering >::QRMatrixType’ has no member named ‘uncompress’
m_pmat.uncompress(); // To have the innerNonZeroPtr allocated
^
[12/38] Building CXX object internal/c.../generated/schur_eliminator_2_3_9.cc.o
ninja: build stopped: subcommand failed.
<== Failed to process package 'ceres-solver':
Command '['/home/prashant/catkin_ws/install_isolated/env.sh', 'ninja', '-j8', '-l8']' returned non-zero exit status 1
Reproduce this error by running:
==> cd /home/prashant/catkin_ws/build_isolated/ceres-solver && /home/prashant/catkin_ws/install_isolated/env.sh ninja -j8 -l8
Command failed, exiting.
i am getting this error
hello everyone, i have run cartographer in turtlebot3 waffle pi, but can't use imu to make a map. no_imu is ok. and the error log as follow:
[ INFO] [1525244437.574660587]: I0502 15:00:37.000000 3937 collated_trajectory_builder.cc:72] scan rate: 4.92 Hz 2.03e-01 s +/- 2.32e-02 s (pulsed at 99.70% real time)
t_:636608412387287190, t: 636608412387222648,dt=-0.0064542
F0502 15:00:38.786036 3937 ordered_multi_queue.cc:112] Check failed: last_dispatched_time_ <= next_data->GetTime() (636608412387287190 vs. 636608412387222648) Non-sorted data added to queue: '(0, imu)'
[FATAL] [1525244438.787813602]: F0502 15:00:38.000000 3937 ordered_multi_queue.cc:112] Check failed: last_dispatched_time_ <= next_data->GetTime() (636608412387287190 vs. 636608412387222648) Non-sorted data added to queue: '(0, imu)'
*** Check failure stack trace: ***
@ 0x76eb986e google::LogMessage::Fail()
@ 0x76ebae6a google::LogMessage::SendToLog()
@ 0x76eb951c google::LogMessage::Flush()
@ 0x76ebb48c google::LogMessageFatal::~LogMessageFatal()
@ 0x1bacd8 cartographer::sensor::OrderedMultiQueue::Dispatch()
@ 0x1bb482 cartographer::sensor::OrderedMultiQueue::Add()
@ 0x1bc3e0 cartographer::sensor::Collator::AddSensorData()
@ 0x21280e cartographer::mapping::CollatedTrajectoryBuilder::AddData()
@ 0x213c8c cartographer::mapping::CollatedTrajectoryBuilder::AddSensorData()
@ 0x1a1bd8 cartographer_ros::SensorBridge::HandleOdometryMessage()
@ 0x183fc0 cartographer_ros::Node::HandleOdometryMessage()
@ 0x18d468 boost::detail::function::void_function_obj_invoker1<>::invoke()
@ 0x195520 ros::SubscriptionCallbackHelperT<>::call()
@ 0x76772bbc ros::SubscriptionQueue::call()
@ 0x767382e4 ros::CallbackQueue::callOneCB()
@ 0x76738fa0 ros::CallbackQueue::callAvailable()
@ 0x76775a24 ros::SingleThreadedSpinner::spin()
@ 0x767650fc ros::spin()
@ 0x17ecf6 cartographer_ros::(anonymous namespace)::Run()
@ 0x17c54e main
@ 0x763668aa __libc_start_main
[cartographer_node-1] process has died [pid 3937, exit code -6, cmd /home/sunny/gcatkin_ws/install_isolated/lib/cartographer_ros/cartographer_node -configuration_directory /home/sunny/catkin_ws/src/turbot3/turbot3_slam/config -configuration_basename turbot3_lidar_2d.lua scan:=/scan __name:=cartographer_node __log:=/home/sunny/.ros/log/dea8386a-4dcb-11e8-9d35-e470b8ea7c52/cartographer_node-1.log].
log file: /home/sunny/.ros/log/dea8386a-4dcb-11e8-9d35-e470b8ea7c52/cartographer_node-1*.log
why not the time of imu data ,publish one by one; or some choke ?
Hello all,
I recently came across google cartographer for turtlebot and gave it a try. This is the specification of my system:
I collected a data bag using the turtlebot I have and generated a map using demo_lidar_2d.launch. I have modified the launch file so that it listens to right topics. Here is the link to the launch file:
https://drive.google.com/file/d/0B433_L9e51r-dmRZQlItMkR4ODA/view?usp=sharing
Here is the link to the bag file:
https://drive.google.com/file/d/0B433_L9e51r-aHpHbGRuVmxBaDQ/view?usp=sharing
here is the map I got:
Can someone please help me? I am not able to figure out what I am doing wrong.
Thanks.
Hi, I am trying to run cartographer using KITTI run 007. I preprocesed the dataset using a preprocessing step that turns the data into a range image of size [3,60,512]. The cartograher works well in straight lines but blunders at turns. I am clueless as to what coud be the issue here and tried different tricks with respect to the lua configuration, but didnt work. Could someone help here. I am posting the rosbag and the lua file here for refernece. KITTI bag used: kitti-run-007-bag Lua file used Lua This is the result using the bag with the given configuration. The map seems to get lost at the turns. Requesting your help here. Thanks. Prashant
In the turtlebot demo, I want to use RGB-D camera only. So, I have turned off the flags for use_odometry and use_imu_data in the config file named turtlebot_depth_camera_2d.lua. But I think I have to change the following parameters in the config file https://github.com/googlecartographer/cartographer_turtlebot/blob/f26a7246f0e2774e8f9658d8178a7a77420c22e6/cartographer_turtlebot/configuration_files/turtlebot_depth_camera_2d.lua#L21-L24
Although I went through your documentation on setting the configuration parameters, I still don't understand how to exactly make it work while using the RGB-D data only. Kindly help me to figure out this issue.
First of all,thanks for all of your wonderful work and kind help.
I was trying to write assets from the turtlebot bag file,especially a pcd file.I followed the documentation and got the pcd file of a laser bag.And I successfully run the turtlebot demo.
But how can I get assets from the turtlebot bag file?I mean,I tried run assets writer like the laser bag.The pbstream I got is very tiny,and the pcd file is merely black in the viewer.I did get some pictures,though.
I noticed there is no sensor_msgs/PointCloud2 but depth image in the cartographer_turtlebot_demo.bag.That's the reason,right?Assets writer only read point cloud data but it don't convert depth image into pointcloud.(Just a stupid thought, correct me if I were wrong)
Any way,could you please tell me how can I export SLAM point cloud data in a pcd file or a ply file from the turtlebot bag file?Thanks for your time!
i am using the Kobuki platform. I know that there's a driver bug that causes IMU messages to be published out of order. The flat_world_imu_node drops any packets that arrive out of order before they can reach the Cartographer node and cause a crash.
but if an imu data sequence is :header.stamp =10, header.stamp = 5, header.stamp =6, header.stamp =11......, The Cartographer node will receive the data sequence like: 10, 6 ,11,.......... , it will also cause a crash . Cartographer node only want to received data:10 ,11 .........
So, i think that the line 52 may be need to rewrite into the " if ' scope. But, it will cause another question: if i change the system time manually or using NTP, it may drop too many packets.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.