当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]特点:Arduino Uno R3 带有引脚布局,1MB Flash / 384KB RAM,支持 48MHz 和 96MHz 涡轮频率,24 个 GPIO 引脚(均可中断),21 个 PWM 渠道,内置 BLE 无线通信模块,10 个 14 位精度的 ADC 输入通道,2 个 UART 接口,6 个 I2C 总线,4 个 SPI 总线,PDM 接口,I2S 接口以及 Qwiic 连接器。详情、功能和文档请见此处……

本项目的目标如下:

•将机器学习应用于机器人汽车。

•将PID控制器添加到该机器人中。

•最后,将Micro OLED扩展板添加到这个机器人上。

为了便于理解本项目,我们将其分为以下几部分:硬件、机器学习、PID控制器、添加微小OLED扩展板、打印和组装机箱,以及结论。

硬件

下图展示了示意图。

SparkFun RedBoard Artemis

特点:Arduino Uno R3 带有引脚布局,1MB Flash / 384KB RAM,支持 48MHz 和 96MHz 涡轮频率,24 个 GPIO 引脚(均可中断),21 个 PWM 渠道,内置 BLE 无线通信模块,10 个 14 位精度的 ADC 输入通道,2 个 UART 接口,6 个 I2C 总线,4 个 SPI 总线,PDM 接口,I2S 接口以及 Qwiic 连接器。详情、功能和文档请见此处……

微型OLED点阵

这是一款小巧的单色蓝黑OLED屏幕,可呈现极为清晰的画面,供您享受视觉体验。

最后,我使用了三个红外距离传感器。以下是它们的数据表:GP2Y0A41SK0F 和 GP2Y0A51SK0F(2)。

机器学习

在本教程中,我们将使用 Python 创建一个神经网络,并将其权重复制到 Artemis RedBoard ATP 板上的前向传播网络,从而使机器人汽车能够独立行驶且不会撞到墙壁。

在本次练习中,我们将让神经网络输出4个信号:每个电机两个输出,因为L298N驱动器将连接到电路板的两个数字输出端口,分别对应每台汽车电机。此外,这些输出值将在0到1之间(用于使电机去极化或极化)。

我们将有四个输入,其中三个对应三个传感器,第四个用于偏置(BIAS),其值为0或1,并按以下逻辑分配:当距离小于13厘米时,左右两侧的传感器值为1;当距离大于13厘米时,它们的值为0。中央传感器在距离小于16.7厘米时为1,大于16.7厘米时为0。偏置值始终为1。下表展示了这些变化:

发动机的操作方式如下:

为了创建我们的神经网络,我们将使用用 Python 3.7.3 开发的这段代码:NeuralNetwork.py

我们会看到什么?

我们添加的代码用于在训练到40,000次迭代后显示图形,如下所示:Graphic.py

现在我们可以看到从连接中获得的权重,这些权重将用于Arduino代码:Generate_Arduino_Code.py

包含神经网络配置的Arduino代码已加载到Artemis板上。Self_Driving_Car.ino

PID控制器

机器人配备了3个模拟红外传感器,分别位于前方和左右两侧,用于检测墙壁的距离。

机器人使用PID控制器来保持左右墙壁之间的中心距离。当机器人靠近左墙时,可降低右电机的速度并提高左电机的速度,使机器人向右移动,从而远离左墙;反之亦然。

左侧发动机的速度 d0 和右侧发动机的速度 d1 通过以下代码计算:

然而,由于微小的时间误差可能导致机器人运动不稳定,我们添加了第二个校正因子,以使运动更加平滑。也就是说:difAnt = dif;现在通过PWM信号将速度施加到两个齿轮电机上:

添加微OLED扩展板

小巧的单色蓝黑OLED屏幕可呈现极为清晰的画面,为您带来视觉享受。正因如此,我添加了此设备,用于在机器人汽车处于以下情况时发出视觉信号:停止、前进、后退、左转和右转。我所使用的图标(64x48像素)及其功能如下:

我从库中使用的示例代码是:MicroOLED_Rick_and_Morty_I2C.ino

我获得的 bitmaps.h 库,您可以在下载部分获取。下面我将向您展示之前章节中修改后的 Arduino 代码:Self_Driving_Car_microOLED.ino

底盘的冲压与组装

有两个部件需要使用PLA塑料打印,可能需要稍微调整尺寸或对塑料进行轻微修整,以确保所有部分能良好贴合。3D文件可在下载区获取。

