ROS系统学习1—Ubuntu系统ROS安装

398
0
2021年1月19日 09时03分

现在做无人车和其他种类机器人的公司或者研究机构,很多用的ROS系统。原因在于其信息传递快捷方便,且要求开发者以模块化的方式设计程序,使得工程容易管理和重构,优势明显。

 

最近因为所在单位需要,也开始研究ROS系统了,因此循着学习的脉络做下记录。

 

如果老哥也是想学ROS的程序员,可以姑且看看,但需要着重强调的是,ROS官方的wiki教程才是最专业的,本人所写记录更加注重于本人的体会和理解层面。

 

本篇为ROS的安装,主要参考的这篇教程

 

本人的系统是Ubuntu16.04,下面就直接开始吧。

 

ROS的安装可以说是极其简单的,简直不敢信。

 

首先,点击“设置”图标:

 

微信图片_20210112145755

 

点击下面的“软件和更新”:

 

微信图片_20210112145812

 

看到除了“源代码”那一项,其他的都勾上了,那就可以了,如果没勾上则勾上。

 

接着,为 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

 

 

微信图片_20210112145846

 

上面是本人抄的,因为本人对linux的软件管理机制不太熟,感觉秘钥就像是通行证一类的东西,反正照做就是了。

 

安装前先更新下软件包管理器,毕竟刚刚我们扔了点东西进去,要让系统知道。

 

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

 

经过漫长的等待(反正我200M电信网装了两个多小时),ROS系统就装完了!意不意外,惊不惊喜!

 

装完初始化rosdep(rosdep的作用是编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。这里可能会初始化失败,原因是被墙,解决方法这个老哥给出了https://zhuanlan.zhihu.com/p/110151098):

 

sudo rosdep init
rosdep update

 

这一步可能会出现如下的错误:

 

微信图片_20210112150005

 

这是因为Python版本不对应的问题,本人用的Python3,那么切换下Python2就可以了:

 

sudo update-alternatives --config python

 

20.04因为直接是Python3,所以wiki中直接没做这一步,目前暂时没影响。

 

接着把ROS添加到环境中,相当于Windows添加环境变量,这样系统就知道ROS的命令在哪里能找到了。

 

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

 

20.04:

 

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

 

搞完上面的东西,就全部装完了,接着可以运行下示例程序,来看看是不是真的完成了安装。

 

打开一个终端,运行:

 

roscore

 

打开另外一个终端,运行一个节点:

 

rosrun turtlesim turtlesim_node

 

你就能看到如下的乌龟了,哈哈哈

 

微信图片_20210112150108

 

下一篇本人将分享用ROS搭建一个最小系统的过程和心得,连接如下:

 ROS系统学习2—ROS最小系统的制作

发表评论

后才能评论