手持激光,并用cartographer建图,保存的地图是.pbstream格式

ht@ht:~$ rosservice call /write_state /home/ht/Desktop/carto_map.pbstream ''
status:
code:
message: "State written to '/home/ht/Desktop/carto_map.pbstream'."

再执行下一步保存:

ht@ht:~$ rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=/home/ht/Desktop/ros_map -pbstream_filename=/home/ht/Desktop/carto_map.pbstream -resolution=0.05
I1116 ::02.375815 pbstream_to_ros_map_main.cc:] Loading submap slices from serialized data.
I1116 ::03.199592 pbstream_to_ros_map_main.cc:] Generating combined map image from submap slices.

得到三个文件:carto_map.pbstream、ros_map.pgm、ros_map.yaml

建图的过程

1、修改配置

参数文件:src/cartographer_ros/cartographer_ros/configuration_files/revo_lds.lua;其中修改的地方有: tracking_frame = "laser", published_frame = "laser", use_odometry = false

include "map_builder.lua"
include "trajectory_builder.lua" options = {
map_builder = MAP_BUILDER,
trajectory_builder = TRAJECTORY_BUILDER,
map_frame = "map",
tracking_frame = "laser",
published_frame = "laser",
odom_frame = "odom",
provide_odom_frame = true,
publish_frame_projected_to_2d = false,
use_pose_extrapolator = true,
use_odometry = false,
use_nav_sat = false,
use_landmarks = false,
num_laser_scans = ,
num_multi_echo_laser_scans = ,
num_subdivisions_per_laser_scan = ,
num_point_clouds = ,
lookup_transform_timeout_sec = 0.2,
submap_publish_period_sec = 0.3,
pose_publish_period_sec = 5e-,
trajectory_publish_period_sec = 30e-,
rangefinder_sampling_ratio = .,
odometry_sampling_ratio = .,
fixed_frame_pose_sampling_ratio = .,
imu_sampling_ratio = .,
landmarks_sampling_ratio = .,
} MAP_BUILDER.use_trajectory_builder_2d = true TRAJECTORY_BUILDER_2D.submaps.num_range_data =
TRAJECTORY_BUILDER_2D.min_range = 0.3
TRAJECTORY_BUILDER_2D.max_range = .
TRAJECTORY_BUILDER_2D.missing_data_ray_length = .
TRAJECTORY_BUILDER_2D.use_imu_data = false
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = true
TRAJECTORY_BUILDER_2D.real_time_correlative_scan_matcher.linear_search_window = 0.1
TRAJECTORY_BUILDER_2D.real_time_correlative_scan_matcher.translation_delta_cost_weight = .
TRAJECTORY_BUILDER_2D.real_time_correlative_scan_matcher.rotation_delta_cost_weight = 1e- POSE_GRAPH.optimization_problem.huber_scale = 1e2
POSE_GRAPH.optimize_every_n_nodes =
POSE_GRAPH.constraint_builder.min_score = 0.65 return options

注意:修改完配置文件,需要重新编译;

catkin_make -DCATKIN_WHITELIST_PACKAGES=cartographer_ros

启动文件:src/cartographer_ros/cartographer_ros/launch/rplidar_demo_revo_lds.launch;这里要修改的是<param name="/use_sim_time" value="true" /> ,<remap from="scan" to="scan" />

<launch>
<param name="/use_sim_time" value="true" /> <node name="cartographer_node" pkg="cartographer_ros"
type="cartographer_node" args="
-configuration_directory $(find cartographer_ros)/configuration_files
-configuration_basename revo_lds.lua"
output="screen">
<remap from="scan" to="scan" />
</node> <node name="rviz" pkg="rviz" type="rviz" required="true"
args="-d $(find cartographer_ros)/configuration_files/demo_2d.rviz" /> </launch>

