基于FPGA的手势识别的多功能机械臂

FPGA技术江湖 2024-04-20 07:29

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。

01

设计概述 

Design Introduction

1.1
设计背景

随着信息技术的发展,人机交互技术逐渐由以键盘、鼠标等基于图形用户界面的方式,转变为以模拟和类似人类感知传输的信息类型。其中,手势识别因其具有的自然、直接、有效的交互特点,越来越受到研究人员的关注。传统的手势识别,需要借助配置有传感器的手套来确定具体的手势形态,成本高且操作不便,不具有推广性。基于机器视觉的手势识别技术,突破硬件局限,从模式识别算法层面革新人机交互方式,更适应未来人机交互发展趋势。机械臂作为现代工业领域自动化智能加工中最常见的执行终端,通过各个关节的协调运动与机械末端的配合,可进行多自由度模拟仿真。通过对舵机进行控 制设计,使机械臂能够完成抓取分拣、连续动作,从而使其具有比人手更好的动 作组合灵活性和指令完成准确性。

1.2
作品概述

本作品基于机器视觉,聚焦手势识别,利用摄像头获取单目图像信息,基于 PYNQ 实现手势分割、手势建模、手势形状特征提取,对八种不同手势图像进行识别,以舵机控制的机械臂模块作为响应终端,借助手势变化来控制机械臂执行两种功能:一是按指令分拣物体,二是“井字游戏”人机大战。

1.3 
应用领域


本作品将手势识别作为人机交互方式,以机械臂作为响应终端,设计了两种基于上述交互方式和响应终端的展示功能。按指令分拣物体,本质上是对机械臂进行开环控制,延长人手作用范围,对于操控大型机械进行物体分拣的工业自动化领域或物流行业,都有极好的应用前景。“井字游戏”人机大战,仅仅是将手势识别结合机械臂控制、简单的人工智能技术进行组合开发的例子,“手势识别 +”的探索永无止境,在娱乐领域、医疗领域、教育领域、智能家居领域都有着广泛的应用前景。 

02

系统组成及功能说明

System Construction & Function Description

2.1
系统组成




本系统以 Xilinx ZYNQ SoC 作为主控制芯片,分为处理器模块、摄像头模块、显示器模块、舵机驱动模块、通讯传输模块。通过摄像头模块捕捉手势图像信息,在处理器模块中完成手势分割、手势建模、手势形状特征提取、手势识别,手势识别的过程及结果通过显示器展示,通过处理器内部不同功能的逻辑运算,将对应的动作指令通过相应的 PWM 信号输出给各个舵机,驱动六自由度机械臂完成要求动作,从而实现对应的组合功能。





2.2
手势识别核心算法




本作品所采用的是静态手势识别算法,算法核心主要由手势特征分析、手势特征建模及手势识别三部分组成,整体框架如上图所示。首先通过图像采集设备来获取手势图像,通过手势建模将获取的手势图像用数学模型描述出来,最后根据得到的手势识别所需要的模型参量判别出具体的手势形态。





2.2.1
图像预处理





图像预处理,由四个主要步骤组成,分别为定义识别区域、颜色空间转换、 膨胀处理、高斯滤波。定义识别区域,主要用来减小识别区域面积,从而提高识 别效率。颜色空间转换,通过将摄像头捕捉到的 RGB 颜色空间下的图像信息转 化为 HSV 颜色空间下的图像信息,便利后续对背景和手部进行颜色分割。膨胀 操作,使得识别区域高亮区域增长,消除手部内的噪声点。高斯滤波,通过加权 求和的方式,消除图像内的高斯噪声点。


2.2.2 
手势分析





利用道格拉斯-普克(Douglas-Pucker)算法,将手部轮廓拟合为多边形曲线, 同时计算面积,以得到轮廓内手部面积最大的手部轮廓。在此基础上,分别计算 出轮廓总面积(areacnt)、轮廓中手的面积(areahull)、以及手的面积占轮廓总面 积的百分比(arearatio)。与此同时,得到最大轮廓面积中的凸缺陷(即凹陷)数 (defects),并通过计算凸缺陷中起始点、终点、离起始点终点连线最远处的点构 成的三角形的高(d)和顶角(angle)值,来去除因噪声而得到的凸缺陷点,得 到消除噪声点后的凸缺陷数(l)。

2.2.3
手势识别




由手势分析后得到的模型参量通过上述手势识别流程图后,输出“0”“1” “2”“3”“4”“5”“ok”“best of luck”八种手势识别结果,以便后续对结果进行使用。


2.3
“井字游戏”人机大战算法设计


