cartographer保存地图
手持激光,并用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保存地图的更多相关文章
- 【Arcgis for android】保存地图截图到sd卡
关键词:arcgis for android ,截图,bitmap,sd卡 参考文章:http://blog.csdn.net/wozaifeiyang0/article/details/767972 ...
- 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/ ...
- ORB-SLAM2 地图保存
一.简介 在ORB-SLAM2的System.h文件中,有这样一句话:// TODO: Save/Load functions,让读者自己实现地图的保存与加载功能.其实在应用过程中很多场合同样需要先保 ...
- openlayers 保存当前地图View为图片
/** * 保存地图为图片工具栏 */function addMapToolSavePicture() { var saveElement = document.createElement('a'); ...
- 第十五章节 BJROBOT cartographer 算法构建地图【ROS全开源阿克曼转向智能网联无人驾驶车】
建地图前说明:请确保你的小车已经校正好 IMU.角速度.线速度,虚拟机配置好 ROS 网络的前提进行,否则会造成构建地图无边界.虚拟机端无法正常收到小车主控端发布的话题数据等异常情况!! 1.把小车平 ...
- 吐槽贴:百度地图 api 封装 的实用功能 [源码下载]
ZMap 类 功能介绍 ZMap 是学习百度地图 api 接口,开发基本功能后整的一个脚本类,本类方法功能大多使用 prototype 原型 实现: 包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐 ...
- 地图编辑器V3
V3.2.4 (2014-07-03) ---------------------------1. 保存地图的锁定与可视状态:2. 地图单独存为map格式结尾的文件与导出的XML文件区别:3. 修正瓷 ...
- 地图编辑器V2.3
MapEditorV2.3 changelog: ====================================== V2.9.0 (2013-11-18)----------------- ...
- 地图编辑器V1
功能:1. 拖放地图元素至地图编辑器中2. 可设置参考图3. 背景图可平铺,中央,左上角等放置4. 地图上的元素可旋转,可删除,可拖动5. 保存地图数据时同时生成XML格式的地图信息 -------- ...
随机推荐
- HTTP&HTTPS协议详解之HTTP篇
一.HTTP简介 01.什么是HTTP HTTP(HyperText Transfer Protocol ,超文本传输协议),是一个基于请求与响应的,无状态的,应用层的协议,常基于TCP/IP协议传输 ...
- Apache 安装 静态编译 动态编译
2014-09-19 09:53 (分类:Linux) 排名第一的web服务器. (linux环境:CentOS release 6.5 (Final)) 安装出错:如下 configure: err ...
- 单页应用(SPA,Single-page-App)和多页应用(MPA,Multi-page App)的区别
单页应用(SPA,Single-page-App)和多页应用(MPA,Multi-page App)的区别 参考博客:https://www.jianshu.com/p/4c9c29967dd6
- oracle数据库重要的查询语句
查看所有数据文件(dbf文件)的存放位置 SQL> select name from v$datafile; 标红色的为默认表空间文件 SQL> select name from v$da ...
- JS正则表达式的创建、匹配字符串、转义、字符类、重复以及常用字符
正则表达式都是操作字符串的 作用:对数据进行查找.替换.有效性验证 创建正则表达式的两种方式: // 字面量方式 /js/ // 构造函数方式 regular expression new RegEx ...
- ViewPager调用notifyDataSetChanged() 刷新问题解决方案
一.问题来由 ViewPager控件很大程度上满足了开发者开发页面左右移动切换的功能,使用非常方便.但是使用中发现,在删除或者修改数据的时候,PagerAdapter无法像BaseAdapter那样仅 ...
- mysql添加索引(建表之后)
一.使用ALTER TABLE语句创建索引 语法如下: alter table table_name add index index_name (column_list) ; alter table ...
- UNIX环境高级编程-第三章习题
1,当读写磁盘文件时,read,write等函数确实是不带缓冲机制的吗?请说明原因. 答:所有磁盘I/O都要经过内核的块缓存区(即内核的缓冲区高速缓存).唯一例外的是对原始磁盘设备的I/O,但是我们不 ...
- MySQL安装详细步骤(附迅雷下载链接)
环境:windows10.64bit.mysql 8.0.19 迅雷下载链接8.0版本 https://cdn.mysql.com//Downloads/MySQLInstaller/mysql-in ...
- Java基础之四、字符和字符串 异常处理
字符和字符串是最常用的信息 1:char表示字符 字符常量-两个单引号中间的字符表示字符常量'A' 2:字符串和String 字符串常量-双引号中间的字符序列"Java" 字符串常 ...