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

1、Jetson简介
Jetson Nano是Nvidia在Jetson XAVIER NX/TX2 NX获得成功后于2019年3月上市的低配版GPU运算平台。
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第1张图片

图 1-1
1.1参数
官方公布参数
GPU: NVIDIA Maxwell architecture with 128 NVIDIA CUDA® cores
CPU: Quad-core ARM Cortex-A57 MPCore processor
Memory: 4 GB 64-bit LPDDR4, 1600MHz 25.6 GB/s
Storage: 16 GB eMMC 5.1
Video Encode: 250MP/sec
1x 4K @ 30 (HEVC)
2x 1080p @ 60 (HEVC)
4x 1080p @ 30 (HEVC)
4x 720p @ 60 (HEVC)
9x 720p @ 30 (HEVC)

Video Decode: 500MP/sec
1x 4K @ 60 (HEVC)
2x 4K @ 30 (HEVC)
4x 1080p @ 60 (HEVC)
8x 1080p @ 30 (HEVC)
9x 720p @ 60 (HEVC)

Camera: 12 lanes (3x4 or 4x2) MIPI CSI-2 D-PHY 1.1 (1.5 Gb/s per pair)
Connectivity: Gigabit Ethernet, M.2 Key E
Display: HDMI 2.0 and eDP 1.4
USB: 4x USB 3.0, USB 2.0 Micro-B
Others: GPIO, I2C, I2S, SPI, UART
Mechanical: 69.6 mm x 45 mm 260-pin edge connector
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第2张图片

图 1-2

1.2 jetson nano优缺点
Nano最大的特色是包含一块128核Maxwell架构的GPU,虽然是老架构,但用于嵌入式设备,从功耗、体积、价格上也算一个平衡。
Nano的计算能力不高,勉强可以使用一些小规模、并且优化过的网络进行推理,训练的话还是不够用的。
A53的CPU中规中矩,树莓派4已经升级为A72。
4GB的内存并不能完全使用,因为其中有一部分(1GB左右)是和显存共享的。
Nano的最大优势还是在体积上,它采用核心板可拆的设计,核心板大小只有69.6 x 45 mm,可以很方便的集成在各种嵌入式应用中。同时它的功耗也非常低,有两种模式:
5W(低功耗模式;可以使用USB口供电)
10W(必须使用Power Jack外接5V电源供电)
这两种模式可以在系统菜单中进行修改。
当使用Power Jack供电时,外接电源要求5V=2A, 推荐使用5V=4A以应对峰值。
如果没有安装风扇,只使用自带的散热片被动散热的话,建议强制5W模式,否则一定死机。

1.3实用注意事项
1.Rosmaster机器人支持四款主控,分别是Jetson Nano开发板、Jetson Xavier NX开发板、Jetson TX2
NX开发板和树莓派4B开发板。
Jetson Nano、Jetson Xavier NX和Jetson TX2 NX开发板出厂系统用户名:jetson,密码:khxx8888
树莓派4B主控出厂系统用户名:pi,密码:khxx8888
不管哪款主控,Jupyter Lab的登录密码都是:khxx8888
2.由于Rosmaster机器人在开机时,会初始化板载的九轴姿态传感器,所以开机或者按下RESET键复位
时,应水平放置在地上,约几秒后听到‘滴’一声则可以正常使用。
3.正常状态下,Rosmaster机器人的MCU指示灯是每三秒快闪2次,如果发现MCU指示灯常亮或者常
灭,则表示扩展板上的单片机运行状态异常。请按一下RESET键复位单片机。
4.在运行单例程序前,请先将大程序关闭,否则可能会造成影响。
5.开机后,激光雷达自动转动,请不要堵转激光雷达转动,避免损坏产品。

