列表
00:00
/
00:00
l
r
  中国测试  2018, Vol. 44 Issue (9): 102-108

文章信息

陈时毅, 卢泽洵, 廖普, 刘文文, 胡鹏浩
CHEN Shiyi, LU Zexun, LIAO Pu, LIU Wenwen, HU Penghao
磁效应回转角度测量的GRNN算法研究
Research on rotation angle measurement using magnetic effects based on GRNN algorithm
中国测试, 2018, 44(9): 102-108
CHINA MEASUREMENT & TEST, 2018, 44(9): 102-108
http://dx.doi.org/10.11857/j.issn.1674-5124.2018.09.019

文章历史

收稿日期: 2017-12-26
收到修改稿日期: 2018-02-03
磁效应回转角度测量的GRNN算法研究
陈时毅 , 卢泽洵 , 廖普 , 刘文文 , 胡鹏浩     
合肥工业大学仪器科学与光电工程学院,安徽 合肥 230009
摘要:针对等效磁荷法在反解智能球铰链回转角度中存在的不足,该文尝试采用神经网络算法来计算、仿真和获取精密球铰链回转中的二维空间转角。根据仿真结果得出最优算法,给出提高测量精度的可行性方案。对神经网络GRNN算法进行验证,并与等效磁荷模型法的计算精度进行比较。搭建测量实验平台,实验结果与前期研究结果相比,在±10°范围内角度平均测量误差降低0.52′,在±20°范围内误差降低12.44′,表明测角精度得到改善,且随着量程的增大,GRNN算法的角度反解误差在减小,同时该算法计算精度不依赖于球铰链各项结构参数,为进一步提高球铰链空间回转角度测量精度提供新的可能。
关键词球铰链    空间转角测量    GRNN算法    磁效应    
Research on rotation angle measurement using magnetic effects based on GRNN algorithm
CHEN Shiyi , LU Zexun , LIAO Pu , LIU Wenwen , HU Penghao     
School of Instrument Science and Opto-electronics Engineering, Hefei University of Technology, Hefei 230009, China
Abstract: Aiming at disadvantages of equivalent magnetic charge model in rotate angle solution for intelligent ball hinge, neural network algorithms are selected to calculate, simulate and obtain the spatial angle. A suitable algorithm is determined according to the simulation results, and a feasibility scheme is proposed to improve the measurement accuracy. The effectiveness of neural network GRNN algorithm is proved after comparing with the calculation precision of equivalent magnetic charge model method. A measurement and test platform is set up and the test results show (comparing with preliminary research results) that the GRNN algorithm make the average error decrease 0.52′ within ±10° measuring range and reduced the average error as much as 12.44′ in ±20° measuring range. This indicates that not only the angle measurement accuracy is improved, but also the measurement accuracy increases in stead of decrease with the measuring range enlarging. Meanwhile, the accuracy of GRNN does not depend on the structural parameters of the ball hinge. The exhibited characteristics of GRNN algorithm paves the way for further improving the measurement accuracy of intelligent ball hinge in the near future.
Key words: ball hinge     rotation angle measurement     GRNN algorithm     magnetic effect    
0 引 言

精密球铰链是机器人尤其并联机器人关节上的常用运动部件,它实现了所需的球面运动,但其位姿无法自知。鉴于此,本课题组在前期研究中提出一种基于磁效应的空间回转角度测量方法,研制了一款既能传动,又具备空间回转角度测量功能的智能球铰链[1-3];但其理论及建模基础是等效磁荷法,理论模型构建复杂且包含大量积分计算,部分结构参数很难用角度标定技术进行反求,反解测量角度耗时比较长,目前双轴角度测量精度是11′,尚不具备在精密工程中应用的条件,必须进一步提高其测量精度及稳定性。

人工神经网络技术已发展70多年,逐渐成熟,而且随着计算机计算能力的提高,其计算时间日益缩短,同时,神经网络算法对一些系统误差有很强的适应性。文献[4]利用BP神经网络测量了带有自转的单轴俯仰角,但该技术存在的主要问题是所需磁场布置复杂,且需要很多传感器。为了进一步提高智能球铰链的测角精度,本文尝试用神经网络测量算法实现智能球铰链双轴角度反解,并在此基础上研究更加优化的硬件布置及结构。

