ros 如何安装 python 软件包 ros 20.04 安装过程
ROS20.04-Noetic安装
- 版本说明
- 安装过程
- 1. 添加 source.list
- 2. 添加keys
- 3. 安装
- 4. 初始化与更新
- 4.1 初始化报错解决办法
- 4.1.1 查询IP
- 4.1.2 修改hosts
- 4.2 更新报错解决办法
- 4.2.1 打开包含资源下载函数的文件
- 4.2.2 添加代理
- 4.2.3 修改 /usr/lib/python3/dist-packages/rosdistro/__init__.py 文件中的DEFAULT_INDEX_URL
- 4.2.4 修改其余(4个)文件中的地址,在地址 https://raw.githubusercontent.com/... 前添加https://ghproxy.com/
- 5 环境配置
- 5.1 必须在使用ROS的每个bash终端中获取此脚本的源代码
- 6 安装rosinstall
- 7 测试安装是否成功
- 8 尝试控制小海龟
- 8.1启动ROS Master
- 8.2 启动小海龟仿真器
- 8.3 启动海龟控制节点
参考B站古月居老师的视频以及大量博客反复尝试多次,终于安装成功,现将安装过程进行详细说明,望后来者避坑。
版本说明
因为安装的Ubuntu版本为20.04,所以对应的ROS版本为Noetic。
安装过程
1. 添加 source.list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2. 添加keys
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3. 安装
sudo apt update
sudo apt install ros-noetic-desktop-full
安装过程可能会持续10~20mins,请耐心等待,若因网络问题无法安装请尝试将第一步换为下面的源,再按上述步骤安装。
sudo sh -c 'echo "deb https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
4. 初始化与更新
sudo rosdep init
rosdep update
4.1 初始化报错解决办法
可能会提示下载python-rosdep2,noetic对应的版本应为python3-rosdep2,故安装命令为
sudo apt install python3-rosdep2
安装完成后再执行 sudo rosdep init 时需要重置初始化文件20-default.list,直接删除该文件
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
再次执行初始化命令,可能会出现下列报错:
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.
解决办法如下:
4.1.1 查询IP
这是因为https://raw.githubusercontent.comt网站的IP地址变化引起的,所以需要访问 https://www.ipaddress.com/, 查询 raw.githubusercontent.com 的IP地址 (一键查询)
4.1.2 修改hosts
sudo gedit /etc/hosts
打开hosts文件如下:
127.0.0.1 localhost
127.0.1.1 xmzb
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
在最后一行添加(IP根据你查到的修改)
185.199.110.133 raw.githubusercontent.com
保存退出后运行初始化命令如果仍然报错尝试更换其他IP地址。
初始化成功后会提示 rosdep update 的信息。
4.2 更新报错解决办法
执行 rosdep update可能会出现以下报错:
$ rosdep update reading in sources list data from /etc/ros/rosdep/sources.list.d ERROR: error loading sources list: ('The read operation timed out')
这是由于访问的网站被墙的缘故,所以需要添加代理,更新过程一共会访问5个网站,建议全部都启用代理进行访问
4.2.1 打开包含资源下载函数的文件
sudo gedit /usr/lib/python3/dist-packages/rosdep2/sources_list.py
4.2.2 添加代理
url="https://ghproxy.com/"+url
代码修改位置:
4.2.3 修改 /usr/lib/python3/dist-packages/rosdistro/init.py 文件中的DEFAULT_INDEX_URL
sudo gedit /usr/lib/python3/dist-packages/rosdistro/__init__.py
//修改第68行的地址
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
4.2.4 修改其余(4个)文件中的地址,在地址 https://raw.githubusercontent.com/… 前添加https://ghproxy.com/
sudo gedit /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py
//修改第36行的地址
sudo gedit /usr/lib/python3/dist-packages/rosdep2/sources_list.py 72行
//修改第72行
sudo gedit /usr/lib/python3/dist-packages/rosdep2/rep3.py
//修改第39行
sudo gedit /usr/lib/python3/dist-packages/rosdistro/manifest_provider/github.py
//修改第68行、119行
再次运行 rosdep update ,成功完成对5个网站的访问(Hit)并获取到相应资源。
5 环境配置
5.1 必须在使用ROS的每个bash终端中获取此脚本的源代码
source /opt/ros/noetic/setup.bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
至此已经在Ubuntu20.04的系统中完整安装ROS Noetic
6 安装rosinstall
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
7 测试安装是否成功
输入ros并敲击两次Tab,观察以ros开头的命令是否有roscore
ros
若没有,按照安装步骤再操作一遍,可以发现第二次安装的时间很短,应该是补齐了之前没有安装好的包。
或者根据古月居老师教程直接输入roscore命令,可能会显示以下错误:
Resource not found: roscore ROS path [0]=/opt/ros/noetic/share/ros ROS path [1]=/opt/ros/noetic/share The traceback for the exception was written to the log file
提示安装其他的包,发现安装后没有用,应该改为以下语句
sudo apt-get install ros-noetic-roslaunch
8 尝试控制小海龟
三次命令分别开启不同终端执行
8.1启动ROS Master
roscore
8.2 启动小海龟仿真器
rosrun turtlesim turtlesim_node
8.3 启动海龟控制节点
rosrun turtlesim turtle_teleop_key
使用上下左右键对小海龟进行控制
参考资料:
https://zhuanlan.zhihu.com/p/392082731
上一篇: ros系统安装
下一篇: ROS: 安装功能包的所有依赖项
推荐阅读
-
ROS 安装教程 -- Ubuntu 20.04 LTS 安装
-
ROS 的软件包安装和应用
-
安装和使用 ROS ROS 再详细不过的安装教程 版本 19.4!我赶时间如何安装 ROS!
-
在 ubuntu 20.04 中安装 ROS 的详细说明,超快完成安装(最新版教程)
-
ROS 入门 - 安装 ROS (ubuntu20.04)
-
ROS 教程 (I):Ubuntu ROS 安装详细教程(全过程)+ 测试程序
-
详细介绍如何在 ubuntu 20.04 中安装 ROS 系统,以及安装过程中出现的常见错误的解决方法,请填写孔!!!!
-
ros 安装 python 的步骤 ros 如何安装
-
ROS_安装第三方仿真软件包 - 机器人仿真世界
-
ROS 安装教程(下)(ubuntu20.04 安装 ROS Noetic)