基于Jetson Nano的羽毛球自拾取系统设计(本科毕业设计)

前言

个人向,只是记录一下做毕业设计的全过程~


一、移动平台

1.硬件简介

移动平台基于一块铁板(滑稽),购于taobao,如下图

在这里插入图片描述
核心板是STM32H743IIT6,购于TB反客科技,这家板子设计很漂亮而且资料充足
在这里插入图片描述
下面就是主板和驱动的设计,驱动使用BTN,主板上电源电路全都使用德州仪器TI的器件,TI提供了参考设计,按照TI的参考设计自行修改即可

在这里插入图片描述
在这里插入图片描述
3D图

在这里插入图片描述
嘉立创PCB打样后收到实物焊接调试后(买家秀和卖家秀一致)
在这里插入图片描述
驱动板这里就不放了,BTN用的比较多

2.软件配置Rt Thread Nano

所用软件为CUBEMX6.0.1+ARM keil ,管脚配置如下
在这里插入图片描述
添加RTT需要在包管理中先安装RTT,安装后勾选
在这里插入图片描述
此时在左边栏中会出现实时操作系统的选项,根据需要勾选最后生成代码
在这里插入图片描述
此时生成的代码不能编译通过,需要将main.c中的SystemClock_Config(void)函数原型剪贴到rtt目录下的board.c中,并将main.c中的两个函数调用HAL_Init()和SystemClock_Config()删去,然后将其添加到board.c下的rt_hw_board_init()中,如下

在这里插入图片描述
在board.c下此处可修改线程堆大小
在这里插入图片描述
对于我的版本,MDK会将这个文件识别成C文件导致出错,需要手动将其改成按汇编文件编译
在这里插入图片描述
在这里插入图片描述
此时可以编译通过,若还有错误一般是HAL库文件和RTT文件有重名函数,按报错提示修改即可
在options中,修改编译器为V6版本可提高速度,比老版快N倍!
在这里插入图片描述

二、视觉部分

一开始的思路打算使用双目+机械臂的组合。但经过初期的一个简单测试,双目在jetson nano上跑得实在太慢了。于是改用了单目+收集装置的组合,区别在于不需要知道目标(羽毛球)的精确位置,利用图片中目标的像素差来做跟踪,思路其实挺简单的。

1.YOLOV4_tiny+OPENCV4.4(C++)

训练是用darknet在windows平台上完成的。由于我Google后没有找到羽毛球的数据集,闲鱼上打算购买也没有,于是就自己在百度上爬取了羽毛球的相关图片,然后用labelImg标注了一下。样本不多,因为爬下来的图片很多羽毛球人眼都不可分辨,无效图片和重复的图片太多,实际有用的很少。
我的电脑配置如下,简单入门训练一下问题不大:

说明
操作系统Windows10
GPUNvidia GeForce GTX1660
GPU加速库CUDA10.2 CUDNN7.6.5
开发语言C++
图像处理库OPENCV 3.4.0

需要注意的是,这里训练环境的opencv,cuda版本是有讲究的,甚至连Visual studio版本都有讲究!因为截至我编译darknet的那天,它貌似还不支持vs2022。我一开始在vs2022下始终不能正确编译darknet,最后降回vs2019就成功了。
此外的CUDA的安装也有很多坑,这个已经有很多帖子了,需要根据自己的情况作参考。
训练的时候用了coco的预训练权重,因为我的样本比较少。最后效果如下,24fps左右:
在这里插入图片描述

2.跟踪的思路

这个其实和openmv色块跟踪小车思路差不多。dist1和dist2是检测到的目标离图像设定点的像素差,我们用这两个参数作为位置环的输入:
在这里插入图片描述
[m2 m1 fm1 fm2]对应四个麦轮。设定了四个麦轮的速度,再给到速度环作一个输出就能实现一个目标的跟踪了。和openmv色块跟踪小车的一个区别是,用yolo作目标检测的话,对场地的要求很低,干扰色对识别没有什么影响,而且光照对它的影响也很小。另一个后面要加需求啥的,毕竟jetson nano性能摆着,可玩性还是强很多的。

下面是跟踪的效果
跟踪的效果

三、拾取部分

没有了双目的精准定位,就只能使用一些大范围的收集装置了。初代版本用舵机+塑料打印了铲子出来,但是铲子还是涝了一点,要最后一段突然加速才能收集,还不一定能铲进去。后面又弄了夹具版。

初代铲型
在这里插入图片描述

二代夹型
在这里插入图片描述

四、其它

对小学生来说可能有点幼稚,但对大学生来说刚刚好(●ˇ∀ˇ●)在这里插入图片描述

捡两个球玩玩在这里插入图片描述>在这里插入图片描述

答辩刚结束不久,代码暂不开放

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值