Ubuntu20.02(noetic)安装ros详细教程及报错解决方案
- 0. 安装前设置
- 1. 添加ros软件源
- 2. 添加密钥
- 3. 更新软件源
- 4. 安装ros
- 5. 初始化rosdep
- 报错1:找不到命令
- 报错2:ERROR: cannot download default sources list from:https : //raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
- 报错3:ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
- 再次执行`sudo rosdep init`
- 6. 安装 rosinstall
- 7. 添加环境变量
- 8. 执行roscore
- 9. 启动小海龟仿真器
- 10. 再打开一个终端,启动键盘操作小海龟
- 这样ros就安装成功啦!
0. 安装前设置
打开软件与更新,选中前四个框,保证下载安装不被拦截
1. 添加ros软件源
以下两个命令挑选一个执行:
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.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 C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
成功后输出:
3. 更新软件源
sudo apt update
成功后输出:
4. 安装ros
sudo apt install ros-noetic-desktop-full
这个命令我执行了四次才成功
(1)第一次执行命令
一直输出“获取…”,报错无法下载,Hash校验和不符
解决办法
直接继续执行sudo apt install ros-noetic-desktop-full
(2)第二次执行命令
输出几个获取之后,开始输出解压与选中,最后还是报错
解决办法
直接继续执行sudo apt install ros-noetic-desktop-full
(3)第三次执行命令
直接报错,有未能满足的依赖关系,也就是说没有安装成功python3-catkin-pkg-modules
解决办法
-
输入
sudo apt --fix-broken install
,得到红框中的路径
-
输入
sudo dpkg -i --force-overwrite 上述路径
-
输入
sudo apt-get -f install
(4)第四次执行命令
sudo apt install ros-noetic-desktop-full
成功后将输出以下内容
5. 初始化rosdep
sudo rosdep init
报错1:找不到命令
解决:输入命令sudo apt install python-rosdep2 -y
或者sudo apt install python3-rosdep2 -y
然后再次执行sudo rosdep init
报错2:ERROR: cannot download default sources list from:https : //raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
解决:输入命令sudo gedit /etc/hosts
,在打开的文件中输入一行:199.232.28.133 raw.githubusercontent.com
报错3:ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
解决:输入命令sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
再次执行sudo rosdep init
会输出:please run rosdep update
于是输入命令
rosdep update
提示:这一步因为网络原因可能会不成功,要多执行几次,我执行了3次才成功。
6. 安装 rosinstall
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
7. 添加环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source一下:
source ~/.bashrc
或者打开新的终端使新添加的环境变量生效
8. 执行roscore
报错1
解决:输入命令
sudo apt install python3-roslaunch
报错2
解决:因为前面安装ros的时候没安装全,输入命令
sudo apt install ros-noetic-desktop-full
再次执行roscore,成功后将输出下列内容
9. 启动小海龟仿真器
rosrun turtlesim turtlesim_node
10. 再打开一个终端,启动键盘操作小海龟
rosrun turtlesim turtle_teleop_key
将鼠标放在这个终端上,即选中这个终端,然后按方向键就可以操纵小海龟了。鼠标没有选中红框中的终端小海龟是不会动的,出现黄色的warn是因为小海龟的运动超出的框定范围。