【ROS-cartographer安装】无数次失败,终于成功,protobuf、git速度慢、rosdep update等经验分享~~~值得参考

ROS-cartograph,每一步都可以进行,踩坑分享,成功的话希望点个赞

  • 0 准备
  • 1 protobuf问题
  • 2 git 速度慢的问题
  • 3 rosdep update
  • 4其他方法
    • 4.1 rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y 出错
  • 5 其他问题

0 准备

首先我们安装cartogranpher最最经常遇见的问题我在写完步骤之后会说出,新手请耐心看完或者老手直接看~
安装前务必保证已经配置好ros系统
首先,大家可以参考这一篇,不过我按照这一片没有完全成功,我猜测是protobuf安装遇到大问题,请先看完下面的问题再进行上面这个方法的尝试

1 protobuf问题

我们就可以按照这一篇进行了,先进行该文章的0准备工作,然后请回到此篇文章。大家可以按照该篇教程进行,遇到问题的时候,来这一篇进行即可

按照此方法,我们要先卸载protobuf,但是在执行指令:

sudo apt-get remove libprotobuf-dev

会出现不能卸载的状况,我的方法是把依赖的库卸载掉,但是请谨慎执行,如果你的电脑/虚拟机只用来测试cartographer,完全可以和我一样,再卸载之后会有一定的文件残留,按照下面的方法,执行即可

因为cartographer需要的版本是最少2.xx版本,所以建议先卸载已有的protobuf版本,因为几乎大部分人失败都是因为protobuf版本不兼容的问题,我直接把低版本的所有文件都删除了,所以我们无比要把所有和protobuf相关的文件都删除,请看指令:
查看自己的protoc版本:

protoc --version

查看路径

which protoc

我们所要删除的文件包括三个地方:

sudo rm /usr/bin/protoc
sudo rm /usr/local/bin/protoc
sudo rm /usr/local/lib/libproto*

如果此处是软连接的话,rm后面加上-rf即可:

sudo rm -rf  /usr/bin/protoc

后面的就可以完全按照它的步骤

2 git 速度慢的问题

没必要非要让他自己git,如果使用的虚拟机,我们大可自己进入它的网站,下载相关文件的zip压缩包,然后解压放入相应的文件夹,但是,值得注意的是,解压后的文件命名和下载的不同,自行下载的会有xx-master,我们把解压文件名字里的-master去掉即可
如果非要自己进行安装,就按照加成里的修改/etc/resolv.conf文件

3 rosdep update

这一步我没有执行成功一次, 但是我在安装ros的时候已经执行成功一次,事实证明,只要成功过一次就可以,不用更新,
因为我们执行sudo rosdep init会在/etc/ros/rosdep/sources.list.d产生一个20-default.list的文件

执行rosdep update会在/home/xxx/.ros/rosdep/sources.cache(xxx是你的用户名)产生一个文件夹,里面有一堆缓存文件,我们可以进入该文件下查看我们是否已经执行过rosdep update:

cd /home/xxx/.ros/rosdep/sources.cache
ll

我的是这样的

总用量 1884
drwxrwxr-x 2 ros ros   4096 3月  26 21:57 ./
drwxrwxr-x 4 ros ros   4096 10月  8 22:39 ../
-rw------- 1 ros ros 118337 3月  26 12:59 0081d4b071d4e24ae37c96bf477eb7403ba143c2.pickle
-rw------- 1 ros ros  70124 10月  8 22:39 10be71ecf140657927f11aa700ec034e8f4759d7.pickle
-rw------- 1 ros ros 453813 3月  26 12:42 5d76dbb61bf5385acb00a1ffce292b2eb2e000a8.pickle
-rw------- 1 ros ros 216689 10月  8 22:39 6fbb8434ee1cd44cd9d6761573ef582820b8828f.pickle
-rw------- 1 ros ros 218729 3月  26 14:36 7cfbeed211a3f9a6507c86cebaeedb3e3c4387f8.pickle
-rw------- 1 ros ros   3235 3月  26 14:36 825fae71ab9ea366e0b22e8dbe1e2948232cb2e8.pickle
-rw------- 1 ros ros 362033 3月  26 12:42 92e5d8c5f0d9455fe3a14e3dd1f7b90ca9ae78a8.pickle
-rw------- 1 ros ros  12731 3月  26 21:57 a4b3c8956ab7a3e6d293ba33b57fac42799e69e6.pickle
-rw------- 1 ros ros 231248 3月  26 14:36 b4931581ca7c5741f7ee4ac9767a1174838296f7.pickle
-rw------- 1 ros ros  10718 3月  26 14:27 b67f64890f6d5269c51a68744711f115a8f207ae.pickle
-rw------- 1 ros ros 100477 3月  26 12:59 c99ebea198e2ecdbf200ba85d2a079950836d92b.pickle
-rw------- 1 ros ros  95675 10月  8 22:39 f535bb317ab409fe66ca87e8e04f167a57d05a5e.pickle
-rw------- 1 ros ros   1132 10月  8 22:39 index

rosdep update参考文章

4其他方法

也可以参照https://github.com/WLwind/cartographer_installation,同样遇到问题可以对照该文章解决!

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

Traceback (most recent call last):
  File "/usr/bin/rosdep", line 6, in 
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2927, in 
    @_call_aside
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2913, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 637, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 650, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 829, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'rospkg>=1.3.0' distribution was not found and is required by rosdep

找了半天也没找打哪里错了,因为我之前曾经已经编译成功了一次,这次出现了新的问题,找不到由于之前完成,我就跳过了,直接进行下一次编译,成功了即可,有知道这里什么错的大佬请指教!

5 其他问题

因为我们在2021年3月25日安装成功的,并且成功跑通了所给的例子,但是由于是新手,考虑的问题不够全面,希望有问题的同学可以留言,我在安装的过程中遇到的问题不仅仅我在文中所写到的,解决问题的过程是痛苦的,但是跑成例子对我这样的小白而言是一个很大的激励,加油!

各位同学如有问题,欢迎留言,一起讨论!

你可能感兴趣的:(ros笔记,linux,ubuntu,c++,c语言,c#)