cartographer运行没有map

阅读: 评论:0

cartographer运行没有map

cartographer运行没有map

文/冷冬寒梅

(一)介绍

Google Cartographer利用同步定位与建图技术绘制室内建筑平面图,可以用于二维和三维空间的建图,可以在非ros(机器人操作系统)系统和ros系统中使用。根据google的说明,该技术易于部署机器人、无人驾驶、无人机等系统。

Google在官方声明中提到,Cartographer的SLAM算法结合了来自多个传感器的数据,比如LiDAR激光雷达传感器、IMU惯性测量单元,还有来自多个摄像头的数据。综合这些庞杂的数据,得以计算传感器及传感器周围的环境。据报道Cartographer现已经支持Toyota HSR、TurtleBots、PR2、RevoLDS这几个机器人平台。

(二)安装

官方提供的安装步骤,在中国大陆地区实施起来有些问题,我通过亲身实践,纠正了一些问题,提供了一个切实可行的安装步骤。我所用的环境:ubuntu14.04(Trusty)

ROS Indigo

step1、安装依赖sudo apt-get update

sudo apt-get install -y

cmake

g++

git

google-mock

libboost-all-dev

libeigen3-dev

libgflags-dev

libgoogle-glog-dev

liblua5.2-dev

libprotobuf-dev

libsuitesparse-dev

libwebp-dev

ninja-build

protobuf-compiler

python-sphinx

step2安装优化包ceres-solver

在官网,我们可以采用下面的地址进行下载

安装ceres-solver的步骤如下:git clone

cd ceres-solver

mkdir build

cd build

cmake .. -G Ninja

ninja

ninja test

sudo ninja install

step3、安装cartographergit clone

cd cartographer

mkdir build

cd build

cmake .. -G Ninja

ninja

ninja test

sudo ninja install

step4、安装cartographer_ros

1)首先安装wstool和rosdep工具sudo apt-get update

sudo apt-getinstall -y python-wstool python-rosdep ninja-build

2)然后建立一个新的workspacemkdir slam_ws

cd slam_ws

wstool init src

3)安装sinstall文件,更新

4)安装deb依赖sdep update

rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

5)安装和设置路径catkin_make_isolated --install –use-ninja

(此处需要时间比较长,要耐心等待,我在运行时候,以为此处进行不下去了,结果等的时间长些,运行成功)source install_isolated/setup.bash 此语句设置路径

到此安装成功

(三)测试此slam算法的有效性

step1、首先下载数据集

下载几种数据集包,费时较长

1)Downloadthe 2D backpack example bag.wget -P ~/Downloads .bag

2)Downloadthe 3D backpack example bag.wget -P ~/Downloads .bag

3)Download the Revo LDS example bag.wget -P ~/Downloads .bag

4)Download the PR2 example bag.wget -P ~/Downloads .bag

step2、启动相应的launch文件,对不同的测试集进行slam建图

launch文件位于slam_ws/src/cartographer_ros/cartographer_ros/launch

2D backpack的bag文件位于

/home/dmchen/slam_ws/src/cartographer_ros/cartographer_ros/bag文件夹中

1)启动2D backpack的Launchdemo文件cd slam_ws

source

install_isolated/setup.bash

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=/home/dmchen/slam_ws/src/cartographer_ros/cartographer_ros/bag/cartographer_paper_deutsches_museum.bag

2)启动3D backpack Launch demo文件.roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/cartographer_3d_deutsches_museum.bag

3)启动Revo LDS Launch demo文件roslaunch cartographer_ros demo_revo_lds.launch bag_filename:=${HOME}/Downloads/cartographer_paper_revo_lds.bag

4)启动PR2 Launch demo文件roslaunch cartographer_ros demo_pr2.launch bag_filename:=${HOME}/Downloads/2011-09-15-08-32-46.bag

(四)结果

slam建图时间非常长,耗费资源情况如下:cpu的占用率是268.5%,有时候高达340%

deutsches_museum2d数据集

我的运行结果不是很好,在有回环时候,已经出现了很大的偏移,我分析出现此现象的原因是我的电脑的运算速度在算法后面进行匹配的时候,太慢了。

我的电脑的配置,其实已经很高了(哭脸)

RevoLDS数据集

运行效果很棒

(五)总结

googel提供的测试集,其中博物馆的数据集大约128.3m*270米,闭环运行效果非常差,RevoLDS数据集大约32.1m*35.7m,运行效果很棒。

另外,我在我自己的机器人和环境中进行了测试,测试区域大约是43.4m×41.25m的样子,效果也不错。

备注:上面的分析是10月份我做的测试(原谅我是重度懒癌患者,现在才整理以前的结果),当时对deutsches_museum2d数据集测试效果很差。期间看到google对代码进行了更新,用最新的代码进行测试,效果要好很多。

在过去的一段时间内,我一直在研究googel slam的论文和代码,以后会陆续写文章,剖析论文中采用的算法和其对应的代码实现,对此有兴趣的可以后续进行关注和留意。

本文发布于:2024-02-01 11:07:59,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170675688236180.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:cartographer   map
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23