当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]我想和大家分享我的DIY遥控车的项目,在车上实现机器学习模型,这可能会给它带来自主功能。下一个生物就在这里,稍低一点。我受到了新技术,机器人,无人机的启发,并决定做一些与这个领域相关的事情。有一种想法是制造一种带有遥控器的东西,它可以飞行或驾驶,有可能播放视频和探测物体。我使用树莓板+摄像头作为图像处理单元,检测物体。Arduino Mega 2560以无线电模块为硬件核心来驱动汽车。此时通过SSH流建立视频传输。所以,让我们继续前进吧!

我想和大家分享我的DIY遥控车的项目,在车上实现机器学习模型,这可能会给它带来自主功能。下一个生物就在这里,稍低一点。我受到了新技术,机器人,无人机的启发,并决定做一些与这个领域相关的事情。有一种想法是制造一种带有遥控器的东西,它可以飞行或驾驶,有可能播放视频和探测物体。我使用树莓板+摄像头作为图像处理单元,检测物体。Arduino Mega 2560以无线电模块为硬件核心来驱动汽车。此时通过SSH流建立视频传输。所以,让我们继续前进吧!

项目结构:

- openCV, ML模型和图像处理

-nRF24L01+无线电模块

-骑上车

- RPi4 Arduino通讯

OpenCV, ML模型和图像处理

一个很好的机会来处理图像,视频,流等等给了我们OpenCV库。我想每个人都注意到了一个绿色的框架,它会在我们的手机摄像头中寻找人脸。这是将其应用于移动软件的一个很好的例子。它从90年代开始,这些年来一直在进步。OpenCV与神经网络、机器学习模型一起工作,这取决于它的目标。从人脸识别系统到医学癌症检测模型。听起来很酷,不是吗?OpenCV库可用于大多数编程语言,并拥有强大的支持社区。它是如何工作的?简而言之,每个图像都可以表示为一个像素数组,其值从0到255,如果用rgb比例着色,则可以表示为多维数组。视频实际上是一组图像,这些图像是结构化的,每秒显示24次。OpenCV可以在迭代循环中处理它。关键时刻是在OpenCV中使用神经网络/ML模型。例如,在拥挤的地方的照片上数人。如果我们只有20个人,这可能很容易,但如果这是一张来自无人机的照片,而且有无数的照片呢?在这里,ML模型可以帮助您。Tensorflow, pythorch, utralistyolo模型已经有了训练好的对象识别和分类模型。

它可以以0.44的概率检测和分类右侧的人。

所有这些库的主要特点是有机会根据您的特定需求训练您自己的模型。

我尝试过使用TensorFlow、Ultralytics Yolo和Edge Impulse,但由于文档和软件包支持组织不佳,我无法推荐第一个。对于我这个初学这个领域的人来说,它看起来很乱。

Ultralytics Yolo看起来好多了。

这里有必要强调一下边缘实现的ML主题。这里有可能使我们的模型在边缘设备上工作,如微控制器,手机,嵌入式系统等,与我们的PC相比,它们具有极低的RAM内存和CPU性能。

首先,针对边缘设备,我尝试用TensorFlow训练一个自定义模型,因为它有一个专门设计的工具来提取边缘设备模型的精简版本,我遇到了很多障碍,与系统不兼容,依赖等。

Ultralytics有可能将ML模型转换为您希望的任何格式,更不用说。但在Raspberry Pi 4上部署它时,我使用USB网络摄像头每秒只能拍到1帧,看起来真的很慢。

Edge Impulse真的帮了我大忙。他们的方法为我提供了一个性能提高15倍的定制模型!

在他们的网站和YouTube上有组织良好的文档。

可能部署你的模型作为一个zip库在Arduino或构建它直接到你的RPi板从边缘脉冲web服务器!不可思议。

下载后,您将获得一个带有Python脚本的生成的Python SDK包,我们可以在项目中使用它。

有很多关于如何使用其他框架/库(如TensorFlow, Yolo等)训练自定义模型的资源。

nRF24L01无线电模块

它可能会给你的背部带来一点疼痛。如果你没有准备好,可能会多一点。

这是市场上最便宜的选择,但有几个时刻可能会让你发疯。

为了避免在模块之间建立通信的所有问题,我强烈建议您在这里学习nRF24文档:

如果你还在与困难作斗争,你必须:

•直接在模块上的VCC和GND引脚上焊接约50µF的电容器。

•检查模块是否工作,因为有很多模块是直接从生产线上坏掉的。

使用这段代码来检查你的模块是否可以扫描无线电环境:

如果你的模块处于工作状态,它必须在串行监视器中显示类似的东西:

每一行代表一个扫描循环。从左到右,数字对应于每个通道。0表示该频道不受家庭无线电发射器(如WiFi、手机等)的影响。

如果每一行都是零表示-这是坏消息。尽量选择一个免费的无线电频道,以减少噪音和干扰,例如WiFi。

车轮上的

在造车之前,我一直在琢磨如何把它变成现实。

我跟着这些想法走:

树莓派4从USB网络摄像头获取视频,对其进行处理,并将带有移动或不移动信息的数据发送到Arduino,等等。

同时,Arduino有2种模式:遥控模式和自主模式。

远程控制模式意味着等待来自nRF24L01模块的数据,如果来自发射器的数据处于中立位置,则保持移动值x和y为0(操纵杆未动,以数字表示输出1023中的512)。

如果无线电模块断电,Arduino会切换到自主模式,并尝试掉头。在摄像机视图中有可能捕捉到一个目标,然后如果它发生了,它将停止转身并向目标(球)移动。

预建的车辆平台可以在网络市场上找到。例如:

问题是,我不确定如何嵌入树莓派和arduino板与电池,如何使轮子驱动,因此决定建立它在我自己的几个细节从aliexpress和木制板

野马准备好了全副武装

要控制这个正在使用DIY的玩具遥控器:

这里使用了两个Arduino操纵杆,一个Arduino Nano板和一个NRFL01无线电模块。接线原理图如下:

发射机代码如下:

car的代码看起来不像以前那样简单。问题是我应该连接并结合raspberry pi4和arduino mega。其工作原理如下:RPI4使用usb网络摄像头来处理传入的视频与opencv库。然后,检测到的对象的坐标必须通过端口传递到arduino板。同时,2个伺服器直接连接到rpi4 gpio引脚上,目的是针对被检测对象。汽车配线如下:

据我们所知,RPI4板对功耗非常敏感,因此决定使用单独的电源。值得一提的是,rpi4和arduino板之间的逻辑电平移位器使用的是uart端口,因为电路板之间的逻辑电压不兼容会损坏rpi4。

Arduino scetch车辆如下:

在树莓派方面,代码正在python环境中使用opencv库以及预训练的机器学习模型执行。如上所述,在从边缘脉冲服务器下载机器学习模型时生成Python代码。需要注意的一点是,我们必须根据自己的需要对其进行修改。在我的情况下,我必须提取对象的x, y坐标值,通过art传递给arduino板。

Python脚本生成的边缘脉冲波纹。我只是添加了一个函数,传递值到伺服:

结论:

•在Raspberry Pi 4设备上部署用于对象识别的ML模型是可能的。

•与其他产品相比,Edge Impulse提供了最好的性能。缺点是它是为大型培训任务提供的付费服务。

•尽管我在RPi4上获得了相对较好的FPS分数,但对于较大的任务来说,它仍然很慢。

为了更好地开发项目,将平台转换为带有gpu或npu的平台是一个不错的选择。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