将ROS的软件源添加到Ubuntu的sources.list的文件中
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 国内源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
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'
查看其它ROS 软件源的地址:UbuntuMirrors
配置公网密钥,确保我们的系统认为这个路径是安全的,下载文件是没有问题的。不然下载的东西会立刻被清除掉。
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
确保Ubuntu系统软件源的"restricted", “universe” 和 "multiverse"前是打上勾的。
2、 查看ubuntu版本
cat /proc/version
3、 选择合适的版本下载安装
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
apt-cache search ros-melodic
1、初始化 rosdep
rosdep 让你能够轻松地安装被想要编译的源代码,或被某些 ROS 核心组件需要的系统依赖。
在终端依次输入下面指令进行初始化和更新:
sudo rosdep init
rosdep update
2、初始化 rosdep可能报错
1)报错1
sudo rosdep init
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.
#打开hosts文件
sudo gedit /etc/hosts
#在文件末尾添加,保存后退出再尝试
185.199.108.133 raw.githubusercontent.com
2)报错2
ERROR: error loading sources list:
('The read operation timed out'.)
# os-specific listings first rosdep update
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/base.yaml
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/python.yaml
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/ruby.yaml
gbpdistro https://gitee.com/wybros/rosdistro/raw/master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
然后将rosdep2 文件夹(/usr/lib/python2.7/dist-packages/rosdep2/)中的 ‘gbpdistro_support.py’ ‘rep3.py’ ‘sources_list.py’ 这三个文件中URL的raw.githubusercontent.com/ros/rosdistro/master
都替换为:
gitee.com/wybros/rosdistro/raw/master
同样再将rosdistro 文件夹(/usr/lib/python2.7/dist-packages/rosdistro/)中的 ‘init.py ‘文件的’raw.githubusercontent.com/ros/rosdistro/master’替换为
gitee.com/wybros/rosdistro/raw/master
最后再更新即可。
rosdep update
参考文章: 安装ROS中初始化rosdep出现问题解决办法
sudo gedit /etc/resolv.conf
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
参考文章:Ubuntu16.04&Melodic rosdep初始化问题解决方案
3、设置环境变量
输入以下指令设置环境变量
# !!! 注意将下面命令中的melodic更换为你的Ubuntu对应的ROS版本
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
(如果不小心输错了其他版本,可以输入sudo gedit ~/.bashrc,以管理员权限用gedit打开bashrc这个文件在最后一行找到刚刚输入进去的环境变量,将其删去,再执行前一个命令).
4、验证ROS是否安装成功
将以下三条指令逐一在三个
不同的命令窗口输入
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
这时候你按键盘上的↑↓←→键就可以控制小海龟移动了!!!那么ROS就已经成功安装了!!!
5、输入roscore
报错
Command 'roscore' not found, but can be installed with:
说明前面系统没有装全,再输以下指令把没安装的再安装一遍就好了
sudo apt install ros-melodic-desktop-full