刘天宋
(常州刘国钧高等职业技术学校 常州 213025)
坐姿与健康密切相关,由于坐姿不当,造成了许多中小学生近视、驼背,导致许多的白领患上颈椎、腰椎等疾病[1~2]。这些问题往往影响到人们正常的学习和工作,降低了他们的生活质量,因此,在学习和工作中,保持正确的坐姿非常重要。但是,由于各种原因,长时间保持正确的坐姿是不可能的,因此,有必要开发一些坐姿检测设备来辅助我们保持正确的坐姿。
当前,坐姿检测的方法主要有以下几种:基于人工观测的方法、基于视频录制分析的方法、基于可穿戴传感器的方法和基于主观问卷调查的方法[3]。人工观测的方法主要是依靠专业人员采取绘图、拍照或者文字记录等方式来记录人的坐姿,以用于后续进一步的分析[4]。基于视频录制分析的方法[5]则是利用计算机或者录像机来记录人们的姿势,然后通过计算机分析相应的姿势,但是,该方法因受限于技术等问题无法广泛推广。基于可穿戴传感器的方法[6]需要在用户身上配置传感器以获取坐姿信息,该方法精度较高,但存在因长时间佩戴传感器而导致的不舒服感。以上各种方法各有优缺点,但都由于难以达到廉价性和扩展性,所以很难在学习和工作环境下推广。
本文设计了一种智能坐姿检测仪。该检测仪包括壳体和控制电路两大部分。壳体采用马鞍形结构设计,控制系统采用Arduino UNO作为主控板。利用接触开关和超声波传感器获取人体的坐姿信息,并通过实验确定检测坐姿是否正确的方法。最后,制作出了样机,并对样机进行了测试。
图1为本坐姿检测仪壳体的三维CAD模型爆炸图。由图1可见,该检测仪包含左右侧壳体、主壳体、智能串口屏、3组超声波传感器、4个接触开关,传感器和电路安装支架等部分。其中,左侧壳体、主壳体和右侧壳体表面曲面形状为马鞍面,这既保证了机械部分的力学性能,由使得曲面形状与人体腰椎的生理曲线吻合。该壳体样机采用PLA材料通过FDM工艺3D打印技术制作,各零件间通过螺栓联接在一起,所用PLA材料的主要性能如表1所示[7]。
表1 PLA材料相关参数
图1 坐姿检测仪壳体三维CAD模型爆炸图
假设人体以最大限度的依靠在该检测仪壳体上,如图2所示。以一名身高为175cm,体重为75kg的男性为例,此时该检测仪壳体的应力分布和位移分布云图分别如图3和图4所示,可见,该壳体的最大应力位于主壳体中央位置,并逐渐向四周减小。最大应为值为5.11×105Pa,小于材料的屈服强度。最大位移为1.44×10-2mm,在许可范围内。
图5所示,为本检测仪的硬件电路关系框图。本系统采用 Arduino UNO[8]作为主控板,通过 3组超声波传感器和4路接触开关来检测人体的坐姿。坐姿不当时,蜂鸣器发出警报声。可以通过USART HMI智能串口屏实现人机交互。
图2 人体以最大限度的依靠在该检测仪壳体上
图3 检测仪壳体的应力分布云图
图4 检测仪壳体的位移分布云图
图5 坐姿检测仪硬件电路关系图
Arduino UNO是一种开源的电路板,利用12V直流电源进行供电,具有便捷、方便等特点,可以通过计算机中Arduino IDE开发环境方便的对其进行编程和开发。
超声波具有指向性强,能量消耗缓慢,传播距离较远等优点[9]。本系统正是利用了超声波传感器的此种特点来检测人体距离系统外壳的距离。将3组超声波测距电路模块安装在椅子的靠背上,制作成一个超声波阵列,并于Arduino UNO控制板连接,用来测量人体后背与椅子靠背间的距离,如图1所示。
超声波传感器测量数据如下:
利用中位值平均滤波法[10]对测量得到的数据进行处理,具体如下:
1)利用第i组超声波测量电路连续采样N个数据:
其中,Di为第i组超声波测量电路测量得到的距离,di为第i组超声波测距电路每次测量得到的距离。
2)利用“冒泡法”对Di进行排序,排除该组数据中的最大值和最小值。
3)计算N-2个数据的算术平均值。
一般的N的取值范围为3~14,在本设计中取N=10。
为了得到不同情况时的坐姿数据,需要进行实验,对不同身高的人坐立时的数据进行采集,并录入到系统中。以175cm成年男性为例,当其坐在椅子上时,他的后背可以贴在检测仪外壳上,如图6所示,也可以离开外壳一定的距离,如图7所示,两种情况均为正确坐姿。当由正常坐姿转换为伏案姿势时,如图8所示,此时的人体脊椎曲线发生了变化,若长时间保持这种姿势,则会造成肌肉疲劳等问题。表2记录了成年男性不同身高的人体在不同坐姿情况下的传感器数据。
图6 人体后背贴在检测仪外壳上
图7 人体离开外壳一定距离时的正确坐姿
图8 人体离开外壳一定距离时的伏案坐姿
表2 成年男性不同坐姿时的传感器数据
对于不同身高的人来说,只要其后背贴合在系统外壳上时,人体即处于正确坐姿,从表2中可以看出,此种状态下,4路接触开关输出结果为1,即为高电平;
而当人体离开系统外壳时,其坐姿状态是否正确则取决于传感器采集到的数据Di。从表2可以看出,在正常坐姿情况下,传感器采集到的各数据Di的值相差较小,在3mm之内。而伏案坐姿情况下,传感器采集到的各数据值则波动较大,一般大于10mm。为此,可以求出Di的标准差σ的值,作为检测坐姿是否正确的依据。σ的计算公式如下:
该智能坐姿检测仪的程序采用Arduino开放源代码的集成开发环境Arduino IDE编写。Arduino IDE集成了多种功能的程序模块,如串口通信、舵机驱动等,这使得编程更为简单快捷。智能坐姿检测仪的坐姿检测程序流程图如图9所示。
图9 坐姿检测程序流程图
对制作完成的智能坐姿检测仪进行实际的坐姿试验测试,如图6~图8所示。结果表明,该智能检测仪检测结果准确可靠,在坐姿不正确时,蜂鸣器发出了警报声。在身高165cm~180cm范围内,选择不同的人员作为检测对象,也均得到较为准确的测试结果。
本文设计了一种智能坐姿检测仪,该检测仪包括壳体和控制电路两大部分。壳体样机主体部分采用3D打印技术制造。基于Arduino UNO主控板设计了该检测仪的控制系统,该系统利用接触开关和超声波传感器获取人体的坐姿信息,并利用实验方法确定了检测坐姿是否正确的方法。通过测试,该智能坐姿检测仪检测结果准确。