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.04indigo
16.04kinetic
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

其他版本如下图所示:

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

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

注意:如果下载后的文件名为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

 

 出现以上画面说明成功。

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

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

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

 解决方法:自己修改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

 成功!!!

6.验证一下

roscore

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值