提示:
使用中科大的源会相对快很多。
使用Ctrl Alt+T启动terminal命令行界面;
推荐采用中科大的源(优点:速度快。比官方的源速度快很多。)
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'
或者可以采用官方的源码,下载速度会慢很多,官方的源码经过测试在下面第五步骤rosdep过程中会出现一些问题。
官方的源添加如下:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
sudo apt-get install ros-melodic-desktop-full
注意:在使用ROS之前需要初始化rosdep,在使用过程中只要有输入过初始化一次就可以
sudo rosdep init
rosdep update
注意:sudo rosdep init 找不到命令解决办法
sudo apt install python-rosdep2 -y
其中加-y
省去在安装过程中输入y+回车的时间
注意:
输入sudo rosdep init如果出现 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.
解决方法1:
在终端命令行输入
sudo gedit /etc/hosts
然后在host文件中添加
199.232.28.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
151.101.228.133 raw.github.com
最后保存就好了。再运行上面的命令。
解决方法2:
将相关资源备份到 gitee,修改 rosdep 源码,重新定位资源。成功率是百分百。
步骤1
进入到 sources.list.d 文件夹(如果没有,则新建)
修改 gedit 20-default.list
cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list
将里面所有的
raw.githubusercontent.com/ros/rosdistro/master
替换成
gitee.com/wybros/rosdistro/raw/master
修改前
# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
修改后
# os-specific listings first rosdep update
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/base.yaml
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/python.yaml
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/ruby.yaml
gbpdistro https://gitee.com/wybros/rosdistro/raw/master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
步骤2
进入到 rosdep2 文件夹,
修改 gbpdistro_support.py
cd /usr/lib/python2.7/dist-packages/rosdep2/
sudo gedit gbpdistro_support.py
将里面所有的
raw.githubusercontent.com/ros/rosdistro/master
替换成
gitee.com/wybros/rosdistro/raw/master
修改后如下
FUERTE_GBPDISTRO_URL = 'https://gitee.com/wybros/rosdistro/raw/' \
'master/releases/fuerte.yaml'
步骤3
进入到 rosdep2 文件夹,
修改 rep3.py
cd /usr/lib/python2.7/dist-packages/rosdep2/
sudo gedit rep3.py
将里面所有的
raw.githubusercontent.com/ros/rosdistro/master
替换成
gitee.com/wybros/rosdistro/raw/master
修改后如下
REP3_TARGETS_URL = 'https://gitee.com/wybros/rosdistro/raw/master/releases/targets.yaml'
步骤4
进入到 rosdep2 文件夹,
修改 sources_list.py
cd /usr/lib/python2.7/dist-packages/rosdep2/
sudo gedit sources_list.py
将里面所有的
raw.githubusercontent.com/ros/rosdistro/master
替换成
gitee.com/wybros/rosdistro/raw/master
修改后如下
DEFAULT_SOURCES_LIST_URL = 'https://gitee.com/wybros/rosdistro/raw/master/rosdep/sources.list.d/20-default.list'
步骤5
进入到 rosdistro 文件夹
修改 __ init__.py
cd /usr/lib/python2.7/dist-packages/rosdistro/
sudo gedit __init__.py
将里面所有的
raw.githubusercontent.com/ros/rosdistro/master
替换成
gitee.com/wybros/rosdistro/raw/master
修改后如下
DEFAULT_INDEX_URL = 'https://gitee.com/wybros/rosdistro/raw/master/index-v4.yaml'
最后运行上面rosdep update的命令
sudo rosdep init
rosdep update
kinetic版本环境如下
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
melodic版本环境如下
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
roscore
rosrun turtlesim turtlesim_node
rosrun rqt_graph rqt_graph
相关问题描述: 在安装melodic版本的ROS后,使用roscore 下的启动ROS时,出现以下报错情况:(目前只在Ubuntu18.04下安装melodic时发现
)
“Command ‘roscore’ not found, but can be installed with: sudo apt install python-roslaunch”
根据对应的情况输入:sudo apt install python-roslaunch发现并未解决问题。出现了以下的情况:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
python-roslaunch : 依赖: python-roslib 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
解决办法:
首先通过查看ROS文件夹中的bin
文件,发现该文件中缺少许多相关可执行文件。
查看方法:
cd /opt/ros/melodic/bin
ls -l
发现改文件夹中没有roscore的可执行文件。(应该是在rosdep update
步骤时将部分可执行文件删除)
解决办法:只需要重新安装一下 ros-melodic-desktop
文件就可以将其补充完整。
sudo apt-get install ros-melodic-desktop
然后再验证一下所安装的完成
source ~/.bashrc
roscore
这时候就能完成所有的ROS启动。
安装过程中尽量采用中科源,速度比较快。整个安装过程采用中科源大约时间为40分钟左右。