cartographer

漫谈 SLAM 技术(上)

泪湿孤枕 提交于 2020-10-22 18:15:21
转自: https://zhuanlan.zhihu.com/p/135955964 导语 随着最近几年机器人、无人机、无人驾驶、VR/AR的火爆,SLAM技术也为大家熟知,被认为是这些领域的关键技术之一。本文对SLAM技术及其发展进行简要介绍,分析视觉SLAM系统的关键问题以及在实际应用中的难点,并对SLAM的未来进行展望。 1. SLAM技术 SLAM(Simultaneous Localization and Mapping),同步定位与地图构建,最早在机器人领域提出,它指的是:机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的环境特征定位自身位置和姿态,再根据自身位置构建周围环境的增量式地图,从而达到同时定位和地图构建的目的。由于SLAM的重要学术价值和应用价值,一直以来都被认为是实现全自主移动机器人的关键技术。 如下图,通俗的来讲,SLAM回答两个问题:“我在哪儿?”“我周围是什么?”,就如同人到了一个陌生环境中一样,SLAM试图要解决的就是恢复出观察者自身和周围环境的相对空间关系,“我在哪儿”对应的就是定位问题,而“我周围是什么”对应的就是建图问题,给出周围环境的一个描述。回答了这两个问题,其实就完成了对自身和周边环境的空间认知。有了这个基础,就可以进行路径规划去达要去的目的地,在此过程中还需要及时的检测躲避遇到的障碍物,保证运行安全。 2. SLAM发展简介

开源自主导航小车MickX4(一)ROS底盘硬件

霸气de小男生 提交于 2020-10-13 02:00:09
开源自主导航小车MickX4 1 ROS底盘电气系统 1.1 底盘机械组装 1.2 底盘硬件框图 1.3 电气系统搭建 2 差速底盘运动学模型 参考资料 在学习ROS的阶段我们使用的都是标准的ROS底盘,只需要一个命令就可以启动小车,然后向 cmd_vel话题上发送数据即可控制小车移动的线速度和角速度。使用标准的ROS底盘可以使我们快速的掌握ROS导航的相关知识。处于加深对ROS自主导航小车的学习,因此设计自制一个ROS小车底盘,学习标准底盘的制作过程。 本系列教程意在分享自己学习ROS自主导航小车时候的笔记,教程内容包含了从零开始搭建一个如下所示的四轮小车模型,小车的名字为 MickX4 ,我们按照小车底盘硬件,然后介绍ROS建图,导航与控制这个顺序介绍小车的搭建过程。教程一共分为6篇: 开源自主导航小车MickX4(一)ROS底盘硬件 开源自主导航小车MickX4(二)ROS底盘运动控制 开源自主导航小车MickX4(三)底盘ROS节点 开源自主导航小车MickX4(四)小车cartographer建图 开源自主导航小车MickX4(五)小车室外导航 开源自主导航小车MickX4(六)总结与展望 下图是一个MickX4小车的装配效果图: 1 ROS底盘电气系统 在ROS的自主导航框架中,运动控制系统主要负责小车底盘的精准速度控制并向工控机提供底盘传感器接口

Real-Time Loop Closure in 2D LIDAR SLAM 翻译和总结(一)

让人想犯罪 __ 提交于 2020-08-15 10:53:22
Hess W , Kohler D , Rapp H , et al. Real-Time Loop Closure in 2D LIDAR SLAM[C]// 2016 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2016. 此篇论文是谷歌发表,主要讲了cartographer激光SLAM的实时回环方法,以及大致框架。 摘要 便携式激光测距仪,尤其是激光雷达LIDAR,以及SLAM技术,是一种有效获取建筑平面图的工具和方法。实时生产和可视化建筑平面图可以帮助人们实时评估数据的质量和覆盖范围。基于有限的计算资源构建这样的便携式数据采集和处理平台是非常有必要的。作者提出一种背包建图平台,可以以 5cm的分辨率 实现实时建图和回环。为了实现实时的回环,文中使用了一种称为 分支定界的方法计算scan-to-submap的匹配 ,并作为约束条件。文中与其他方法进行了实验对比,在性能方面,该方法相对现有方法还是具有较大优势。 1. 引言 建筑平面图在大多数场合都非常有用。调查显示一般采集建筑平面图都是基于当初的建筑设计时的CAD图纸和激光尺测量来进行。这些方法不仅慢,而且因为直线的采集通过人的主观先验确定,这些不总是能够精确描述空间的真实特征。使用SLAM

1.编译cartographer ROS

孤街浪徒 提交于 2020-04-25 18:37:01
1.系统要求 cartographer ROS与Cartographer要求一样,即 64-bit, modern CPU (e.g. 3rd generation i7) 16 GB RAM Ubuntu 14.04 (Trusty) and 16.04 (Xenial) gcc version 4.8.4 and 5.4.0 支持的ROS版本: Indigo Kinetic Lunar Melodic 编译并安装 为了编译Cartographer ROS,推荐使用 wstool 和 rosdep 。为了更快得编译,建议使用 Ninja 。 sudo apt- get update sudo apt - get install -y python-wstool python-rosdep ninja-build 在catkin_ws中创建一个新的cartographer_ros工作空间。 mkdir catkin_ws cd catkin_ws wstool init src wstool merge -t src https: // raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall wstool update -t src

cartographer 分析

别等时光非礼了梦想. 提交于 2020-04-25 18:36:43
原文链接: http://blog.csdn.net/zyh821351004/article/details/52421005 cartographer与karto的比较 1. 两者采取的都是图优化框架。 采取的优化库不一致, karto采取的是spa(karto_slam)或g2o(nav2d), cartographer采取的是google的ceres构建problem优化。 karto的前端与后端采取的是单线程进行,cartographer按paper说明,采取的是4线程后端优化,还在进一步确定。 2. 运动预测部分:tracker karto利用的是odom进行初始位置的预测, cartographer部分利用imu构建预测模型,scanmatcher与odom(可选)构建观测模型,采取UKF进行运动预测, cartographer带有tracker的说法。 // Implementation of a Kalman filter. We follow the nomenclature from Thrun, S. et al., Probabilistic Robotics, 2006. // Extended to handle non-additive noise/sensors inspired by Kraft, E., A // Quaternion

我用MATLAB撸了一个2D LiDAR SLAM

回眸只為那壹抹淺笑 提交于 2020-04-18 02:21:54
0 引言 刚刚入门学了近一个月的SLAM,但对理论推导一知半解,因此在matlab上捣鼓了个简单的2D LiDAR SLAM的demo来体会体会SLAM的完整流程。 (1)数据来源:德意志博物馆Deutsches Museum)的2D激光SLAM数据,链接如下: Public Data - Cartographer ROS documentationgoogle-cartographer-ros.readthedocs.io (2)SLAM过程展示(戳下面的小视频) <iframe frameborder="0" allowfullscreen="" src="https://www.zhihu.com/video/1050063244621930496" style="display: block; width: 688px; height: 387px;"></iframe> 2D LiDAR SLAM (3)demo得到的SLAM效果: SLAM效果(包含路径、当前位姿、栅格地图) 1 数据准备与参数设置 1.1 2DLiDAR数据集准备 将提供的2DLiDAR数据集'b0-2014-07-11-10-58-16.bag',转为matlab的.mat数据文件,这其中包括有5522批次扫描数据,每次扫描得到1079个强度点。如下: 1.2 LiDAR的传感器参数设置 包括