zldodo's blog

Tags · SLAM

Home

About

Archives

SLAMCartographer

Have Fun with SLAM-07-Summary

终于写到了这里,第一次写这样子的系列博客,也算是为Have Fun with SLAM系列画上一个小小的句号:)如果你看到了这里,哈哈哈,真的非常谢谢你的支持哟~下面我将对这几节的内容做一个小结,然后梳理一下资源链接。

Read more
SLAMCartographer

Have Fun with SLAM-06-Raspberry Pi 3

经过前面的积累,我们现在已经利用一台笔记本电脑和TurtleBot,就能够实现实时室内建图了。但是,考虑到实际应用场景,例如无人机来做SLAM,或是其他的移动平台,往往其计算能力是有限,而实时SLAM算法对计算机的性能较高。因此,我们可以在微机系统下录包,然后在笔记本上离线建图。这里,我们选择树莓派作为移动平台的处理器。 树莓派安装Ubuntu操作系统在树莓派上安装与笔记本上版本相同的Ubuntu系统。现在,Ubuntu MATE 16.04 LTS(xenial)已经发布,支持树莓派3和树莓派2. 刚接触树莓派的朋友,操作系统安装方法可参考这里。树莓派有HDMI借口,可以连电脑显示器,也可以买一块显示屏,显示屏配置方法可参考微雪电子4inch HDMI LCD。 安装ROS,Cartographer,Tu..

Read more
SLAMCartographer

Have Fun with SLAM-05-IMU

在 W. Hess2016论文里提到,Cartographer算法可以不使用IMU信息,可以仅依靠激光雷达/视觉相机,估算运动状态和轨迹,实现建图。但如果缺乏IMU,pose精度得不到保证,这将影响到建图精度。因此,为了获得高精度地图,IMU是非常关键的。 在上一节Have Fun with SLAM-04-Configuration中,我们默认使用了TurtleBot的IMU,并没有自行配置。这一节将重点介绍IMU的配置方法,以XSENS公司的MTw系列IMU为例。 安装MTw USB Serial Driver这一步貌似可以忽略,我在树莓派上省略了这一步,也能正常工作。 12345git clone https://github.com/xsens/xsens_mt.gitcd ~/xsens_mtma..

Read more
SLAMCartographer

Have Fun with SLAM-04-Configuration

完成系统安装后,接下来是编辑配置文件。这一部分内容非常关键,直接影响着SLAM系统能否顺利工作。可能这一部分需要花一些时间,需要清楚配置文件中每一部分的具体含义和功能。当熟悉完配置文件的格式后,你就可以针对自己搭建的系统进行相关配置了。

Read more
loading..
SLAMCartographer

Have Fun with SLAM-03-Installation

现在,让我们正式开始SLAM吧!需要准备1台或2台电脑,一个移动平台和SLAM传感器(激光雷达或视觉传感器,如Kinect)。我们采用的传感器是激光雷达,移动平台是Turtlebot2,SLAM算法是 Google公司发布的Cartographer。此外,我们将树莓派作为下位机,搭载在Turtlebot2上,负责记录激光雷达和IMU(Inertial Measurement Unit),odometry等传感器信息,然后发送至上位机(一台笔记本电脑)。r然后在上位机上,运行SLAM算法,实时显示地图结果。

Read more
SLAMCartographer

Have Fun with SLAM-02-Cartographer

Cartographer,中文直译为建图者,是Google开源的一个ROS系统支持的2D和3D SLAM库。开发人员可以用这个库实现二维和三维定位及制图功能。其SLAM 算法结合了来自多个传感器(比如,LIDAR、IMU 和 摄像头)的数据,同步计算传感器的位置并绘制传感器周围的环境。开源 Cartographer 还搭配有开源机器人操作系统(ROS),使得该技术库更易于部署到机器人、无人驾驶、无人机等系统。 Getting StartedCartographer 是一个独立的C++函数库。如果想要快速感受SLAM的乐趣,Google也提供了ROS封装好的算法包。 Getting start with ROS刚开始接触SLAM时,即使对算法原理非常熟悉,但编写复杂代码仍然是非常费劲的。相比从一砖一瓦建筑..

Read more
loading..
SLAMCartographer

Have Fun with SLAM-01-Overview

认知环境,并能自我定位,是自主式机器人在真实环境中执行任务时非常重要的一项能力。随着无人技术和智能产品不断涌现,SLAM(Simultaneous Localization and Mapping),即时定位与地图构建,作为其中的一种基础技术,受到了学业界和工业界的高度关注。 在自身兴趣和课业要求的双从驱动下,我从今年开始学习SLAM的相关知识。在这期间,领略到了SLAM领域的博大精深,数学基础要求比较高,特别是概率学和优化。当还沉浸在漫天的公式无法自拔之时,你会发现,这些理论不过是SLAM海洋的冰山一角。因为实际场景往往有实时性要求,所以,coding 才是更大的挑战,而我还没开始真正踏足这一部分。 什么是SLAM?SLAM问题可以描述为: 机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估..

Read more
SLAMCartographer

Hokuyo laser安装与配置

安装 Indigo以上的ROS版本需要使用urg_node进行配置 首先安装urg_node package1sudo apt-get install ros-kinetic-urg-node 给Hokuyo供电,并与电脑连接 配置Hokuyo 确保你的urg_node能连接到Hokuyo laser scanner 索取Hokuyo的权限1ls -l /dev/ttyACM0 你将看见跟下面相似的内容1crw-rw-XX- 1 root dialout 166, 0 2009-10-27 14:18 /dev/ttyACM0 如果XX是rw,已成功配置。 如果XX是–: 配置失败,你需要输入1sudo chmod a+rw /dev/ttyACM0 运行 在一个新的终端,输入1roscore 在一..

Read more
SLAMCartographer

Cartographer安装与配置

安装依赖项 12sudo apt-get updatesudo apt-get install -y python-wstool python-rosdep ninja-build 创建一个catkin 工作空间 123mkdir catkin_wscd catkin_wswstool init src 在创建catkin工作空间前,可先确定自己的环境变量是否设置正确 1export | grep ROS 若出现如下的,说明是正确的 123456declare -x ROSLISP_PACKAGE_DIRECTORIES=""declare -x ROS_DISTRO="indigo"declare -x ROS_ETC_DIR="/opt/ros/i..

Read more