NVIDIA刷机+部署ROS操作指南

2023-05-16

说明:Ubuntu18.04+ROS(melodic)

一. NVIDIA刷机操作步骤

准备工作:准备一台台式机作为主机,且确保安装了ubuntu双系统或者虚拟机,再为NVIDIA控制器准备一个显示屏,选择显示屏时要注意,由于有的显示屏与NVIDIA控制器不适配导致无法显示。刷机步骤中的sdkmanager的下载和安装都是在主机上进行。

1.首先在以下网址中下载jetpack:

https://developer.nvidia.com/embedded/jetpack

首先进行注册

下载的安装包是.deb的安装方式

2.在主机上安装sdkmanager,执行命令:

sudo dpkg -i sdkmanager_0.9.12-4180_amd64.deb

3.主机更改软件源

说明:更改软件源的目的是为了确保在当前网络环境下能够顺利下载,但第一版xavier产品的刷机过程中并没有改变软件源,是采用其他的形式刷机的。

更改软件源可参考如下网址:

https://blog.csdn.net/xiangxianghehe/article/details/80112149

3.1 输入指令备份,执行命令:

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

3.2 打开文件进行编辑

sudo gedit /etc/apt/sources.list

3.3 将网址中的源复制到文件后面

注意需要进行更改,如清华源的修改内容:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

将原来的/ubuntu/改为/ubuntu-ports/ 如:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse

4. 在主机上启动sdkmanager,直接在打开的新终端中输入:

sdkmanager

此时会打开图形界面,然后输入在NVIDIA注册的账号密码,进入如下界面

step01

根据需求进行选择。

step02

step3

开始下载各种包,期间会弹出如下对话框,选择手动和自动模式,我们选择手动模式。

手动的方式就是通过手动按键操作进入recovery模式

4.1 使用NVIDIA原装usb转type-c连接主机和xavier,而且type-c连接的是电源灯旁边的type-c口,(此处若采用虚拟机,一定要确保鼠标的光标在虚拟机里面,然后再去连接NVIDIA控制器)。

4.2 确保NVIDIA控制器连接电源并保持关闭状态:

1)按住三个按键中的中间键(Force Recovery)不松开;

2)在按住左侧的电源键(Power)不松开,过两秒后同时松开两个按键;

此时已经进入recovery模式,可通过以下命令查看是否进入了recovery模式

lsusb

若如图显示,则表示代表连接成功。

4.3 给NVIDIA控制器连接鼠标键盘进行基本信息设置。

4.4 在主机中输入NVIDIA上刚刚设置的用户名和密码,开始安装直到安装完成。

要求:
1、使用原装USB线与host主机相连;
2、System Configuration步骤完成;
3、Xavier上正在运行配置好的Ubuntu系统;
4、确保网线相连,并处于一个网络中。

step4

刷机过程也可参考:

https://blog.csdn.net/weixin_43159148/article/details/100702341

二.部署ROS

Nvidia Jetson Xavier部署ROS与通常Ubuntu下不同,本文通过ROSXavier脚本安装:

https://github.com/jetsonhacks/installROSXavier

依次执行以下命令

git clone https://github.com/jetsonhacks/installROSXavier.git
cd installROSXavier
./installROSXavier

 

部署ROS可参考

