我是靠谱客的博主 欢呼早晨,最近开发中收集的这篇文章主要介绍Jetsonnano的环境配置--ros环境,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Jetsonnano的环境配置
1. 准备SD卡
    在Jetsonnano中配置Ubuntu在启动NVIDIAJetsonnano前,准备工作:准备一张SD卡,Jetsonnano要求最低配置16G的SD卡,但是整个系统刷完SD卡就被用了大概13G。后期还需要安装一些其他的机器学习框架,所以最低需要32G的SD卡。我们使用的是64G的SD卡。
2.Jetsonnano镜像下载
    在使用开发套件之前,SD卡要烧写好操作系统,以及JetPack工程所需的其他组件。首先下载官方提供的Jetsonnano镜像文件,下载地址: Jetson Download Center | NVIDIA Developer
 
3.SD卡资料--镜像与备份--空卡可以不操作
3.1 在本地新建一个空白的.img后缀的空白文件新建一个空白的txt文件,然后重命名时将txt后缀修改成img后缀,文件名可以自定义(最好是英文)。
 
文件备份成功的一个前提条件:假设该树莓派上使用的内存卡是64G的,那么备份出来的镜像文件也是64G的,因此空白的img文件需要建在一个有64G的磁盘上,否则会备份失败。
3.2 内存卡连接到电脑这时候弹出格式化提醒的弹窗点击 取消。这一步很重要,点击格式化磁盘的就是将你要备份的文件删除了!!!
 
3.3镜像拷贝打开win32Disk软件,选中刚刚新建的空白img文件,然后点击“read”。
 
这时会弹出一个覆盖写入的警告弹窗,点击“yes”。
耐心的等待(64G的镜像时间大概需要30分钟),完成后会弹出successful的弹窗,点击ok即可。
 
 
下一步退出win32Disk软件,点击exit。拔出内存卡,镜像备份成功。
这里查看一下备份好的镜像文件大小,是和内存卡大小一致的。
 
4.Jetsonnano镜像的烧录
4.1 格式化内存卡
将内存卡通过读卡器连接电脑,打开SDFormatter软件。
 
点击“更新”会自动选中内存卡,默认是快速格式化模式,点击“格式化”按键。
这时候会弹出一个快速格式化提醒,点击“确定”
 
如果再次失败可能是内存卡的名称太长导致的,修改内存卡名称后(改一个简单数字,比如1),重新点击格式化就可以了。
 
在格式化完成后,建议最好重新插拔一下内存卡,确认是否真的格式化成功了。这里可以看到,内存卡是空白的,格式化成功。
 
4.2打开win32Disk软件,导入镜像
选中写入的镜像文件和内存卡,点击“write”。 注意关闭杀毒软件
 
覆盖写入警告弹窗,点击“yes”
耐心的等待(64G的镜像时间大概需要40分钟),写入成功后,会弹出一个格式化提醒的弹窗,这时候千万别点击格式化,点击 取消即可。
 
写入成功弹窗,点击“确定”
到这里镜像写入内存卡就完成了,拔出内存卡,插入到树莓派中,就可以使用了
5.在Jetsonnano供电
   (1) 准备一根电源线,Jetsonnano不包括电源,需要自己准备1根5V⎓2A的MicroUSB电源线;
    (2) 也可以准备一个5V⎓4A的电源适配器,为后续陆续增加的外设提供功率保障。
        使用DC电源时需要将J48两个触点短接(插上跳线帽),否则默认为USB口供电。

6.Jetsonnano开机
    将烧录好镜像文件的SD卡插入Jetsonnano中。
Getting Started With Jetson Nano Developer Kit | NVIDIA Developer
Jetsonnano上电不自启,需要重新插拔下电源。
1.首次sudo ,需要先设置 sudo passwd 。输入两次密码。
2.Jetsonnano开机后进行系统设置,需要自己设置登录的账号与密码,设置完之后登录进系统就可以开始正常使用了。JetsonNano利用官方镜像进行安装后,系统已经安装好了JetPack,cuda,OpenCV等组件,需要修改下环境变量才可以使用。修改步骤为:
a)利用gedit打开.bashrc文件:sudo gedit ~/.bashrc
b)文件的最后添加以下三行:
    export PATH=/usr/local/cuda-10.0/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0
