注意:如果有conda环境 conda deactivate推出环境
1-4步骤都是很顺利的(如果下载失败请换源),第5步rosdep比较繁琐,但是根据我的使用情况,发现不按照rosdep也能正常使用。更新于2022.3
安装过程的打印信息可以参考安装noetic的信息
补充:换源方法:打开software&updates
在里面找到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步骤的结果
3、更新软件源
sudo apt update
4、开始安装ROS
sudo apt install ros-noetic-desktop-full
安装过程中发现ros-noetic安装的是python3
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
如果出现了以下的问题说明,之前的安装没有安装全,继续输入下面的命令补全安装包
sudo apt install ros-noetic-desktop-full
最终成功! 小提示:ros-noetic-desktop-full已经包含了opencv4.2 如果后续用到了ros的opencv 要注意版本。
完成后我们使用海龟节点验证
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
------------------------------------------下面可以不安装(目前没发现影响使用)----------------------------
如果大家有发现必须用到的情况,请麻烦告诉我。
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,添加前面
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
剩下的三个和上面的同理:
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行不用)
最终成功!(如果有一两个错误了,多试几次)
--------------------------------------------------------------------------------------------------------------
参考:解决ROS系统 rosdep update超时问题的新方法_leida_wt的博客-CSDN博客_rosdep update 超时
详细介绍如何在ubuntu20.04中安装ROS系统,以及安装过程中出现的常见错误的解决方法,填坑!!!_慕羽★的博客-CSDN博客_ubuntu20.04安装教程