基于树莓派的定点热理疗系统的设计与实现

2022-12-16 09:23李祉
计算机时代 2022年12期
关键词:树莓舵机摄像头

李祉

(浙江理工大学信息学院,浙江 杭州10338)

0 引言

关于理疗,临床上最常用的方法有:电疗法、超声波疗法、光疗法、激光疗法、频谱治疗仪、磁疗法、蜡疗法、中药离子导入等。理疗,一般是使用仪器和人工辅助来完成。李石林[1]等提出了一种穿戴式远红外理疗仪,分析了其应用前景。王科[2]等设计了一种基于单片机的超短理疗仪,专注于超短波理疗的物理疗法。《素问·痿论》中提出“宗筋主束骨而利机关也”,理疗加热可以促使药物渗透更持久,提高治疗效果[3]。

本文设计的自动定位加热系统,一方面运用计算机视觉相关原理,在人体身上布置预先设定好的识别点,通过摄像头模块来定位需加热区域的位置;另一方面,通过树莓派(Raspberry pi)来控制含舵机的机械臂骨架,结合摄像头模块的定位信息,驱使机械臂端的加热模块自动运动至目标位置处进行加热。同时辅以超声波HC-SR04测距模块,用以控制对人体加热的安全距离,保证整个流程的流畅和安全性。实现使用者独自就可以完成加热理疗的过程。

1 系统总体设计

本设计利用树莓派4B作为总控制器,实现数据处理以及数据转发等功能;USB 摄像头模组用以获取图像信息,以完成为对目标位置的定位;采用亚克力制二轴机械臂骨架作为整体系统骨架,通过控制数个机械臂关节处的MG90S 舵机来实现机械臂的各个方向的运动,以实现加热源准确到达目标位置;HC-SR04超声波模块用以实时测量加热源与目标位置处的距离,避免加热距离过短造成烧伤的风险。整个系统的结构图如图1所示。

图1 系统结构图

2 硬件部分设计与实现

2.1 主控模块树莓派

树莓派4B 采用的是BROADCOM BCM2711 处理器,内核采用四核CORTEX-A72 处理器;4GB 的RAM;内置蓝牙模块为5.0版本[4];具有四个USB接口,其中二个为3.0的USB接口,可外接USB插口型外设;具备二个micro-HDMI 端口,最高可以双屏4K 显示。具有40 个GPIO 引脚,其中包含一组UART,一组I2C及两组SPI。具有DSI显示连接器,POE供电功能以及千兆以太网卡[5,6]。树莓派是基于Linux 系统,支持Java,Python,C++等主流语言,基本具备PC 的功能[7],具有体积小耗能低的特点[8]。

2.2 摄像头模块

摄像头模块采用的是纬视达WISD-4018-v1.0 的300 万像素同步同帧摄像头,USB2.0 接口与树莓派适配,符合标准UVC 协议,具有最高分辨率2176*1520的双镜头,30FPS 以及兼容Windows 多种系统及Linux,Ubuntu,Android4.0 等。一个设备输出双拼接画面,硬件帧同步,双画面一致。

2.3 超声波测距模块

测距模块采用的是HC-SR04超声波测距,测距的距离范围可达2cm-400cm,具有非接触式距离的感测功能,精度为3毫米。组成部分包含了超声波发射器,接收器,控制电路。图2为其超声波时序图。

图2 HC-SR04时序图

图2 说明:发射器首先提供一个10us 以上的脉冲触发信号,器件用IO 口触发测距,给出相应的高电平信号,之后器件自动发送八个40khz 的脉冲方波,检测信号是否可以返回,一旦检测到有返回的波形信号则输出回响信号。回响信号的脉宽与所测距离成正比。距离公式为:距离=高电平时间*声速/2。

实现思路:先给TRIG 引脚高电平信号,之后再判断ECHO引脚是否为高电平。若为高电平则开启定时器,变为低电平后,再获取计数器的值;或者开启外部中断,将ECHO 配置上升沿中断,中断开启时,在中断函数里开启定时器,再将其配置为下降沿中断,等待下降沿中断来临时,再获取计数器值。两种思路都是通过计算定时器的counter 值来计算距离。

