在Jetson TK1上安装ROS(机器人操作系统)
1.常规设置
- 安装最新版本的Jetpack,这样可以刷新你板子上的的L4T(此步骤可选择)具体步骤请参照http://docs.nvidia.com/jetpack-l4t/index.html#developertools/mobile/jetpack/jetpack_l4t/2.1/jetpack_l4t_install.htm
- 安装Grinch Kernel(为你的L4T选择一个合适的版本,可以用
cat /etc/nv_tegra_release
来查看L4T的版本号(运行之后,只需要看结果的第一行即可,R后为版本号,REVISION后为修正号,二者用.
连接起来即为我们所需要的版本号,如21.3等。 - 安装cuda toolkit和opencvtegra从https://developer.nvidia.com/linux-tegra-rel-21;如果你已经在刷新板子时安装了cuda toolkit或者opencv那就无需在进行这一步了。
2.安装ROS
2.1配置你的软件源
打开ubuntu软件中心,然后点击编辑->软件源,将软件源属性设置为
restricted、universal、multiverse(这三个是必须选择的其他的可选可不选)
2.2设置你的环境
sudo update-locale LANG=C LANGUAGE=C LC_ALL=C LC_MESSAGES=POSIX
ps:如果这一步有问题的话,就试一试下面的命令:
$ export LANGUAGE=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ export LC_ALL=en_US.UTF-8
$ locale-gen en_US.UTF-8
$ dpkg-reconfigure locales
2.3配置sources.list文件
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
ps:上述命令是针对ubuntu 14.04,开发代号为Trusty Tahr。
2.4设置密码
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116
2.5安装
首先运行以下命令,升级一下ROS可能要用到的程序。这样可以避免出现兼容性问题。
sudo apt-get update
有许多不同版本的ROS,但是考虑到Jetson TK1的处理器为ARM架构的(并不是所有的库和工具都能在ARM下编译),建议单独安装ROS包。
ROS-Base: (Bare Bones) ROS编译、交流的库,可以满足基本功能,但是并不是图形界面。
sudo apt-get install ros-indigo-ros-base
2.5.1添加单独的包
其实到这里ROS已经基本安装完成,你可以用以下命令来安装特定的包:
sudo apt-get install ros-indigo-PACKAGE
eg:
sudo apt-get install ros-indigo-navigation
如果你要找到特定的包:
apt-cache search ros-indigo
2.5.2安装大小
Base Package | robot variant | desktop variant |
---|---|---|
407 MB | 572 MB | ~1GB |
2.6初始化rosdep
在你正式使用ROS之前,你应该初始化rosdep。rosdep
可以让你很容易的为你的代码安装编译的依赖项。
sudo apt-get install python-rosdep
sudo rosdep init
rosdep update
2.7环境变量的设置
如果你的ROS环境变量被添加到bash中,那么每次启动shell时,将可以直接使用ROS。
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.8安装rosinstall
rosinstall在ROS单独的发布版本中是使用最频繁的命令行工具之一,有了它,只要用一条命令,你就可以很容易为你的包下载完整的源码树。
为了在你的ubuntu安装,运行下述命令:
sudo apt-get install python-rosinstall
2.9验证你的OS name
确保你的OS name(通过命令:sudo gedit /etc/lsb-release
修改)为如下内容:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04"
ps:这是是针对ubuntu 14.04的OS name。
因为ROS并不能识别Linaro作为OS,所以这是有必要的。
2.10编译农场的状态
你安装的package是ROS编译农场编译的,你可以在这里http://repositories.ros.org/status_page/ros_indigo_arm.html查看单独的package的状态。
参考资料:
[1]http://wiki.ros.org/indigo/Installation/UbuntuARM
[2]ROS机器人操作系统程序设计
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
在Jetson TK1上安装ROS(机器人操作系统)相关推荐
- ubuntu18.04上安装ROS机器人操作系统
一. 版本选择 ubuntu不同系统版本支持的Ros版本有所差异,需要选择对应的版本.我的系统是ubuntu18.04故使用Melodic版本. ubuntu18.04 --> Melodic ...
- 在jetson nano上安装ROS melodic
Jetson nano的镜像使用的是Ubuntu18.04 LTS (绰号Bionic),因此在jetson nano上安装ROS得选择Melodic版,但是因为jetson nano使用的是ARM6 ...
- NVIDIA Jetson TK1学习与开发(七):图文详解OpenCV在Jetson TK1上的安装和使用
图文详解OpenCV在Jetson TK1上的安装和使用 本文介绍如何在Jetson TK1上安装并且使用OpenCV,并给出了示例,供大家参考学习. 1.Jetson TK1平台的OpenCV优化包 ...
- 5菜鸟教程_【菜鸟手册7】如何在NVIDIA Jetson平台上安装Anaconda
Anaconda是用于科学计算(数据科学.机器学习应用.大规模数据处理.预测分析等)的Python和R编程语言的一个自由和开源的发行版,旨在简化包管理和部署.像Virtualenv一样,Anacond ...
- NVIDIA Jetson TK1学习与开发(八):图文详解OpenGL在Jetson TK1上的安装和使用
图文详解OpenGL在Jetson TK1上的安装和使用 1.入门介绍与资源推介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口规格的专业的图 ...
- ROS 机器人操作系统进阶实战
ROS(Robot Operating System) 是一个开源的机器人操作系统,目的是提供开发平台.工具及生态给开发人员,可以让开发人员快速开发.本课程通过精心设计的案例,分析技术要点.理解运行原 ...
- ROS机器人操作系统底层原理及代码剖析
0 目的 本文介绍ROS机器人操作系统(Robot Operating System)的实现原理,从最底层分析ROS代码是如何实现的. 1 序列化 把通信的内容(也就是消息message)序列化是通信 ...
- ROS机器人操作系统学习笔记(一)--基本概念
ROS机器人操作系统学习教程(一)–基本概念 1. 基本概念 1.1 ROS背景 机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便.功 ...
- Windows使用ROS机器人操作系统全面资料汇总
0 摘要: 本文以Win10系统中安装使用ROS1Melodic和ROS2Dashing为基础,并通过开源硬件设备Arduino与ROS的通信为示例,具体介绍机器人操作系统ROS1和ROS2的细节.部 ...
最新文章
- org.apache.ibatis.binding.BindingException: Type interface XXX is not known to the MapperRegistry.
- 1067 Sort with Swap(0, i) (25 分)【难度: 中 / 知识点: 置换群】
- 征战蓝桥 —— 2016年第七届 —— C/C++A组第2题——生日蜡烛
- Python核心数据类型之字典15
- Java BIO、NIO、AIO的区别
- java中PL层_安装pljava - RuralHunter的个人空间 - OSCHINA - 中文开源技术交流社区
- Linux服务之httpd基本配置详解
- Windows Phone 8 获取与监听网络连接状态
- python pathlib模块_【Python Snippets】Pathlib 模块
- 01.深入理解乱码的原理
- 蓝屏代码——STOP:c000021a Unknown Hard Error
- 3D线激光成像数学模型简析与实现
- 什么是项目管理?怎么管?(一)
- Chapter3:Gradle依赖管理
- XTOOL EZ500全系统的诊断和特殊功能超越Xtool EZ400 EZ300 Xtool PAD
- vue移动端的真机测试
- Gradle依赖本地aar包
- 湖北武汉劳务员培训劳务员的现场管理建筑七大员培训
- 工业互联网隐私保护技术
- 计算机英语 美剧,给力美剧口语IT篇(83):冒充电脑高手
热门文章
- USB系列之Host控制器
- c语言五子棋怎么判断五子连珠,分享一个 五子棋 输赢 的 判断逻辑。C#脚本
- PKG_PROG_PKG_CONFIG: command not found 解决方法
- Black and white(MST)
- 信息安全技术 云计算安全参考架构
- JAVA基础之代码简洁之道
- Python实现简单的淘宝网——Django框架
- python-App自动化测试框架——uiautomator2之元素操作方法(二)
- K12982 哈利波特的魔杖(wand)
- 共轭梯度法(Conjugate Gradients)(3)