c) 重新执行.bashrc文件,source  ~/.bashrc
d) 输入nvcc -V命令进行测试,如果显示如下信息,证明修改正确。
 
7.Jetsonnano的网络连接
三种方法可以实现Jetsonnano上网:
1.网线
2.USB无线网卡
3.USB无线网卡
8.安装ros
CSDN 参考 Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)_mango-CSDN博客_ubuntu18.04安装melodic
rosdep update 失败: rosdep update 超时失败2021最新解决方法_wongHome的博客-CSDN博客_rosdep update 超时失败2021最新解决方法
9,放入小车源码进行编译
9.1.在Ubuntu系统  /home/xxx/目录下 mkdir  catkin_ws
    进入catkin_ws 目录,复制源码src目录。
    在src 目录下删除cmakelist.txt和realsense-ros- development 目录
    然后catkin_init_workspace.
9.2 在catkin_ws目录下,输入指令catkin_make 编译
9.3出现相应的错误,表示缺少对应的库文件  或是冲突。参考: ROS编译基本错误_李德龙杰的博客-CSDN博客
(1):No package ‘orocos-bfl‘ found
sudo apt-get install ros-melodic-bfl
(2)解决Ubuntu环境下ROS Kinetic中的cv_bridge和自己安装OpenCV xx兼容性:
把对应文件opencv路径修改成所安装的路径  set(_include_dirs "include;/usr/include;/usr/include/boost/compute/interop/opencv") LINE:96
   CMake Error at /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake:113_kaikai_1019的博客-CSDN博客
(3)Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR):
sudo apt-get install libsdl1.2-dev
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install libsuitesparse-dev
(4)【opencv4】——fatal error: opencv2/opencv.hpp: No such file or directory #include <opencv2/opencv.hpp>
sudo  ln  -s  /usr/include/opencv4/opencv2   /usr/include/
(5):不能找到 “serial”
sudo apt-get install ros-melodic-serial
(6):不能找到 “tf2-sensor-msgs”
sudo apt-get install ros-melodic-tf2-sensor-msgs
(7)很多类似的缺少,或是缺少头文件。需要安装sudo apt-get install ros-melodic-xxx.
直到编译100%通过。

sudo apt-get install   ros-melodic-bfl   libsdl1.2-dev  libsdl-image1.2-dev  libsuitesparse-dev ros-melodic-serial  ros-melodic-tf2-sensor-msgs  ros-melodic-uuid-msgs
ros-melodic-cv*   ros-melodic-opencv  ros-melodic-libuvc  ros-melodic-move-base-msgs  ros-melodic-costmap-con .....   ros-melodic-ackerman-msgs
(8).以后每次打开终端编译前需要: source devel/setup.bashrc 
可以把source /home/xxx/catkin_ws/devel/setup.bashrc  放入home目录下的.bashrc
然后source  .bashrc
10.Jetsonnano镜像的备份--在Ubuntu电脑上
1镜像备份把Jetsonnano的卡用读卡器插到硬盘空间大于32G的Ubuntu电脑上,注意这里不能使用虚拟机进行备份,
因为Windows无法读取装了Jetsonnano系统的内存卡。
备份过程为:
    a)首先打开一个终端输入命令sudofdisk-u–l查看磁盘号;
    b)使用命令sudo-s或者sudosu进入root模式准备备份;
    c)在终端输入命令开始备份(要先确认sda/b/c):
    d)sudo dd if=/dev/sda | gzip>/home/deskmeadia/CareRobot_nano.img.gz
    e)打开一个新的终端输入命令:sudo pkill -USR1 -n -x dd可查看备份进程,当备份完成后在home目录下生成的镜像文件名为wheeltec_nano.img.gz,
直接打开home文件没有看到这个文件,需要从文件-Other Locations-Computer-home中查看,这时可以用U盘将镜像直接拷贝出来。

