参考链接:
Ubuntu18.04安装Ros(最新最详细亲测)_向日葵骑士Faraday的博客-CSDN博客
ROS官网:http://wiki.ros.org/melodic/Installation/Ubuntu
一、检查cmake
安装ROS时会自动安装旧版的Cmake3.10.2。所以在安装Ros之前,需要先检查此先是否有安装Cmake。如果之前已经安装新版的cmake,那电脑中存在多个版本的cmake,如果没有安装,则可以在安装完ROS后再安装需要版本的cmake。如何让cmake命令指向我们所需的特定版本?可参考下面这篇博客:
Unbuntu安装Ros后Cmake变成3.10_ros 默认的cmake版本_向日葵骑士Faraday的博客-CSDN博客
(安装完ROS后会显示cmake版本为3.10.2)
二、安装版本检查
不同的Ubuntu安装的ROS版本不同。Ubuntu18.04对应的ros版本为RS Melodic,不要安装错了。 可以去官网melodic/Installation/Ubuntu - ROS Wiki查看其他对应版本。
三、安装步骤
1.安装Ubuntu的软件和更新源
1)先检查Ubuntu软件和更新源
将四个选项全部选上,同时将下载源更换为国内源。默认的服务器比较慢,换成阿里云,清华,中科大都是可以的。
2)添加ROS软件源
打开终端,输入以下命令:
python
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
2. 设置ROS安装密钥
公钥是Ubuntu系统的一种安全机制,也是ROS安装中不可缺的一部分。设置ROS安装密钥,输入以下命令:
python
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
查看软件包密钥可以使用 apt-key命令。
3. 更新Ubuntu软件源
更新Ubuntu软件源,输入以下命令:
python
sudo apt update
4. 安装ROS桌面完整版
在终端输入以下命令,慢慢等待安装完成:
这个命令将安装完整的ROS软件,包括ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知等等的全套基础组件。
python
sudo apt install ros-melodic-desktop-full
5. 设置ROS环境变量
设置ROS环境变量,输入以下命令:
python
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6. 安装ROS工具
安装ROS工具,输入以下命令:
python
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
7. 初始化ROS安装
在初始化ROS安装时,会从外国的网站raw.githubusercontent.com
拉取一些信息和文件。这个网站现在被墙了,导致这一步出错。不用爬楼梯的解决办法如下:
1)修改/etc/hosts
文件
终端输入以下命令并回车:sudo gedit /etc/hosts,将hosts文件打开,把下面这些地址拷贝到hosts文件末尾,然后保存。
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
版权声明:本文为CSDN博主「向日葵骑士Faraday」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KIK9973/article/details/118755045
2)修改/etc/resolv.conf
文件
.终端输入以下命令并回车sudo gedit /etc/resolv.conf,
将原有的nameserver那一行注释,并添加以下两行后保存:
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
3)再次执行sudo rosdep init
显示如上信息则表示rosdep初始化成功,如果出现以下错误提示:
是因为20-default.list 这个文件已经存在,解决办法就是
删除20-default.list这个文件。
终端输入以下命令并回车删除文件:sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
再次执行sudo rosdep init。
8. rosdep update 更新
在终端输入以下命令并回车rosdep update。
网络良好的话,很快就更新完成了,更新成功会显示上述信息。如果出现更新超时read operation timed out的错误提示,是因为raw.githubusercontent.com这个网站被墙,国内网拉取信息网速缓慢。
解决办法1:多次执行rosdep update
操作,网络良好的情况下有可能完成所有更新。如果还是不行,使用办法2.
解决办法2:将更新所需要的文件下载放在本地文件夹,并修改执行更新的路径。在本地完成更新,避免向外国网站拉取信息和文件。
CSDN作者银时大魔王已经将更新所需的文件整理好上传云中(大家可以去观摩原文):
链接: https://pan.baidu.com/s/1PhTCqtvScV_XGf9ac0CcCg 提取码: w3ix
将下载提取出的文件夹移动到/etc/ros
文件夹下,终端输入sudo cp -r ../ros_github/ /etc/ros/
(注意:../ros_github/
为自己提取安放的路径,需要改成自己的)
再修改更新文件路径:
参考链接:Ubuntu 18.04 安装 ROS Melodic 中 sudo rosdep init 和 rosdep update 一定能成功的方法,就硬干-CSDN博客
1)修改index-v4.yaml
路径
终端输入以下命令回车:sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/init.py,
将该文件中第68行代码注释并添加file:///etc/ros/ros_github/index-v4.yaml,见下图
2)修改 /etc/ros/rosdep/sources.list.d/20-default.list
文件
终端输入以下命令回车:sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list,
再将原有内容全部注释 或者 删除。最后添加以下内容在文档中。如下图所示
再次执行rosdep update。
常见问题:如果遇到Hit缺失,更新不完整的情况 ,可以尝试关闭终端 再次执行更新命令。多尝试几次就能成功。
到此,ROS安装就算成功了。
四、检查安装情况:运行小海龟和rviz
终端输入命令回车:roscore
出现以上提示则代表安装成功。
接下来运行小海龟。开启第二个终端输入rosrun turtlesim turtlesim_node,
会出现一个小海龟
然后开启第三个终端输入rosrun turtlesim turtle_teleop_key ,接下来就可以通过方向键控制海龟的移动。
最后检查rviz等高级功能的运行。新开一个终端输入:rosrun rviz rviz,显示以下界面表示运行成功。
以上就是Unbuntu18.04安装Ros对应版本的全部过程。