APP下载

基于MTCNN的自动调节显示器支架系统设计

2020-12-10吴慕云罗凯倪铭徽秦富鸿李雁琳

电子元器件与信息技术 2020年9期
关键词:树莓舵机运动学

吴慕云,罗凯,倪铭徽,秦富鸿,李雁琳

(1.成都理工大学信息科学与技术学院,四川 成都 610051; 2.成都理工大学核技术与自动化学院,四川 成都 610051)

0 引言

现代办公和学习大多需要长时间面对电脑,显示器的高低角度等通过显示器支架调整,合适的显示器位置有助于改善人体坐姿。但通过调查发现,市面上大多显示器支架都是需要人为调节,或者通过物理手段维持显示器高度,都不能根据用户的位置实时调整,例如方继才提出的一种可调高的显示器支架研究,是一种计算机用具有角度调节功能的显示器支架[1-2]。余俊晖等人提出的防颈椎病的移动显示器支架的设计利用单片机控制显示器缓慢移动从而使用户颈椎运动,用户不能专注工作也不能达到矫正的目的[3]。杜文涛等人提出的基于人体坐姿判别的智能显示器支架设计利用压阻式传感器来检测用户坐姿,超声波传感器检测人体位置,超声波定位并不精确[4]。关盼盼提出的基于压力传感器的坐姿识别系统的设计与实现采用压力传感器识别坐姿并不能定位用户位置[5]。本文采用5自由度机械臂进行控制,根据周睿等人的提出的一种五自由度机械手运动学分析[6],侯歆岩提出的五自由度机械手运动学分析与仿真研究[7],采用逆运动学算法调整支架。本文采用树莓派作为控制平台。

1 系统整体功能

本系统主要分为三个模块:树莓派处理模块,基于STM32的机械臂控制模块,人脸识别和定位模块。人脸识别定位模块接收从树莓派端传来的图像,识别出摄像头图像中的人脸并用矩形框选出,进行定位。树莓派处理模块:树莓派接收图像信息,传至服务器,获取人脸位置。控制模块:通过人脸当前位置和摄像头中心位置,运用逆运动学算法算出每个舵机运动的角度,并控制机械臂调整角度和高度,从而给用户提供合适的显示器位置。

2 系统整体架构

2.1 系统流程

系统流程图,见图1。

2.2 MTCNN人脸识别算法

MTCNN主要分为四个阶段。第一阶段,构建图像金字塔,以便适应不同大小的人脸进行检测;第二阶段,将缩放后的图像传入P-net,包括三个卷积层和一个人脸分类器,能够获得边界框回归向量和快速生成人脸区域的一系列候选框。采取非极大值抑制(NMS)合并高度重叠的候选框。第三阶段,将P-net输出的人脸候选框作为R-net层的输入,R-net相对于P-net增加了一个全连接层,产生更强的抑制效果。第四阶段,R-net层的输出结果传到O-net层,相较于上一层,O-net增加一个256的全连接层。与R-net作用相同,O-net只是该层对人脸区域增加了监督,最后会输出确定的人脸候选框。

2.3 逆运动学控制算法

逆运动学求解是根据给定的机械臂末端坐标(位置)反向求解每个舵机的旋转角度。本系统使用的机械臂为五自由度,该机械臂的中间三个相邻关节轴相平行,满足Pieper准则,所以存在封闭解。我们运用平面几何法逆向求解中间三个关节,这三个关节都在竖直平面内旋转。从图2可以看出,末端P点坐标(x,y)由三个部分组成(x1+x2+x3,x1+x2+x3),θ1,θ2,θ3就是需要求解的舵机角度,α是末端关节即搭载显示器的关节和水平面所呈角度,为保证显示器平面正直,我们取α=90°。从图上看出α=θ1+θ2+θ3。

联立求解(1)~(3)式即可求出角度。在此基础上,加入剩余两个在水平面内旋转的关节,θ4,θ5是需要求解的舵机角度,我们希望显示器平面总是垂直于水平面,并且和人脸平面相平行,所以θ4=-θ5=arctan(z/x)。考虑了在水平内旋转的关节后,设人脸坐标为(x,y,z),根据图3,我们可以列出下式,其中(x',y')为在只考虑中间三个舵机时的坐标。

3 系统硬件设计与实现

3.1 机械臂控制模块

(1)数据采集与处理单元——树莓派处理摄像头采集数据。本系统的核心部分为树莓派对于信号的处理,即利用树莓派(Raspberry Pi 3b+)平台的Cortex-A53 (ARM8)64位@1.4HGHz较高的运算能力,将经由CSI相机接口传入的图像信号。

(2)跨平台数据传输——树莓派和STM32平台间的数据传输。为了便于数据的处理和分别,本系统在基本串行通信协议的基础上设计了基于数据帧的通信协议,每个数据帧由四部分构成:帧头(两个0×55)、数据长度字节、命令字节、参数字节。帧头便于确认数据帧的有效获取,数据长度表示全帧除帧头外的字节数,命令字节表示各种控制指令,参数字节表示除控制指令以外的补充控制信息[8]。例如55 55 08 03 01 E8 03 02 DC 05表示2号舵机旋转0°。

3.2 树莓派处理模块

本系统将用户PC端作为服务器,树莓派端作为客户端。树莓派客户端流程图如图4所示。

4 系统验证

4.1 机械臂逆运动学验证

我们通过仿真软件模拟机械臂运动情况,同时和程序计算得到机械臂运动的角度进行比较,其中三个关节间距离参数分别为(104.0,88.52,63.15)。我们向程序输入坐标(x,y,z)(mm),经计算得到角度值为(θ1,θ2,θ3,θ4,θ5),将此角度输入仿真模型计算得到坐标值。仿真模型坐标系相对实际的坐标为(z,-x,y),可以看出仿真值和计算得到的值差距在5°左右,其中部分姿态涉及到多解。

表1 机械臂逆运动学求解

4.2 定位测试

在服务器端显示出摄像头区域,并用矩形框选中人脸,红色点标出人脸特征点和摄像头中心。准确率基本超过96%,三个网络总用时约为0.14s。

5 结语

本系统实现了运用树莓派通过网络传输视频流,通过神经网络以较高精度识别人脸区域和特征点,再与前一时刻的人脸位置进行比较计算,得出移动距离和方向。使用逆运动学算法逆向求解机械臂的关节运动角度,将信息传回树莓派,树莓派输出串口信息,STM32接收串口信息控制机械臂运动。经实验得出可以较好的运作。

猜你喜欢

树莓舵机运动学
轿车前后悬架运动学仿真分析
直升机某型舵机自动测试系统设计分析
基于速度观测的双余度电液舵机系统容错同步控制
复合切割机器人的运动学分析与仿真研究
基于树莓派的骑行智能头盔设计
黄金水果红树莓
超音速舵机保护器
基于运动学特征的新型滑板对速滑蹬冰动作模拟的有效性
e络盟率先推出第三代树莓派
“必修1”专题复习与训练