TX2使用记录系列文章(3)-TX2下ROS快速安装
软硬件平台
- TX2端:使用JetPack3.3刷机的系统
网上使用之前的教程用的源下载速度太慢,安装一次ROS系统需要耗费好几个小时。本篇文章使用的源可以半个小时搞定ROS的安装 并且现在安装ROS在操作rosdep init时会出问题,本文中介绍了解决方法,亲测有效
1.添加下载源
1.1 添加下载源(这个是国内的资源,所以下载的速度非常快)
使用这个国内源安装的话 大概半个小时即可完成,原来我安装的时候都是使用的其他源,整体安装下来需要大概4个小时
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
1.2 添加秘钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
2.安装
2.1 保证软件包是最新的
sudo apt update
2.2 安装桌面版
内置了很多常用的工具,方便学习使用,如果是在固定设备上使用,可以分开安装
# 使用的kinetic版本 安装其他版本将kinetic替换为对应版本的名称即可
sudo apt install ros-kinetic-desktop-full
如果在安装完成的时候提示有个别包没有安装成功执行如下指令
sudo apt install --reinstall ros-kinetic-desktop-full
2.3 初始化
sudo rosdep init
现在是2020年5月,现在执行上面的指令后会出现如下错误
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.
网上有许多解决的方法,但是我使用的这个一次就成功了,其他的方法尝试过,不太好用
参考:sudo rosdep init 出现 ERROR: cannot download default sources list from
解决步骤:
-
在github.com/ros/rosdistro这个链接下将文件下载下来,解压到
/home/nvidia
目录下,并将名字更改为rosdistro
-
打开
rosdistro/rosdep/source.list.d/
下的文件20-default.list
将里面的内容更换为如下内容,注意nvidia部分为你的用户名# os-specific listings first yaml file:///home/nvidia/rosdistro/rosdep/osx-homebrew.yaml osx # generic yaml file:///home/nvidia/rosdistro/rosdep/base.yaml yaml file:///home/nvidia/rosdistro/rosdep/python.yaml yaml file:///home/nvidia/rosdistro/rosdep/ruby.yaml gbpdistro file:///home/nvidia/rosdistro/releases/fuerte.yaml fuerte # newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
-
执行
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
命令,查找到DEFAULT_SOURCES_LIST_URL
将内容替换为:DEFAULT_SOURCES_LIST_URL = 'file:///home/nvidia/rosdistro/rosdep/sources.list.d/20-default.list'
-
执行
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
命令,查找到REP3_TARGETS_URL将内容替换为:REP3_TARGETS_URL = 'file:///home/nvidia/rosdistro/releases/targets.yaml'
-
执行
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
命令,查找到DEFAULT_INDEX_URL将内容替换为:DEFAULT_INDEX_URL = 'file:///home/nvidia/rosdistro/index-v4.yaml'
再次执行
sudo rosdep init
通过后执行
rosdep update
2.4 环境配置
echo ''source /opt/ros/kinetic/setup.bash'' >> ~/.bashrc
source ~/.bashrc
2.5 构建依赖项
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
安装结束
3.测试是否安装成功
打开终端输入roscore,若能启动成功,证明ROS安装成功
4.卸载
通过apt-get 卸载ros
sudo apt-get remove ros-*