咸鱼笔记:在Ubuntu 20.04中安装ROS及环境配置

文章目录


前言

由于学习需求所以需要学习ROS系统,刚接触新的内容就记录一下学习的过程中遇到的问题和学习笔记吧。

ROS安装

1.添加ROS软件更新源

为 Ubuntu 的包管理器增加源,设置计算机接受来自于 packages.ros.org 的软件。这一步很关键,当然基本上ROS的安装也就只有这一步。

命令:

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

提示:

这里会根据你Ubuntu的版本不同而自动添加不同的源,很人性化。

2.添加密匙

设置秘钥,这一步是为了确认源代码是正确的,并且没有人在未经所有者授权的情况下,修改任何程序代码。通常情况下,当添加完软件库时,已经添加了软件库的密钥,并将其添加到操作系统的可信任列表中。

命令:

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

安装前先更新下软件包管理器

确保你的Debian软件包索引是最新的。

命令:

$ sudo apt-get update

3.安装ROS

命令:

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

如果是18.04是下面的命令:

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

如果是20.04则是下面的命令:

$ sudo apt install ros-noetic-desktop-full

这里由于我用的是20.04的,所以使用20.04的,装的是noetic版。

接下来等待安装完成就可以了!

4.初始化rosdep

rosdep的作用是编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。这里可能会初始化失败,原因是被墙,修改hosts就好了。

命令:

$ sudo rosdep init
$ rosdep update

提示:

这里初始化时执行sudo rosdep init可能会出现下面错误

$ sudo: rosdep:找不到命令

原因:python-rosdep这个包没有装。

解决办法:安装python-rosdep
由于安装的是noetic版,所以使用的是python3需要使用python3的版本。

命令:

$ sudo apt install python3-rosdep2

安装完再执行初始化就可以正常初始化了。

5.设置环境变量

必须在使用ROS的每个bash终端中提供此脚本,设置环境变量后,每次启动新的Shell时,就会自动获取此脚本。
命令:

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

20.04的命令:

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

6.安装rosinstall(选装)

rosinstall是一个常用的命令行工具,可以帮助我们安装某些功能包的源码和功能。可安装可不安装,没影响。
要安装此工具和其他用于构建ROS软件包的依赖项可以使用下面命令。

命令:

$ sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

做完上面的步骤,ROS就全部装完了。

已经在Ubuntu20.04的系统中完整安装ROS Noetic。

接着可以运行下示例程序查看是否完成了安装。

7.ROS例程(小海龟仿真器)

打开一个终端运行,启动ROS Master。

命令:

$ roscore

启动小海龟仿真器

命令:

$ rosrun turtlesim turtlesim_node

打开另外一个终端,启动小海龟控制节点

命令:

$ rosrun turtlesim turtle_teleop_key

运行完可以看到出现小海龟的窗口,可以用方向键控制小海龟画图,证明安装成功了。


总结

以上就是ROS安装的全过程了,基本上过一遍就安装好了,不会有什么小问题。
安装好ROS就是学习ROS系统的一个好开头,希望本文对你学习有所帮助。

上一篇:Ubuntu18.04下安装ROS步骤及遇到的错误集锦(尤其是rosdep update报错)


下一篇:Ubuntu 16.04/18.04 安装及卸载 ROS Kinetic