11.Jetsonnano镜像的恢复Jetsonnano镜像的恢复有两种方式。
分别是命令行恢复与使用镜像制作工具Etcher对镜像进行恢复。先对需要烧录镜像的SD卡进行格式化操作,格式化步骤与树莓派中的格式化SD卡步骤一致。
1使用命令行恢复
a)在已有备份镜像的Ubuntu电脑中,插入需要烧录镜像的SD卡,此时SD卡已经完成格式化。
b)进入SD卡的目录中打开终端输入命令sudofdisk-u–l查看磁盘号;
c)使用命令sudo-s或者sudosu进入root模式准备恢复镜像;在终端输入命令开始恢复镜像(要先确认sda/b/c):
d)输入指令:sudo gzip -dc /home/deskmeadia/CareRobot_nano.img.gz | sudo dd of=/dev/sda开始恢复,
这里的/home是镜像存放的目录,/dev/sda是第二步查到的结果。
e)在终端输入命令:sudopkill-USR1-n-xdd可查看恢复进程
2使用Etcher
恢复下载镜像制作工具Etcher,下载地址为: balenaEtcher - Flash OS images to SD cards & USB drives使用Etcher软件写入镜像。
打开Etcher软件,依次点击:[Selectimage]打开下载的镜像文件-->[Selectdrive]选择microSD卡-->[Flash!]进行烧录。
12 安装nfs  :
  1. 安装NFS服务端sudo apt-get install nfs-kernel-server
  2. 安装NFS客户端 sudo apt-get install nfs-common
  3. 添加NFS共享目录/home/wheeltec/wheeltec_rebot *(rw,sync,no_root_squash)
  4. 给挂载的目录设置权限以及修改文件用户sudo chmod-地方-hR777/home/wheeltec/wheeltec_robot
  5. 启动NFS sudo/etc/init.d/nfs-kernel-serve rstart
  6. 挂载NFS sudo mount -t nfs -o nolock 192.168.0.100:/home/wheeltec/wheeltec_robot /mnt
  7. 查看是否挂载成功:直接打开/mnt目录查看里面的内容是否有一个“src、devel、build”这三个目录,或者直接使用指令“df-h”查看所有挂载的目录
13 开机执行脚本
    1.新建需要运行的脚本文件:进入/etc/init.d的路径下,sudo vim mount_test.sh
     2.编辑脚本写入:
#!/bin/bash
###BEGININITINFO
#Provides:svnd.sh
#Required-start:$local_fs$remote_fs$network$syslog
#Required-Stop:$lcoal_fs$remote_fs$network$syslog
#Default-Start:2345#Default-Stop:016
#Short-Description:startsthesvnd.shdaemon
#Description:startssvnd.shusingstarts-stop-deamon
###ENDINITINFO
sudo mount -t nfs -o nolock 192.168.0.100:/home/wheeltec/wheeltec_robot /mnt
3.修改执行脚本的权限:sudo chmod 777 mount_test.sh
4.将该脚本添加到开机执行的队列中:sudo update-rc.d mount_test.sh defaults 90
5.取消开机自动运行:sudo update-rc.d -f mount_test.sh remove
14  SSH远程登录

1.安装openssh-service

命令: sudo apt install openssh-server

2、启动ssh服务

命令: sudo service ssh start
3.ssh登录
ssh wheeltec@192.168.0.100
15.ROS多机通信设置
1.在/home目录编辑 sudo vim .bashrc 在末尾加入:
source /opt/ros/melodic/setup.bash    -----安装ROS时设置的环境变量
source /home/xjh/catkin_ws/devel/setup.bash------虚拟机(主机)上的ROS工作空间的环境变量
exportROS_MASTER_URI= http://192.168.0.100:11311---------从机的IP地址,冒号后面的11311不需要修改
export ROS_HOSTNAME=192.168.0.142-------------主机(本地)的IP地址;
export SVGA_VGPU10=0
export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2
source /opt/ros/melodic/setup.bash
source /home/ximei/robot/devel/setup.bash
export ROS_MASTER_URI= http://192.168.11.221:11311
export ROS_HOSTNAME=192.168.11.221
export SVGA_VGPU10=0
  1. source .bashrc

16.samba 服务器: 在Windows上访问linux的共享文件夹_huayangshiboqi的博客-CSDN博客_windows访问linux共享文件夹

最后

以上就是欢呼早晨为你收集整理的Jetsonnano的环境配置--ros环境的全部内容,希望文章能够帮你解决Jetsonnano的环境配置--ros环境所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部