1 智能球铰链工作原理

智能球铰链工作原理如图1所示,将永磁体嵌入在球头中、霍尔传感器嵌入到球窝中,当球头转动时,磁场也随之转动,霍尔传感器阵列感知磁感应强度值的变化。球头绕球心的任意方向回转,可分解为绕X轴的转角 $\alpha$ Y轴转角 $\beta$ 。智能球铰链的测量模型是基于等效磁荷模型法,永磁体在体外任何一点S所产生的磁感应强度值[3]均可唯一表示为

$\vec B = {\mu _0}{\mu _{\rm r}}\vec H = \frac{{{\mu _{\rm r}}{B_{\rm r}}}}{{4\pi }}\iint\limits_{{S_ + }} {\frac{{{{\vec r}_ + }}}{{{r_ + }^3}}}{\rm d}s - \frac{{{\mu _{\rm r}}{B_{\rm r}}}}{{4\pi }}\iint\limits_{{S_ - }} {\frac{{{{\vec r}_ - }}}{{{r_ - }^3}}}{\rm d}s$ (1)

式中 $\mu_0$ 为真空磁导率, $\mu_r$ 为相对磁导率,H为磁场强度,Br为永磁体的剩磁,r+r分别为空间点S到永磁体N、S极平面任意点的距离,S+S分别为永磁体N、S极方向上的被积曲面。

图 1 球铰链测量装配图

式(1)经积分计算,并利用fsolve函数求解超定非线性方程组即可获得角度[5]。测量模型可描述为

${B_n} = f(\alpha ,\beta )\quad\quad n = 1,2,3$ (2)
2 等效磁荷与神经网络算法比较

等效磁荷模型算法理论计算精确,在一定角度内能达到很高的精度[6]。但是每当选取不同的磁场源时(形状、剩磁、位置的改变),都要重新计算测量模型和实验标定。磁场源的精确性会直接影响最后计算结果,同时该理论计算模型对永磁体的结构参数以及霍尔传感器的安装位置偏差极为敏感,装配要求苛刻。量程扩大后,反解精度下降。因此有必要尝试寻求其他算法解决空间回转角度获取问题。

由于神经网络具有自学习性和适应性,复杂的磁场运算合成以及结构参数误差、永磁体剩磁偏差等对于神经网络的计算精度没有影响;理论上,只有磁感应强度测量的重复性和神经网络算法的偏差对测量精度有影响,这为磁场源和霍尔传感器的放置和选择提供了更大的选择余地,也降低了智能球铰链的制造和装配难度。随着深层神经网络的设计和实现成为可能,深度学习掀起了神经网络的第三股热潮[7]。而浅层网络的海量数据的运算也不再缓慢,海量数据的应用以及提升网络层数进行逐层训练以提升精度的实时测量也成为复杂非线性分析的一个重要选择。

两种方法的测角流程比较如图2所示,3个霍尔传感器的磁感应强度值为输入, $\alpha$ $\beta$ 转角为输出,是典型的非线性函数问题。

图 2 神经网络测角与等效磁荷计算的步骤

等效磁荷模型法建模时需要代入智能球铰链的结构参数,只有在对结构参数进行标定后,其测量精度才能有所提高,而由于神经网络测角的鲁棒性,可以降低制造装配要求,免除标定步骤;运算中前者进行非线性方程组计算,算式需要人为设计,后者进行神经网络训练仿真,计算方法由神经网络形成而不必设计,比较可知神经网络测角在步骤简便性上具有一定优势。

3 GRNN算法 3.1 神经网络可行性验证

本文首先拟使用等效磁荷算法精确计算磁场中任意一点的磁感应强度,以此数据训练神经网络,观察和分析采用各种神经网络算法的可行性、适用性及存在的问题。目前常用的算法有:前向神经网络、反馈神经网络和自组织神经网络。神经网络结构主要由作为训练数据的输入层、输出层和进行内部计算的隐含层组成。通过各层神经元之间的前后向多次迭代与关系运算,确定神经元之间的关系变量,形成经过训练的有效网络。

