0 ROS卸载
如果你在安装ROS的时候频频报错,感到心灰意冷,不妨卸载ROS全部组件,从头再来~
sudo apt-get remove --purge ros-*
1 官方教程
cn/melodic/Installation/Ubuntu - ROS Wiki
2 教程
2.1 环境设置
打开SoftWare & Updates,在Download from中选择中科大的源,点击Choose Server后选择Reload,配置好如下图所示:
2.2 添加ROS安装源和安装密钥
更换中科大的安装源,打开终端,输入以下命令,运行
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.3 添加ROS秘钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
2.4 安装ROS
首先更新源,更新中途需要按y继续,然后安装ROS melodic桌面完整版,在终端逐次输入以下两条命令:
sudo apt update && sudo apt-get upgrade
sudo apt install ros-melodic-desktop-full
2.5 初始化rosdep-1
在使用 ROS 之前,需要初始化 rosdep。rosdep 能够轻松地安装被想要编译的源代码,或被某些 ROS 核心组件需要的系统依赖
sudo rosdep init
2.6 初始化rosdep-2
rosdep update
2.7 环境配置
将 ROS 环境变量自动添加到新 bash 会话会很方便,用echo语句将命令添加到bash会话后,每次打开一个新的终端,ROS的环境变量都能够自动配置好:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc && source ~/.bashrc
2.8 安装依赖
安装 rosinstall 和其他依赖:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
2.9 安装完成测试
打开三个终端,分别运行以下三句命令,将鼠标光标选中在第三终端时,可以通过键盘上的方向键控制小海龟运动:
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
3 报错提示
3.1 在2.4步中安装ROS时报错
通常是网络问题,重复运行命令,直到达到100%
3.2 在2.5步中出现sudo: rosdep: command not found
按照给的提示,运行以下命令:
sudo apt install python-rosdep
3.3 在2.5步中出现ERROR: cannot download default sources list from......显示无法连接网络
3.3.1 打开https://www.ipaddress.com/
3.3.2 在下方搜索框输入raw.githubusercontent.com
3.3.2 运行以下命令,打开hosts文件,在文件中添加 IP + raw.githubusercontent.com
sudo gedit /etc/hosts
185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
3.3.3 重新运行sudo rosdep init
3.4 在2.6步出现报错ERROR: error loading sources list:......,显示连接超时
3.4.1 方法一
这一步的本质是在对应的网站下载相关文件,因此我们可以直接到对应网址保存所需要的文件到/etc/ros/rosdep,链接:https://pan.baidu.com/s/10OnpXNkZddTD1IV4DtwYdg
提取码:1234 ,下载后解压,将下载的文件里的\rosdep\rosdistro-master\rosdep目录下的yaml文件拷贝到Ubuntu的桌面,然后在/etc/ros/rosdep目录下打开终端,运行以下命令:
sudo mv /home/ubuntu/Desktop/*.yaml ./
如果这一步出问题的话那就是路径有问题,在桌面打开终端输入pwd,得到桌面路径:
因此,在/etc/ros/rosdep目录下打开终端,输入命令:
sudo mv /home/anqitongxue/Desktop/*.yaml ./
然后回到最开始的终端,继续rosdep update即可
3.4.2 方法二
参考rosdep init/rosdep update error:timeout - 古月居 (guyuehome.com)的做法