第四弹 Ubuntu18.04下ROS安装的若干问题及解决办法

ROS安装的教程有很多,每一个版本基本都有,现在主要讲讲遇到的问题及解决办法。

你要是能成功的玩起这个王八,说明你的ROS应该是弄好了。我耗费了两天才安装好,基本上每一步都是一个坑。现在总结了一下自己的经历。

1. GPG:从公钥服务器接收失败:No name

 这一步是导入公钥。按照官网是这样的:http://wiki.ros.org/melodic/Installation/Ubuntu

 实际上并没有成功。并且自己找的乱七八糟的导入也有点问题。最后用的这个命令,成功了。

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

总结一下,就是找个靠谱的教程,多导入几次,多尝试。

我觉得这就不错:    ubuntu18.04 LTS安装ROS图文教程

2.    E : 无法定位软件包

第一个先看版本对不对:

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

可能是你的版本搞错了。Ubuntu版本和ROS版本是需要对应的,不是随便搭配都可以的。你看,我的事Ubuntu18.04,安装的就是ros - melodic -xxx  ,是啥版本就对应着换。

 还有可能是源的问题,咱们把源换成清华的吧:

cd /etc/apt/

sudo cp sources.list sources.list.bk

sudo gedit sources.list

修改sources.list的内容为下面的设置:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

更改完成之后更新一下:

sudo apt-get update

也可以尝试换成阿里云的,或者中科大的,或者换网试试,换个热点、网线本地连接等等。总之还是多试试,不要放弃。

这是阿里云的源,操作和上面一样,换完之后用sudo更新一下。

# 阿里云源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
##測試版源
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
# 源碼
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
##測試版源
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

3.  出现没有Release文件, 更新缓存时出错

4.  rosdep update 的报错

timeout的话可以修改时间,但是治标不治本。

类似下面的报错:

ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:
<urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml)
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml]:
<urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]:
Failed to download target platform data for gbpdistro:
<urlopen error [Errno 104] Connection reset by peer>

方案一:

#打开hosts文件
sudo gedit /etc/hosts
#在文件末尾添加
#raw.githubusercontent.com的地址一直有变化,具体的可以自己查一下
151.101.84.133  raw.githubusercontent.com
#保存后退出再尝试
rosdep update

方案二:我是用这个办法成功的

第一步:修改   sources_list.py  文件

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

添加代码:   

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

 第二步: 修改__init__.py文件中的DEFAULT_INDEX_URL

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

替换原来的代码:

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

 第三步:修改其余(4个)文件中的地址,在地址 https://raw.githubusercontent.com/... 前添加https://ghproxy.com/

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
//修改第36行的地址

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
//修改第72行

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
//修改第39行

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
//修改第68行、119行

gbpdistro_support.py文件中的修改:

 sources_list.py文件中的修改:

rep3.py文件中的修改:

 github.py文件中的修改:

 第四步:修改gbpdistro_support.py文件 

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 
//在第204行添加如下代码(即在该函数块下的第一行处)
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url  
//注意双引号是英文的,千万要主要,在这直接复制是没有问题的

 最后,再次运行 rosdep update ,发现问题完美解决!(这样设置是可以解决问题的,如果不行,就是换网,换个网口有线连接,或者开个热点,用wifi,多试几次,相信到这部一定可以成功,其实这里的问题主要是因为网站被墙了,无法直接连接上,所以多了这些玄学问题)

5. setup.bash: 没有那个文件或目录

wood@wood:~$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
wood@wood:~$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
wood@wood:~$ source ~/.bashrc
bash: /home/wood/catkin_ws/devel/setup.bash: 没有那个文件或目录

解决办法:

在终端输入:

 gedit ~/.bashrc

然后它提示啥就注释掉啥

6. 小乌龟打开了无法移动

需要选中第三个打开的终端窗口,而不是鼠标点中小乌龟的窗口。

  • 26
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
要在Ubuntu 18.04上安装ROS,可以按照以下步骤进行操作: 1. 设置软件源:使用以下命令将软件源设置为清华源。 ``` sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list' ``` 2. 设置密钥:使用以下命令设置密钥。 ``` sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 ``` 3. 更新软件列表并安装ROS。使用以下命令执行更新和安装操作。 ``` sudo apt-get update sudo apt-get install ros-melodic-desktop-full sudo apt-get install ros-melodic-rqt* ``` 注意:有时候执行完这两个命令后,可能会出现找不到依赖的问题,可以再次执行这两个命令来解决。这可能是由于在安装其他软件时卸载了ROS的一些依赖项。 4. 初始化rosdep:使用以下命令执行rosdep的初始化。 ``` sudo rosdep init rosdep update ``` 请注意,这两个命令可能会出错。如果出现错误,请继续进行下一步。 5. 安装其他必需组件:使用以下命令安装其他必需的ROS组件。 ``` sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential ``` 通过按照上述步骤,您应该能够成功地在Ubuntu 18.04上安装ROS。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Ubuntu18.04安装ROS的详细教程](https://blog.csdn.net/qq_43313298/article/details/124187225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [ubuntu18.04安装Ros(详细)](https://blog.csdn.net/weixin_50060664/article/details/121781535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是刃小木啦~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值