在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)

注意:如果有conda环境 conda deactivate推出环境

1-4步骤都是很顺利的(如果下载失败请换源),第5步rosdep比较繁琐,但是根据我的使用情况,发现不按照rosdep也能正常使用。更新于2022.3

安装过程的打印信息可以参考安装noetic的信息

补充:换源方法:打开software&updates 

在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)_第1张图片

在里面找到china 然后选择对应的源

1、添加ROS软件源

将以下命令复制到ubuntu的终端执行
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

 2、添加密钥
     将以下命令复制到ubuntu的终端执行

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 

下面是1、2步骤的结果
在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)_第2张图片

3、更新软件源

sudo apt update

4、开始安装ROS

sudo apt install ros-noetic-desktop-full

安装过程中发现ros-noetic安装的是python3 

在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)_第3张图片

 4.1、设置环境变量

进入bashrc文件添加source /opt/ros/noetic/setup.bash

或者:

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc 

source ~/.bashrc 让脚本生效

4.2、安装rosinstall等工具

rosinstall 是ROS中一个独立分开的常用命令行工具, 它可以方便让你通过一条命令就可以给某个ROS软件包下载很多源码树。 比如sudo apt install ros-noetic-...

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential python3-roslaunch

4.3、启动ros

roscore

在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)_第4张图片 如果出现了以下的问题说明,之前的安装没有安装全,继续输入下面的命令补全安装包

sudo apt install ros-noetic-desktop-full

最终成功! 小提示:ros-noetic-desktop-full已经包含了opencv4.2 如果后续用到了ros的opencv 要注意版本。在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)_第5张图片

 完成后我们使用海龟节点验证

rosrun turtlesim turtlesim_node

rosrun turtlesim turtle_teleop_key

在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)_第6张图片

------------------------------------------下面可以不安装(目前没发现影响使用)----------------------------

如果大家有发现必须用到的情况,请麻烦告诉我。

5、初始化rosdep

rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖, 同时也是某些ROS核心功能组件所必需用到的工具。

sudo apt install python3-rosdep2 (这里我选择了这个)

或sudo apt install python-rosdep2

安装完成后继续运行 sudo rosdep init 命令出现下面错误

输入下面命令解决上面错误后再输入sudo rosdep init,

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

之后成功出现下面的命令 ,如果超时继续sudo rosdep init

  

 6、更新rosdep

rosdep update

正常情况下,会一直出现超时的错误。

 根据此博客的方法(此博客围绕是python2)调整(本博客修改的python3)

        由于近期国内Github Raw的可用IP越来越少,之前都是通过修改hosts文件解决rosdep update超时问题,而现在已经不适用。上面博客介绍可以通过修改rosdep源码中下载资源的函数来解决这一问题。网站https://ghproxy.com/支持github的资源代理,接来下用此代理加速rosdep对Github Raw的访问,进而解决rosdep update超时问题。

        原博客作者定位到rosdep资源下载函数。从报错信息中得知,该函数名为download_rosdep_data,位于/usr/lib/python3/dist-packages/目录下,具体在下面目录中

下面逐一修改下面的文件,通过查找https,添加前面

https://ghproxy.com/

1、sudo gedit /usr/lib/python3/dist-packages/rosdistro/__init__.py

2、sudo gedit /usr/lib/python3/dist-packages/rosdep2/sources_list.py

这里有三个地方: 

调整下超时时间

DOWNLOAD_TIMEOUT = 500.0

下面注意在这里加上

url="https://ghproxy.com/"+url

在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)_第7张图片

 剩下的三个和上面的同理:

3、sudo gedit /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py 

4、sudo gedit /usr/lib/python3/dist-packages/rosdep2/rep3.py

5、sudo gedit /usr/lib/python3/dist-packages/rosdistro/manifest_provider/github.py

两处68行和119行(83行不用)

最终成功!(如果有一两个错误了,多试几次)

在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)_第8张图片-------------------------------------------------------------------------------------------------------------- 
参考:解决ROS系统 rosdep update超时问题的新方法_leida_wt的博客-CSDN博客_rosdep update 超时

详细介绍如何在ubuntu20.04中安装ROS系统,以及安装过程中出现的常见错误的解决方法,填坑!!!_慕羽★的博客-CSDN博客_ubuntu20.04安装教程

你可能感兴趣的:(ROS,自动驾驶,ubuntu,python)