在前向神经网络中选取合适的神经网络模型,经过测试后发现,工程技术中最常用的BP神经网络的预测受权值和阈值影响很大,而用优化算法调整也耗时较多,且存在较大振荡区域。径向基函数在样本点附近有较强拟合能力,但是在远离样本点时存在失真。鉴于此,最终选取广义回归神经网络(GRNN)函数,与BP网络和径向基函数网络相比,此算法具有更高的精度,且结构简单、耗时短,同时当输入样本少时,仍具有很强的非线性拟合能力[8]

3.2 GRNN算法结构

广义回归神经网络的理论基础是非线性回归分析,其网络构成为4部分:输入层、模式层、求和层和输出层,其中模式层和求和层为隐含层,用于神经网络计算训练,如图3所示。

图 3 广义回归神经网络结构图

输入层的神经元个数与样本输入维度相同,在样机中通常布置3个霍尔传感器,即 $m = 3$ 。模式层的神经元个数与输入训练样本数量相同,采用9个输入输出训练样本对时,即 $n = {\rm{9}}$ 。其传递函数为径向基函数,神经元i的传递函数表达式[9]如下式所示:

$ P{}_i = {{\rm e}^{\frac{{{{(B - {B_i})}^{\rm T}}(B - {B_i})}}{{2{\sigma ^2}}}}} \quad\quad i = 1,2,\cdot\cdot\cdot,9 $ (3)

其中B为磁感应强度变量,仿真时,为空间任意一点的理论磁感应强度值,实验时,为传感器读数值;Bi为模式层神经元i对应的样本; $\sigma $ 为平滑参数。求和层包括2类神经元,一个为算术求和:

${S_{\rm D}} = \sum\limits_{i = 1}^n{{\rm e}^{ - \frac{{{{(B - {B_i})}^{\rm T}}(B - {B_i})}}{{2{\sigma ^2}}}}} $ (4)

一个为加权求和:

${S_{\rm N}} = \sum\limits_{i = 1}^n{y_i}{{\rm e}^{- \frac{{{{(B - {B_i})}^{\rm T}}(B - {B_i})}}{{2{\sigma ^2}}}}} $ (5)

式中y为输出的角度值 $\alpha$ $\beta$

两者相除(SN/SD)即为GRNN估算的仿真值,GRNN算法的训练过程核心就是不断调整平滑参数 $\sigma $ 以逼近真实数值。

4 仿真与实验 4.1 GRNN的仿真实现

仿真计算中,输入的是3个霍尔传感器的磁感应强度值,输出的是反映球铰链位姿的转角 $\alpha$ $\beta$ ,具体步骤如下:

1)在所需要的测量范围内,以一定间隔采集足够的训练样本点作为样本集,且划定一个较小范围来提取更加有用的训练样本。采集的方式和效果在仿真测试中确定。以2°为间隔读取样本点为例,训练样本点的角度值为 $\left\{ {(\alpha ,\beta )\left| {({\alpha _0} - i,{\beta _0} - j)} \right.} \right\}$ , i = –2, 0, 2; j = –2, 0, 2。

2)设定一组转角值 $\alpha$ $\beta$ ,利用等效磁荷模型得出对应的一组磁感应强度输入值,首先选取距离测量点较近的一个点作为GRNN训练样本的中心训练点,选取中心训练点的方法采用差值的最小平方和搜索方法。即如下式所示:

$F = {({B_{\rm{1}}} - {B_{\rm S1}})^2} + {({B_{\rm{2}}} - {B_{\rm S2}})^2} + {({B_{\rm{3}}} - {B_{\rm S3}})^2}$ (6)

其中 ${B_{\rm{1}}},{B_2},{B_3}$ 为3个霍尔传感器理论输入的磁感应强度值; ${B_{\rm S1}},{B_{\rm S2}},{B_{\rm S3}}$ 为样本信息库的磁感应强度值。以矩阵形式计算式(6),然后找到差值最小平方和Fmin在矩阵中所处的位置,即为所求中心训练点 $(\alpha_0,\beta_0)$

3)输入中心训练点以及周围区域的训练点作为仿真样本,经过训练点的最优选取范围和选取数量测试,使用GRNN进行仿真,得出结果。

4.2 不同类型测量点仿真的精度测试

本次仿真选取GRNN样本训练点的转角 $\alpha$ $\beta$ 取值如下:

