ros的安装以及遇到的问题(在国内也绝对能成功)

目录

1.确定版本

2.设置ros的下载源

3.安装ros

4.设置环境

5.rosdep的初始化

6.验证一下


跑orb或vins时都用到了ros,而重装系统后再去查ros的安装方式,接着解决报错感觉很麻烦,所以总结一下,方便自己,如果能帮到大家更好。

下面是官网的链接

melodic/Installation/Ubuntu - ROS Wiki

1.确定版本

不同的ubuntu对应不同的ros版本,其对应关系如下所示:

ubuntu版本 ros版本
14.04 indigo
16.04 kinetic
18.04

melodic

2.设置ros的下载源

因为自带的ros源是国外的,所以要先将其替换为国内源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

然后设置公钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

设置完成后,更新一下

sudo apt-get update

3.安装ros

根据网上的建议,安装完整版(我的机器是ubuntu18.04,所以是melodic)

sudo apt install ros-melodic-desktop-full

其他版本如下图所示:

ros的安装以及遇到的问题(在国内也绝对能成功)_第1张图片

安装完成后,如果想查看哪些包可以使用,可以使用

apt search ros-melodic

4.设置环境

根据官网上的说法:设置后,每次启动新shell时都会自动将ROS环境变量添加到bash会话中。我的理解是,设置后可以让你的bash会话,识别roscore,rosrun等命令

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

5.rosdep的初始化

需要安装rosdep(如果一开始就是安装的完整版就直接下一步)

sudo apt install python-rosdep

rosdep的初始化

sudo rosdep init
rosdep update

问题一:输入sudo rosdep init后报错,如下图所示出现cannot download default sources list from:...

 解决方法:

git clone https://github.com/ros/rosdistro.git

ros的安装以及遇到的问题(在国内也绝对能成功)_第2张图片

注意:如果下载后的文件名为rosdistro-master,需要将rosdistro-master改称rosdistro

2)修改代码

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

在这三个文件中,将https://raw.githubusercontent.com/ros/rosdistro/master 全部替换为 file:///home/swhz/rosdistro  接着再输入sudo rosdep init

 ros的安装以及遇到的问题(在国内也绝对能成功)_第3张图片

 出现以上画面说明成功。

注意1:只替换到master,后面跟的不用动

注意2:file:///....这个地址是我在第一步中git下来的rosdistro的地址,请具体情况,具体分析

问题二:rosdep update报错,出现unable to process source [....],如下所示:

ros的安装以及遇到的问题(在国内也绝对能成功)_第4张图片

 解决方法:自己修改20-default.list文件

在上面的sudo rosdep init成功执行后,就会有20-default.list文件

与上面的操作类似,打开20-default.list文件

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list 

然后将里面的内容替换为

# os-specific listings first
yaml file:///home/swhz/rosdistro/rosdep/osx-homebrew.yaml osx

# generic
yaml file:///home/swhz/rosdistro/rosdep/base.yaml
yaml file:///home/swhz/rosdistro/rosdep/python.yaml
yaml file:///home/swhz/rosdistro/rosdep/ruby.yaml
yaml file:///home/swhz/rosdistro/releases/fuerte.yaml

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

最后保存、退出,再次输入rosdep update

ros的安装以及遇到的问题(在国内也绝对能成功)_第5张图片

 成功!!!

6.验证一下

roscore

ros的安装以及遇到的问题(在国内也绝对能成功)_第6张图片

 

你可能感兴趣的:(ubuntu,linux,计算机视觉)