一种利用单个光流传感器获取球形电机旋转速度的方法
文献发布时间:2023-06-19 13:45:04
技术领域
本发明涉及速度传感器与计算机图像处理领域,具体是一种利用单个光流传感器获取球形电机旋转速度的方法。
背景技术
在航天姿态控制、机器人以及数控机床等新兴高科技领域,球形电机凭借其相较于传统电机的优势——可以输出任意轴的力矩、质量更低、体积更小而获得更广泛的应用前景。为了实现对电机高精度的控制,就需要对球形电机进行闭环控制,所以获取球形电机的转速是必要的。
球形电机的转速不同于传统电机,测量球形电机的转速不仅需要测量转速大小,还需要测量转速的方向。现在市场上多采用多个摄像头配合获取球形电机的转速大小与方向。主要包括霍尔传感器、光电编码器等等方法,这些方法为了测得多个自由度的球形电机转速,需要多个传感器之间的配合。
发明内容
本发明的目的在于提供一种利用单个光流传感器获取球形电机旋转速度的方法,通过确定传感器与球形转子的相对位置,可以实现利用单个摄像头对球形电机的转速测量。
本发明的目的可以通过以下技术方案实现:
一种利用单个光流传感器获取球形电机旋转速度的方法,包括以下步骤:
S1:确定光流传感器与球形电机转子的位置关系;
S2:光流摄像头获取球形电机转子表面图像;
S3:对球形电机转子图像进行数据处理;
S4:球形电机转子图像特征点选取;
S5:对每一个特征点进行L-K光流运算;
S6:由每个特征点的光流计算完整图像的光流;
S7:利用图像的光流获取图像投影速度;
S8:利用球形电机与传感器之间的位置关系求解球形转子的速度。
进一步的,所述S1中光流传感器安装于球形电机定子外壳上,传感器摄像头参考平面与球形电机转子表面的垂直距离在摄像头工作范围之内。
进一步的,所述S2中获取照片的摄像头分辨率在500以上,拍摄时外部光照条件保持不变或变化缓慢。
进一步的,所述S3具体包括以下步骤:
S31:对RGB图像数据进行灰度计算;
S32:将灰度值转化为双精度值,便于计算机处理。
进一步的,所述S4具体包括以下步骤:
S41:计算图像中每个像素点的梯度矩阵G及其最小特征值λ
式中p
S42:寻找图像中所有最小特征值的最大值λ
S43:保留最小特征值大于10%λ
S44:保留λ
进一步的,所述S5具体包括以下步骤:
S51:建立图像分层金字塔:
式中L为层数,I为某位置像素点的灰度值大小;将获取得到的图像作为金字塔的第0层,从第0层计算得到第1层,再从第1层计算得到第2层;以这样的递归方式得到图像金字塔;式中x、y为图像像素点的位置,图像左上角为(0,0);
S52:最上层特征点的光流值无可靠初始估计值:
式中
S53:迭代计算下一层特征点光流值:
式中d
S54:若最终收敛,得到最终光流值:
式中
进一步的,所述S6由每个特征点的光流计算完整图像的光流:
式中
进一步的,所述S7由光流传感器摄像头的分辨率计算图像光流所代表的投影速度:
式中
进一步的,所述S8具体包括以下步骤:
S81:摄像头到球形转子摄像面的距离由图像大小计算得到:
式中d为摄像头到球形转子摄像面的距离,f为摄像头的焦距,R为球形转子的半径,d′为摄像头到球形转子表面的距离,A、B为图像大小;
S82:由传感器摄像头与球形转子的位置关系:
本发明的有益效果:
本发明的球形转子转速识别方法与传统的球形转子转速识别方法相比,具有无接触的优点,降低损耗;只利用单个摄像头,依靠单个光流摄像头与空间位置关系直接计算速度大小与方向,而其他无接触的识别方法一般都用到了两个或多个摄像头协同工作。
附图说明
图1是本发明光流传感器获取球形电机转子照片示意图;
图2是本发明球形转子空间坐标系的示意图;
图3是本发明转子图像金字塔分层与光流计算示意图;
图4是本发明球形电机转子与摄像头相对位置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
一种利用光流传感器获取球形电机旋转速度的方法,包括以下步骤:
S1:球形电机转子照片获取依靠光流传感器上的摄像头,如图1所示,球形电机应用场合不要求高转速输出,转速不高保证了前后两帧图像差异性不大,电机的工作环境一般不发生改变,保证了外部光照环境变换是缓慢均匀的。
获取的前后两帧2D图像分别为图像I与图像J。
S2:图像数据处理的灰度处理依靠灰度函数,将RGB图像转化为灰度图;将灰度图转化为双精度数据,方便计算机处理。灰度函数:
E′y=0.299R+0.587G+0.114B
式中R,G,B为RGB图像像素点的值,E′y为像素点的灰度值;
两幅图像I,J的灰度值分别为I(x,y)与J(x,y),图像左上顶点的像素坐标为[0 0]
S3:图像特征点选取,包括:
S31:计算图像1中每个像素点的梯度矩阵G及其最小特征值λ
式中p
S32:寻找图像1中所有最小特征值的最大值λ
S33:保留最小特征值大于10%λ
S34:保留λ
得到第一幅图像I的特征点为μ=[μ
S4:光流运算基于灰度一致性假设,即:
光流d使得上述残差公式最小。
对特征点进行L-K光流运算,具体包括:
S41:如附图3所示,建立图像分层金字塔:
为了满足上式,在图像
I
I
图像I
由此建立起图像金字塔,对于两帧图像就有两个图像金字塔序列,如对于图像大小为640×480的图像,第一、二、三层图像大小分别为320×240、160×120、80×60。
S42:第L层的灰度一致性假设:
式中g
最上层特征点的光流值无可靠初始估计值:
式中
迭代计算下一层特征点光流值:
g
式中d
若最终收敛,得到最终光流值:
d=g
式中d为光流的最终解。
S43:L-K光流迭代算法是每一层金字塔都要运行一遍的算法,利用中心差分法计算图像梯度:
得到光流矢量:
式中
式中k代表迭代次数。
图像光流迭代计算是基于金字塔分层的L-K光流迭代计算。图像金字塔分层一般为3-5层,每层金字塔每个窗口的L-K光流迭代次数一般在5次以内结束。
S5:利用位置关系求解球形转子的速度,包括:
S51:由每个特征点的光流计算整个图像的光流:
式中
S52:由光流传感器摄像头的分辨率计算光流所代表的投影速度:
式中
S53:如附图2所示,摄像头到球形转子摄像面的距离可以由图像大小计算得到:
式中d为摄像头到球形转子摄像面的距离,f为摄像头的焦距,R为球形转子的半径,d′为摄像头到球形转子表面的距离,A、B为图像大小。
S54:如附图4所示,由传感器摄像头与球形转子的位置关系:
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
- 一种利用单个光流传感器获取球形电机旋转速度的方法
- 一种基于光流传感器的校准参数获取装置及方法