朱红秀, 杜 闯, 褚彦斌, 郑 权, 刘兆盈, 丁浩楠
一种电磁驱动机器鱼避障方法
朱红秀, 杜 闯, 褚彦斌, 郑 权, 刘兆盈, 丁浩楠
(中国矿业大学(北京) 机电与信息工程学院, 北京, 100083)
机器鱼工作的水下环境往往是复杂且无法准确预知的,因此在遇到障碍物时,能够及时躲避转弯尤为重要。文中提出了一种利用模糊控制实现以电磁驱动器作为动力源的机器鱼转弯避障控制方法, 并在FLUENT软件中使用用户自定义函数和动网格技术进行了转弯仿真, 结合安装红外距离传感器,在Matlab中设置模糊控制器输入输出隶度函数, 并归纳出模糊控制的规则。最后搭建实验平台进行机器鱼水下转弯避障游动实验, 实验结果表明, 模糊控制结合红外距离传感器可以实现电磁驱动机器鱼在二维平面游动时的有效避障。
机器鱼; 电磁驱动; 转弯避障; 模糊控制
随着科技发展, 机器鱼作为典型的水下机器人已经引起了广泛关注[1]。水下机器人的工作环境复杂多变, 为保证水下机器人的航行安全, 根据其运动特性设计高效的实时避障方案是研究课题中不可缺少的内容[2-4]。在水下移动机器人避障方面, 各国专家和学者开展了很多研究
工作。Zhang等[5]利用网格法描述障碍物环境信息, 结合进化人工势场法优化水下机器人避障路径并通过仿真结果证明了该方法的可行性和有效性, 但人工势场法在水下机器人实时避障时准确获得障碍的位置信息和确定斥力场大小的难度较大。金久才[6]利用分层遗传算法对水下机器人进行规划避障, 并实现即使在规划路径附近增加一些新的未知障碍物依旧可以成功避障, 但是遗传算法始终摆脱不了对初始种群的依赖性。Huang等[7]训练出了用于水下机器人动态避障的神经网络, 并通过仿真证明了该神经网络的有效性, 但是网络参数的训练过程比较漫长且无法控制。Braginsky等[8]在水下机器人的侧面和水平面安装声呐, 并采用双层避障方法来有效避开侧面或水平面的障碍物, 提高了避障的成功率, 但由于避障过程计算复杂, 导致避障实时性不高。
模糊控制方法具有计算量小, 实时性好, 对避障传感器要求低等优点, 可以使用障碍物的相对距离信息或障碍的方位信息进行决策。据此, 文中从对电磁驱动机器鱼驱动器运动和控制信号特点分析出发, 推理出在机器鱼转弯避障情况下的鱼尾运动表达式和控制信号, 通过流体仿真验证了鱼尾转弯运动表达式的转弯效果, 最后用模糊控制算法制定避障控制规则并结合红外距离传感器进行了游动实验, 证明了整个系统搭建的正确性, 文中提出的转弯信号表达式和避障运动规则为电磁驱动机器鱼的转弯避障控制进一步优化完善提供了参考。
机器鱼总体装配如图1所示, 整体设计尺寸如图2所示, 动力源为电磁驱动器, 其结构如图3所示, 该驱动器结构简单, 在设计时可直接与机器鱼本体镶嵌。电磁驱动器正常工作时始终处于通电状态, 通过输入正弦电流信号, 使线圈从一侧极限位置摆动到另一侧极限位置来带动鱼尾鳍摆动。在进行瞬态仿真时, 所加激励源为正弦电流, 初始状态如图3左侧位置所示。
当正弦电流信号处于正半周期, 刚通电时线圈处于左侧极限位置, 随着通入正方向的电流逐渐变大, 线圈左端磁化为N极, 右端磁化为S极, 使该线圈与右侧永磁体相互吸引, 而与左侧永磁体相互排斥, 在二者合力作用下使永磁体推动线圈绕旋转轴顺时针摆动, 摆动到右侧极限位置后,正弦电压信号变换为负半周期, 线圈通入反方向的电流, 左端磁化为S极, 右端磁化为N极, 使该线圈与左侧永磁体相互吸引, 而与右侧永磁体相互排斥, 在二者合力作用下使永磁体推动线圈绕旋转轴逆时针摆动。永磁体和线圈间气隙是电磁驱动器主要的工作气隙, 该处磁场主要由永磁场和线圈磁场组成, 在气隙磁场力作用下线圈带动电磁驱动器动力输出臂绕旋转轴摆动, 线圈装配如图4所示, 从而控制尾鳍实现往复摆动。
图1 机器鱼总体装配
图2 机器鱼尺寸(单位: mm)
图 3 电磁驱动器结构
根据 Sepulveda等[9]对鲹科鱼类的观测, 该鱼类游动对应的鱼体波表达式为
1-中心轴 2-尼龙垫片 3-法兰轴承 4-电磁驱动器动力输出臂5-支撑外壳 6-线圈 7-永磁体 8-尾鳍。
根据以上结论将鱼的动作部位(即鱼体的后1/2部分)按一定比例划分为6段, 利用6个节段来拟合鱼的真实运动规律, 并在Matlab中分析得到各节段的运动表达式
其中节段6代表的是尾鳍部分, 鲹科式鱼类的波动对鱼的前进只起到辅助作用, 尾鳍的摆动提供了前进的主要动力, 同时, 从计算分析结果中也可以看到, 前5个节段的动作幅度较节段6 (即尾鳍)的动作幅度要小得多, 故得到单关节机器鱼尾鳍的运动表达式
因文中使用的电磁驱动器的线圈初始位置为左侧, 所以机器鱼尾鳍运动表达式
图5为机器鱼直线游动时尾鳍角度变化和控制信号。控制信号周期由角度变化周期推理得到, 根据多次实验, 控制信号电流幅值为0.5 mA时游动效果最好, 控制信号
得到单关节机器鱼鱼尾摆动角度随时间变化关系式后即可推理鱼体转弯时尾鳍的摆动情况。转弯时尾鳍摆动不对称, 根据流体中的物体受力特点, 若使鱼体在水中实现转向, 就要让尾鳍单向摆动以实现转向。当需要向右转弯时, 尾鳍向右侧摆动, 当需要向左转弯时, 尾鳍向左侧摆动[10]。由电磁舵机线圈的运动特点, 设置机器鱼分别向左游动和向右游动时尾鳍角度变化情况
图6为机器鱼分别向左右2种转弯游动时尾鳍角度变化和控制信号, 根据尾鳍在转弯时角度变化情况设定控制信号周期和相位, 控制信号表达式为
左右转弯时, 机器鱼运动情况基本一致。故文中只对机器鱼在左转弯工况下进行流体仿真。将机器鱼看作是不可压缩的刚体, 设置机器鱼周围流场为非定常不可压缩湍流, 采用k-ε湍流模型, 结合用户自定义函数(user defined function, UDF)动网格技术模拟在式(6)描述的运动情况下机器鱼模型左转弯时的运动情况[11]。
进行流体仿真时, 应尽量简化待求解的模型,以避免仿真过程对计算机算力要求过高和迭代时间过长。图7为Design Modeler软件中机器鱼仿真模型的建立情况, 结合实际游动情况, 仿真时机器鱼模型的质量1.78 kg, 吃水深度65 mm。
图6 转弯时尾鳍角度变化和控制信号
图7 流体仿真建模
在ICEM CFD软件中设定流体域和边界条件, 将鱼尾定义为可动壁面。然后进行三维非结构四面体网格剖分, 如图8为模型某截面处体网格剖分情况。
因机器鱼转弯时鱼尾只由中间位置向一侧往复摆动, 运动情况较为复杂, 需要使用UDF对运动状态进行描述, 使用DEFINE_CG_ MOTION宏定义机器鱼尾部运动过程中角度变化为式(6), 动网格更新方法为弹簧光顺和局部重构。
图8 网格剖分
求解计算后得到机器鱼在转弯运动过程中艏向角的变化情况。艏向角为机器鱼上以质心为原点的局部坐标系正半轴(游动方向)与全坐标系正半轴的夹角[12], 即图9中艏向角, 可见在机器鱼的转弯游动过程中, 艏向角是随时间变化的。
图9 艏向角示意图
图10为仿真得到的利用式(6)作为鱼尾摆动规律下机器鱼的艏向角随时间变化情况。由图中可知, 在=7.309 s时,=3.141 rad≈180°, 表明机器鱼此时游动方向和初始位置时游动方向基本相反, 参见式(6)可以使机器鱼实现转弯游动。
图10 转弯时艏向角变化情况
根据视线导航原理使用模糊逻辑来设计避障方案[13-15], 在机器鱼左右两侧各安装一个红外距离传感器, 分别测量斜向前一定角度的距离, 如图11所示。
图11 红外距离传感器安装
将左侧红外传感器和右侧红外传感器测得的障碍物距离差值表示为
将差值划分为7个模糊集: 左近(LN)、左中(LC)、左远(LF)、零(ZO)、右近(RN)、右中(RC)和右远(RF)。当值为负, 表示障碍物距鱼身左侧近, 且值越小代表越近;为正, 表示障碍物距鱼身右侧近, 且值越大代表越近。因考虑到红外距离传感器的精度、实际安装误差和机器鱼的实际游动情况, 2个红外距离传感器测出的值基本不存在相等的情况, 所以当=0时, 只表明机器鱼的游动路径上没有障碍物这一种情况。设定的取值范围为[–200, 200], 隶属度函数如图12所示。
图12 输入隶属度函数
控制量表示鱼尾向左或者向右的摆动频率。同样将控制量划分为7个模糊集: 左近(LN)、左中(LC)、左远(LF)、零(ZO)、右近(RN)、右中(RC)和右远(RF)。为负表示机器鱼鱼尾开始由中间位置向右摆动, 且值越小摆动频率越高;为正表示机器鱼鱼尾开始由中间位置向左摆动, 且值越大摆动频率越高。设定的取值范围为[–4, 4], 隶属度函数如图13所示。不同频率的转弯信号是以转弯控制信号表达式(8)和式(9)为原型, 通过改变相应频率后使用插值法离散数值后打包构成, 并在后期与输出构成映射关系。
图13 输出隶属度函数
使用Matlab模糊控制工具箱调用evalfis函数实现求解模糊关系, 进行模糊决策、控制量的反模糊化的相关矩阵运算, 从而得到距离差和控制量的映射关系, 通过GUI窗口可以观察不同的输入值所对应的输出值, 来验证模糊控制器的正确性。图14为输入=150时, 输出=2。
图14 输入值和输出值的映射关系
根据红外距离传感器的安装位置在Matlab 软件中分别模拟顺时针和逆时针游动来对模糊控制器的工作情况进行避障仿真。设定的障碍物是由4个黑色三角形组成的壁面, 绿色三角形代表起始点, 因为是圆周运动, 故该点同样为终止点。连续的红色点为机器鱼游动轨迹线。机器鱼顺时针游动仿真结果如图15所示, 由游动轨迹线可以看出, 机器鱼在二维平面游动过程中能够顺利避开其航线上的障碍壁面到达目标点。
图15 机器鱼顺时针游动避障仿真结果
机器鱼游动过程中, 前进方向检测到障碍物时, 红外距离传感器就会返回电压模拟信号, 经过模数(analog to digit, A/D)转换器, 将得到的模拟信号转换为数字信号, 传输给微处理器进行决策。微处理器接收障碍物距离信息, 根据上文设计的模糊控制器查找相对应的规则。利用微处理器程序输出数字信号, 经过数模(digit to analog, D/A)转换器, 将数字信号转换为模拟信号, 为了提高输出模拟信号的负载能力, 需通过功率放大器进行放大。各模块间的配合流程如图16所示。
图16 避障系统硬件组成
传感器模块为GP2Y0A02型号的红外距离传感器, A/D转换器为ADC0804, D/A转换器为DAC0832。因DAC模块提供的模拟信号不足以驱动电磁舵机中的电磁线圈, 故使用基于OPA 544的单路功率放大模块放大信号。避障流程如图17所示。
图17 避障系统程序流程图
为了验证仿真结果的可靠性, 进行了机器鱼避障实验, 在2 m×2 m的水池4个角分别安装壁面, 机器鱼以鱼缸右侧边中心处为出发点, 分别以不同速度沿着水池边缘和壁面逆时针和顺时针游动, 如图18所示。当机器鱼逆时针游动时主要测试的是机器鱼右侧红外距离传感器, 以及机器鱼在其鱼身右侧遇到障碍物后的运动情况; 当机器鱼顺时针游动时主要测试的是机器鱼左侧红外距离传感器, 以及机器鱼在其鱼身左侧遇到障碍物后的运动情况。
图18 机器鱼顺时针和逆时针游动情况
在机器鱼顺时针或逆时针运动时, 分别设定其运动速度大小为: 0.125 m/s, 0.25 m/s, 0.375 m/s, 0.5 m/s和0.625 m/s, 并使用秒表记录机器鱼在不同速度情况下游动一周所用时间, 并与仿真时间进行比较, 如图19所示。可见在2种方向的游动情况下, 实际游动时间比仿真结果时间略大, 这是因为机器鱼的实际游动环境是非线性且动态变化的, 所以在仿真时无法完全模拟真实的情况, 但随着速度值增大, 机器鱼游动一周的时间逐渐减小, 时间变化趋势和仿真结果基本一致, 从而可验证仿真结果的正确性。
图19 不同速度下机器鱼游动时间对比
通过对电磁驱动器工作原理和鲹鱼体波动表达式的研究, 得出单自由度机器鱼的运动表达式, 进而得到了尾鳍的摆动规律并推理出电磁驱动机器鱼转弯信号, 使用UDF动网格在FLUENT软件中进行了二维平面内机器鱼游动仿真, 得到了机器鱼在转弯游动时艏向角变化情况, 通过流体仿真证明了转弯时机器鱼鱼尾摆动表达式的正确性。最后使用模糊控制的方法, 实现了机器鱼在二维平面内的避障仿真, 并搭建驱动控制系统进行了水下实验。在实验中, 电磁驱动机器鱼实现顺逆时针2个方向上的避障游动, 从而证明整个避障硬件系统搭建的正确性, 可为电磁驱动机器鱼的研究提供参考。
[1] Shang L, Wang S, Tan M, et al. Motion Control for an Underwater Robotic Fish with Two Undulating Long-fins [C]//Proceedings of the 48th IEEE Conference on Decision and Control (CDC) Held Jointly with 2009 28th Chi- nese Control Conference. Shanghai, China: IEEE, 2009.
[2] 钟宏伟. 国外无人水下航行器装备与技术现状及展望[J]. 水下无人系统学报, 2017, 25(4): 215-225.Zhong Hong-wei. Review and Prospect of Equipment and Techniques for Unmanned Undersea Vehicle in Foreign Countries[J]. Journal of Unmanned Undersea Systems, 2017, 25(4): 215-225.
[3] Phuc N D, Truongthinh N. A Solution of Obstacle Collision Avoidance for Robotic Fish Based on Fuzzy Systems[C]//IEEE International Conference on Robotics & Biomimetics. Phuket, Thailand: IEEE, 2012.
[4] Lee P J, Wang W J. Robotic Fish Kinectics Design Based on a Fuzzy Control[M]//Latest Advances in Robot Kinematics. Springer: Dordrecht, 2012: 67-74.
[5] Zhang Q, Chen D, Chen T. An Obstacle Avoidance Method of Soccer Robot Based on Evolutionary Artificial Potential Field[J]. Energy Procedia, 2012, 16(5): 1792-1798.
[6] 金久才. 无人水下自主航行器(AUV)避碰研究[D]. 呼和浩特: 内蒙古大学, 2008.
[7] Huang Z, Zhu D, Bing S. A Multi-AUV Cooperative Hunting Method in 3-D Underwater Environment with Obstacle[J]. Engineering Applications of Artificial Inte- lligence, 2016, 50: 192-200.
[8] Braginsky B, Guterman H. Obstacle Avoidance Approaches for Autonomous Underwater Vehicle: Simulation and Experimental Results[J]. IEEE Journal of Oceanic Engineering, 2016, 41(4): 882-892.
[9] Sepulveda C A, Donley J M, Konstantinidis P, et al. Convergent Evolution in Mechanical Design of Lamnid Sha- rks and Tunas[J]. Nature, 2004, 429(6987): 61-65.
[10] Stavridis S, Papageorgiou D, Doulgeri Z. Dynamical System Based Robotic Motion Generation with Obstacle Avoidance[J]. IEEE Robotics and Automation Letters, 2017, 2(2): 712-718.
[11] Guan Z, Nong G, Gao W, et al. 3D Hydrodynamic Analysis of a Biomimetic Robot Fish[C]//International Conference on Control Automation Robotics & Vision. Singapore: IEEE, 2011.
[12] Zhao Z Y, Hong Z H, Deng Y S. Angle Measurement of Robotic Fish Based on Kalman Filter[J]. Applied Mechanics & Materials, 2014, 568-570: 1049-1053.
[13] Xia X, Li T. A Fuzzy Control Model Based on BP Neural Network Arithmetic for Optimal Control of Smart City Facilities[J]. Personal and Ubiquitous Computing, 2019, 23(3-4): 453-463.
[14] Vafamand N, Khooban M H, Dragicevic T, et al. Robust Non-fragile Fuzzy Control of Uncertain DC Microgrids Feeding Constant Power Loads[J]. IEEE Transactions on Power Electronics, 2019, 34(11): 11300-11308.
[15] Liu W, Xin Z, Chen Z. Fuzzy Rule Optimization and Reduction Based on Recursive Neural Networks[C]//International Conference on Control & Automation. Xiamen, China: IEEE, 2019.
Obstacles Avoiding Method for Electromagnetic Actuated Robotic Fish
ZHU Hong-xiu, DU Chuang, CHU Yan-bin, ZHENG Quan, LIU Zhao-ying, DING Hao-nan
(School of Electrical and Information Engineering, China University of Mining and Technology(Beijing), Beijing 100083, China)
A fuzzy obstacle avoidance control method for the robotic fish actuated by electromagnetic actuator was proposed. And the software FLUENT was employed to perform turning simulation by using its user define function(UDF) and the dynamic mesh technology. Infrared distance sensor was used. The input and output membership functions of the fuzzy controller were set in Matlab, and the rules of fuzzy control were summarized. Furthermore, an experimental platform was built to conduct underwater turning for obstacle avoidance experiment of the robotic fish. Experimental results show that the fuzzy control combined with infrared distance sensor can realize obstacle avoidance effectively when the electromagnetic actuated robot fish swims in a two-dimensional plane.
robotic fish; electromagnetic actuating; turning for obstacle avoidance; fuzzy control
TP242; O44
A
2096-3920(2019)06-0704-07
10.11993/j.issn.2096-3920.2019.06.015
2019-04-14;
2019-05-19.
朱红秀(1970-), 女, 博士, 副教授, 主要研究方向为测试测量技术与仪器.
朱红秀, 杜闯, 褚彦斌, 等. 一种电磁驱动机器鱼避障方法[J]. 水下无人系统学报, 2019, 27(6): 704-710.
(责任编辑: 许 妍)