2.4 亚克力机械臂

本设计的支撑骨架采用亚克力制三自由度机械臂,关节部位采用的是MG90S数字舵机来控制机械臂的运动。MG90S具有2.0kg/cm(4.8V),2.8kg/cm(6V)的扭矩,转动速度可达0.11 秒/60°(4.8V),0.09 秒/60°(6V)。本设计采用的是360 度舵机,工作电压一般为4.8V~6V,MG90S 舵机有三条引脚线,分别为GND,VCC(5V),PWM 信号线,舵机的伺服系统的控制交由可变宽度的脉冲,控制线传送脉冲。

脉冲的参数包含最小值,最大值、频率这几项。一般舵机的基准信号的周期为20ms,宽度为1.5ms。定义这个基准信号的位置为中间位置。中间位置的定义是指从中间位置到最大角度与最小角度的量相同。角度是控制线的发出持续的脉冲决定。即脉冲调制。舵机转动角度取决于脉宽。如果控制系统不停的发出脉冲稳定舵机的角度,舵机的角度就会一直不变。当舵机接收到一个小于1.5ms 的脉冲时,输出轴就会以中间位置为标准,逆时针旋转一定角度。一般而言,最小脉冲为1ms,最大脉冲为2ms。脉冲宽度与转动角度对应关系如图3所示。

图3 脉宽与转动角度关系图

3 软件部分设计与实现

3.1 PID算法控制机械臂运动路径的实现

机械臂其具有超高的操作灵活性,从而在工业、医学、物流等领域得到广泛应用。为使机械臂的作用得以最大限度地发挥,需要对机械臂的位置进行精确控制,在这一过程中,可以应用PID控制器[8]。

在工程实际中,PID 控制是应用最为广泛的控制方式。PID是比例(proportion)、积分(integration)、微分(differentiation)的缩写。当被控制系统的结构和参数不能完全确定时,或得不到精确的数学模型时,控制理论的其他技术难以采用时,系统控制器的结构和参数必须现场调试或者多次试验验证来确定,这时PID 控制技术就非常适用。PID 控制器就是根据系统的误差,利用比例、积分、微分计算出控制量来对系统进行控制。PID原理图如图5所示。

图4 系统软件流程图

图5 PID原理图

比例(P)部分

输入值一旦与目标值产生偏差e(t),就需要缩小偏差,P 部分的作用是缩小偏差,使控制量向减少偏差的方向改变,由于是比例关系,因此P 的指数越大,偏差缩小的速度就越快,P 部分的作用就是使控制部分更快地接近目标值。

积分(I)部分

当偏差存在时,积分结果会不断增加,即控制作用会不断增加;只有当偏差值为0时,结果就成为一个常数,此时控制作用才可能是一个稳定的值。积分的作用是消除静态偏差,同时拉低系统的响应速度,因此I部分作用与P部分是冲突关系。

微分(D)部分

微分D 的作用会根据偏差e(t)的变化趋势提前纠正,通过微分,可以对偏差的变化进行预判地抑制,防止矫枉过正。微分的部分,可以帮助系统减小震荡,使系统趋于稳定,D越大,抑制P的效果就越强[9-11]。

在本设计中,首先进行了误差值的处理,误差值pid_thisError_x=pid_x-160和pid_thisError_y=pid_y-120;其中160 与120 是摄像头显示分辨率320*240 的中值,目的是使标注的目标识别点始终在摄像头捕捉画面的位置。若其不在中心位置,即通过PID 来控制舵机运动,通过加入PID 控制参数,加上迭代误差值的操作,得到最终PID值,同时限制舵机在一定范围内即转动角度范围内,避免出现舵机脱机的情况,此时载臂端摄像头调整至识别点正上方,进而实现机械臂端准确定位的功能。

3.2 标识点的图像定位

3.2.1 图像预处理

