从烧录系统开始Jetson Nano无人车开发记录(一)

本章介绍硬件选型与系统烧录环境配置

前言

搭建一个四轮麦克纳姆移动机器人平台,用于团队日常学习,算法复现和开发。

将在下文详细介绍从系统烧录开始,搭建平台环境的步骤。


一、硬件选型

主控:Jetson Nano B01国产开发者套件(4GB)    一套(包括7寸显示器、TF卡、读卡器、电源适配器、亚克力板、无线网卡、散热风扇等)

底盘:麦克纳姆轮底盘套件    一套(选配了镭神N10激光雷达)

相机:OAK-D-Lite

二、Nano的开机与装配

1、烧写固件

使用电源适配器给Nano主板供电(注意要保证选择供电方式跳线帽的正确连接)并接显示器,准备一台装有Ubuntu的电脑(虚拟机也可以),用数据线(安卓数据线)连接Nano与电脑。

使用杜邦线,将第二脚和第三脚短接进入烧录模式,再上电。

打开固件烧录工具所在目录,运行可执行文件,进行固件烧录。

当Nano的显示器上最后一行显示4.4#_是,就说明固件烧录成功。

2、烧写TF卡的系统并开机

这一步一定要注意镜像文件要选择与自己主板匹配的。如果是官方的Nano主板,去nvidia官网下载最新版就可以;如果是国产的,把就去问商家要一个稳定的镜像,千万不要用官方的镜像,烧录之后开不了机的。最小选择32G的,大一些当然更好。

1、对TF卡进行格式化

直接在win10的磁盘管理里格式化即可,使用SDFormatter最好。

2、烧录

我这里使用的是balenaEtcher,大家也可以使用其他烧录软件,比如Win32DiskImager等。

balenaEtcher里的检查环节是可以跳过的,如果时间宽裕的话,等一下即可,在烧录时,文件资源管理器可能弹出很多的警告,不用管就好,等烧录完成之后,拔出读卡器即可。

3、释放TF卡空间

下载一个磁盘管理工具,将tf卡除系统以外的存储空间释放出来。

3、风扇的安装及使用

1、连接好风扇的供电线,安装到散热片上

2、控制方式

2.1直接使用命令行

sudo sh -c 'echo 255 > /sys/devices/pwm-fan/target_pwm'    #最大速度开启风扇
sudo sh -c 'echo 0 > /sys/devices/pwm-fan/target_pwm'    #关闭风扇

2.2jtop的下载(开机自启)

确保pip已安装(如何安装python-pip在本文后续第5部分有说明,建议先执行完第5部分全部内容)

sudo -H pip install jetson-stats

重启nano,在终端中输入jtop即可

按5即可进入控制风扇的界面,m加速,p减速,除此之外jtop这个工具还有很多功能,可以查看CPU、GPU、网卡等工作信息,比较方便。

2.3程序自动控制(github上的开机自启且通过温度调节转速)

GitHub - Pyrestone/jetson-fan-ctl: Automagic fan control for the Nvidia Jetson Nano

这个是在逛github时发现的一个有意思的软件,温度小于20°自动关闭,温度大于50°风扇以最大转速工作。配置信息在config.json文件中,各位根据自己需求更改即可。

从github官网clone下载后(如何从github下载资源我就不赘述喽)进入对应文件夹,执行脚本安装软件,安装前要确保python3-dev已经安装(如何安装python3-dev在本文后续第5部分有说明,建议先执行完第5部分全部内容),如果要卸载就执行卸载的脚本,uninstall.sh即可。

sudo ./install.sh

4、apt换源

换源可以说是linux开发的第一要务,基操。可以节省很多时间。

1、备份

cp /etc/apt/sources.list /etc/apt/sources.list.bf

2、打开/etc/apt目录下的sources.list文件,删除全部并更换为以下内容(我这里用的是中科大的镜像源,其他也可以),执行sudo apt update更新即可。

deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted univers    e multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted     universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restrict    ed universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricte    d universe multiverse

5、pip和dev的安装及python换源

1、pip与dev的安装

sudo apt-get install python3-pip python3-dev
sudo apt-get install python2-pip python2-dev

2、python的pip换源

执行以下代码,在家目录下创建.pip的隐藏文件夹,并切换到.pip里创建pip.conf文件

