谷歌的Cartographer由于其开源社区特性,非常适合SLAM入坑。

入坑前注意兼容性,比如ROS使用kinetic,则ubuntu版本建议为16,不要图新鲜升什么ubuntu18。都是血泪教训。

可能的话,尽量一台虚拟机做一件事,保持纯净性,避免系统、环境、配置等的互相影响。一个典型的例子是,我之前根据别家教程安装了pcL库,版本为1.9,后续按谷歌教程装cartographer时,由于1.9的pcl要求c++14,而配置文件里面是c++11,调节起来就很麻烦,而且往往一个坑接一个坑,因为你的环境和教程不一样,你就可能遇到很多本来新系统中不会遇到的问题。

另外,cartorgrapher ROS本身并没有包含ROS,所以需要先安装好ROS(下载大约2G的内容),参见http://wiki.ros.org/kinetic/Installation/Ubuntu。先安装ROS的好处在于,可以自动安装ROS的依赖项。

建议使用官方提供的清华源。注意如果采用源码编译,内存一定要足够,可以用swap空间的方式暂时的解决内存不足的问题,但长远看还是需要增加内存容量。

安装Cartographer ROS时,首先参考https://google-cartographer-ros.readthedocs.io/en/latest/compilation.html

但是要注意cere-solver的原始路径不可用需要替换,参考https://blog.csdn.net/rjasd1128hf/article/details/79888305

另外,建议下载前,虚拟机装下shadow分割socks,然后在shell里面开一下代理,否则速度太慢。下面是一个典型的代理脚本(代理服务器,端口之类的信息需要你自己百度找免费的或者付费搭VPS),拷贝到/bin下面赋权为755,之后shell中提前运行下 XX.sh start即可,此后,shell中的下载都会走代理。

#!/bin/bash
start() {
        if [ "$(pidof sslocal)" == "" ]
        then
                echo "run ss"
                sslocal -s 代理IP -p 代理端口 -b 127.0.0.1 -l 1080 -k 密码 -m 加密方式
        fi

        echo "set shell proxy"
        hwclock --show
        export http_proxy=http://127.0.0.1:1080
        export https_proxy=https://127.0.0.1:1080
        export http_proxy=socks://127.0.0.1:1080
        export http_proxy=sock4://127.0.0.1:1080
        export http_proxy=sock5://127.0.0.1:1080
}

stop() {
	echo "stop shell proxy"
	unset http_proxy
	unset https_proxy
}

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