锂电池组和电池充电器安全使用规范
1.严禁接入超过产品使用负载的设备。
2.严禁使用非亚博官方提供的电池或充电器。
3.电池充电时请关闭扩展板上的总电源开关,请勿对电池边充电边使用,防止出现充电器或电池爆炸。
4.电池充电时,充电器指示灯亮红灯,充满亮绿灯,充电完成后应及时拔掉充电器,避免过充损坏电
池。充电时需要有人在场。
5.电池9.6V以下时,扩展板蜂鸣器发出‘滴滴滴滴’报警声,并且MCU指示灯快闪,此时需要关闭电源,然
后给电池充电。
6.使用完毕后应关闭扩展板上的电源总开关,长时间不使用时,请保持锂电池组电压11.1V~11.7V,取出
锂电池组并放到电池安全区域,不要与金属物体混放,包在外边的绝缘膜不可以撕掉。
7.远离热源、火源、任何液体,切勿在潮湿或雨中使用。潮湿环境可能导致产品短路损坏。
8.当锂电池组或电池充电器起火、冒烟,请使用沙或者干粉灭火器灭火,然后迅速撤离至安全区域。
9.若锂电池组或电池充电器出现破损、严重发热、变形、变色、有异味或者其他任何异常现象时不得使
用,并及时联系亚博或其他代理商处理。
10.请在温度0℃到35℃环境下使用,其他温度下锂电池组或电池充电器稳定性可能会出现下降。
11.严禁故意刺破、短路、反接、私自焊接、撞击、碾压、抛掷锂电池组或电池充电器。
12.禁止在强静电和强磁场环境中使用产品,否则会导致产品损坏。
13.严禁私自改装或修改硬件电路板。
14.无成人监护时,请不要让儿童使用锂电池组或电池充电器,存放电池时应放在儿童不能拿到的地方。
15.锂电池组或电池充电器冒烟、发烫(严重时外壳会裂开),应迅速断开电源总开关、排插电源或者断
开总闸,并将电池或充电器放至空旷地带。

1.4扩展板介绍
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第3张图片

正面元器件分布图 1-3
①T型DC 12V电源输入接口:作为扩展板的主电源输入,连接到DC 12V电源或者12V电池。
②⑨DC 12V电源输出:向外提供DC 12V电源。
③电源指示灯:指示电源供电是否正常。
④micro USB数据接口:连接主机通讯和烧录程序。
⑤type-C接口:向外提供DC 5V,仅供电不能通讯。
⑥DC 5V输出接口:可给Jetson Nano供电。
⑦I2C接口:可连接外部I2C设备,例如OLED屏幕。
⑧指示灯:数据指示灯和6.8V电压指示灯。
⑩DC 12V电源开关:电源总开关。
⑪按键:按键KEY1:用户功能按键,可通过编程实现自定义功能。按键RESET:板载单片机复位按键。
按键BOOT0:板载单片机BOOT0键,用于单片机进入烧录模式。
⑫九轴姿态传感器:提供扩展板当前姿态。
⑬CAN接口:连接CAN设备。
⑭RGB炫彩灯条接口:连接RGB炫彩灯条。
⑮SBUS接口:连接航模遥控器接收器。
⑯PWM舵机电压切换:改变跳线帽的位置可选择6.8V或者5V电压为PWM舵机供电。
⑰PWM舵机接口:可连接6.8V或者5V电压PWM舵机,需根据舵机电压在⑯选择对应的电压。
⑱串口舵机接口:连接到串口舵机机械臂。
⑲蜂鸣器:用于鸣笛报警。
⑳四路电机连接口:连接四个电机,根据不同车型连接方式请参考对应课程文档。

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第4张图片

背面元器件分布图 1-4

①板载单片机:主要负责控制扩展板上的外设,例如蜂鸣器、电机驱动等。
②调试接口:连接到ST-Link或者J-Link上SW接口,用于调试单片机或者下载单片机固件。注意:焊接后
不保修

扩展板常见问题

A : Jetson Nano怎么控制扩展板?如何与扩展板通讯?
答:Jetson Nano发送串口数据,通过USB口传输到扩展板,扩展板上集成了单片机,接收并解析串口数
据,再处理具体要执行的命令。
B : 机器人如何供电?Jetson Nano需要另外供电吗?
答:小车出厂配有电池组,将电池组插入扩展板的DC 12V电源T型接口上,打开总电源开关,扩展板集
成电压转化芯片,提供DC 5V电源,通过DC 5V电源线传输给Jetson Nano供电。
C : 扩展板上哪些功能是由单片机管理??
答:扩展板上的单片机管理的部分包括:机械臂、有源蜂鸣器、姿态传感器、PWM舵机云台、电机、
RGB炫彩灯条、按键KEY1、RESET键、SBUS接口、CAN接口等。
D : 扩展板如何更新单片机固件?为什么要更新单片机固件?
答:扩展板集成的单片机出厂时已经烧录好固件,非必要情况下请无需更新固件。如果需要更新固件,
请参考更新固件的教程来操作更新单片机的固件。