$\begin{gathered} {\rm{\{ }}\alpha \left| {\alpha = - 20^\circ , - 18^\circ , - 16^\circ {\rm{, }}\cdot\cdot\cdot{\rm{ ,20}}^\circ } \right.\} \\ {\rm{\{ }}\beta \left| {\beta = - 20^\circ , - 18^\circ , - 16^\circ {\rm{, }}\cdot\cdot\cdot{\rm{ ,20}}^\circ } \right.\} \\ \end{gathered} $

每个霍尔传感器测得21×21个磁感应强度测量数据矩阵,总共3个霍尔传感器即3组矩阵数据作为训练样本。

为了探求与训练点不同距离的测量点精度是否存有差异,将测量点分为3种: $\alpha$ $\beta$ 数据均为双数点, $\alpha$ $\beta$ 数据均为单数点, $\alpha$ 值为双数点且 $\beta$ 值为单数点。

选取[–10°,10°]作为实验仿真区域,以 $\alpha$ 值为双数点且 $\beta$ 值为单数点为测量点, $\alpha$ 转角的神经网络计算仿真结果如表1所示。

表 1 转角 $\alpha$ 的神经网络仿真结果
α β
–9° –7° –5° –3° –1°
–10° –10.15 –9.71 –10.10 –10.21 –10.20 –10.23 –10.12 –9.71 –10.26 –9.85
–8° –8.19 –7.69 –8.03 –8.13 –8.10 –8.13 –8.05 –7.68 –8.22 –8.32
–6° –6.36 –5.66 –5.75 –5.77 –5.70 –5.66 –5.78 –5.55 –6.19 –6.28
–4° –3.90 –3.60 –3.41 –3.77 –3.93 –3.95 –3.68 –3.46 –4.18 –4.06
–2° –1.98 –2.48 –2.25 –2.37 –2.39 –2.39 –2.23 –2.44 –3.77 –1.92
0 –0.33 –0.52 –0.04 0.33 0.07 0.10 0.26 –0.14 –0.44 –0.29
1.98 1.77 1.70 2.16 2.44 2.44 2.12 1.67 1.85 1.98
4.15 4.00 3.77 3.77 4.22 4.52 4.03 3.81 4.16 4.17
6.20 6.20 6.18 6.13 6.01 5.77 5.95 6.36 6.31 6.33
8.27 8.33 8.80 8.08 7.78 7.69 7.79 7.66 7.86 7.98
10° 10.11 10.08 9.94 9.77 9.91 10.06 9.98 9.88 9.85 10.08

图4可知,转角的仿真误差基本在0.5°范围内,在各个点上均能仿真出需要的数值。

图 4 转角 $\alpha$ 的神经网络仿真误差分布图

图4的某些坐标点上,仿真中实验结果与真实结果有较大出入,这是因为存在某两个给定转角下的3个霍尔传感器磁感应强度值非常接近的情况,将这些点定义为盲区。可以通过改变磁场源的分布,改变霍尔传感器的方向与位置以及增加传感器的数量等方式减少甚至消除盲区。

经过仿真,得到不同种类的测量点平均误差如表2所示,其中单双指仿真测量点的选取角度值是单数或是双数。

表 2 不同种类测量点平均误差表
参数 $\alpha$ $\alpha$ $\beta$ 双) $\beta$ $\alpha$ $\beta$ 双) $\alpha$ $\alpha$ $\beta$ 单) $\beta$ $\alpha$ $\beta$ 单) $\alpha$ $\alpha$ $\beta$ 单) $\beta$ $\alpha$ $\beta$ 单)
平均误差/(′) 11.19 10.82 14.23 39.92 29.83 37.82

本文仿真及实验以同台电脑的Matlab为仿真软件,使用Matlab自带的运算计时工具检测计算时间,以上述仿真 $\alpha$ $\beta$ 双内容为例,得到一次仿真学习计算的平均速度约为0.05 s,而一次等效磁荷模型计算平均用时约为0.142 s,相比之下神经网络计算速度更快。

由仿真结果可知,在神经网络训练点是双数的情况下,测量转角是双数时的平均误差较小,测量转角是单数时的平均误差较大。由此可以推断实际测量点与神经网络训练点的距离越远,误差越大,且 $\alpha$ $\beta$ 的测量结果的误差相关性较小,具有一定的相对独立性。单数点的误差值约为双数点误差值的3倍。

4.3 不同量程的神经网络训练建模

