一、不同版本的Ubuntu需要选择对应版本的ROS

我的Ubuntu版本是18.04,所以选择的ROS是melodic。

二、配置Ubuntu软件库

  

三、安装细节及问题解决

1、由于国外的下载源速度比较慢,且可能被墙,下面提供国内的下载源。

 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'

在终端输入以上代码:

2、设置密钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

由于我已经设置过一次了所以显示的是上面的样子,第一次设在显示如下。

3、更新最新可用软件列表 ,终端输入代码。

 sudo apt update

可能错误如下:

执行如下命令:

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

出现 

继续执行  sudo apt update即可。

4、安装ROS,执行如下代码。该命令可以安装完整的ROS软件,包括ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知等等的全套基础组件。

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

 耐心等待一段时间,就可以安装完成了。

5、初始化rosdep

开始使用ROS之前,先初始化rosdep,rosdep能够轻松地安装要编译的源代码的系统依赖关系,rosdep是ROS核心组件运行的基础

sudo apt install python-rosdep 

接着终端输入:

sudo rosdep init 

可能会出现以下报错情况

(1) 第一种报错

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.

(2)第二种错误

ERROR: Rosdep experienced an error: (‘The read operation timed out’,)
Please go to the rosdep page [1] and file a bug report with the stack trace below.
[1] : http://www.ros.org/wiki/rosdep
rosdep version: 0.21.0
Traceback (most recent call last):
File “/usr/lib/python2.7/dist-packages/rosdep2/main.py”, line 146, in rosdep_main
exit_code = _rosdep_main(args)
、、、、、、
、、、、、、
、、、、、、
SSLError: (‘The read operation timed out’,)
————————————————

解决办法 ,终端输入:sudo gedit /etc/hosts

会打开一个文本文件 

 复制如下内容,并粘贴到文件中保存,注解:这个步骤的作用是让你的linux在访问外国网站时会绕过去, 你可以在安装完ros之后把这些设置删除。日。

151.101.84.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
199.232.28.133 raw.githubusercontent.com
192.30.253.118 gist.github.com
185.199.110.153 github.io
151.101.113.194 github.global.ssl.fastly.net
52.216.227.168 github-cloud.s3.amazonaws.com
52.74.223.119 github.com
199.232.28.133 avatars1.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
199.232.28.133 avatars0.githubusercontent.com
199.232.28.133 avatars3.githubusercontent.com
199.232.28.133 user-images.githubusercontent.com
199.232.28.133 avatars.githubusercontent.com
199.232.28.133 github.map.fastly.net
199.232.28.133 avatars7.githubusercontent.com
54.239.31.69 aws.amazon.com
54.239.30.25 console.aws.amazon.com
54.239.96.90 ap-northeast-1.console.aws.amazon.com
54.240.226.81 ap-southeast-1.console.aws.amazon.com
54.240.193.125 ap-southeast-2.console.aws.amazon.com
54.239.54.102 eu-central-1.console.aws.amazon.com
177.72.244.194 sa-east-1.console.aws.amazon.com
176.32.114.59 eu-west-1.console.aws.amazon.com
54.239.31.128 us-west-1.console.aws.amazon.com
54.240.254.230 us-west-2.console.aws.amazon.com
54.239.38.102 s3-console-us-standard.console.aws.amazon.com
54.231.49.3 s3.amazonaws.com
52.219.0.4 s3-ap-northeast-1.amazonaws.com
54.231.242.170 s3-ap-southeast-1.amazonaws.com
54.231.251.21 s3-ap-southeast-2.amazonaws.com
54.231.193.37 s3-eu-central-1.amazonaws.com
52.218.16.140 s3-eu-west-1.amazonaws.com
52.92.72.2 s3-sa-east-1.amazonaws.com
54.231.236.6 s3-us-west-1.amazonaws.com
54.231.168.160 s3-us-west-2.amazonaws.com
52.216.80.48 github-cloud.s3.amazonaws.com
54.231.40.3 github-com.s3.amazonaws.com
52.216.20.171 github-production-release-asset-2e65be.s3.amazonaws.com
52.216.228.168 github-production-user-asset-6210df.s3.amazonaws.com

  

再次执行初始化操作:

 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
这说明20-default.list 这个文件已经存在
解决办法:删除20-default.list这个文件。
终端输入以下命令并回车删除文件:sudo rm /etc/ros/rosdep/sources.list.d/20-default.list,

具体位置,其他位置/计算机/etc/ros/rosdep。

 

再次执行  sudo rosdep init,出现如下信息,则rosdep初始化成功

 

6、rosdep update 更新,终端输入:

rosdep update

最常见的错误,超时 

有时可能是网络问题,那么多重复执行几次rosdep update,可能可以成功。

实在不行那就自己下载更新文件到本地,然后修改更新路径进行更新。具体操作如下:

(1)更新文件的获取2

 CSDN作者银时大魔王已经将更新所需的文件整理好上传云中(大家可以去观摩原文):
链接: https://pan.baidu.com/s/1PhTCqtvScV_XGf9ac0CcCg 提取码: w3ix

(2)将提取出的文件夹移动到/etc/ros文件夹下,新建一个ros_github文件夹。将提取的文件都放在这个新建的文件夹中。

 

(3)修改更新文件路径 

 

 

 

 #os-specific listings first
yaml file:///etc/ros/ros_github/osx-homebrew.yaml osx
#generic
yaml file:///etc/ros/ros_github/base.yaml
yaml file:///etc/ros/ros_github/python.yaml
yaml file:///etc/ros/ros_github/ruby.yaml
gbpdistro file:///etc/ros/ros_github/fuerte.yaml fuerte
#newer distributions (Groovy, Hydro, …) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

 

 注:以上内容参考CSDN博主「向日葵骑士Faraday」原文链接:https://blog.csdn.net/KIK9973/article/details/118755045 

(4)再次执行rosdep update,显示如下内容则更新成功。

7、添加ros环境变量,终端依次输入如下内容。

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

source ~/.bashrc 

8、为了构建和管理开发者自己的ROS工作空间,还需安装rosinstall。 终端输入。

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

 以上是Ros成功安装的全部内容。

************************************************

下面可以看看是否可以启动小海龟和rviz。

第一次启动Ros,需要进行环境变量配置,执行如下命令

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

source ~/.bashrc

然后输入 roscore

 

 接着按 Ctrl+Shift+T ,打开第二个终端。输入如下命令:

rosrun turtlesim turtlesim_node 

可以看到一只小海龟。

 

此时小海龟是静止不动的,若想要其动起来,按 Ctrl+Shift+T,打开第三个终端。输入以下命令。

rosrun turtlesim turtle_teleop_key

 

 将鼠标留在第三个终端不要动,可以通过点击键盘上的上下左右键,来控制小海龟的移动

 

 

2、检查rviz等高级功能的运行

打开第一个终端输入roscore 打开第二个终端输入rosrun rviz rviz 看到下图画面则rviz等其他组件安装成功。

 

至此就算全部搞定了,接下来就可以用Ros来做自己的任务了。 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