1.5 STM32开发环境搭建

STM32CubeIDE介绍
STM32CubeIDE是一个多功能的集成开发工具,集成了TrueSTUDIO和STM32CubeMX,它是STM32Cube软件生态系统的一部分。
STM32CubeIDE是一个先进的C/C++开发平台,具有STM32微控制器的IP配置,代码生成,代码编译和调试功能。
它基于ECLIPSE™/ CDT框架和用于开发的GCC工具链以及用于调试的GDB。
它允许集成数百个现有插件,完成ECLIPSE™IDE的功能。

主要特点
集成STM32CubeMX:STM32微控制器选择,引脚分配,时钟,IP和中间件配置
,项目创建和初始化代码的生成。基于Eclipse™/CDT,支持ECLIPSE的™插件,GNU C / C ++中ARM®工具链和GDB调试器。
其他高级调试功能:CPU内核,IP寄存器和内存视图,实时变量观看视图,系统分析和实时跟踪(SWV),CPU故障分析工具,支持ST-LINK和J-Link调试探针,从TrueSTUDIO®和AC6导入项目
支持操作系统:Windows®,Linux®和MacOS®

下载安装包
https://www.st.com/zh/development-tools/stm32cubeide.html
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第5张图片

图 1-5
根据电脑系统下载,这里以Win10系统安装1.10.1版本为例,选择最新版本下载。有账户可以登录直接下载,不想登录可以通过邮件下载。解压下载到的文件,解压路径不要有中文。
开始安装
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第6张图片

图 1-6
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第7张图片

图 1-7
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第8张图片

图 1-8
安装路径可以自行修改,同样不要有中文。
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第9张图片

图 1-9
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第10张图片

图 1-10

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第11张图片

图 1-11
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第12张图片

图 1-12
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第13张图片

图 1-13
在这里插入图片描述

图 1-14
安装完成过后,点击桌面的快捷方式,如图可以自己选择工作空间,不要带中文。
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第14张图片

图 1-15

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第15张图片

图 1-16
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第16张图片

图 1-17
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第17张图片

图 1-18

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第18张图片

图 1-19

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第19张图片

图 1-20

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第20张图片

图 1-21
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第21张图片

图 1-22
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第22张图片

图 1-23
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第23张图片

图 1-24
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第24张图片

图 1-25
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第25张图片

1.7 STM32环境布置代码部分
由于上一步图形化配置已经生成系统的初始化代码,所以我们只需要添加要实现的功能就可以了,找到main.c文件里的main函数,在while(1)下添加控制LED灯的内容,功能是LED灯每隔两百毫秒闪一次,按Ctrl+s保存代码
位置如图
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第26张图片

图 1-26

HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, SET);
HAL_Delay(200);
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, RESET);
HAL_Delay(200);

1.8编译程序
添加生成的HEX文件的功能
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第27张图片

图 1-27

如图操作
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第28张图片

图 1-28

点击工具栏中的锤子开始编译工程。
在这里插入图片描述

图 1-29

控制台会弹出如图所示文字

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第29张图片

图 1-30

1.9烧录镜像
安装CH340驱动(去其他教程找找怎么装)
在这里插入图片描述

图 1-31

由于rosmaster扩展板的usb通讯使用了CH340芯片,所以需要安装CH340芯片驱动,如果电脑已经安装过CH340驱动则不需要重复
操作如图
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第30张图片

图 1-32

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第31张图片

图 1-33

下载烧录软件
烧录rosmaster扩展板需要用到mcuisp 网站http://www.mcuisp.com网站下载,建议直接用资料中提供的mcuisp软件,无需安装。
在这里插入图片描述

图 1-34

在电脑连接rosmaster之前,请将扩展板连接jetson nano的Micro USB数据线和电源线拔掉。usb接电脑,数据线另一端接Micro USB接口。如图操作:

图 1-35
【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第32张图片

图 1-36

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第33张图片

图 1-37

【持续更新】Jetson Nano 人工智能机器人开发实战案例——RosmasterX3A1_第34张图片

图 1-38

你可能感兴趣的:(opencv,计算机视觉,目标检测,自动驾驶,深度学习)