本发明属于仿生机器鱼领域,具体涉及一种基于cpg模型的机器鱼闭环反馈控制方法。
背景技术:
传统仿生机器鱼的控制方法基于运动学和动力学模型,具有构造简单、易实现等特点,但简化控制模型易造成机器鱼游动灵活性差、可调节性差和鲁棒性差等缺点,且对环境信息处理能力弱,难以实现机器鱼自主游动。中枢模式发生器(cpg)控制模型受脊椎动物中枢神经系统启发,模仿神经元连接方式建立数学模型,不仅能够产生稳定的节律信号,还易于调节信号频率、幅值等参数,具有良好的自适应性和鲁棒性。同时,仿生机器鱼需要引入外界环境信息及本体状态信息从而实现自主游动,但现有cpg模型通常由复杂的非线性微分方程组构成,含有高度非线性环节,难以实现机器鱼反馈控制。目前,对于机器鱼cpg反馈控制的研究尚处于起步阶段,缺乏实现机器鱼自主游动的有效控制方法。
技术实现要素:
本发明的目的在于提供一种基于cpg模型的机器鱼闭环反馈控制方法,以克服现有技术的不足。
为达到上述目的,本发明采用如下技术方案:
一种基于cpg模型的机器鱼闭环反馈控制方法,包括以下步骤:
步骤1)、基于多个cpg单元构建仿生机器鱼的cpg模型,每一个cpg单元用于控制一个关节驱动舵机的运动角度;
步骤2)、根据cpg模型构建cpg网络结构拓扑图,对cpg模型的相关参数的取值范围进行限定:设定幅值a、周期τ、相位调节相关系数ε值;
步骤3)、获取cpg模型周侧障碍信息及偏航角信息,对障碍信息和偏航角信息进行模糊化处理获得相应的隶属度,再基于模糊规则库进行模糊推理,然后根据推理结果进行模糊控制量的清晰化处理,从而获得cpg模型反馈信息输入变量λ;
步骤4)、对于反馈信息输入变量λ的cpg模型采用euler法进行离散化处理,进而获得不同时刻下机器鱼关节舵机的输出角度值。
进一步的,各cpg单元的关节驱动舵机之间为链式耦合关系,并且采用最近相邻耦合关系策略。
进一步的,通过多个cpg单元链式耦合的形式构建出仿生机器鱼的cpg模型,相邻两个cpg单元的后一个cpg单元只受前一个cpg单元状态的影响;其中,cpg模型的首个cpg单元即cpg1单元用以调节各振荡器间的相位差,仅与其后第二个cpg2单元链接;cpg单元由振荡器内部左右两侧相应的神经元互相耦合关系来替补受前一cpg单元对其状态影响的缺失,相位调节方程表示如下:
式中,wl是cpg1单元左半侧对右半侧的耦合系数;wr是cpg1单元右半侧对左半侧的耦合系数;ε是相位调节相关系数。
进一步的,具有cpg模型建立:初始化各cpg单元的神经元膜电势x、耦合权重和常系数值,再对输入参数幅值a、周期τ、相位调节相关系数ε进行设定,经过微分方程运算获得振荡器中各神经元的膜电势,生成仿生机器鱼中各关节cpg单元的输出角度y。
进一步的,具体cpg模型表示如下:
式中,j表示第j个振荡器;k表示振荡器内部的一侧的神经元,
进一步的,当cpg模型周侧有障碍物时,通过测得cpg模型与障碍物的距离信息d,根据避障模糊控制方法对距离信息d进行模糊化处理获得相应的隶属度,再基于模糊规则库进行模糊推理,然后根据推理结果进行模糊控制量的清晰化处理,从而获得cpg反馈信息输入变量λ。
进一步的,实时获取机器鱼的偏航角信息,基于期望偏航角指令,根据偏航角控制方法首先对偏航角信息进行模糊化处理获得隶属度信息,接着基于偏航角模糊规则库进行模糊推理,再根据推理结果进行模糊控制量的清晰化处理,从而获得cpg反馈信息输入变量λ。
进一步的,采用euler法进行离散化处理计算时,先设定cpg模型输入参数的取值、cpg单元中各神经元的初始膜电势、耦合权重和常系数取值;然后每间隔一个时间h进行一次离散计算,离散计算求解后即可获得该时刻下振荡器的输出角度y,同时得到该振荡器内部各神经元膜电势的一组新数值,并将该组新数值作为下一时刻的初始状态值进行下一步的离散计算;通过如此不断的迭代更新不同时刻的中间状态量,从而得出不同时刻各cpg单元的输出角度y。
进一步的,cpg模型离散化方程为:
式中,i表示离散时间变量;h表示时间的增量;k表示振荡器内部的一侧的神经元,
进一步的,避障模糊控制方法基于三维模糊控制器,其隶属函数为三角形函数和梯形函数,根据模糊规则库采用larsen推理法进行推理,并通过加权平均法将模糊量转换成清晰量,进而确定cpg模型的输入参数λ,加权平均法的计算公式表示如下:
式中,λ*为清晰值,即反馈信息的输入变量;μq(λ)表示为λ属于模糊集合q的隶属度;a、b分别表示为λ取值的上、下界。
与现有技术相比,本发明具有以下有益的技术效果:
本发明一种基于cpg模型的机器鱼闭环反馈控制方法,对于每一个cpg单元用于控制一个关节驱动舵机的运动角度的机器鱼,建立基于多个cpg单元构建仿生机器鱼的cpg模型,所建立的cpg模型能够很好地表征出运动神经元的生物学特性,同时该模型不仅可以对相位差、频率和振幅分别调节实现机器鱼的节律运动控制,还具有良好的参数突变适应性;根据cpg模型构建cpg网络结构拓扑图,根据获取的cpg模型周侧障碍信息及偏航角信息作为反馈项,利用euler法离散化所建立的cpg模型,降低模型复杂度,方便求解;改善了机器鱼的运动协调稳定性与环境自适应能力,利用该种基于cpg模型的闭环控制方法,能够提高仿生机器鱼的游动灵活性,实现机器鱼的自主游动。本发明引入仿生机器鱼的本体状态信息和水域环境信息,为仿生机器鱼的运动闭环反馈系统的设计提供了理论基础,同时,还提高了仿生机器鱼运动的协调性及灵活性,实现了自主游动的控制。
进一步的,对于由多个cpg单元链式耦合组成的多舵机串联关节机器鱼的反馈控制有良好的适用性。
附图说明
图1是本发明基于cpg的仿生机器鱼网络拓扑示意图。
图2是仿生机器鱼的闭环反馈控制结构图。
图3是仿生机器鱼接收红外传感器避障反馈信息的模糊控制框图。
图4是仿生机器鱼接收偏航角反馈信息的模糊控制框图。
图5是仿生机器鱼接收俯仰角反馈信息的模糊pid控制框图。
图6是仿生机器鱼的控制硬件框图。
具体实施方式
为使本发明的目的、技术方案和优点全面、清晰的展现出来,下面将结合附图对基于cpg模型的机器鱼闭环控制方法的具体实施方式做进一步的详细说明。需要提前说明的是,为了便于描述,所给出的附图仅是本发明相关的部分结构示意图,并非是本发明的全部实施例。
一种基于cpg模型的机器鱼闭环反馈控制方法,包括以下步骤:
步骤1)、基于多个cpg单元链式耦合的形式构建仿生机器鱼的cpg模型;每一个cpg单元用于控制一个关节驱动舵机的运动角度;各cpg单元的关节驱动舵机之间为链式耦合关系,并且采用最近相邻耦合关系策略。
具体的,参阅图1,实施例中设计有4个cpg单元,分别为cpg1、cpg2、cpg3、cpg4单元。通过多个cpg单元链式耦合的形式构建出仿生机器鱼的cpg模型,即运动控制网络,相邻两个cpg单元的后一个cpg单元只受前一个cpg单元状态的影响;其中,cpg模型的首个cpg单元即cpg1单元用以调节各振荡器间的相位差,仅与其后第二个cpg2单元链接;cpg单元由振荡器内部左右两侧相应的神经元互相耦合关系来替补受前一cpg单元对其状态影响的缺失,相位调节方程表示如下:
式中,wl是cpg1单元左半侧对右半侧的耦合系数;wr是cpg1单元右半侧对左半侧的耦合系数;ε是相位调节相关系数。
cpg模型建立的具体过程如下:首先,初始化各cpg单元的神经元膜电势x、耦合权重和常系数值;再对输入参数幅值a、周期τ、相位调节相关系数ε进行设定;经过微分方程运算获得振荡器中各神经元的膜电势;生成仿生机器鱼中各关节cpg单元的输出角度y;
具体cpg模型表示如下:
式中,j表示第j个振荡器;k表示振荡器内部的一侧的神经元,
步骤2)、根据cpg模型构建cpg网络结构拓扑图,在实际工程应用中需对cpg模型的相关参数的取值范围进行限定,设定幅值a、周期τ、相位调节相关系数ε值;
步骤3)、获取cpg模型周侧障碍信息及偏航角信息,对障碍信息和偏航角信息进行模糊化处理获得相应的隶属度,再基于模糊规则库进行模糊推理,然后根据推理结果进行模糊控制量的清晰化处理,从而获得cpg模型反馈信息输入变量λ;
具体的,当cpg模型周侧有障碍物时,通过红外传感器测得cpg模型与障碍物的距离信息d,根据避障模糊控制方法首先对距离信息d进行模糊化处理获得相应的隶属度,再基于模糊规则库进行模糊推理,然后根据推理结果进行模糊控制量的清晰化处理,从而获得cpg反馈信息输入变量λ,由此变量调节cpg模型的输出信号,改变仿生机器鱼的运动状态,最终实现机器鱼的自主避障游动。
具体的,当通过上位机向机器鱼发送期望偏航角指令后,实时的获取机器鱼的偏航角信息,根据偏航角控制方法首先对偏航角信息进行模糊化处理获得隶属度信息,接着基于偏航角模糊规则库进行模糊推理,再根据推理结果进行模糊控制量的清晰化处理,从而获得cpg反馈信息输入变量λ,由此变量调节cpg模型的输出信号,调节仿生机器鱼的运动姿态,精确的控制机器按照期望的偏航角游动。
步骤4)、对于反馈信息输入变量λ的cpg模型采用euler法进行离散化处理,进而获得不同时刻下机器鱼关节舵机的输出角度值。
具体的,采用euler法进行离散化处理计算时,应先设定cpg模型输入参数的取值、cpg单元中各神经元的初始膜电势、耦合权重和常系数取值;然后每间隔一个时间h进行一次离散计算,离散计算求解后即可获得该时刻下振荡器的输出角度y,同时得到该振荡器内部各神经元膜电势的一组新数值,并将该组新数值作为下一时刻的初始状态值进行下一步的离散计算;通过如此不断的迭代更新不同时刻的中间状态量,从而得出不同时刻各cpg单元的输出角度y,控制仿生机器鱼的各个关节舵机按对应的cpg单元的输出角度y运动,最终实现仿生机器鱼的节律运动;
本发明提出的机器鱼闭环控制方法所采用的cpg模型离散化方程如下:
式中,i表示离散时间变量;h表示时间的增量;k表示振荡器内部的一侧的神经元,
本申请针对机器鱼为三关节舵机串联驱动,每一个关节舵机对应一个cpg单元,由相应的cpg单元输出关节舵机各个时刻的运动角度;对所述cpg模型中的神经元膜电势、输入参数及耦合系数进行初始化取值,然后获取cpg模型周侧障碍信息及偏航角信息,对障碍信息和偏航角信息进行模糊化处理获得相应的隶属度,再基于模糊规则库进行模糊推理,然后根据推理结果进行模糊控制量的清晰化处理,从而获得cpg模型反馈信息输入变量λ;再通过euler法离散化cpg微分方程获得各时刻下的一组关节舵机运动角度,即可实现仿生机器鱼的连续游动控制。
参阅图2,本申请针对三关节舵机串联驱动的仿生机器鱼,在仿生机器鱼的前端、左侧和右侧分别布置一个红外传感器,红外传感器能够探测出7-85cm范围内的障碍物,并将障碍物信息反馈至stm32核心控制板,形成闭环反馈回路,再通过模糊控制方法促使机器鱼迅速做出避障动作,实现仿生机器鱼的自主避障游动。
仿生机器鱼的内部装有惯性测量单元(imu),能够实时的获取机器鱼的偏航角,并将偏航角信息反馈至stm32核心控制板,形成闭环反馈回路,再利用模糊控制方法地对机器鱼的姿态进行调整,从而控制机器鱼准确的按照设定的期望偏航角游动,实现对仿生机器鱼偏航角的精准控制。
本申请利用重心改变法来实现仿生机器鱼的浮潜功能,在鱼头处垂直安装一浮潜舵机,舵机悬挂有重物铅块,通过控制舵机摆动带动铅块转动,从而改变机器鱼重心位置,达到浮潜的目的。同时,通过imu传感器实时获取机器鱼的俯仰角信息,并反馈至stm32核心控制板,形成闭环反馈回路,进而采用模糊pid控制方法调整机器鱼的俯仰角,控制机器鱼按照期望的俯仰角进行浮潜运动。具体的,当通过上位机向机器鱼发送期望俯仰角指令后,可利用imu实时的获取机器鱼的俯仰角信息,并将其与期望俯仰角的偏差一同传送至预先存储有俯仰角模糊pid控制程序的stm32控制板,stm32控制板根据模糊pid控制程序首先对俯仰角偏差信息进行模糊化处理获得隶属度信息,接着基于事先确定好的模糊规则库进行模糊推理,再根据推理结果进行模糊控制量的清晰化处理,从而在线调整pid控制器的比例增益、积分增益、微分增益三个参数,让pid参数可自动调整,进而控制浮潜舵机的转动,改变机器鱼重心位置,完成对机器鱼俯仰角的精确控制。
具体的,自主避障模糊控制主要用于帮助机器鱼自主决策避障路线,使其在复杂的水下环境中具备自动躲避障碍物实现自主游动的能力,而偏航角模糊控制和俯仰角模糊pid控制则主要用于控制机器鱼准确地按照设定的期望路线游动。在实际的应用中,机器鱼将面临复杂未知的水下环境,因此,为确保仿生机器鱼能够安全高效的完成作业任务,要求机器鱼的自主避障模糊控制的优先级要高于偏航角模糊控制和俯仰角模糊pid控制。
参阅图2,本申请通过有限状态机(fsm)设定自主避障模糊控制和偏航角模糊控制的优先级,进而确定反馈信息的输入变量λ并传递给cpg模块,从而调整cpg模块的输出信号,改变机器鱼的游动姿态,完成自主避障游动或期望偏航角游动。同时,通过设定自主避障模糊控制和俯仰角模糊pid控制的优先级,确保自主避障模糊控制在三者中始终具有最高优先级。而俯仰角控制的是浮潜舵机与偏航角控制的关节舵机(d1、d2、d3)相互独立,因此,将俯仰角模糊pid控制与偏航角模糊控制设定为同等优先级。具体的,机器鱼在按照期望的偏航角或俯仰角游动时,当红外传感器检测到障碍物,机器鱼将中断偏航或浮潜游动,进入优先级更高的自主避障游动模式,待避障结束后自动调整姿态恢复期望的偏航或浮潜游动。
参阅图3,仿生机器鱼可通过鱼头上的红外传感器获得位于机器鱼前方、左侧、右侧障碍物的距离信息sf、sl、sr,并传递至自主避障模糊控制器进行模糊推理,确定环境反馈信息的输入变量λ,进而调节cpg模块的输出信号,实现机器鱼的自主避障游动。其中,避障模糊控制方法基于三维模糊控制器,其隶属函数为三角形函数和梯形函数,根据模糊规则库采用larsen推理法进行推理,并通过加权平均法将模糊量转换成清晰量,进而确定cpg模型的输入参数λ,最终实现机器鱼的自主避障模糊控制;加权平均法的计算公式表示如下:
式中,λ*为清晰值,即反馈信息的输入变量;μq(λ)表示为λ属于模糊集合q的隶属度;a、b分别表示为λ取值的上、下界。
参阅图4,本申请仿生机器鱼装有imu传感器,能够实时的获取机器鱼的实际偏航角μ,而μh则为前时间间隔h时的实际偏航角,将期望偏航角μset与实际偏航角μ的差值eμ和实际偏航角μ与μh的差值δμ作为偏航角模糊控制器的输入变量,经过模糊推理后确定对应的反馈信息变量λ,进而改变cpg模块的输出信号,调整机器鱼的游动姿态,控制机器鱼准确地按照期望偏航角游动。其中,偏航角模糊控制器的模糊器为二维模糊器,隶属函数为三角形函数和梯形函数,根据模糊规则库采用mamdani推理法进行推理,再通过上述加权平均法将模糊量转换为清晰量,由此获得cpg模型的输入变量λ,从而不断的调整机器鱼的实际偏航角,使其准确地按照期望的偏航角游动。
参阅图5,通过imu传感器实时获取机器鱼的实际俯仰角γ,将实际俯仰角γ与期望俯仰角γset的差值eγ作为俯仰角模糊pid控制器的输入量,从而生成激励信号ψ控制浮潜舵机摆动,实现仿生机器鱼的上浮下潜运动。
仿生机器鱼闭环控制系统的硬件实现
一种基于cpg模型的机器鱼闭环控制系统的硬件框图如图6所示,该系统包括stm32核心控制板、传感器模块、舵机驱动模块(包含3个关节舵机及1个浮潜舵机)、电源管理模块、无线通信模块和图像采集模块。其中,传感器模块红外传感器和imu传感器组成,利用红外传感器探测机器鱼周围环境障碍物的距离信息,并进行闭环反馈,实现机器鱼自主避障功能;通过imu传感器测得机器鱼的俯仰角和偏航角信息,并进行反馈,从而达到对机器鱼偏航角、俯仰角精确控制的目的;利用无线通信模块实现机器鱼与上位机之间的通信,通过上位机改变所述cpg模型的频率、幅值、相位差等参数并发送给机器鱼,从而改变机器鱼的游动性能;图像采集模块则用以录制机器鱼所处水下环境状况,并通过无线通信模块将影像传回上位机进行显示,具有一定的探测意义;所述电源管理模块则用于为机器鱼的各个模块进行供电。
参阅图6,传感器模块将环境信息及机器鱼姿态信息传递给stm32核心控制板,stm32核心控制板根据接收的反馈信息调节cpg模型,并实时在线的产生机器鱼关节驱动舵机及浮潜舵机的控制信号,从而实现仿生机器鱼前进、转弯、上浮、下潜及倒游运动。
以上所述的具体实施例仅为对本发明的技术思想进行展示和说明,不能用于限定本发明,凡在本发明的设计思想和原则之内,在技术方案上所做的任何修改、替换及改进等,均应在本发明的保护范围之内。
1.一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,包括以下步骤:
步骤1)、基于多个cpg单元构建仿生机器鱼的cpg模型,每一个cpg单元用于控制一个关节驱动舵机的运动角度;
步骤2)、根据cpg模型构建cpg网络结构拓扑图,对cpg模型的相关参数的取值范围进行限定:设定幅值a、周期τ、相位调节相关系数ε值;
步骤3)、获取cpg模型周侧障碍信息及偏航角信息,对障碍信息和偏航角信息进行模糊化处理获得相应的隶属度,再基于模糊规则库进行模糊推理,然后根据推理结果进行模糊控制量的清晰化处理,从而获得cpg模型反馈信息输入变量λ;
步骤4)、对于反馈信息输入变量λ的cpg模型采用euler法进行离散化处理,进而获得不同时刻下机器鱼关节舵机的输出角度值。
2.根据权利要求1所述的一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,各cpg单元的关节驱动舵机之间为链式耦合关系,并且采用最近相邻耦合关系策略。
3.根据权利要求1所述的一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,通过多个cpg单元链式耦合的形式构建出仿生机器鱼的cpg模型,相邻两个cpg单元的后一个cpg单元只受前一个cpg单元状态的影响;其中,cpg模型的首个cpg单元即cpg1单元用以调节各振荡器间的相位差,仅与其后第二个cpg2单元链接;cpg单元由振荡器内部左右两侧相应的神经元互相耦合关系来替补受前一cpg单元对其状态影响的缺失,相位调节方程表示如下:
式中,wl是cpg1单元左半侧对右半侧的耦合系数;wr是cpg1单元右半侧对左半侧的耦合系数;ε是相位调节相关系数。
4.根据权利要求1所述的一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,具有cpg模型建立:初始化各cpg单元的神经元膜电势x、耦合权重和常系数值,再对输入参数幅值a、周期τ、相位调节相关系数ε进行设定,经过微分方程运算获得振荡器中各神经元的膜电势,生成仿生机器鱼中各关节cpg单元的输出角度y。
5.根据权利要求4所述的一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,具体cpg模型表示如下:
式中,j表示第j个振荡器;k表示振荡器内部的一侧的神经元,
6.根据权利要求1所述的一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,当cpg模型周侧有障碍物时,通过测得cpg模型与障碍物的距离信息d,根据避障模糊控制方法对距离信息d进行模糊化处理获得相应的隶属度,再基于模糊规则库进行模糊推理,然后根据推理结果进行模糊控制量的清晰化处理,从而获得cpg反馈信息输入变量λ。
7.根据权利要求1所述的一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,实时获取机器鱼的偏航角信息,基于期望偏航角指令,根据偏航角控制方法首先对偏航角信息进行模糊化处理获得隶属度信息,接着基于偏航角模糊规则库进行模糊推理,再根据推理结果进行模糊控制量的清晰化处理,从而获得cpg反馈信息输入变量λ。
8.根据权利要求1所述的一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,采用euler法进行离散化处理计算时,先设定cpg模型输入参数的取值、cpg单元中各神经元的初始膜电势、耦合权重和常系数取值;然后每间隔一个时间h进行一次离散计算,离散计算求解后即可获得该时刻下振荡器的输出角度y,同时得到该振荡器内部各神经元膜电势的一组新数值,并将该组新数值作为下一时刻的初始状态值进行下一步的离散计算;通过如此不断的迭代更新不同时刻的中间状态量,从而得出不同时刻各cpg单元的输出角度y。
9.根据权利要求8所述的一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,cpg模型离散化方程为:
式中,i表示离散时间变量;h表示时间的增量;k表示振荡器内部的一侧的神经元,
10.根据权利要求1所述的一种基于cpg模型的机器鱼闭环反馈控制方法,其特征在于,避障模糊控制方法基于三维模糊控制器,其隶属函数为三角形函数和梯形函数,根据模糊规则库采用larsen推理法进行推理,并通过加权平均法将模糊量转换成清晰量,进而确定cpg模型的输入参数λ,加权平均法的计算公式表示如下:
式中,λ*为清晰值,即反馈信息的输入变量;μq(λ)表示为λ属于模糊集合q的隶属度;a、b分别表示为λ取值的上、下界。
技术总结