在机箱底部,需安装以下部件:1)齿轮电机通过塑料网布进行固定;2)GP2Y0A51SK0F红外传感器用螺丝安装在机箱左右前端;3)GP2Y0A41SK0F红外传感器用螺丝安装在机箱中央和前方;4)电池通过塑料绑带固定;5)L298N驱动器和滚轮支架用螺丝安装。最后,将RedBoard Artemis ATP电路板用螺丝固定到下部机箱上。下图展示了该组件的多个视图。

结论

这个项目对我来说是一次极好的个人挑战,因为这是我第一次将机器学习PID控制器结合使用,我对用我的RedBoard Artemis ATP开发的原型感到非常满意。

第一个视频显示,我主要进行了两项测试:在第一项测试中,我进行了多次调整,使机器人能够顺利地从两个方向环绕物体(纸箱);在第二项测试中,我在节点处添加了一些小的对角墙壁,以改善机器人的转向性能,使转弯过程更加平顺。

我为红外传感器设定的距离经过实验校准,使机器人能够尽可能快速地对准中心。对于中央的红外传感器,我测得的距离为16.5厘米,这使我能够及时减速并转向,而不会撞到对面的墙壁。

本文编译自hackster.io

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

人工智能(AI)正在迅速改变各行各业,从医疗保健、金融到自动驾驶汽车和自然语言处理,推动着全方位的创新。这场革命由AI服务器驱动,它们提供了前所未有的计算性能。然而,AI工作负载(包括大语言模型的广泛采用)的指数级增长导...

关键字: AI服务器 自动驾驶 AI模型

传统精密电流源的设计流程是:工程师凭经验选参数→流片→测试→不达标→调参→再流片。一个100μA基准电流源从立项到量产,平均需要4-6次MPW迭代,单次流片成本8000元,总设计成本超过4万元。当精度要求压至50ppm以...

关键字: 机器学习 精密电流源

随着对人工智能(AI)、机器学习(ML)及云应用的依赖日益加深,市场对紧凑、高效且可靠的电源转换解决方案产生了前所未有的需求。本文将介绍一款面向传统数据中心48V中间总线转换的1/4砖DC‑DC转换器参考设计,其性能优于...

关键字: 人工智能 机器学习 分立器件

株式会社村田制作所(以下简称“村田”)开发了汽车动力总成/安全设备(1)用树脂外部电极片状多层陶瓷电容器(MLCC)“GCJ21BD72A225KE02”(以下简称“本产品”),在0805英寸(2.0×1.25mm)尺寸...

关键字: 电容器 高阶驾驶辅助系统 自动驾驶

系统采用基于OpenCV的图像处理技术,实时检测车道线并估算车辆轨迹。根据这些信息,计算出转向角度,使车辆保持在车道中央行驶,并通过PID控制器确保转向行为平稳稳定。

关键字: PID控制器 计算机视觉 OpenCV

西门子西门子推出全新工业 AI 编排软件 Intelligence Center X,旨在帮助企业打破工业 AI 零散试验的局限,依托人机协同作业模式,让工作人员与 AI 智能体共享业务场景、作业流程及全生命周期智能能力...

关键字: 工业 AI 机器学习 供应链

NVIDIA GTC 台北 — — 2026 年 6 月 1 日 — — NVIDIA 宣布全面扩展其面向无人驾驶出租车的 NVIDIA DRIVE Hyperion™ 平台生态,将汇聚全球领先的汽车制造商、制造业和自动...

关键字: 无人驾驶 出租车 自动驾驶

上海2026年5月29日 /美通社/ -- 近日,嬴彻科技新一代自动驾驶计算平台Taurus实现量产,并率先交付头部物流公司投入实际运营。Taurus计算平台通过算法与硬件的深度协同设计,在提升计算性能与功耗表现的同时,...

关键字: 自动驾驶 智能驾驶 测试 加速度

这一套创新且专有的人工智能服务与能力体系,能够为申办方和患者带来经实践验证的速度、质量与效率成果 上海2026年5月26日 /美通社/ -- 精鼎医药于近日宣布,作为全球领先的临床研发合作伙伴,精鼎医药致力于为生命科学...

关键字: 人工智能 AI ANTI 机器学习

【2026 年 5 月 26 日,德国慕尼黑讯】全球功率系统与物联网领域的半导体领导者—— 英飞凌科技股份公司(法兰克福证交所代码:IFX / 美国 OTCX 国际场外交易市场代码:IFNNY)今日宣布,与专注于数据中心...

关键字: 机器学习 AI 推理 处理器
关闭