官方英文连接:melodic/Installation/Ubuntu - ROS Wiki
如果一下命令有疑问:见上方官方文档,也很简洁
ROS有许多版本,ubuntu20.04对应的版本Noetic也发行了,本文主要以ubuntu18.04+melodic安装,其余版本安装大同小异,如果有不同的地方我会做出标注,所以大家可以放心按着教程来 一.源的选择和导入 首先就是换成国内源,这些都比较基础
然后打开终端,添加新的源:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' |
二.输入对应秘钥,正式安装ros
首先输入一下秘钥:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 |
更新一下
sudo apt-get update && sudo apt-get upgrade |
更新完成后就可以正式安装啦!然后输入
sudo apt-get install ros-melodic-desktop-full |
(!!!这里要注意一下,安装的ros版本一定要和你的ubuntu系统做对应,比如14.04对应indigo,16.04对应kinetic,18.04对应melodic.20.04对应noetic,具体修改方式就是把上述代码中的"medolic"换成你系统对应的版本就行了) 这样就是安装完成了
(我这个是kinetic的截图,不过不影响,终端没报错就行) 然后我们查看一下是否安装成功了 终端输入
cd /opt |
|
如果有ros目录,则这样就证明安装成功了
接下来设置:
环境设置:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
到目前为止,您已经安装了运行核心ROS包所需的东西。为了创建和管理您自己的ROS工作区,有各种工具和需求是分开分发的。例如,rosinstall是一个常用的命令行工具,它使您能够用一个命令轻松地下载ROS包的许多源代码树。
要安装此工具和其他用于构建ROS包的依赖项,请运行:
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
初始化rosdep
在使用许多ROS工具之前,需要初始化rosdep。rosdep使您能够轻松地为要编译的源代码安装系统依赖项,并且是在ROS中运行某些核心组件所必需的。如果您尚未安装rosdep,请按以下步骤进行安装。
sudo apt install python-rosdep
通过以下步骤,可以初始化rosdep。
sudo rosdep init
rosdep update
三.初始化rosdep
如果此步骤频繁报错:请跳转到此博客尝试解决问题
rosdep init ROS安装问题解决方案 +解决ROS系统 rosdep update超时问题的新方法_#君君#的博客-CSDN博客
终端输入
sudo rosdep init |
这里可能会出现报错
我们需要自己进入/etc下自建那个文件夹以及文件,具体操作如下
cd /etc |
sudo mkdir ros |
cd ros |
sudo mkdir rosdep |
cd rosdep |
sudo mkdir source.list.d |
cd source.list.d |
sudo touch 20-default.list |
之后我们进入这个文件中编辑
sudo gedit 20-default.list |
在文件在输入
#os-specific listings first |
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx |
#generic |
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml |
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml |
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml |
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte |
#newer distributions (Groovy, Hydro, …) must not be listed anymore, they are being |
#fetched from the rosdistro index.yaml instead |
保存就好啦 之后再终端输入
rosdep update |
接下来可能还会出错,具体错误如下(大部分原因都是网络问题)
怎么解决呢? 首先调大执行时间,更改 /usr/lib/python2.7/dist-packages/rosdep2/
下的三个文件sources_list.py
、gbpdistro_support.py
、rep3.py
中的DOWNLOAD_TIMEOUT = 15.0
值,我一般直接改成999。 终端输入:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py |
修改一下DOWNLOAD_TIMEOUT
,其余两个文件一样 修改完成后,再输入
sudo gedit /etc/hosts |
在最后一行加入
199.232.96.133 raw.githubusercontent.com |
保存一下 然后更新
sudo apt update |
完成后继续输入
rosdep update |
如果正常,你会发现,此时你hit那些网址的速度会加快不少,比之前要快得多 当然还是会出现time out这个问题,这时候还是Ctrl+C停下,继续rosdep update,然后多试几次就成功了。 成功后的截图
如果此步骤频繁报错:请跳转到此博客尝试解决问题
rosdep init ROS安装问题解决方案 +解决ROS系统 rosdep update超时问题的新方法_#君君#的博客-CSDN博客
前三步如果代理方式解决无法访问raw.githubconten.com的问题,那么恭喜你,你的安装步骤已经成功了百分90.
四.环境变量设置
在终端输入
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc |
source ~/.bashrc |
六.测试
在终端下输入
roscore |
打开一个新终端输入
rosrun turtlesim turtlesim_node |
此时会出现一个小乌龟
此时就代表安装完成啦! 打开一个终端再输入
rosrun turtlesim turtle_teleop_key |
按住方向键就能控制龟龟的移动了!!!