基于NVIDIA Jetson AGX Xavier的移动机器人开发(1)——Xavier刷机、风扇配置、ROS安装
实验室有一台2020年购入的AGX Xavier计算平台,由于实车开发作实验较为麻烦,打算基于这台Xavier从头搭建一套缩小版的自动驾驶系统用于算法验证以及实验,同时锻炼从头搭建系统的能力。平台基于朴为A30的阿克曼结构的车,底盘控制由CAN和串口输出,并提供了ROS接口。
【摘要】第一篇主要总结对于Xavier的刷机以及ROS安装过程中遇到的困难和问题。(尤其是因为后续需要使用扩展40PIN的CAN通信,而JetPack4.6以上版本的时钟配置导致CAN的波特率有问题,需要特殊配置!)
【注意】相关资料手册均可以到NVIDIA官网找到(链接)
一、 硬件连接
- 一台Ubuntu系统的主机Host(注意!Ubunut主机的系统版本决定了刷机系统的版本的下限,最开始使用20.04的系统,无论如何都无法将xavier刷为18.04,以至于后续ros安装出现大量问题,因此注意版本!)
- 一条USB-Type-C数据线
- 显示器、键盘、鼠标连接xavier
二、主机操作
- 从NVIDIA官网(链接)下载对应版本的sdkmanager(由于后续ROS安装的问题,安装18.04)
- 在下载的.deb文件所在目录打开命令行,并进行sdkmanager的安装
sudo apt install ./sdkmanager_1.5.0-7774_amd64.deb
- 命令行输入
sdkmanager
打开 - 取消勾选host machine(参考其他博客,这个是为主机下载安装文件的,如果想在主机上安装 nvida 软件,可以勾选这个,实际上没必要)。版本选择,注意官网的版本描述,对应的Ubuntu版本需要选择
- 下载路径建议默认(参考其他博客,sdk若下载到其他位置后续会出错,不要勾选install later)
- 此时会下载带有英伟达自己的bootloader以及Linux内核以及编译过的设备树文件
- 等OS镜像烧录完成,会弹出配置窗口,此时需要首先修改时钟配置!见(五),然后将xavier与主机连接(此前要关机)。长按中间恢复键,然后不放开按开机键,几秒后同时松开,即可检测到连接,选择手动安装,点击 Flash 按钮,开始烧录 OS 镜像
- 等OS烧录完成,xavier会开机,此时进行Ubuntu配置,同时主机会弹出新的窗口进行SDK的下载,注意二者要处于同一个局域网
三、Xavier操作
- 进行Ubuntu的基础配置,包括设置中文和输入法。中文需要在system中选择language中把不完整的包下载完整,然后将中文拖到顶端,应用全局然后重启;
- 安装ROS
- 一定要注意和Ubunut版本的匹配! (18.04对应ROS melodic)
- 由于xavier是ARM架构,其安装和x86的ROS有所不同,如果按照ros wiki的步骤进行安装,会出现包之间的依赖出现问题,而apt-get是无法解决包之间的依赖问题的,而aptitude虽然可以自动检查包的依赖,但会覆盖apt-get而导致其他问题
- 建议使用github上一位国外大佬开源的针对18.04的xavier的ros安装脚本进行安装(链接)
通过执行./installROS.sh
,-p参数可以选择安装的版本,可以选择ros-melodic-ros-base/ros-melodic-desktop/ros-melodic-desktop-full
- 此包还包含了自动创建ros工作空间的脚本,参数为工作空间名字,默认为catkin_ws
四、风扇配置
- Xavier提供PWM和转速表功能,用于控制风扇作为热解决方案的一部分。PWM输出控制风扇转速,转速表反馈转速;
- Xavier有8个PWM输出,PWM控制器为其8个实例(PWM1到PWM8)中的每个实例支持一个PWM输出,每个实例分配一个64 KB的独立地址空间,PWM控制器可以从CLK_M或PLLP中获取时钟源,CLK_M (19.2 MHz)源自OSC时钟(38.4 MHz),PLLP工作在408 MHz;
- 对于风扇的配置,开机默认转速为0(最开始不知道配置风扇这一回事,温度很高,我用了外置风扇散热hhh),可以在
/sys/devices/pwm-fan/target_pwm
文件中看到风扇的转速,默认为0,可以设置到最大250; - 设置为开机自启动:使用jetson性能检测软件jetson-stats
安装:sudo pip install jetson-stats
启动:sudo jtop
- 进入到界面6,设置jetson_clocks Running和boot Enable,设置开机自启动风扇(开机过几秒风扇启动)
- 设置风扇速度(按下“m”键是降低风扇速度,按“p”键是提高风扇速度)
- 使用鼠标点击“manual”,设置为手动
- 按“q”键退出,重启设备 reboot,测试风扇是否开机自启动
五、JetPack4.6版本以上的时钟配置
- 问题: Jetpack 4.6 以后, MTTCAN 配置发生了变化, CAN时钟默认为低功耗设置(没有使能PLLAON), CAN工作不正常(主要由于时钟源的选择发生了变化,导致CAN的波特率不准)
- **原理:**根据官方提供的内核源码中设备树的绑定文件(CAN相关的绑定文件在net目录下),找到bosch的CAN配置文件(以YAML格式书写,并非传统的txt格式),其中描述了如何配置相关节点的属性
- **解决方案:**将CAN的时钟源选为pllaon。刷机刷到打开AGX的恢复模式的位置时,也就是弹出下图所示界面的时候,打开安装到PC的文件夹,找到nvidia/nvidia_sdk/JetPack_4.6.1_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra,在这个路径下,需要修改两个文件,分别是:
bootloader/t186ref/tegra194-a02-bpmp-p2888-a04.dtb
和kernel/dtb/下的tegra194-p2888-0001-p2822-0000.dtb
- 反编译
dtc -I dtb -O dts ./tegra194-a02-bpmp-p2888-a04.dtb > ./tegra194-a02-bpmp-p2888-a04.dts
- 修改CAN的父时钟
- 重新编译
dtc -I dts -O dtb ./tegra194-a02-bpmp-p2888-a04.dts > ./tegra194-a02-bpmp-p2888-a04.dtb
- 反编译
dtc -I dtb -O dts ./tegra194-p2888-0001-p2822-0000.dtb > ./tegra194-p2888-0001-p2822-0000.dts
- 修改pll时钟源
- 反编译
【参考】
Nvidia Jetson Xavier 开机配置+刷机+部署ROS(刷机需谨慎)
JETSON AGX XAVIER刷机记录
Jetson AGX Xavier/Nano刷机指南(无需踩坑版)
Jetson AGX Xavier 设置 CAN,打开pllaon时钟,jetpack5.1
Nvidia jetson agx xavier can通讯失败,修改时钟源pllaon
Jetson Xavier 设置 CANFD (Jetpack 4.6, 开启pllaon)
基于NVIDIA Jetson AGX Xavier的移动机器人开发(1)——Xavier刷机、风扇配置、ROS安装相关推荐
- NVIDIA Jetson AGX Xavier 安装 JetPack 注意事项
NVIDIA Jetson AGX Xavier 安装 JetPack 注意事项 本文主要记录了我第一次接触Linux和为NVIDIA Jetson AGX Xavier安装JetPack时遇到的一些 ...
- nvidia jetson agx xavier运行 OpenCL
nvidia jetson agx xavier 运行 OpenCL 最近用OpenCL在某个GPGPU上开发了某些功能,想移植到nvidia的gpu上时才发现nvidia的移动端GPU居然没有Ope ...
- NVIDIA Jetson AGX Xavier冰壶的跟踪与识别
NVIDIA Jetson AGX Xavier冰壶的跟踪与识别 一.项目简介 二.硬件平台的选取 2.1为什么选择NVIDIA Jetson AGX Xavier 三.识别环境配置 3.1 下载py ...
- ZED2代相机+nvidia jetson AGX xavier踩坑记录
ZED2代相机+nvidia jetson AGX xavier踩坑记录 项目描述 nvidia jetson AGX xavier就不详细介绍了,jetson系列嵌入式开发板比一般的arrch64开 ...
- 手把手教你备份 nvidia jetson agx xavier 系统(亲测有效、超详细)
手把手教你备份 nvidia jetson agx xavier 系统(亲测有效.超详细) 此版本适合小白,网上虽然很多教程,但是对于超级小白来说还是有点粗略了,教程奉上! 文章目录 手把手教你备份 ...
- 玩转NVIDIA Jetson AGX Xavier(3)--- 使用JetPack 4.1为Xavier刷机
这篇文章开始我们正式要介绍如何玩转Xavier了 在开始本章内容之前,大家可以下载我翻译的Xavier中文指导手册 地址:玩转NVIDIA Jetson AGX Xavier--- 中文用户手册_木子 ...
- Nvidia Jetson Agx Xavier 在Ros中调用GMSL2相机
一.背景 在ros中调用GMSL2摄像头,刚开始是通过修改官方驱动包ros-meloidc-usb-cam,可能是修改的地方不对,一直报错,调用失败,要是有大佬修改成功,希望能交流一下. 后来借鉴了一 ...
- 玩转NVIDIA Jetson AGX Xavier
最近项目应用需要部署到边缘模块,所以就玩起了Xavier.感觉网上的资料不多,所以从头记录一下笔记,方便大家一起学习应用. 玩转NVIDIA Jetson AGX Xavier 1.刷机(安装sdkm ...
- Nvidia Jetson AGX Xavier 硬件相关
文章目录 前言 载板PCB层叠与阻抗 699-Pin连接器 以太网 M.2 PCIE 40-Pin扩展口 风扇接口 自动控制接口 电源域 按键和指示灯 音频接口 eSATA / USB 3.1 Typ ...
最新文章
- 利用OpenCV 基于Inception模型图像分类
- ISLR_Propotion
- 使用负载均衡SLB IPv6搞定苹果AppStore审核
- 直播预告|灵动MM32 MCU助力全国大学生智能汽车竞赛——基础培训
- 如何定义一个自己的可复用的JS文件
- VS 配置外部DLL的引用路径【可执行文件的环境路径】
- 工具 左侧服务列表_协作办公时代,在线编辑文档工具,安排!
- Python3.7版本unittest框架添加用例的方法
- SpringMVC之源码分析--HandlerMapping(一)
- php代码审计基础笔记
- SAP Spartacus 启动时 Chrome 里观察到的 product.js
- python数据去重的函数_python pandas dataframe 去重函数的具体使用
- 使用Speech SDK 5.1文字转音频
- C++详解new/delete
- cstring判断包含字符串_Power Query中判断字符串中是否包含有字母的三种解决办法...
- pdf打印机怎么添加并使用?
- 人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目
- 如何选择适合你的兴趣爱好(二十七),外语
- office 2021保姆级安装与激活教程(附安装包获取)
- 弘辽科技:如何制定淘宝店铺推广计划?店铺推广包含哪些方面?
热门文章
- 70. 爬楼梯:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
- 经验分享丨40天通过PMP考试心得
- MacBook上workbench安装以及中文实现
- Stable Diffusion - ChatGPT 与 Stable Diffusion 结合提供无限创意构图
- vue表单数据加载/重置
- document.getElementById的理解
- cmd_关闭控屏软件_关闭卡死程序_解除任务管理器禁用
- java 交流学习微信群
- 自己家过得一地鸡毛,满身负债,老公却还想着创业,怎么办?
- 从一个广告词想到的(转贴)高度决定视野,角度改变观念,尺度把握人