2.3.1
游戏规则及数字化设置

游戏规则
游戏对战的双方执不同棋子,轮流在 3×3 的九宫格中落子,但凡在横排、 竖排、对角线上出现三子相同的情况,则执该子的一方胜。

数字化设置
现在对九宫格的九个位置编码为九个二维坐标(x,y)(x=1,2,3;y=1, 2,3),并赋值为 1,效果如下图所示。




一方执“0”,一方执“2”,落在哪个坐标位置上,就把那个坐标位置对应的 值改为“0”或“2”。每次落子后,分别对每排、每列、每对角线上的三个值求和(和可取 0,1,2,3,4,5,6),如果出现“0”则执“0”的一方胜,如果出 现“6”则执“2”的一方胜。

2.3.2
机器端落子优先级设计

假设人执“0”子,机器执“1”子
(1)中间、边上、角上三种位置的获胜方式分别为
所以优先落中间,其次落角上,最后落边上。


(2)情况优先级

第一优先级:如果出现“1”,立即将(0,0,1)中的“1”置 2,拦截人胜利。
第二优先级:如果出现“5”,立即将(1,2,2)中的“1”置 2,机器取得游戏胜利。
第三优先级:如果出现“4”,且不是“死路”的情况,则将(1,1,2)中任 意一个“1”置 2。

2.3.3
算法流程图



2.4
模块介绍


2.4.1
处理器模块



本作品采用基于 ZYNQ-7020 芯片的 PYNQ-Z2 开发板进行系统开发。ZYNQ 分为 PS(Processing System)和 PL(Programmable Logic)两部分,在 PS 上运 行 Linux 操作系统,在 Linux 操作系统上运行 Python,通过调用 PYNQ 中的库Overlay,对连接到 PS 端的接口进行解析,进而控制 FPGA 逻辑资源,加速系统 数据处理。




对于本作品中所设计的基于机器视觉的手势识别算法和“井字游戏”人机大 战算法,直接利用硬件语言进行编写在逻辑上十分复杂,故采用 Python 进行编程实现,利用 FPGA 对图像处理部分进行硬件加速,不仅提高了图像处理速度, 还更好地扩展了图像应用。





2.4.2
摄像头(图像采集)模块





本作品的手势指令输入由摄像头采集完成。采用奥尼 C11 款的高清摄像头对手势进行画面捕捉,通过 USB 完成图像输入。相比于传统的传感器手套对手势姿态的采集,摄像头减轻了硬件端的负担,使得整个系统可推广性更好。





2.4.3
机械臂(舵机)模块

本作品使用的机械臂,是 Learm 公司开发的一款六自由度机械臂,能通过上 位机对其进行动作设计,通过 PWM 控制舵机运转,从而完成抓取和连续复杂动作两种不同的模式功能。舵机(机械臂)模块与处理器的模块采用 UART 串行通信,采用下述通信协议进行指令交互。





2.4.4
显示器(图像输出)模块




采用显示屏作为图像输出端,展示手势识别图像处理过程及结果,不仅利于 过程中的算法调试与验证,并且具有更好地视觉效果。

2.5 
功能说明

2.5.1
 手势识别

本作品可以对常用的八种手势进行识别处理,分别为“0”“1”、“2”、“3”、 “4”、“5”、“Best of luck”、“ok”。启动系统后,在摄像头端摆出相应手势,及完 成手势输入,显示器会显示出对应的识别结果。显示器画面,有矩形框定位识别区域,在该矩形框中会有多边形框出手部轮廓,右上方会显示识别结果。当识别区域没有放入手进行识别时,显示器画面静止。


2.5.2
 机械臂驱动

机械臂动作设计及存储机制

机械臂内部封装有存储“动作组”的部件,用来存储动作指令。用户如果要 进行动作设计,在机械臂通电的情况下,通过 USB 通信与电脑端上位机进行连接,在上位机中设置传输给六个舵机的 PWM 值,形成一个包含这个动作指令的 “动作组”,下载进存储部件以便后续调用。


机械臂驱动机制

通过 UART(串口通信)的方式来调用“动作组”,进而驱动机械臂完成相 应动作。这里需要注意的是,必须将处理器模块与机械臂模块进行“共地”操作, 否则二者无法完成通信,机械臂不能按指令动作。


2.5.3
功能 1:按指令分拣物体

