ubuntu安装ROS

环境

ubuntu16,ros-kinetic

开始

在设置里面更换安装源,选择中科大源,比较稳定
close ,reload一下,等待片刻,不要断网
在这里插入图片描述
打开一个终端。

1

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'

在这里插入图片描述
点击回车

2设置公钥

先安装curl

sudo apt install curl

在这里插入图片描述

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

如果失败的话

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

结果如下图
在这里插入图片描述
F42ED6FBAB17C654这个东西,我们可以先运行sudo apt-get update 一般来说最下面会有警告,警告里面就会有这个。
W: GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
把后面这一串替换上面的就可以了。

3、更新软件列表

sudo apt-get update

在这里插入图片描述

4、开始安装

sudo apt-get install ros-kinetic-desktop-full

回车,等待安装完成
如果:
E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)

sudo rm -r -f /var/lib/dpkg/lock-frontend
sudo  rm  -r -f /var/lib/dpkg/lock

再执行以上命令。

5、设置环境变量

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

在这里插入图片描述

source ~/.bashrc

在这里插入图片描述

6、安装构建ROS包时的依赖项

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

初始化rosdep

sudo apt install python-rosdep
sudo rosdep init

这个可能报错:
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
原因:网站被墙了,挂vpn可以访问
解决方法:
1、换手机热点,成功几率不大
2、sudo gedit /etc/hosts
底部添加:
151.101.84.133 raw.githubusercontent.com
185.199.111.133 raw.github.com
可能有效
3、直接写入文件
我挂vpn访问上面这个网站,得到

# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
sudo mkdir -p /etc/ros/rosdep/sources.list.d
cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list

把上面的内容粘贴到该文件中,保存、退出

rosdep update

ERROR: error loading sources list:
<urlopen error (https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml)>
可能会出现连接超时这种错误,多运行几次,还可以换阿里云源试试,注意网络环境一定要好。

终极方法-----修改下载源文件。
网站https://ghproxy.com/支持github的资源代理,非常好用,我们将用此代理加速rosdep对Github Raw的访问,进而解决rosdep update超时问题

1、/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

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

ctrl+f 搜索download_rosdep/ 定位到310行
添加

url = 'https://ghproxy.com/'+url

如下图:
在这里插入图片描述
其它的都与此类似啦。
不要关闭,定位到该文件72行
如下修改
在这里插入图片描述

2、/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

第36行,如下添加:
在这里插入图片描述
第204行如下添加:

gbpdistro_url = 'https://ghproxy.com/'+gbpdistro_url

在这里插入图片描述

3、/usr/lib/python2.7/dist-packages/rosdep2/rep3.py

定位到39行,如下添加
在这里插入图片描述

4、/usr/lib/python2.7/dist-packages/rosdistro/init.py

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

注意,是双下划线
定位到68行,修改如下
在这里插入图片描述

5、/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py

定位到68行修改如下:
在这里插入图片描述
定位到119行,修改如下
在这里插入图片描述
每一步记得保存一下。
再rosdep update一下,成功!!!!!
在这里插入图片描述

rosdep update解决法参考链接:
https://blog.csdn.net/leida_wt/article/details/115120940?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值