当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]我们开始探索如何使用手势识别和嵌入式机器学习来控制物理模型。我们的目标是展示如何利用这些技术来创造直观、身临其境的体验,让用户以一种更自然、更免提的方式与模型或环境互动。

UoM工程大楼的手势控制模型使用Pi 5 + ML -挥挥手,建筑就会移动。

我们开发了一个交互式的,由手势控制的曼彻斯特大学工程大楼的比例模型,由机器学习嵌入式系统提供动力。

我们的模型实时响应手势:

•向左滑动→左边的建筑打开

•向右滑动→右侧打开

•举起双臂做t字姿势→整个建筑旋转

这种非接触式控制系统允许用户以一种全新的方式与物理结构进行交互,为教育工具,展览和智能环境提供了无限的可能性。

我们为什么要建造它

我们开始探索如何使用手势识别和嵌入式机器学习来控制物理模型。我们的目标是展示如何利用这些技术来创造直观、身临其境的体验,让用户以一种更自然、更免提的方式与模型或环境互动。

在许多情况下,传统的交互方法(如按钮或屏幕)可能会受到限制。通过结合手势控制,我们使用户无需触摸就能与系统互动,增加了灵活性和可访问性。这一概念适用于:

•智能建筑:对人类输入做出反应的建筑或空间。

•交互式展览:用户可以通过简单的手势控制模型或显示系统。

•公共空间:用于与技术的非接触式交互,确保易用性和可达性。

它是如何工作的

手势识别该系统使用带有摄像头的树莓派5来实时检测手势。使用TensorFlow Lite模型进行有效的手势分类。我们训练模型识别特定的手势:

•向左滑动:启动模型左侧的打开。

•向右滑动:触发右侧打开。

•T-pose:命令模型绕其中心轴旋转。

驱动(树莓派Pico)树莓派Pico作为伺服电机的实时控制器,对模型进行物理操作:

•两个伺服电机控制着建筑左右两侧的开口。

•当检测到t姿势手势时,一个中央伺服电机控制模型的旋转。

•Pi 5(用于手势检测)和Pico(用于实时电机控制)之间的这种分工确保了系统以最小的延迟高效运行。

技术栈

树莓派5:

•使用TensorFlow Lite运行手势检测模型,以实现高效的基于边缘的机器学习推理

•使用OpenCV处理摄像头输入和检测手势。

TensorFlow Lite: TensorFlow的轻量级版本,针对树莓派等边缘设备进行了优化。它可以实现高效的实时手势识别。

有限状态机:跟踪用户手势并解释动作序列以确定适当的模型响应。FSM确保动作只有在正确的手势执行时才会发生。

树莓派Pico:与伺服电机接口的微控制器,用于实时控制模型的运动。

伺服电机:控制模型打开和旋转的物理执行器。这些都是通过树莓派Pico供电和控制的。

定制设计模型:UoM工程建筑模型是用泡沫板和3d打印部件手工制作的,以创建结构的功能表示。该模型设计有三个关键的移动部件:

•左侧开口

•右侧开口

•中心旋转机构

我们学到了什么

嵌入式设备上的实时机器学习:使用树莓派5进行实时手势识别,与TensorFlow Lite配对,证明既高效又响应迅速。

伺服控制:管理树莓派Pico的实时驱动和协调伺服运动是具有挑战性的,但展示了使用低成本硬件创建交互式模型的能力。

手势灵敏度和校准:微调手势检测需要反复测试,以平衡精度和响应在不同的照明条件和环境。

潜在应用

AURA项目展示了基于手势的控制系统在各个领域应用的潜力:

互动展览:博物馆、科学中心和教育机构可以使用手势控制模型来吸引游客,并以动手的方式展示复杂的系统。

智能建筑:这个概念可以演变成一个系统,用户可以通过手势控制建筑元素,比如百叶窗、窗户甚至房间。

公共空间:在商场、公共交通或智能城市等环境中,用户可以通过手势与数字显示器、模型甚至物理结构进行交互,从而减少了对物理接触点的需求。

结论

AURA项目表明,机器学习嵌入式系统可以无缝集成,以创建免提的交互式体验。通过使用简单的手势来控制物理模型,我们提供了直观的、响应式架构的未来一瞥。

我们相信这个项目只是一个开始,随着进一步的发展,它可以扩展到智慧城市、无障碍技术和教育工具的应用中。

代码

#include

Servo rightServo;

Servo leftServo;

const int ledPin = 25; // Onboard LED for Pico

const int rightPin = 2; // GP2 (physical pin 4)

const int leftPin = 3; // GP3 (physical pin 5)

const int inp1 = 0; // Right servo control (active HIGH)

const int inp2 = 1; // Left servo control (active HIGH)

// Servo states (FSM)

bool rightServoState = false; // false=0°, true=180°

bool leftServoState = false; // false=0°, true=180°

// Previous input states for edge detection

bool prevInp1 = LOW;

bool prevInp2 = LOW;

void setup() {

pinMode(ledPin, OUTPUT);

rightServo.attach(rightPin);

leftServo.attach(leftPin);

pinMode(inp1, INPUT); // pull low resistor, input from Pi5

pinMode(inp2, INPUT); // pull low resistor, input from Pi5

// Initialize

rightServo.write(0);

leftServo.write(0);

digitalWrite(ledPin, LOW);

}

void loop() {

// Read current inputs

bool currentInp1 = digitalRead(inp1);

bool currentInp2 = digitalRead(inp2);

// Right servo control (trigger on rising edge)

if (currentInp1 == HIGH && prevInp1 == LOW) {

rightServoState = !rightServoState; // Toggle state

if (rightServoState) { // If true, set to 90°

rightServo.write(90);

digitalWrite(ledPin, HIGH);

} else { // If false, set to 0°

rightServo.write(0);

digitalWrite(ledPin, LOW);

}

}

prevInp1 = currentInp1;

// Left servo control (trigger on rising edge)

if (currentInp2 == HIGH && prevInp2 == LOW) {

leftServoState = !leftServoState; // Toggle state

if (leftServoState) { // If true, set to 90°

leftServo.write(90);

} else { // If false, set to 0°

leftServo.write(0);

}

}

prevInp2 = currentInp2;

delay(10); // Minimal delay to prevent busy-waiting

}

本文编译自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 隧道灯 驱动电源
关闭