ROS学习笔记一:Ubuntu16.04安装ROS时踩过的部分坑

一、

在终端中输入:

sudo apt update

sudo apt-get update

错误提示
获取:1 http://mirrors.ustc.edu.cn/kali kali-rolling InRelease [30.6 kB]
错误:1 http://mirrors.ustc.edu.cn/kali kali-rolling InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY ED444FF07D8D0BF6
忽略:2 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu xenial InRelease
命中:3 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu xenial Release
正在读取软件包列表… 完成
N: 忽略‘ros-latest.list122’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
W: GPG 错误:http://mirrors.ustc.edu.cn/kali kali-rolling InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY ED444FF07D8D0BF6
E: 仓库 “http://mirrors.ustc.edu.cn/kali kali-rolling InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。

如图:
在这里插入图片描述
解决方法:
1、找到软件与更新
在这里插入图片描述
2、在 “其他软件” 里把出现错误的网址前面的对号去掉
在这里插入图片描述
3、保存设置,之后再次输入

sudo apt update

sudo apt-get update

即可解决。

二、

在终端中输入:

sudo apt install ros-melodic-desktop-full

错误提示:
[sudo] amanda 的密码:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
N: 忽略‘ros-latest.list122’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
E: 无法定位软件包 ros-melodic-desktop-full

如图:
在这里插入图片描述

解决方法:
ubuntu版本与ros版本不对应,我用的是Ubuntu16.04,对应的应该是kinetic。
改为:

sudo apt install ros-kinetic-desktop-full

此外:Ubuntu18.04对应melodic
Ubuntu20.04对应Noetic

三、

在终端中输入:

source ~/.bashrc

错误提示:
bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录

如图:
在这里插入图片描述
这个错误猖狂到即使不执行,但只要打开终端就会出现:
在这里插入图片描述

原因:
执行命令:echo “source /opt/ros/melodic/setup.bash” >> ~/.bashrc时,忘记更改ros版本

解决方法:
1、在终端中输入:

gedit ~/.bashrc

2、在打开的文件中找到错误提示里的/opt/ros/melodic/setup.bash删去此行,保存退出。
在这里插入图片描述

更改ros版本之后再次执行命令:

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

错误消失。

四、

在终端中输入:

sudo rosdep init

错误提示:
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

如图:
在这里插入图片描述

解决方法:
1、先安装pip:

sudo apt-get install python-pip

2、然后使用pip安装rosdep

sudo pip install rosdep

3、再次初始化:

sudo rosdep init

解决。
在这里插入图片描述

五、

在终端中输入:

 sudo rosdep init

错误提示:
ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize

如图:

在这里插入图片描述
解决方法:
扩展名无效,将其删除

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

再次执行:

sudo rosdep init

错误消失

此方法还可以解决错误提示:
N: 忽略‘ros-latest.list122’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效

六、

在终端中输入:

roscore

红色警告:
WARNING: ROS_MASTER_URI [http://192.168.43.157:11311] host is not set to this machine

如图:
在这里插入图片描述

解决方法: 先按Ctrl+C退出
1、在终端输入

ifconfig

2、 打开bashrc文件

gedit ~/.bashrc   

3、找到ROS_MASTER_URI=http://192.168.*****:11311,将其改为自己的地址
在这里插入图片描述
4、 source一下环境变量

source  ~/.bashrc    

5、再次执行

roscore

红色警告消失。
在这里插入图片描述

小感想:这只是安装ros时踩过的一大堆坑中的一小部分,实际安装时还遇到了其他的如境外资源被屏蔽、无法下载等一系列各式各样的问题,差点从入门到入土。但是对于大部分的问题,网络上都有很详细的解决方法,我总结的这些是我遇到的部分我还记得的问题。仅供参考!

猜你喜欢

转载自blog.csdn.net/weixin_43737995/article/details/122588455
今日推荐