在10°量程仿真计算的基础上,考察在更大量程范围内该算法的性能。比较10°和20°量程下测量转角的误差值,以 $\alpha$ 值为双数点且 $\beta$ 值为单数点为仿真转角,不同量程下测量点的角度平均误差如表3所示。无论是 $\alpha$ 还是 $\beta$ ,当量程从10°扩大到20°时,平均误差在减小,因此神经网络算法具有适应大量程的优势。

表 3 不同量程下测量点平均误差表
参数 α(10°量程) β(10°量程) α(20°量程) β(20°量程)
平均误差/(′) 14.23 39.92 11.15 34.14

4.4 不同训练点个数的仿真测试

提高神经网络的计算精度有两种途径:一是增加神经网络训练点密度以获得更多的训练样本点;二是增加导入广义回归神经网络进行仿真的点数。

1)增加神经网络训练点密度。在10°量程内,每1°提取一个训练点,仿真转角测量点 $\alpha$ $\beta$ 取值如下所示:

$\begin{gathered} {\rm{\{ }}\alpha \left| {\alpha = - {\rm{9}}{\rm{.5}}^\circ , - {\rm{8}}{\rm{.5}}^\circ , - {\rm{7}}{\rm{.5}}^\circ {\rm{, }}\; \cdots ,\;{\rm{ 9}}{\rm{.5}}^\circ } \right.\} \\ {\rm{\{ }}\beta \left| {\beta = - {\rm{9}}{\rm{.5}}^\circ , - {\rm{8}}{\rm{.5}}^\circ , - {\rm{7}}{\rm{.5}}^\circ {\rm{, }}\; \cdots ,\;{\rm{ 9}}{\rm{.5}}^\circ } \right.\} \\ \end{gathered} $

经过神经网络仿真计算, $\alpha$ 转角的测量值均不处于样本数据采集点的位置,测角误差如图5所示,由此可见神经网络每1°采集训练样本点时的平均误差小于每2°采集训练样本点时的平均误差。

图 5 不同采集间隔点的测量误差

不同神经网络训练点密度的仿真具体误差值如表4所示。可知,转角测量的平均误差确实可以通过提高神经网络训练点密度提高,且训练点角度间隔从2°减小到1°,相应平均误差则减小61%。

表 4 不同训练点间隔密度的仿真误差表
参数 α(2°间隔) β(2°间隔) α(1°间隔) β(1°间隔)
平均误差/(′) 29.83 37.82 10.86 15.68

2)增加导入广义回归神经网络进行仿真的点数。使用训练点周围24个点构成的5×5训练网点作比较,取 $\alpha$ 值为双数点且 $\beta$ 值为单数点的测量点为例,不同训练网点数的仿真值误差如表5所示。

表 5 不同训练网点数的误差表
参数 α(3×3训练) β(3×3训练) α(5×5训练) β(5×5训练)
平均误差/(′) 14.23 39.92 20.70 39.26

由仿真结果可知,5×5的训练网点数对于仿真结果的精度没有太大的改变,反而在 $\alpha$ 转角测量中使得平均误差有所升高;与5×5的训练网点相比,3×3的训练网点更为符合要求,因此选择3×3的训练网点数。

4.5 实验分析

实验的具体步骤与仿真计算相同,只是仿真中设定的转角数值在实验测试中由标定台提供。

为了考察和评价智能球铰链的测量精度,本文研制了如图6所示的双轴标定台,定位球铰链底座的侧板固定在RPI转台基座上由此保证实验装置的垂直精度,将球铰链样机竖直固定在侧板凸台上,一个永磁体嵌入在球头底部。3个霍尔传感器放置在球窝中,使用CH-1600高精度高斯计读取实时磁感应强度。实验中使用两个高精度旋转台,底部使用型号为DP300(精度为±1″)的RPI转台输出 $\beta$ 转角,侧面使用PI公司的型号为M-062DG(精度为±2″)的高精度回转台输出 $\alpha$ 转角,按照先固定 $\alpha$ 转角,间隔地改变 $\beta$ 角度进行测量。高斯计实时对应读取和显示3组磁感应强度值。样本取样点和实测点如下:

$\begin{gathered} {\rm{\{ }}\alpha \left| {\alpha = - {\rm{18}}^\circ , - 1{\rm{6}}^\circ , - 1{\rm{4}}^\circ {\rm{, }}...{\rm{ ,18}}^\circ } \right.\} \\ {\rm{\{ }}\beta \left| {\beta = - {\rm{18}}^\circ , - 1{\rm{6}}^\circ , - 1{\rm{4}}^\circ {\rm{, }}...{\rm{ ,18}}^\circ } \right.\} \\ \end{gathered} $
图 6 球铰链标定装置

获取实验数据后,分别使用等效磁荷法和GRNN算法来反解转角值,并计算各自的测量误差,两种方法的测量误差如图7所示,361个测量点依次展示在误差分布图中, $\alpha$ $\beta$ 转角均从小到大排布。

前期用等效磁荷模型方法测转角时,10°量程范围内两回转角的平均误差分别为11.58′和12.06′,20°量程范围内两回转角的平均误差分别为18.84′和20.34′,等效模型法应用时由于在大转角边缘处磁感应强度不按照理论值变化导致误差变高。和前期研究成果相比,GRNN算法测角的精度在10°范围内平均误差分别为11.81′和10.79′,与模型法相仿[10],而在20°范围内平均误差分别为7.72′和6.58′。10°范围内角度平均测量误差降低了0.52′,在20°范围内误差降低了12.44′,精度有了一定程度的提高。上述平均误差即为所有测量点绝对误差的算术平均值。

图 7 两种角度算法的误差比较图

固定 $\alpha$ 转角值为18°, $\beta$ 角每隔0.1°测量一次,GRNN算法测得的转角值,其转动值和测量值在–17°~–16°范围内如图8所示,可知GRNN算法能较好把握旋转角度的变化趋势,具有足够的分辨力,在–17°~–16.9°中由于神经网络分块训练导致跳变也在预期内。

图 8 $\beta$ 转角实测分析图

5 结束语

经过仿真和实际对比测量发现GRNN算法的仿真结果能较好把握转角的变化趋势和范围,是一项完全可行的测角方法。其优势有:1)证明GRNN算法总体的精度和运算时间优于等效磁荷模型法,是一项完全可行的测角方法;2)GRNN算法角度测量随着量程的增大,误差不会增大,反而变小;3)由于神经网络的鲁棒性,该方法对磁源要求低,对结构参数要求低,降低了加工和装配的难度;4)未来将结合存在的问题,重新更新和优化样机,以进一步提高测量精度。

参考文献
[1]
杨文国, 胡鹏浩, 党学明. 智能球铰链空间磁场分布仿真及其影响分析[J]. 中国测试, 2017, 43(2): 130-133.
[2]
HU P H, LI S P, ZHAO P, et al. Ball hinge capable of realizing rotation angle measurement and measuring method: 201310502930.2[P]. 2014-01-22.
[3]
HU P H, WANG L, ZHU L, et al. A measuring method for ball joint spatial rotation angle[J]. Sensors and Materials, 2015, 27(4): 341-349.
[4]
FOONG S, LEE K M, BAI K. Magnetic field-based sensing method for spherical joint[C]// IEEE International Conference on Robotics and Automation. IEEE, 2010: 5447-5452.
[5]
王力. 精密球铰链空间回转方位辨识及回转角度测量技术研究[D]. 合肥: 合肥工业大学, 2015.
[6]
胡鹏浩, 廖普. 嵌入式智能球铰链设计及研制[J]. 机械工程学报, 2017, 53(20): 1-6.
[7]
焦李成, 杨淑媛, 刘芳, 等. 神经网络七十年:回顾与展望[J]. 计算机学报, 2016, 39(8): 1697-1716.
[8]
UMADEVI N, BALAJI M, KAMARAJ V, et al. Data interpolation and design optimisation of brushless DC motor using generalized regression neural network[J]. Journal of Electrical Engineering & Technology, 2015, 10(1): 188-194.
[9]
GÜNE F, MAHOUTI P, DEMIREL S, et al. Cost‐effective GRNN‐based modeling of microwave transistors with a reduced number of measurements[J]. International Journal of Numerical Modelling Electronic Networks Devices & Fields, 2017, 30(3-4).
[10]
杨文国. 智能球铰链空间回转角度测量及精度提升技术[D]. 合肥: 合肥工业大学, 2017.