cd ~
mkdir .pip
cd .pip

创建pip.conf文件(不会使用vim的朋友,可以使用gedit等)

vim pip.conf

并写入以下内容(我写的是清华的镜像源,其他也可,例如中科大、阿里等),保存退出

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
timeout = 120

6、ros的安装

在终端中执行以下命令进行ros的安装(我安装的是melodic版,适配ubuntu18.04):

1、添加ROS软件源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2、添加密钥

sudo apt-key adv --keyserver 'hkp:/ OpenPGP Keyserver' --recv-keyC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3、更新软件源并下载

sudo apt-get update
sudo apt-get install ros-melodic-desktop-full

4、安装并初始化rosdep

sudo pip install rosdep
sudo rosdep init
rosdep update

上面的shell在执行时大概率会出现time out的报错,是由于访问外网超时引起的,有耐心的小伙伴们可以反复执行,直到不报错。也可以执行下面的,安装rosdepc,其实是一个东西,rosdepc就是用国内的鱼香ros下载,速度会很快。(鱼香ROS真的香,用过的都说好)

sudo pip install rosdepc
sudo rosdepc init
rosdepc update

5、依赖包安装

sudo apt-get install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

6、添加环境变量

echo "source /opt/ros/melodic/setup.bash" >>~/.bashrc
source ~/.bashrc

7、运行海龟demo检查ros是否正常

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

7、deathai的安装

注意:OAK相机必须使用USB3.0的数据线

具体步骤请参考官方文档

1.1.5. Jetson平台 — DepthAI Docs 0.3.0.0 documentation

要注意的是,jetson安装DepthAI和普通Ubuntu系统不同,一定要按照官网的步骤,配置虚拟环境。使用OAK相机时,执行

workon depthAI

进入配置好的虚拟环境中,再进行开发或使用。如下图:

在运行install_requirements.py文件进行安装时,有一个压缩包是下载不下来的,需要科学上网(访问外网),将此脚本文件内对应下载该安装包的语段注释掉就可以,或者从可以访问的网站上下载下来,放在这个文件夹里,当要下载的包已存在时,脚本会自动跳过安装下一个。

8、Docker的安装

可以参考docker官网的步骤

Install Docker Engine on Ubuntu | Docker Documentation

依次执行以下命令

sudo apt update
sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

将当前用户添加到docker组,添加后就不用每次加sudo权限

sudo groupadd docker    #添加docker group
sudo gpasswd -a ${USER} docker    #将当前用户添加到docker组
sudo service docker restart    #重启docker服务

在终端输入

docker -v

即可查看自己安装的docker的版本信息


总结

以上就是今天跟大家分享的内容,主要是我使用Linux(Ubuntu)进行开发时的一些常用配置,本文是针对英伟达Jetson Nano B01这款开发板。后续会继续更新小车开发的内容和一些开发技巧,例如:上位机与下位机的通信(串口通信);在小车上部署autoware.ai与一些自动驾驶中以及比较成熟的算法,主要包括环境感知和路径规划,目前计划有:YoLo系列,deepsort,slam等;vim的使用及插件的安装;tmux的使用;docker常用命令,git常用命令等。完全看心情,哈哈哈。都会整理出来,供大家参考。各位如有疑问欢迎评论留言即可,由于本人水平有限,出现错误也是在所难免,各位批评指正文章中的错误。

如需转载,请联系本人,注明出处即可。

