cartographer_ros+Ubuntu14.04 安装

来源:互联网 发布:php搭建app服务器 编辑:程序博客网 时间:2024/06/07 12:00

cartographer_ros+Ubuntu14.04安装

最近接手SLAM这块相关的工作,进行了非常浅显的研究。最近谷歌开源了cartographer库,基于雷达数据进行室内场景地图重建。抱着试一试的心理,安装了cartographer和cartographer_ros。主要步骤包括:

  • Ubuntu基本设置
  • 安装ROS_Indigo
  • 安装Cartographer_ROS
  • 安装Cartographer(选择)
  • 运行Demo

Ubuntu基本设置

由于使用的ububtu是加了代理的,所以安装软件啥的比较麻烦,折腾了好久,大概弄清了代理下ubuntu的设置。

1.关于浏览器代理:一般要在network里开启代理,输入对应的代理网址。然后浏览器上网时要输入代理对应的账号密码。
2.关于apt-get这种方式安装软件时,有代理的话,要在/etc/apt/apt.conf里添加:Acquire::http::proxy (网址和账号),这样才能通过apt-get的方式安装软件。
3.关于软件上网,如果在有代理环境下,还需要配置~/.bashrc文件里的代理,在代理服务器前写上账号和密码即可。
4.关于软件源,选择一个速度较好的源,更新一下。
5.注意,camke最好采用2.8的版本,也就是ubuntu14.04自带的,如果升级到3.0后,安装cartographer会出大问题的。

安装ros_indigo

ROS_indigo的安装,其实官网很详细,但是如果在代理环境下很容易出问题。
http://wiki.ros.org/indigo/Installation/Ubuntu

在1.3 Set up your keys

文中说明了代理环境下的获取key的语句,但是我的电脑还是不行,在sudo后面加了-E,就可以了。sudo -E apt-key adv –keyserver hkp://ha.pool.sks-keyservers.net:80 –recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

在1.4 Installation中,安装sudo apt-get install ros-indigo-desktop感觉就够用了。
一直安装到1.7,才算安装结束。

安装Cartographer_ROS

Cartographer_ROS的安装方式官网给的例子也很详细:
https://google-cartographer-ros.readthedocs.io/en/latest/

# Install wstool and rosdep.sudo apt-get updatesudo apt-get install -y python-wstool python-rosdep ninja-build# Create a new workspace in 'catkin_ws'.mkdir catkin_wscd catkin_wswstool init src# Merge the cartographer_ros.rosinstall file and fetch code for dependencies.wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstallwstool update -t src# Install deb dependencies.rosdep initrosdep updaterosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y# Build and install.catkin_make_isolated --install --use-ninjasource install_isolated/setup.bash

但是在执行上面操作的第三步时,不翻墙时会报错,大部分原因是ceres-solver下载不下来。其实可以在github上下载这个库的压缩包,然后解压,注意去掉文件夹名字的master,然后将其放到cartographer工程对应的源码文件夹下的ceres-solver,并将对应的cmakelists文件里的下载这个库的语句屏蔽,应该就能编译通过了。另外如果camke的版本大于3.0,将找不到eigen的find.cmake这样的文件吧。

安装Cartographer

Cartographer只是单独的代码包,如果没有ros系统,是没法运行Demo的,所以单独安装意义不是很大。
Cartographer的安装方式和官网一样,
https://google-cartographer.readthedocs.io/en/latest/
其中在下载ceres-solver时如果下载不下来,也可以采用上面的方式提前将包下载并解压,然后修改cmakelists文件的方式进行编译。

运行Demo

下载Cartographer_ROS网上给的四个数据集,一般找最小的那个下就可以了。下载到download,然后执行launch语句就可以。

分析

在运行了三个例子的结果后,发现cartographer支持的点云类型并不是传统的3D点云,同时看代码好像也不支持ros里的pointcloud2。所以与收头现有雷达并不直接兼容。暂时就放弃了尝试的念头。
三个数据包的详细格式如下:
第一个包格式:
这里写图片描述
第二个包格式:
这里写图片描述

第三个包格式:
这里写图片描述

0 0
原创粉丝点击