在Nvida TX1上搭建ROS
最近拿到一块TX1的板子搭建ROS平台,对于从来没有玩过开发板的我表示很心累,过程中遇到许多坑,最后也是成功了,也是希望能够分享出来与大家交流交流。
TX1拿到手之后也是很懵逼的(因为没玩过),也是现在网上搜了一大堆资料,最后开始动手。其实在TX1上搭建ROS就两个步骤:刷机,安装ROS,下面就给大家详细的操作流程。
一. 刷机
刷机网上也有很多教程,大家可以参考,我向大家推荐这一个https://blog.csdn.net/c406495762/article/details/70786700,他已经写的比较详细了,基本上都能看懂,我这边也只是大概讲一下流程以及避免一些坑,大家可以两篇文章一起看,会更加全面。
首先,提出一个说明,很多教程指出TX1不支持64位的Ubuntu系统上装ROS,最后证明是可以的,大家可以放心的下载Ubuntu16.04 64位。TX1本身是装有16.04的Ubuntu系统,我一开始是直接安装ROS没有刷机,但装的过程出现问题,最后也没有找到解决方案,按照终端给出的解决命令,直接把系统搞崩了,没办法,只有刷机之后再装,大家可以跳到下面的安装ROS步骤,尝试装一下,失败了刷机之后再装ROS也是没也问题。
在官网下载Jetpack包,但需要注册账号之后才能下载(https://developer.nvidia.com/embedded/jetpack)
在这先指出本文中特别重要的一个名词->安全令
安全令就是在终端执行以下三条命令
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get -f install
这是血淋淋的教训得出来的经验,不要不信邪,在需要使用安全令的时候一定要用。
下载完之后先不要安装,确保安全令输入之后不会出错,没有问题则继续安装。有问题就需要百度或者google了。
然后就是一路点击NEXT,选择TX1,在那篇文章里面有详细的介绍,我就不重复了。
给出大家TX1的一些比较重要的接口和开关示意图。
安装成功之后,按照步骤将电脑,开发板,路由器连接起来开始在开发板上安装,在开发板安装结束之后就可以在开发板上插入显示屏,键盘,鼠标开始装ROS了。
问题来了,由于TX1板子的功能包是arm架构,电脑基本上都是amd架构,这就会出现一个冲突,导致在电脑上输入sudo apt-get update 会出错,错误解决方案在我另一篇博客(https://blog.csdn.net/BOSHEN97/article/details/84254353)当中给出,大家可以参考。
二. 装ROS
我装的Jeppack包版本为3.3,Ubuntu会有两个用户nvida和ubuntu,密码和用户名都是一样的,默认进入nvida,由于国外源较慢,所以我们选择为数不多支持arm架构的中科大源。
$ cd /etc/apt
$ sudo gedit sources.list
将sources.list的内容全部注释,将以下内容复制粘贴进去
deb http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
保存退出
接下来就开始安装ROS了
添加ROS的镜像源
$ 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'
添加密钥
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
输入安全令,确保无误方可继续。
安装ROS(无法安装桌面完全版,具体原因尚未清楚)
$ sudo apt-get install ros-kinetic-desktop
初始化rosdep
$ sudo rosdep init
$ rosdep update
设置环境变量
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
安装常用工具(可不安装,但建议安装)
$ sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
至此,ROS安装完毕,在终端输入roscore,如果没有问题则说明ROS安装成功。
如果要用于实体机器人需要注意,TX1上是没有默认安装USB转串口的驱动,所以需要安装cp210x.ko驱动,大家先执行以下命令查看内核是否有cp210x驱动。
$ cd /lib/modules/4.4.38-tegra/kernel/drivers/usb/serial
$ ls
如果出现了cp210x.ko的字样,就说明有驱动,直接加载就可以了,没有就可能要去下载。
因为我也是在下载了多次之后才发现这里面有这个驱动模块,所以我并不清楚是我自己下的还是系统自带的,如果大家发现不是系统自带的,大家可以私信我,我会再写一篇文章给大家一个安装cp210x.ko驱动的教程,这个坑也很多。
加载驱动命令如下
$ sudo insmod cp210x.ko
需要注意的是,每次开机都需要加载一次,我也尝试在开机的时候内核启动就把驱动加载,但一直没找到正确的方法,还在努力的尝试中,大家如果知道可以分享一下,我也有一个另类思路,但也没去尝试,大家可以试一试,将开机启动之后的用户权限设置为root权限,这样一开机就是root用户权限,然后再设置一个开机自动输入sudo insmod cp210x.ko命令。应该可以,但不知道会不会有问题。
在Nvida TX1上搭建ROS相关推荐
- 基于Jetson Tx1搭建ROS小车的过程①(20221116)
SunnyG按:准备做课程项目了,ROS系统做智能小车,这里记录一下步骤,方便查阅. 基于Jetson Tx1搭建ROS小车的过程①(20221116) 达成:完成安装ROS ============ ...
- SLAM导航机器人零基础实战系列:(二)ROS入门——10.在实际机器人上运行ROS高级功能预览...
SLAM导航机器人零基础实战系列:(二)ROS入门--10.在实际机器人上运行ROS高级功能预览 摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了 ...
- 从零搭建ROS机器人平台
0.声明 本系列文章,仅介绍如何搭建ROS机器人平台,即机器人和ROS打通关系,通过ROS与机器人硬件STM32通信,并且在ROS层发布机器人tf和odom,并且做了简单的建图和导航测试. 之后的内容 ...
- ROS机器人应用(1)—— 搭建ROS虚拟机环境
文章目录 搭建ROS虚拟机环境 1. 连接小车wifi 2. 下载vmware虚拟机 3. 下载ubuntu系统镜像 4. 远程登录 5. 常见问题 6. 简单操作演示 搭建ROS虚拟机环境 1. 连 ...
- 在Ubuntu 12.04 64bit上搭建Crtmpserver视频直播服务
本篇博客继续在上篇<在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务> http://blog.csdn.net/tao_627/article/detail ...
- Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器
Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器 2013-12-25 1.从官网下载源码包 cd ~/progrom_devel ...
- 在CentOS 6.2上搭建vim开发环境
在CentOS 6.2上搭建vim开发环境 最后更新日期:2013-07-05 1.首先使用Ubuntu(所在ip为192.168.16.230)翻墙登陆http://www.vim.org/,下载其 ...
- ubuntu14.04上搭建android开发环境
这几天心血来潮,想在ubuntu上写写android软件.所以就上网找些资料在ubuntu上搭建android环境.结果要么时不完整的,要么就是过时的. 所以我把我搭建android环境的过程写下了, ...
- 在Windows上搭建Git Server
Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用. 那么私有项目,如何用Git进行代码版本控制呢?我们可以自 ...
最新文章
- 个人开发者即时到账收款方案 BufPay.com
- 全球及中国电缆保护套管行业十四五规划及投资前瞻专题分析报告2021年版
- PHP区域联动后端接口与数据表设计
- 单页web应用是什么?它又会给传统网站带来哪些好处?
- (11)FPGA跨时钟域处理(第3天)
- java之关系运算符
- 为什么刚度阵对称?根本原因在于物理方程。知识点:矩阵微积分,物理方程
- 中兴交换机如何查看服务器设备,中兴交换机查看设备序列号
- RabbitVCS无法自动保存密码的BUG
- 市场上提供源码的商城系统有哪些?
- [cesium] 卫星雷达传感器,雷达探测效果
- 研华微型计算机biso,研华主板bios设置方法
- Installation silently blocked for package name fix
- Ubuntu 如何更换内核
- 6月世界自行车日 今天聊聊斯柯达
- MATLAB | 全网唯一! 又双叒叕一种弦图绘制
- Lemur的检索过程
- 源码管理工具VSN的安装与使用--eclipse
- Android最实用的工具类框架——AndroidUtilCode
- 入党申请书可以用计算机打印吗,入党申请书能用计算机打印吗?
热门文章
- MapReduce NativeTask优化详解
- 最全的NumPy教程
- [疯狂Java]JDBC:ResultSet的升级RowSet、离线的CachedRowSet、离线分页查询
- struct usb_hcd
- 【毕业设计之app系列】电影院订票app设计与实现
- 电影《我不是药神》中最让人印象深刻的一句话是:这世上最大的病,是穷病...
- 爱奇艺网络控制和抓包测试技术实践
- iPhone和iPad不能充电的解决办法(一定条件下)
- 乖离性暗机器人_乖离性百万亚瑟王超弩暗机器人强化版打法攻略
- Linux命令之修改文件权限chmod