从烧录系统开始Jetson Nano无人车开发记录相关推荐

  1. 新品发布 | 无人车开发平台Autopilot kit R300正式发布!

    Autopilot Kit R300二次开发平台 阿木实验室与松灵机器人联合推出无人车Autopilot kit R300二次开发平台,全栈式底盘+软硬件一体的无人车解决方案,可以省去无人车制造这一环 ...

  2. 基于ROS的无人车开发心得(一)

    基于ROS的无人车开发心得(一) 研究生的第一个寒假,已经过去十多天了,本来是想早发的,奈何有个大作业一直拦着,所以现在才写完,来总结一下这个学期学的内容,分几个部分写,上学期导师给我安排了关于无人车 ...

  3. 【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1

    1.Jetson简介 Jetson Nano是Nvidia在Jetson XAVIER NX/TX2 NX获得成功后于2019年3月上市的低配版GPU运算平台. 图 1-1 1.1参数 官方公布参数 ...

  4. 【分布式】系统读取Jetson nano的功耗;NVIDIA 设备读取功耗;功耗测试

    1. jtop NVIDIA有完善的性能管理的工具jtop.而监控功耗的最简单方法是使用 jtop.要安装它,请运行以下命令: sudo -H pip install -U jetson-stats ...

  5. Jetson nano 系统安装

    Contents Jetson Nano 在 EMMC 上安装镜像 U 盘启动和 TF 卡启动 U 盘启动 (复制 eMMC 上系统) TF 卡启动 设置远程登录系统 SDK 安装 使用 SDK Ma ...

  6. 国产版Jetson nano b01烧录经验帖子|详细步骤|保姆教程|后续继续更新开机后的基本配置

    前言: 分享一点jetson nano学习经验,硬件小白,踩了许多坑,贴中的流程算是比较避坑的方法.         nano有分国产和原装,烧录镜像文件不同.性能方面:国产nano和原装的性能一样, ...

  7. Jetson Nano v4.6.3:安装系统、U盘启动、安装SDK、安装PyTorch GPU、YOLOv5+DeepStream部署

    一.写在前面 本教程为个人创作,截止发布日仅在CSDN平台刊登,转载请附本文链接. 本教程直接面向YOLOv5用户,提供四个文件供下载,简单说明如下表,详细说明和下载链接在文末. 文件名称 文件类型 ...

  8. 腾讯自动驾驶新动作!与现代合作开发无人车系统

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 关于自动驾驶,腾讯又有新动作. 根据韩国<每日经济新闻>(Maeil Business Newspaper)报道,腾讯控股与现 ...

  9. AutoX披露无人车云代驾系统:夜晚远程操控车队也easy

    雷刚 发自 Sanya  量子位 报道 | 公众号 QbitAI 无人驾驶公司AutoX又披露了新进展. 这一次,是关于他们的远程操控系统.即在无人车运营中,如需要远程介入,这个系统就显得格外重要. ...

最新文章

  1. Ios上任意控件上添加自定义Badge
  2. Skin设计小组新作品发布—绿草蓝天
  3. 如何从校招脱颖而出?支付宝程序媛王妍岩:自信+方法
  4. Spring MVC面试题
  5. table中加表单元素怎么验证_045、DOM编程实例和表单
  6. arduino loar_如何使用Arduino开发板制作函数生成器(波形发生器)
  7. Android 性能分析岗位,2021Android最新大厂面试真题总结,架构师必备技能
  8. php使用websocket示例详解
  9. [2019杭电多校第五场][hdu6630]permutation 2
  10. 如何基于Spring Boot搭建一个完整的项目
  11. 单片机课程设计:基于STM32智能交通灯的设计
  12. 想找一款读书笔记软件?快来试试BookxNote
  13. neon浮点运算_ARM 浮点计算测试与分析
  14. 【STM32HF429的DSP教程】第40章 STM32F429的FIR带阻滤波器实现(支持逐个数据的实时滤波)
  15. 基于MATLAB的运动模糊图像处理
  16. 为技术发声,因分享发光——最受开发者欢迎的“开发者布道师”评选结果来啦!...
  17. 学习jQuery这一篇就够了
  18. 轮胎规格怎么看?“3T”指数到底是什么?换轮胎前必读!
  19. kafka 报错: LEADER_NOT_AVAILABLE
  20. Unknown custom element: <uni-icons> - did you register the component correctly uniapp

热门文章

  1. 虎翼主机 mysql_Discuz!发论坛短消息提示mysql数据库错误
  2. php 跳转伪造referer,PHP页面跳转与跨站提交伪造Referer地址来源
  3. 网红直播时的瘦脸、磨皮等美颜功能是如何实现的?
  4. vue获取鼠标位置e.pageX报undefiend
  5. matlab怎么输出加粗的字,matlab boxplot 加粗
  6. 三目表达式如何省略一个表达式
  7. css怎么改颜色不换行,css a不换行怎么设置
  8. 智能手机游戏的六个残酷真相:对玩家一定要狠
  9. 怎样解决笔记本电脑键盘输入字母变成数字?
  10. linux 调整 内核空间占用cpu,[Linux性能优化]3.CPU使用率100%,怎么办?