Jetson Xavier NX (12) — NX Install ROS melodic

目录

ROS Melodic Install 

rosdep init

Xavier NX风扇的控制

Xavier NX的Cuda环境变量配置

使用Jtop进行内存/CPU/GPU等资源监视

一站式环境配置:Ubuntu18.04LTS +ROS+OpenCV

https://haowang.blog.csdn.net/article/details/110467449

Jetson Nano(7)— 在jetson nano上安装ROS Melodic for Ubuntu18.04

https://haowang.blog.csdn.net/article/details/102487286

ROS Melodic Install

rosdep init

$ sudo rosdep init 
$ rosdep update

Xavier NX风扇的控制

很多开发者拿到Xavier NX时候开机,发现Xavier NX的风扇并不会自动转动,很多人都去群里或者找经销商询问是否自己的开发板坏掉了。实际上不是这样的。Xavier NX的风扇在系统内核中有一套自动控制温度和转速的算法,经过我观察大约在40度左右的时候会自动开启风扇进行散热,在核心温度大约低于39度时候会自动关闭散热风扇。Xavier NX的官方开发套件载板是和Nano通用的,因此PWM控制的指令和管脚和Nano也是通用的,完全可以通过nano的PWM指令来控制Xavier的风扇。指令通过Alt+Ctrl+T呼叫命令台,然后在命令行输入以下代码并且运行:

sudo sh -c 'echo 150 > /sys/devices/pwm-fan/target_pwm'

这段代码中,数字位数150即代表了风扇的PWM占空比参数。其区间为0~255,0即代表了风扇完全停止,255代表了风扇火力全开。实际上在日常使用过程中我倾向于使用100~150的占空比,也就是40%~60%左右。因为过低风扇散热无力,过高了风扇噪音快赶上台式机了,听起来会比较烦人。除了重度编译,运行较大网络吃满资源,还是用不到255的占空比的。仅有的几次使用也只是为了跑官方的BenchMark基准测试进行暴力运行。

Xavier NX的Cuda环境变量配置

刷机进行完毕以后,需要手动对nvidia cuda的库进行环境变量添加。否则你后面但凡使用cuda库的程序和代码都会因为找不到cuda而满屏幕炸错。这里我们可以使用Vim来进行环境变量写入操作。呼叫出命令台,输入以下代码:

sudo vim ~/.bashrc

打开环境变量文件,然后按下键盘上的字母“a”控制vim进行插入删改操作模式(纯给新手看,当年我第一次用vim也及其蒙B)然后在文件最后插入以下环境变量代码:

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

然后敲击键盘上的Esc按键退出编辑插入模式,输入’’:wq!’’用来写入环境变量并且强制退出vim。接着在命令行内刷新环境变量:

source ~/.bashrc

刷新环境变量以后可以通过查看nvcc版本的指令来查看是否配置好cuda相关的环境变量。新开命令行输入以下代码:

nvcc -V

如果输出如下所示(出了就对了,版本什么的一般都看你镜像版本,我的镜像是jetpack4.4,cuda-10.2):

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_21:14:42_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89

到此cuda的环境路径已经配置完毕。

使用Jtop进行内存/CPU/GPU等资源监视

Jtop是老外的一个Jetson开发者为Jetson系列开发的一个小App,可以通过pip安装,用来监视系统资源使用,温度等等一些关键参数,可以为你代码运行调试阶段提供一些支持,也可以查看整体的资源占用率,查看当前温度和内存使用是否处于危险的状态。开启一个新的命令行,安装命令如下:

sudo -H pip install jetson-stats

ERROR

如果提示没有pip,建议你去随便找个教程装一下,ubuntu18.04装pip的教程太多了这里不再一一列举。如果一切顺利,则可以看到以下界面:

至此,基本就完成了Xavier Nx的相关基本开发配置。

RESULTS: