::cartographer::common::Time FromRos(const ::ros::Time& time) {
// The epoch of the ICU Universal Time Scale is "0001-01-01 00:00:00.0 +0000",
// exactly 719162 days before the Unix epoch.
// ICU世界时标的纪元是“0001-01-01 00:00:00.0+0000”,正好比Unix纪元早719162天
return ::cartographer::common::FromUniversal(
(time.sec +
::cartographer::common::kUtsEpochOffsetFromUnixEpochInSeconds) *
10000000ll +
(time.nsec + 50) / 100); // + 50 to get the rounding correct.
}
constexpr int64 kUtsEpochOffsetFromUnixEpochInSeconds =
(719162ll * 24ll * 60ll * 60ll);
请问一下 两个纪元相差的天数转换为秒数再加上运行时间的秒数后边需要乘10000000是为什么阿
不知道你这个问题是否已经解决, 如果还没有解决的话:对修改后的工作空间, 在终端执行以下语句以重编译:
//编译cartographer工作空间catkin_make_isolated --install --use-ninja
//刷新环境source devel_isolated/setup.bash
运行时, 先运行雷达的相关topic, 保证雷达已有有效数据通过topic输出后, 运行我们的新launch文件:roslaunch cartographer_ros my_demo_revo_lds.launch
即可开始建图.