TX2安装ROS系统成功记录


前言

因导师项目,需要将在电脑上开发的算法移植到TX2智盒(选用边一智能的产品,其在TX2基础之上进行了封装,可以应用于条件恶劣的工业环境中),为此我们需要在TX2智盒上安装ROS系统。TX2架构为arm64,ubuntu版本为18.04


一、确认安装的ROS版本

确认与arm架构下相匹配的ROS系统最权威的途径是通过ROS的官网,通过在此处查阅得图片如下
在这里插入图片描述
可以看出ROS kinetic版本对于arm64架构的平台来说,只支持Xenial版本的Ubuntu系统,即Ubuntu16.04。Xenial为ubuntu系统的CodeName,同理,Wily指ubuntu 15.10。我们的系统是18.04,所以kinetic版本ROS不能安装。
还需继续探索,通过此处查阅得图片如下:
在这里插入图片描述
从图中可以看出,Melodic版本的ROS系统支持arm架构的ubuntu18.04系统,其中Bionic为系统ubuntu 18.04的CodeName。所以我们的平台上适合安装ROS Moledic版本。

二、安装步骤

最权威的安装方法还是参考官网给出的安装方法最好。

1.设置sources.list

在终端输入以下命令,设置电脑从packages.ros.org接受软件。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.设置密钥

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

3.安装

首先执行命令

sudo apt update

首先执行命令确保软件源最新。然后建议安装桌面完整版,执行如下命令

sudo apt install ros-melodic-desktop-full

4.环境配置

执行如下命令,将ROS的环境变量添加到bashrc文件中。

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

4.安装构建功能包的依赖

执行如下命令,安装构建ROS功能包的工具和依赖。

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

执行如下命令,

sudo apt install python-rosdep
sudo rosdep init
rosdep update

初始化rosdep,但是在初始化ROS系统时,发现不能打开github的网站http://raw.githubusercontent.com,造成安装失败,经研究发现是Github的raw文件读取地址遭受GxFxW的DNS污染。解决方法是:

git clone https://github.com/ros/rosdistro

将rosdistro手动下载至文件夹/home/nvidia/rosdistro,创建rosdistro后,备份py:

sudo cp /usr/lib/python2.7/dist-packages/rosdep2/main.py /usr/lib/python2.7/dist-packages/rosdep2/main.py.bak
sudo cp /usr/lib/python2.7/dist-packages/rosdep2/rep3.py /usr/lib/python2.7/dist-packages/rosdep2/rep3.py.bak
sudo cp /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py /usr/lib/python2.7 /dist-packages/rosdep2/sources_list.py.bak
sudo cp /usr/lib/python2.7/dist-packages/rosdistro/__init__.py /usr/lib/python2.7/dist-packages/rosdistro/__init__.py.bak

然后替换这些py中的网络源为本地源:

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/main.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

其中的网络源https://raw.githubusercontent.com/ros/rosdistro/master 全部替换为 本地源file:///home/nvidia/rosdistro
最后运行

sudo rosdep init
sudo cp /etc/ros/rosdep/sources.list.d/20-default.list /etc/ros/rosdep/sources.list.d/20-default.list.bak
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

将其中的网络源 https://raw.githubusercontent.com/ros/rosdistro/master 全部替换为 file:///home/nvidia/rosdistro
最后

rosdep update

三、测试

运行

roscore

如果看到ros系统正常启动,则证明ros系统已安装成功。


总结

至此,我们成功在TX2 ubuntu18.04系统上成功安装了ros Moledic系统。

  • 安装前一定要确认好与自己系统对应的版本,对于不同的硬件还要考虑cpu的架构。
  • 网络上有很多信息和资源,但是不能保证每个人对待技术博客都很严谨,所以最保险最快捷的方法是通过官网去寻找安装方法。
  • 最后,我的三维点云感知算法以及视觉相关算法都是基于ubuntu16.04 ros-kinetic开发的,由于TX2智盒厂家给我刷了ubuntu18.04的系统,并且TX2用于刷机的按钮都被厂家封装起来了,我无法自行刷新系统,程序移植过来是否仍然有效还有待考证,不过按常理,高版本都会兼容低版本的东西。好啦,关于TX2安装ROS就先写到这里,大家有什么其它问题欢迎评论区留言讨论~
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值