回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

手势控制小车项目(Mind+行空板K10) 简单

头像 qyj133 2025.07.28 17 0

IMG_20250728_105728.jpg

步骤1 项目说明

通过移动手部,利用电脑摄像头捕捉手部关键点,进而实现对小车的左转和右转控制。本项目旨在通过简单的手势操作,展示机器学习与物联网技术在实际应用中的结合,激发学习者对人工智能和物联网的兴趣。

步骤2 硬软件说明

编程软件:Mind+(一款基于Scratch的图形化编程软件,适合初学者快速上手)

主控:行空板K10(具备强大的处理能力和丰富的扩展接口)

其他硬件:K10扩展板 + 小车(扩展板需支持两路电机驱动,小车配备两个TT马达)

其他软件:Siot2.0(开源免费的MQTT服务器软件,用于搭建本地物联网环境,下载链接:腾讯微云 https://share.weiyun.com/6SFhgLQj)

步骤3 相关技术

(一)机器学习及PoseNet姿态识别相关

1. 相关概念介绍

Mind+从V1.6.4版本开始加入了机器学习(ML5)功能,基于轻量的TensorFlow框架,旨在帮助广大中小学师生零成本普及人工智能教育。仅需一台电脑和一个普通USB摄像头,即可通过图形化编程完成机器学习课程,涵盖KNN分类、FaceAPI人脸识别追踪、PoseNet姿态识别、mobileNet物体识别等功能。

ML5是一个面向艺术家、创意编码人员和学生的机器学习库,基于TensorFlow.js开发,无需其他外部依赖项,即可在浏览器中访问机器学习算法和模型。PoseNet功能可实现17个人体姿态识别及追踪位置,适用于姿态控制应用。该功能无需联网,仅需一个摄像头即可实现。姿势估计是一种计算机视觉技术,用于检测图像和视频中的人类姿态,确定关键体关节的位置,但无法识别图像中的人员,不存在个人身份信息。

2. 准备工作

准备一台电脑(推荐配置:4GB及以上内存,以确保流畅运行姿态识别程序)。

准备一个摄像头(电脑自带摄像头或USB摄像头均可)。

3. 加载插件

在Mind+的实时模式下,点击“扩展”-“功能模块”,点击“机器学习(ML5)”,加载完成后,机器学习(ML5)积木块将出现在编程界面中,其中包含PoseNet姿态追踪功能。

image.png

4. 使用逻辑

PoseNet姿态识别是已经训练好的模型,无需训练过程,直接开启识别即可。

image.png

5. 开始识别

编写程序后,点击绿旗执行循环检测。识别结果将显示手部关键点的位置信息。需要注意的是,姿态追踪对电脑性能要求较高,可能会导致电脑运行变卡,建议在性能较好的电脑上运行。

image.png

6. 常见问题及解决办法

问题:使用舞台显示摄像头画面时,为什么看不到姿态识别的点位?

解决办法:默认情况下,姿态识别结果显示是关闭的,以避免影响舞台显示效果。需要使用以下积木块打开结果显示功能,舞台才会显示识别结果。

image.png

(二)物联网及MQTT相关

1. 相关概念介绍

SIoT是一个针对学校场景的开源免费的MQTT服务器软件,可一键创建本地物联网服务器。它包含一个MQTT服务器、一个数据库和一个网页界面。MQTT服务器负责数据的转发及存储判断,网页界面可用于方便地查看数据或进行简单的程序测试。MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种轻量级的消息传输协议,适用于物联网场景中的低带宽、高延迟或不可靠网络环境。

image.png

2. 在电脑上运行SIoT

下载Win版本的SIoT V2,解压后双击“start SIoT.bat”启动新版SIoT。启动后会弹出小黑窗显示服务器启动信息。注意:运行的是“start SIoT.bat”,而不是“main.exe”。

image.png

启动时需将SIoT添加到允许应用通过防火墙,勾选“专用网络”和“公用网络”,否则外部设备可能无法访问。

image.png

在浏览器输入“127.0.0.1:8080”即可打开网页端口,登录账号为“siot”,密码为“dfrobot”。打开后可以新建Topic或查看消息。

如果打开的还是老版页面,可能是之前打开过存在缓存,可以按“Ctrl+F5”强制刷新页面缓存。

image.png

如果需要使用其他硬件访问电脑上的SIoT,需确保设备(如esp32掌控板等)可以通过WiFi正常连接运行SIoT的电脑。查找电脑IP地址的方法:在控制面板的网络连接中,找到当前WiFi网络对应的网卡,获取当前电脑IP地址(一般是192.168开头)。然后使用另一个处于同一WiFi网络下的设备,访问“IP:端口”,例如电脑IP为192.168.1.43,则在手机浏览器输入“192.168.1.43:8080”,如果能打开SIoT网页则说明网络通畅,否则需检查是否已将SIoT加入防火墙允许列表以及是否处于同一WiFi网络下。

image.png
image.png

3. 插件加载

image.png

在上传模式中,需添加MQTT插件和WIFI插件。

在实时模式中,只需添加MQTT插件,电脑网卡已实现网络连接。

步骤4 项目制作

(一)SIoT设置

电脑启动SIoT后,在浏览器进入SIoT后台,创建主题(Topic):“消息”。

image.png

在此处,可以进行主题删除、清空数据操作,也可以点击“查看详情”查看所有数据。进入“查看详情”后,勾选“自动刷新”,可以查看实时更新的数据。

(二)电脑端设置与程序

1. 实时模式

角色和背景可以参照下图:

image.png

2. 程序1(角色小球)

程序逻辑:根据右手腕坐标在舞台的左右位置,广播左右转消息。程序代码如下:

image.png

说明:为简单起见,本程序仅实现了左右转功能。理解该程序后,可以进一步拓展,实现前进、后退等更多功能。

3. 程序2(角色箭头)

该角色用于在舞台显示小车运行方向,同时通过程序向K10发送控制信息。程序代码如下:

image.png

(三)小车及程序

行空板K10的TF卡需提前准备三张图片(可使用豆包AI生成)。

0e9cc023e66d70bd00cc443207c078af_640_wx_fmt=png&from=appmsg&randomid=yxh06ywk&tp=webp&wxfrom=5&wx_lazy=1.webp

小车必须配备带两路电机驱动的扩展板,两个TT马达分别连接12、13和14、15电机专用接线端子。

image.png

MQTT配置(此处需详细说明MQTT配置的具体参数和步骤)。

image.png

步骤5 视频演示

步骤6 项目拓展

1.通过人体关键点识别,可以实现更多样化的小车控制,如前进、后退、停止等。

2.该项目使用的主控是行空板K10,也可以将主控更换为掌控板等其他兼容设备,以满足不同的需求。

3.小车还可添加舵机、传感器等其他电子模块,实现更有趣的拓展功能。

公众号二维码.jpg

作者公众号

评论

user-avatar