http://wiki.ros.org/melodic/Installation/Ubuntu

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NVIDIA刷机+部署ROS操作指南 的相关文章

  • 无法在 docker 上执行 nvidia 运行时

    我正在尝试让 nvidia docker 在我的 centos7 系统上运行 cat etc systemd system docker service d override conf Service ExecStart ExecStart
  • 我的代码的 Boost 更新问题

    我最近将 boost 更新到 1 59 并安装在 usr local 中 我的系统默认安装在 usr 并且是1 46 我使用的是ubuntu 12 04 我的代码库使用 ROS Hydro 机器人操作系统 我有一个相当大的代码库 在更新之前
  • OpenGL sRGB 帧缓冲区奇怪之处

    我正在使用 GLFW3 创建上下文 我注意到GLFW SRGB CAPABLE属性好像没有什么影响 无论我将其设置为什么 我总是会在以下情况下获得 sRGB 转换 GL FRAMEBUFFER SRGB已启用 我的理解是 当GL FRAME
  • NVidia CUDA 工具包 7.5.27 无法在 OS X 上安装

    下载 CUDA 工具包 DMG 可以工作 但安装程序在选择软件包后失败 并出现神秘的 软件包清单解析错误 错误 使用内部二进制文件从命令行运行安装程序也会以类似的方式失败 var log cuda installer log 处的日志文件基
  • catkin_make 编译报错 Unable to find either executable ‘empy‘ or Python module ‘em‘...

    文章目录 写在前面 一 问题描述 二 解决方法 参考链接 写在前面 自己的测试环境 Ubuntu20 04 一 问题描述 自己安装完 anaconda 后 再次执行 catkin make 遇到如下问题 CMake Error at opt
  • 在 ROS - Python 中使用来自多个主题的数据

    我能够显示来自两个主题的数据 但无法在 ROS 中实时使用和计算这两个主题的数据 用 Python 代码编写 您有想法存储这些数据并实时计算吗 谢谢 usr bin env python import rospy import string
  • ROS 从 python 节点发布数组

    我是 ros python 的新手 我正在尝试从 python ros 节点发布一个一维数组 我使用 Int32MultiArray 但我无法理解多数组中布局的概念 谁能给我解释一下吗 或者还有其他方式发布数组吗 Thanks usr bi
  • glReadPixels() 会消耗单个核心的所有CPU周期

    我有一个带有 OpenGL 窗口的 SDL2 应用程序 它表现良好 当它运行时 该应用程序与我的 60Hz 显示器同步 并且我看到该应用程序的 CPU 使用率为 12 到目前为止 一切都很好 但是 当我通过从深度缓冲区 绘制后 读取单个 深
  • 使用 CUDA 和 cudaMallocPitch 的 2D 数组

    我一直在 stackoverflow 上阅读一些关于 2D 数组和 cudaMallocPitch 的线程 并且尝试将 cudaMallocPitch 与我找到的小文档一起使用 但是我现在面临一个问题 我需要遍历一个数组并执行类似的操作 f
  • #pragma unroll 到底有什么作用?对线程数有影响吗?

    我是 CUDA 新手 我无法理解循环展开 我写了一段代码来理解该技术 global void kernel float b int size int tid blockDim x blockIdx x threadIdx x pragma
  • 可以为分布式 Tensorflow 虚拟化 NVIDIA GeForce GTX 1070 显卡吗?

    我在配备 16 GB RAM 1 TB HDD 和专用硬盘的 Intel Core i7 8700 CPU 上运行 Windows 10NVIDIA GeForce GTX 1070 https www geforce com hardwa
  • 在 Optimus 笔记本电脑中以编程方式强制使用 NVIDIA GPU

    我正在编写 DirectX 游戏 当我在 Optimus 笔记本电脑上运行它时 会使用 Intel GPU 导致性能非常糟糕 如果我使用上下文菜单或将可执行文件重命名为 bf3 exe 或其他一些著名的游戏可执行文件名称来强制使用 NVID
  • CUDA 确定每个块的线程、每个网格的块

    我是 CUDA 范式的新手 我的问题是确定每个块的线程数和每个网格的块数 这是否需要一些艺术和尝试 我发现许多例子似乎为这些事情选择了任意的数字 我正在考虑一个问题 我可以将任意大小的矩阵传递给乘法方法 这样 C 的每个元素 如 C A B
  • CUDA 标量和 SIMD 视频指令的效率

    SIMD指令的吞吐量低于32位整数运算 如果是 SM2 0 仅标量指令版本 则低 2 倍 如果是 SM3 0 则低 6 倍 什么情况下适合使用它们 如果您的数据已经以 SIMD 视频指令本机处理的格式打包 则需要多个步骤对其进行解包 以便可
  • OpenGL 3:​​glBindVertexArray 使 GL_ELEMENT_ARRAY_BUFFER 无效

    我确信如果你通过绑定缓冲区glBindBuffer 您可以放心地假设它保持绑定状态 直到目标通过另一个调用反弹glBindBuffer 因此 当我发现调用时 我感到非常惊讶glBindVertexArray 将绑定到 GL ELEMENT
  • 如何从里程计/tf数据获取投影矩阵?

    我想将视觉里程计的结果与 KITTI 数据集提供的事实进行比较 对于地面中的每一帧 我都有一个投影矩阵 例如 1 000000e 00 9 043683e 12 2 326809e 11 1 110223e 16 9 043683e 12
  • 无法在 Ubuntu 20.04 上安装 ROS Melodic

    我正在尝试使用这些命令在 Ubuntu 20 04 上安装 ROS Melodic sudo sh c echo deb http packages ros org ros ubuntu lsb release sc main gt etc
  • 是否可以在设备函数中调用cufft库调用?

    我在主机代码中使用 cuFFT 库调用 它们工作正常 但我想从内核调用 cuFFT 库 早期版本的 CUDA 没有这种支持 但是有了动态并行性 这可能吗 如果有任何关于如何实现这一目标的示例 那就太好了 尽管在 Kepler cc 3 5
  • 无法在 CUDA 中执行设备内核

    我正在尝试在全局内核中调用设备内核 我的全局内核是矩阵乘法 我的设备内核正在查找乘积矩阵每列中的最大值和索引 以下是代码 device void MaxFunction float Pd float max int x threadIdx
  • Yocto for Nvidia Jetson 由于 GCC 7 而失败 - 无法计算目标文件的后缀

    我正在尝试将 Yocto 与 meta tegra 一起使用 https github com madisongh meta tegra https github com madisongh meta tegra 为 Nvidia Jets

随机推荐