参数意义部分内容转自 https://blog.csdn.net/qq_29796781/article/details/78969734 及 http://www.cnblogs.com/Ezekiel/p/9907812.html

相较于之前版本的lua_parameter_dictionary.cc 多了几个key需要配置 use_nav_sat use_landmarks 等等
SPARSE_POSE_GRAPH变成了POSE_GRAPH

include "map_builder.lua"
include "trajectory_builder.lua"options = {map_builder = MAP_BUILDER,trajectory_builder = TRAJECTORY_BUILDER,map_frame = "map",tracking_frame = "base_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,submap_publish_period_sec = 0.3,pose_publish_period_sec = 5e-3,trajectory_publish_period_sec = 30e-3,rangefinder_sampling_ratio = 1.,odometry_sampling_ratio = 1.,fixed_frame_pose_sampling_ratio = 1.,landmarks_sampling_ratio = 1.,imu_sampling_ratio = 1.,}MAP_BUILDER.use_trajectory_builder_2d = trueTRAJECTORY_BUILDER_2D.submaps.num_range_data = 35
TRAJECTORY_BUILDER_2D.min_range = 0.3
TRAJECTORY_BUILDER_2D.max_range = 8.
TRAJECTORY_BUILDER_2D.missing_data_ray_length = 1.
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 = 10.
TRAJECTORY_BUILDER_2D.real_time_correlative_scan_matcher.rotation_delta_cost_weight = 1e-1
POSE_GRAPH.optimization_problem.huber_scale = 1e2
POSE_GRAPH.optimize_every_n_nodes = 35
POSE_GRAPH.constraint_builder.min_score = 0.65
--SPARSE_POSE_GRAPH.optimization_problem.huber_scale = 1e2
--SPARSE_POSE_GRAPH.optimize_every_n_scans = 35
--SPARSE_POSE_GRAPH.constraint_builder.min_score = 0.65return options
  • 地图坐标系 map_frame = “map”

  • map_frame
    地图坐标系,用来发布子地图的ROS坐标系ID,位姿的父坐标系,通常是“map”

  • tracking_frame
    建图时跟踪的坐标系 如果使用了IMU应该是IMU的位置 尽管它可能转动了
    常用的选择是“imu_link”(一博主这么说) 但是我见到的都是base_link

  • published_frame
    作为发布位置的子坐标系的ROS坐标系ID,对于“odom”例程,如果系统的其他地方提供“odom”坐标系,那么“odom”在map_frame中的位置将会被发布,否则,设置为“base_link”即可。

  • odom_frame
    “provide_odom_frame”为真时使用,位于“published_frame ”和“map_frame”之间,用来发布本地SLAM结果(非闭环),通常是“odom”。

  • provide_odom_frame
    如果使能,这个局部的,非闭环的,连续的“odom_frame ”在“map_frame”中的位置将被发布。

  • use_odometry
    如果使能,将订阅nav_msgs/Odometry类型的topic “odom”,这种情况下,必须提供里程计,而且里程计的信息将被包含在SLAM中。

  • num_laser_scans
    订阅的laser scan topics的个数,对于单个激光,订阅sensor_msgs/LaserScan类型的“scan”topic(ensor_msgs/LaserScan这个topic 将被用SLAM的输入)
    对于多个激光,topics为“scan_1”, “scan_2”…(如果num_laser_scans大于1,那么多个被编号的scan topics
    (比如scan1、scan2、scan3、……直到并包括num_laser_scans)将被用作SLAM的输入)

  • num_multi_echo_laser_scans
    订阅多回波技术laser scan topics的个数,对于单个激光,订阅sensor_msgs/MultiEchoLaserScan类型的“echoes”topic,对于多个激光,topics为“echoes_1”, “echoes_2”…。

  • num_subdivisions_per_laser_scan
    接收到的(多回波)laser scan中分离出来的点云的个数,分割scan能够保证在激光设备移动的过程中scans不弯曲变形。有相应的轨迹生成器选项可以将分离的scans累积到点云中,用来进行scan matching。

  • num_point_clouds
    订阅的点云topics 的个数,对于单个测距仪,订阅sensor_msgs/PointCloud2类型的“points2”topic,对于多个测距仪,topics为“points2_1”, “points2_2”…。

  • lookup_transform_timeout_sec
    使用tf2进行转换搜素的超时时间的秒数。

  • submap_publish_period_sec
    发布submap 位置的间隔秒数,如0.3s。

  • pose_publish_period_sec
    发布位置的间隔秒数,如5e-3对应200Hz,即5ms

  • trajectory_publish_period_sec
    发布轨迹标记的间隔秒数,如30e-3对应30ms。

  • 一个轮速计,发布/odom(Odometry),tf: odom->base_link:

published_frame=”odom”,
use_odometry=true,`
  • 没有惯导或不相信其他传感器,而只使用激光雷达数据:
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching=true

rplidar.lua相关推荐

  1. ROS中阶笔记(七):机器人SLAM与自主导航—SLAM功能包的使用

    ROS中阶笔记(七):机器人SLAM与自主导航-SLAM功能包的使用 文章目录 1 机器人必备条件 1.1 硬件要求 1.2 深度信息 1.2.1 激光雷达 1.2.2 kinect 1.3 里程计信 ...

  2. kinetic安装cartographer及gazebo仿真测试教程[22年1月23日测试]

    kinetic安装测试cartographer教程 [2022/1/23]本实验环境为ubuntu16.04+[ROS]kinetic1.12.17 参考链接:https://blog.csdn.ne ...

  3. ROS使用 cartographer建图

    1>启动gazebo roslaunch mbot_gazebo view_mbot_with_laser_gazebo_suyunzzz_world.launch 2>启动cartogr ...

  4. ROS2_Foxy学习9——多机激光SLAM先导篇

    ROS2_Foxy学习9--多机激光SLAM先导篇 1 环境准备 2 ROS1下测试SLAM 2.1 cartographer 源码测试 2.2 rplidar_ros 源码测试 2.3 rplida ...

  5. ROS2_Foxy学习10——多机激光SLAM准备篇

    ROS2_Foxy学习10--多机激光SLAM准备篇 1 安装Ubuntu20.04 mate 2 安装ROS noetic 3 安装cartographer 4 详细配置cartographer 5 ...

  6. 深蓝学院ros学习总结

    深蓝学院ros学习总结 对于深蓝学院课程来说,最最基础的部分在于模型的建立,因为所有的运行都是基于仿真环境,无论是rviz还是gazebo环境. 模型的建立分为两种:urdf模型文件.xacro模型文 ...

  7. Rplidar学习(五)—— rplidar使用cartographer_ros进行地图云生成

    一.Cartographer简介 Cartographer是google开源的通用2D和3D定位与地图同步构建的SLAM工具,并提供ROS接口.官网地址:https://github.com/goog ...

  8. Nvidia TX2+rplidar+autolabor pro1实现自主导航机器人

    简介 程序实现了室内自主导航机器人.基本功能有激光SLAM建图.AMCL定位.机器人运动规划.车辆监控和任务规划. 底盘采用Autolabor公司的autolabor pro1,激光雷达选用rplid ...

  9. 英伟达NX+rplidar S1 +cartographer

    最近在英伟达NX上安装cartographer的时候遇到一些问题,在此记录一下. 首先安装rplidar_ros 可以参考我的另外一篇讲hector的文章. https://blog.csdn.net ...

  10. 【RPLIDAR】ubuntu18.04安装cartographer源码并使用RPLIDAR A2M8 - R4建图

    1.创建工作空间 mkdir cartographer_ws cd cartographer_ws wstool init src 2.下载cartographer源码包 wstool merge - ...

最新文章

  1. 学籍管理系统 c语言流程图,程序设计基础 ——C语言第10章 综合应用案例——学生学籍管理系统...
  2. 量子计算和量子模拟研究获进展
  3. ssh跳板登陆太麻烦,使用expect每次自动登录 利用expect 模拟键盘动作,在闲置时间之内模拟地给个键盘响应...
  4. QML基础类型之palette
  5. Scaffold php,GitHub - yiiplus/scaffold: scaffold是一个基于Yii2高级项目模版工程化实现的应用程序...
  6. squid代理服务器(捎带的SNAT)
  7. 准确率 召回率_机器学习中F值(F-Measure)、准确率(Precision)、召回率(Recall)
  8. json介绍及简单示例
  9. 洛谷P2023 [AHOI2009]维护序列
  10. 毕设--基于51单片机数字电压表的设计
  11. 51单片机原理以及接口技术(一)-单片机发展概述
  12. Foxit PDF SDK for iOS--零基础Cordova开发
  13. word给图片插入题注并在文中交叉使用
  14. helm chart 快速入门
  15. 批量修改word文字字体字号
  16. Windows的程序包管理器choco安装
  17. 《前端中文入门手册》.pdf
  18. window用户切换
  19. js 正则校验 长数字 电话号码 银行卡号
  20. echarts贵州地图展示自定义贵安新区

热门文章

  1. java io和nio的区别_IO与NIO的区别
  2. unity中使用C#语言判断斗地主出牌牌型
  3. c语言 步进电机 程序,步进电机加速启动C语言程序
  4. Linux驱动开发(九)---树莓派I2C设备驱动开发(BME280)
  5. unipush配置华为通道
  6. html 鼠标右击事件,鼠标右击事件(练习)
  7. 数仓4.0之即席查询
  8. 根据《程序员竞争力矩阵》的自我评价
  9. 如何仿微信聊天软件搭建
  10. JSON值的获取以及遍历 [JSON]