cartographer保存地图的更多相关文章

  1. 【Arcgis for android】保存地图截图到sd卡

    关键词:arcgis for android ,截图,bitmap,sd卡 参考文章:http://blog.csdn.net/wozaifeiyang0/article/details/767972 ...

  2. Creating a Store Locator with PHP, MySQL & Google Maps(保存地图坐标 经纬度方法 google mysql)

    Google Geo APIs Team August 2009 This tutorial is intended for developers who are familiar with PHP/ ...

  3. ORB-SLAM2 地图保存

    一.简介 在ORB-SLAM2的System.h文件中,有这样一句话:// TODO: Save/Load functions,让读者自己实现地图的保存与加载功能.其实在应用过程中很多场合同样需要先保 ...

  4. openlayers 保存当前地图View为图片

    /** * 保存地图为图片工具栏 */function addMapToolSavePicture() { var saveElement = document.createElement('a'); ...

  5. 第十五章节 BJROBOT cartographer 算法构建地图【ROS全开源阿克曼转向智能网联无人驾驶车】

    建地图前说明:请确保你的小车已经校正好 IMU.角速度.线速度,虚拟机配置好 ROS 网络的前提进行,否则会造成构建地图无边界.虚拟机端无法正常收到小车主控端发布的话题数据等异常情况!! 1.把小车平 ...

  6. 吐槽贴:百度地图 api 封装 的实用功能 [源码下载]

    ZMap 类 功能介绍 ZMap 是学习百度地图 api 接口,开发基本功能后整的一个脚本类,本类方法功能大多使用 prototype 原型 实现: 包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐 ...

  7. 地图编辑器V3

    V3.2.4 (2014-07-03) ---------------------------1. 保存地图的锁定与可视状态:2. 地图单独存为map格式结尾的文件与导出的XML文件区别:3. 修正瓷 ...

  8. 地图编辑器V2.3

    MapEditorV2.3 changelog: ====================================== V2.9.0 (2013-11-18)----------------- ...

  9. 地图编辑器V1

    功能:1. 拖放地图元素至地图编辑器中2. 可设置参考图3. 背景图可平铺,中央,左上角等放置4. 地图上的元素可旋转,可删除,可拖动5. 保存地图数据时同时生成XML格式的地图信息 -------- ...

随机推荐

  1. MySQL的简介

    什么是数据库 1. 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同 的API(接口)用于创建,访问,管理,搜索和复制所保存的数据 2. 我们也可以将 ...

  2. 编译原理实验之SLR1文法分析

    ---内容开始--- 这是一份编译原理实验报告,分析表是手动造的,可以作为借鉴. 基于  SLR(1) 分析法的语法制导翻译及中间代码生成程序设计原理与实现1 .理论传授语法制导的基本概念,目标代码结 ...

  3. EF core (code first) 通过自定义 Migration History 实现多租户使用同一数据库时更新数据库结构

    前言 写这篇文章的原因,其实由于我写EF core 实现多租户的时候,遇到的问题. 具体文章的链接: Asp.net core下利用EF core实现从数据实现多租户(1) Asp.net core下 ...

  4. Language Model

    在某次会上的语言模型的ppt.

  5. [jQuery]jQuery和DOM对象互换(四)

    DOM 和 jQuery 相互转换 DOM 转jQuery $(DOM对象) # (1)直接获取 $('video'); # (2)转换 $(DOM对象) var myVideo = document ...

  6. 我说我了解集合类,面试官竟然问我为啥HashMap的负载因子不设置成1!?

    在Java基础中,集合类是很关键的一块知识点,也是日常开发的时候经常会用到的.比如List.Map这些在代码中也是很常见的. 个人认为,关于HashMap的实现,JDK的工程师其实是做了很多优化的,要 ...

  7. linux传输文件-sftp

    SFTP sftp登陆远程服务器 sftp username@ip 例如:sftp mqadmin@10.10.1.150 然后输入password即可   put:上传文件 例如:put iosta ...

  8. js this是什么?[多次书写]

    前言 以前的时候,我写了一个关于js this的博客,写的非常复杂,分析了各种情况. 现在我想简化. 如果你有后台基础,专门去理解过this,那么请忘记. 这东西是有口诀的: 在方法中,this 表示 ...

  9. SharePoint 更新服务器场管理员密码

    前言 很多客户都不允许服务器场管理员账号是永不过期的,这样一方面不安全,另外,也不符合很多公司的安全策略. 正文 所以,我们就会遇到定期修改密码的操作,说真的,这个操作有点sao,因为我们很多时候会用 ...

  10. [Linux] ubuntu下yarn依赖管理工具的安装和使用

    Yarn 对你的代码来说是一个包管理器, 你可以通过它使用全世界开发者的代码, 或者分享自己的代码.Yarn 做这些快捷.安全.可靠,所以你不用担心什么.通过Yarn你可以使用其他开发者针对不同问题的 ...