由于学习需求所以需要学习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的版本不同而自动添加不同的源,很人性化。
设置秘钥,这一步是为了确认源代码是正确的,并且没有人在未经所有者授权的情况下,修改任何程序代码。通常情况下,当添加完软件库时,已经添加了软件库的密钥,并将其添加到操作系统的可信任列表中。
命令:
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
安装前先更新下软件包管理器
确保你的Debian软件包索引是最新的。
命令:
$ sudo apt-get update
命令:
$ 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版。
接下来等待安装完成就可以了!
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
安装完再执行初始化就可以正常初始化了。
必须在使用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
rosinstall是一个常用的命令行工具,可以帮助我们安装某些功能包的源码和功能。可安装可不安装,没影响。
要安装此工具和其他用于构建ROS软件包的依赖项可以使用下面命令。
命令:
$ sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
做完上面的步骤,ROS就全部装完了。
已经在Ubuntu20.04的系统中完整安装ROS Noetic。
接着可以运行下示例程序查看是否完成了安装。
打开一个终端运行,启动ROS Master。
命令:
$ roscore
启动小海龟仿真器
命令:
$ rosrun turtlesim turtlesim_node
打开另外一个终端,启动小海龟控制节点
命令:
$ rosrun turtlesim turtle_teleop_key
运行完可以看到出现小海龟的窗口,可以用方向键控制小海龟画图,证明安装成功了。
以上就是ROS安装的全过程了,基本上过一遍就安装好了,不会有什么小问题。
安装好ROS就是学习ROS系统的一个好开头,希望本文对你学习有所帮助。