文章信息
- 陈时毅, 卢泽洵, 廖普, 刘文文, 胡鹏浩
- 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
精密球铰链是机器人尤其并联机器人关节上的常用运动部件,它实现了所需的球面运动,但其位姿无法自知。鉴于此,本课题组在前期研究中提出一种基于磁效应的空间回转角度测量方法,研制了一款既能传动,又具备空间回转角度测量功能的智能球铰链[1-3];但其理论及建模基础是等效磁荷法,理论模型构建复杂且包含大量积分计算,部分结构参数很难用角度标定技术进行反求,反解测量角度耗时比较长,目前双轴角度测量精度是11′,尚不具备在精密工程中应用的条件,必须进一步提高其测量精度及稳定性。
人工神经网络技术已发展70多年,逐渐成熟,而且随着计算机计算能力的提高,其计算时间日益缩短,同时,神经网络算法对一些系统误差有很强的适应性。文献[4]利用BP神经网络测量了带有自转的单轴俯仰角,但该技术存在的主要问题是所需磁场布置复杂,且需要很多传感器。为了进一步提高智能球铰链的测角精度,本文尝试用神经网络测量算法实现智能球铰链双轴角度反解,并在此基础上研究更加优化的硬件布置及结构。
1 智能球铰链工作原理智能球铰链工作原理如图1所示,将永磁体嵌入在球头中、霍尔传感器嵌入到球窝中,当球头转动时,磁场也随之转动,霍尔传感器阵列感知磁感应强度值的变化。球头绕球心的任意方向回转,可分解为绕X轴的转角
$\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) |
式中
式(1)经积分计算,并利用fsolve函数求解超定非线性方程组即可获得角度[5]。测量模型可描述为
${B_n} = f(\alpha ,\beta )\quad\quad n = 1,2,3$ | (2) |
等效磁荷模型算法理论计算精确,在一定角度内能达到很高的精度[6]。但是每当选取不同的磁场源时(形状、剩磁、位置的改变),都要重新计算测量模型和实验标定。磁场源的精确性会直接影响最后计算结果,同时该理论计算模型对永磁体的结构参数以及霍尔传感器的安装位置偏差极为敏感,装配要求苛刻。量程扩大后,反解精度下降。因此有必要尝试寻求其他算法解决空间回转角度获取问题。
由于神经网络具有自学习性和适应性,复杂的磁场运算合成以及结构参数误差、永磁体剩磁偏差等对于神经网络的计算精度没有影响;理论上,只有磁感应强度测量的重复性和神经网络算法的偏差对测量精度有影响,这为磁场源和霍尔传感器的放置和选择提供了更大的选择余地,也降低了智能球铰链的制造和装配难度。随着深层神经网络的设计和实现成为可能,深度学习掀起了神经网络的第三股热潮[7]。而浅层网络的海量数据的运算也不再缓慢,海量数据的应用以及提升网络层数进行逐层训练以提升精度的实时测量也成为复杂非线性分析的一个重要选择。
两种方法的测角流程比较如图2所示,3个霍尔传感器的磁感应强度值为输入,
等效磁荷模型法建模时需要代入智能球铰链的结构参数,只有在对结构参数进行标定后,其测量精度才能有所提高,而由于神经网络测角的鲁棒性,可以降低制造装配要求,免除标定步骤;运算中前者进行非线性方程组计算,算式需要人为设计,后者进行神经网络训练仿真,计算方法由神经网络形成而不必设计,比较可知神经网络测角在步骤简便性上具有一定优势。
3 GRNN算法 3.1 神经网络可行性验证本文首先拟使用等效磁荷算法精确计算磁场中任意一点的磁感应强度,以此数据训练神经网络,观察和分析采用各种神经网络算法的可行性、适用性及存在的问题。目前常用的算法有:前向神经网络、反馈神经网络和自组织神经网络。神经网络结构主要由作为训练数据的输入层、输出层和进行内部计算的隐含层组成。通过各层神经元之间的前后向多次迭代与关系运算,确定神经元之间的关系变量,形成经过训练的有效网络。
在前向神经网络中选取合适的神经网络模型,经过测试后发现,工程技术中最常用的BP神经网络的预测受权值和阈值影响很大,而用优化算法调整也耗时较多,且存在较大振荡区域。径向基函数在样本点附近有较强拟合能力,但是在远离样本点时存在失真。鉴于此,最终选取广义回归神经网络(GRNN)函数,与BP网络和径向基函数网络相比,此算法具有更高的精度,且结构简单、耗时短,同时当输入样本少时,仍具有很强的非线性拟合能力[8]。
3.2 GRNN算法结构广义回归神经网络的理论基础是非线性回归分析,其网络构成为4部分:输入层、模式层、求和层和输出层,其中模式层和求和层为隐含层,用于神经网络计算训练,如图3所示。
输入层的神经元个数与样本输入维度相同,在样机中通常布置3个霍尔传感器,即
$ 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对应的样本;
${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为输出的角度值
两者相除(SN/SD)即为GRNN估算的仿真值,GRNN算法的训练过程核心就是不断调整平滑参数
仿真计算中,输入的是3个霍尔传感器的磁感应强度值,输出的是反映球铰链位姿的转角
1)在所需要的测量范围内,以一定间隔采集足够的训练样本点作为样本集,且划定一个较小范围来提取更加有用的训练样本。采集的方式和效果在仿真测试中确定。以2°为间隔读取样本点为例,训练样本点的角度值为
2)设定一组转角值
$F = {({B_{\rm{1}}} - {B_{\rm S1}})^2} + {({B_{\rm{2}}} - {B_{\rm S2}})^2} + {({B_{\rm{3}}} - {B_{\rm S3}})^2}$ | (6) |
其中
3)输入中心训练点以及周围区域的训练点作为仿真样本,经过训练点的最优选取范围和选取数量测试,使用GRNN进行仿真,得出结果。
4.2 不同类型测量点仿真的精度测试本次仿真选取GRNN样本训练点的转角
$\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种:
选取[–10°,10°]作为实验仿真区域,以
α | β | |||||||||
–9° | –7° | –5° | –3° | –1° | 1° | 3° | 5° | 7° | 9° | |
–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 |
2° | 1.98 | 1.77 | 1.70 | 2.16 | 2.44 | 2.44 | 2.12 | 1.67 | 1.85 | 1.98 |
4° | 4.15 | 4.00 | 3.77 | 3.77 | 4.22 | 4.52 | 4.03 | 3.81 | 4.16 | 4.17 |
6° | 6.20 | 6.20 | 6.18 | 6.13 | 6.01 | 5.77 | 5.95 | 6.36 | 6.31 | 6.33 |
8° | 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的某些坐标点上,仿真中实验结果与真实结果有较大出入,这是因为存在某两个给定转角下的3个霍尔传感器磁感应强度值非常接近的情况,将这些点定义为盲区。可以通过改变磁场源的分布,改变霍尔传感器的方向与位置以及增加传感器的数量等方式减少甚至消除盲区。
经过仿真,得到不同种类的测量点平均误差如表2所示,其中单双指仿真测量点的选取角度值是单数或是双数。
参数 |
|
|
|
|
|
|
平均误差/(′) | 11.19 | 10.82 | 14.23 | 39.92 | 29.83 | 37.82 |
本文仿真及实验以同台电脑的Matlab为仿真软件,使用Matlab自带的运算计时工具检测计算时间,以上述仿真
由仿真结果可知,在神经网络训练点是双数的情况下,测量转角是双数时的平均误差较小,测量转角是单数时的平均误差较大。由此可以推断实际测量点与神经网络训练点的距离越远,误差越大,且
在10°量程仿真计算的基础上,考察在更大量程范围内该算法的性能。比较10°和20°量程下测量转角的误差值,以
4.4 不同训练点个数的仿真测试
提高神经网络的计算精度有两种途径:一是增加神经网络训练点密度以获得更多的训练样本点;二是增加导入广义回归神经网络进行仿真的点数。
1)增加神经网络训练点密度。在10°量程内,每1°提取一个训练点,仿真转角测量点
$\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} $ |
经过神经网络仿真计算,
不同神经网络训练点密度的仿真具体误差值如表4所示。可知,转角测量的平均误差确实可以通过提高神经网络训练点密度提高,且训练点角度间隔从2°减小到1°,相应平均误差则减小61%。
2)增加导入广义回归神经网络进行仿真的点数。使用训练点周围24个点构成的5×5训练网点作比较,取
由仿真结果可知,5×5的训练网点数对于仿真结果的精度没有太大的改变,反而在
实验的具体步骤与仿真计算相同,只是仿真中设定的转角数值在实验测试中由标定台提供。
为了考察和评价智能球铰链的测量精度,本文研制了如图6所示的双轴标定台,定位球铰链底座的侧板固定在RPI转台基座上由此保证实验装置的垂直精度,将球铰链样机竖直固定在侧板凸台上,一个永磁体嵌入在球头底部。3个霍尔传感器放置在球窝中,使用CH-1600高精度高斯计读取实时磁感应强度。实验中使用两个高精度旋转台,底部使用型号为DP300(精度为±1″)的RPI转台输出
$\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} $ |
获取实验数据后,分别使用等效磁荷法和GRNN算法来反解转角值,并计算各自的测量误差,两种方法的测量误差如图7所示,361个测量点依次展示在误差分布图中,
前期用等效磁荷模型方法测转角时,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′,精度有了一定程度的提高。上述平均误差即为所有测量点绝对误差的算术平均值。
固定
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.
|