预设四个不同的区域,分别编号为“1”“2”“3”“4”,作为一组一维位置坐 标。设计机械臂在四个不同区域内抓取、放开动作,共八个动作组。手势输入“ok”, 告诉系统下一个输入的是初始坐标。待控制板上亮起指示灯后,通过人眼观测物 体初始位置坐标,通过手势输入该坐标(可输入“1”、“2”、“3”、“4”)。待控制板上亮起指示灯后,手势输入“5”,告诉系统下一个输入的是初始坐标。待控制板上亮起指示灯后,通过手势输入目标位置坐标(可输入“1”、“2”、“3”、“4”)。用户端操作结束,发送指令给机械臂完成分拣全过程。机械臂依次完成抓取、移动、放下,即完成一次按指令分拣。


2.5.4
功能 2:“井字游戏”人机大战

游戏规则参看“2.3‘井字游戏’人机大战算法设计”。手势输入“ok”,告诉 系统接下来输入人落子的坐标区域(x,y)。待控制板上亮起指示灯后,手势输 入“5”,告诉系统接下来输入横向坐标(可输入“1”、“2”、“3”),待控制板上 亮起指示灯后,输入纵向坐标(可输入“1”、“2”、“3”)。用户端操作结束,可 以发送指令给机械臂完成人落子的操作,机械臂完成在棋盘上的人落子操作后, 继续完成机器落子操作。依次进行下去,直至出现有一方胜利。亮红灯表示“人 赢”,亮绿灯表示“机器赢”,亮白灯表示“平局”。

03

作品成效总结与分析

Summary and Analysis of the Effect of the Works

3.1
系统测试性能指标


3.1.1
手势识别



本作品算法下的手势识别功能,在 FPGA 加速下能较好地平衡识别次数和识 别时间的冲突。根据测试结果,本作品取 60 作为整个作品的手势识别循环次数。


3.1.2
机械臂驱动

机械臂能通过用户端“动作组”的设计,进行抓取、移动等连续复杂动作, 具有很好的灵活性。作为机电设计的响应终端,能很好地完成多种功能的指令要求。


3.1.3
 按指令分拣物体


“按指令分拣物体”能很好地完成初始坐标输入、目标位置输入,同时能在 较短的时间内快速完成抓取与投递。

3.1.4
“井字游戏”人机大战


“井字游戏”算法能很好地遍历所有可能结果,所以人和机器对战只会出现 “平局”、“机器赢”两种结果。并且,较为稳定、准确的机器识别以及人工智能 算法,能够使整个游戏流畅进行。“手势识别”结合“机械臂”具有很强的视觉观赏性,与此同时,游戏的模式使整个功能更具有趣味性。

3.2 
成效得失对比分析


本作品整体而言,不仅将手势识别功能实现,还在此基础上结合机械臂运动特点进行了多功能开发,总体完成度较高,视觉效果较好,兼具灵活性、趣味性及可拓展性。开发本作品采用的手势识别算法,为了得到较高的识别精度,必须要以延长识别时间、增加单次识别次数作为牺牲,使得在应用开发时增加较多的时间负担,不能够凸显人机交互的便利性。从手势识别算法及对识别结果的处理技术层面出发,整个作品还有较大提升空间。


3.3 
创新特色总结展望

本作品使用最新的基于机器视觉的手势识别技术作为人机交互方式,革新人 机交互的使用体验,具有极佳的技术前瞻性。使用机械臂作为执行终端,贴近目前工业设计的最新潮流。在设计功能时,基于数学建模,设计出更具有人机互动性质的小游戏,体现人工智能的灵活与智慧。
机电一体化开发,充分发挥基于 Python 编程的代码灵活的特点,以实现复 杂算法,利用 FPGA 硬件加速的优势,提高视觉处理速度。
在本作品的基础上,优化识别算法,加快识别速度,提高识别精度,“手势 识别+”将在未来发挥出自身更强的优势,在教育领域、娱乐领域、工业领域、 医疗领域、智能家居领域都具有越来越广阔的应用前景。

- THE END -

🍁


往期精选 

 
 

【免费】FPGA工程师人才招聘平台

FPGA人才招聘,企业HR,看过来!

系统设计精选 | 基于FPGA的实时图像边缘检测系统设计(附代码)

基于原语的千兆以太网RGMII接口设计

时序分析理论和timequest使用_中文电子版

求职面试 | FPGA或IC面试题最新汇总篇

资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2024.01.06更新)

FPGA就业班,05.04开班,新增课程内容不加价,高薪就业,线上线下同步!

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

加群主微信,备注姓名+学校/公司+专业/岗位进群


FPGA技术江湖QQ交流群

备注姓名+学校/公司+专业/岗位进群

FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 63浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 103浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 66浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 125浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 167浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 113浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 40浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 141浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