ROS的安装

一、配置Ubuntu软件库

点击电脑左下角的九个小点,如下所示,点击之后:

在上方的搜索框中输入“软件和更新”:

打开后按照下图配置(确保勾选了“restricted"、"universe”和“multivers”)

ROS的安装_第1张图片

二、设置sources.list

官网的会出现很多问题,所以我用了国内镜像的:

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

三、设置密钥

这是最新的密钥,其他好多密钥会导致后续更新Debian软件包的时候出现错误已经不可用了:

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

ROS的安装_第2张图片

(因密钥问题而不能更新源库的 可参考https://blog.csdn.net/asdli/article/details/91978069 既前往http://wiki.ros.org/kinetic/Installation/Ubuntu 找到set up your key,新终端运行更新公钥的指令)

四、安装

(1)更新Debian软件包索引:

sudo apt-get update

ROS的安装_第3张图片

(.1)出错

如果出现错误(.1):

W: GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
E: 仓库 “http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。

(请参考文末的错误调试(1)密钥不可用部分,有对应的解决办法)

(2)安装桌面完整版ros:

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

 然后是漫长的等待,加载很多东西

五、初始化rosdep

在开始使用ROS之前,需要先初始化rosdep。rosdep能够轻松地安装要编译的源代码的系统依赖关系,并且需要在ROS中运行一些核心组件:

 sudo rosdep init

(.2)出错

出现错误(.2):  sudo: rosdep:找不到命令

解决办法如下:

需要输入:

sudo apt install python-rosdep2

 sudo rosdep init

(.3)出错

再次出现错误(.3):

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

(.4)出错

又出现错误(.4)

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.

解决办法(1):

sudo apt-get install ca-certificates

执行以上命令后再运行

sudo rosdep init

(.41)出错

ERROR: error loading sources list:
    ('The read operation timed out',)

解决办法:

原因是操作超时,用网络用的是wifi,换成手机热点就好了。

解决完全部错误之后,继续:

rosdep update

六、添加ros环境变量

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

source ~/.bashrc

七、安装成功 测试小海龟的例子

1、开一个终端

roscore


2、再开一个终端

rosrun turtlesim turtlesim_node


3、再打开一个终端

rosrun turtlesim turtle_teleop_key


在第三个终端里上下左右键控制小海龟行动即可,按q键退出。

ROS的安装_第4张图片

以上,全部ros安装完成!

错误调试

(.1)密钥不可用

出现:

W: GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
E: 仓库 “http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。

ROS的安装_第5张图片

(.1)解决方法如下:

(1)更新密钥:

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

(其中XXXXXX表示出现粪土的签名,需要对应更换之前你用的密钥)即可,之后

sudo apt-get update

就行

如果还不成功,就更换直接更换最新的密钥:

(2)更换最新的密钥:

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

(本人使用的这个最新密钥是可以用的,不会出现问题)

(.2)sudo rosdep:找不到命令提示

安装ROS时执行到sudo rosdep init时出现sudo rosdep:找不到命令提示

解决办法如下:

需要输入:

sudo apt install python-rosdep2

 sudo rosdep init

(.3)出错

再次出现错误(.3):

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

(.4)出错

又出现错误(.4)

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.

解决办法(1):

sudo apt-get install ca-certificates

执行以上命令后再运行

sudo rosdep init

(.41)出错

ERROR: error loading sources list:
    ('The read operation timed out',)

解决办法:

原因是操作超时,用网络用的是wifi,换成手机热点就好了。

你可能感兴趣的:(slam,linux,ubuntu,slam)