Jetson Nano Developer Kits (Jetson Nano B01)安装ROS Melodic(亲测有效,相当详细!)

背景

Jetson Nano Developer Kits安装系统为:Ubuntu 18.04——ROS Melodic
用到的硬件:Jetson Nano B01,ASUS VivoBook S5300U
内存卡:SanDisk Ultra 128G

1. 备份source.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2. 更改软件源

sudo gedit /etc/apt/sources.list

        将其中内容全部删除,修改为:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe

        由于nano为ARM 64 架构,双系统为x86/x64架构,如果在双系统上安装ROS,修改为:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
 
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

3. 进行软件更新

sudo apt-get update

        至此,jetson nano部分配置完毕,接下来进行ros安装。

4. 添加ROS软件源

        将下面这条命令复制到ubuntu的终端执行

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'

5. 添加密匙

        将下面这条命令复制到ubuntu的终端执行

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

        出现如下界面,则表示成功

 6. 更新ros软件源

        将以下命令复制到ubuntu的终端执行(在这里顺便说一下,如果用wifi更新慢或者失败的话,切换至手机热点,再执行下面的命令试一下)

sudo apt update

        如果成功会出现如下界面

7. 安装

sudo apt install ros-melodic-desktop-full

        输入后会出现如下界面

        下载完成后出现如下界面

 8. 初始化rosdep(这个地方特别容易一定会出错!!!)

        首先安装依赖:

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

        基本可以确定,这一步很重要。原版出现问题的如下( sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool)后来发现存在依赖,无法进行安装。不理解可以参看官网教程melodic/Installation/Ubuntu - ROS Wiki新版如上。

        依赖安装完毕,输入终端如下:

 sudo rosdep init

 

提示:翻墙A国节点一次成功!!!不会报错!!!!!!

        如果报错,报错总共分为三类。

8.1 错误1:找不到命令

        输入:

sudo apt install python-rosdep

        如果还是一样的报错,试试sudo apt install python-rosdep2

8.2 错误2:ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.

        输入以下命令:

sudo gedit /etc/hosts

        然后在打开的hosts文件中添加如下的内容,然后保存退出

199.232.28.133 raw.githubusercontent.com

          其中橙色部分不固定,域名一直在变化,登陆IPAdress网站https://www.ipaddress.com/输入raw.githubusercontent.com查询到真实IP地址,替换橙色部分。

 

8.3 错误3:ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize

        输入以下命令:

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

        到这里如果再输入sudo rosdep init命令试试,应该就会出现了之前介绍的我们想要的界面了。

9. rosdep update(这个地方特别容易一定会出错!!!)

        终端输入:

rosdep update

        如果成功了跳步骤(10),大概率失败,连接网络超时,具体应该是github与国内连接不稳定等原因。默认连接时间是15s,曾经改过好几分钟,该不成功就是不会成功,具体成功方法如下,无视网络原因。

9.1 修改rosdep下载资源的脚本文件:/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

        把以下行添加到脚本中的download_rosdep_data()函数中,以应用代理服务:

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

         不同版本会有少许的差异,下面是另一个版本。

 9.2 用同样的方法修改/usr/lib/python2.7/dist-packages/rosdistro/__init__.py

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

        里面的DEFAULT_INDEX_URL参数,如下:

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

9.3  同样的方法把“https://ghproxy.com/”添加到gbpdistro_support.py(36行左右)、sources_list.py(72行左右)、rep3.py(39行左右) 、github.py(68行 119行左右)文件的https://raw~前:

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py   #36行
# 搜索https://raw,# 添加https://ghproxy.com/

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py   #72行
# 搜索https://raw,# 添加https://ghproxy.com/

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py	 #39行
# 搜索https://raw,# 添加https://ghproxy.com/

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py   #68行 119行
# 搜索https://raw,# 添加https://ghproxy.com/ 

         形式如

 9.4 在 /usr/lib/python2.7/dist- packages/ rosdep2 /gbpdistro_support.py 

 sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 

        第204行添加如下代码:

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

         修改后执行

sudo apt-get update
rosdep update

        不出意外应该就成功了。

 10. ros编译环境配置

        终端输入:

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

        使编译环境生效。

11. 最后一步ROS的测试

        输入:

roscore

         如果可以正常运行那么就okk了,如果依旧报错,再输入一遍:

sudo apt install ros-melodic-desktop-full

        可能是某些东西没下全的原因,应该还会下载点东西,需要你输入y确认。再roscore一下应该就有了。至此ROS下载成功。

对下面的博客表示真诚的感谢

(2条消息) 步骤一:Jetson Nano安装ROS步骤,及相关错误分析_jetson nano ros_doki2022的博客-CSDN博客

(2条消息) rosdep update遇到ERROR: error loading sources list: The read operation timed out问题_DD᭄ꦿng的博客-CSDN博客

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值