RGB 的模型可以视为在三维坐标轴中建立的一个立方模型,原点到白色顶点的中轴线是灰度线,r、g、b 三分量相等,强度可以由三分量的向量表示。用RGB来理解色彩、深浅、明暗变化。

而HSV 模型是倒锥形,这个模型是由色彩、深浅、明暗这三个元素来表现的。H 是色彩,S 是深浅,S=0时,只有灰度V是明暗,表示色彩的明亮程度。

RGB 模型与HSV 模型从模型构造来看,将RGB三维坐标中轴立起并扁化,即形成HSV 锥形模型,RGB到HSV的转换为:

对于本设计采用HSV 空间而不用RGB 空间的理由,是因为RGB 空间并不能很好地反映出物体具体的颜色信息,该设计着力于实际应用场景,日常光照的对摄像头捕捉的图像的影响因子很大。而HSV 空间能够非常直观的表达色彩的明暗、色调、以及鲜艳程度,方便进行颜色之间的对比。RGB 空间受光线影响很大,HSV可以得到合适的二值图。

3.2.2 特征点定位

在图像处理中常常需要提取目标图像中的ROI区域或这是某个形状,需要观察对象的特征,根据它的特征去提取。本设计最终采用的是以红色圆形贴纸作为特征点来进行位置标识。

对于本设计中,对于输入图像的相关处理操作,做出了基于形态学处理:首先调用opencv 库进行高斯滤波,高斯滤波是矩形窗口内所有像素点的像素值的加权和,高斯滤波的权重服从二维正态分布,越靠近窗口中心点,权重越大。对于(2n+1)*(2n+1)窗口,权重计算公式如下:

其中,σ 为标准差,σ 越大,权重分布越均匀,滤波效果越好,图像越模糊。

光做色彩空间的转化,转化为HSV 的色彩空间;然后进行图像的掩模处理,腐蚀操作与膨胀操作。先腐蚀再膨胀,目的是为了开运算,消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。去除噪点。对于定位点的确定,是采用霍夫变换检测圆的方法:霍夫变换圆检测是基于图像梯度实现,首先查找待测图像中圆的圆心位置和半径,圆心是圆周法线的交汇处,设置一个阈值,在某点的相交的直线的条数大于这个阈值就认为该交汇点为圆心。圆心到圆周上的距离〔半径)是相同的,设置一个阈值,只要相同距离的数量大于该阈值,就认为该距离是该圆心的半径。

检测圆形样点效果如图6、图7所示。

图6 检测效果图(一)

图7 检测效果图(二)

当出现图7 所示情况时,明显看到识别点不在显示界面中心,在预设坐标时,将机械臂顶端即摄像头放置位置,设为圆心坐标,此时机械臂会根据偏离位置坐标与中心坐标的误差值进行位置调整,辅以预设PID 算法,不断调整误差值直至误差值为零,此时识别点会重新调整至界面中心,即完成了对识别点的位置追踪及位置调整,当位置再次调整后,即会进行预设动作组的下一步加热动作和调整动作等一系列操作。

4 结论

该系统采用树莓派作为硬件平台,具有体积小、成本低、操作简便,缩短了系统开发时间的特点。本文设计了图像的采集存储及预处理,完成了机械臂骨架组装与配置,运用轮廓检测以及结合PID算法,实现了对特征点的定位以及控制拥有加热模块的臂端精确运动至特征点位置,另外设计了完整的加热动作组实现完整的定点加热流程,其效果经过多次测试已经得到了验证。

猜你喜欢
树莓舵机摄像头
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
含齿隙弹载舵机的全局反步模糊自适应控制
基于树莓派的骑行智能头盔设计
基于太赫兹技术的新一代摄像头及其在安防领域的应用探讨
基于dsPIC单片机的飞艇舵机控制实现
基于树莓派的远程家居控制系统的设计
基于高速同步485总线通信的多通道舵机控制器设计
响应面法优化红树莓酒发酵工艺
奔驰360°摄像头系统介绍