基于CFD-PID实现仿生鱼自动控制自推进的方法

文档序号:36442954发布日期:2023-12-21 12:25阅读:208来源:国知局
技术简介:
本发明针对传统仿生鱼数值模拟无法实现自主速度控制的问题,提出基于CFD-PID的自推进控制方法。通过将PID算法嵌入仿生鱼波动方程,利用实时反馈动态调节摆幅,结合CFD仿真获取流场信息,实现仿生鱼速度的精准控制。该方法突破了固定运动模式限制,提升了仿生鱼在复杂环境下的运动灵活性和工程应用价值。
关键词:仿生鱼自动控制,CFD-PID结合

本发明属于仿生流体力学及自动控制,具体涉及一种基于cfd-pid实现仿生鱼自动控制自推进的方法。


背景技术:

1、鱼的游动方式分为bcf推进模式(身体和尾鳍为推进部位)和mpf模式(胸鳍、背鳍和腹鳍为推进部位),其中bcf推进模式的优点是高效、快速推进,是自然界大多数鱼类采用的游动方式。基于此仿生原理研制的仿生机器鱼广泛应用于各个领域,流场变化和控制手段对仿生鱼的运动性能有很大影响,数值模拟是研究仿生鱼运动性能成本低且有效的重要方式。

2、当前对于仿生鱼的数值模拟多采用模拟其自推进的方式,仿生鱼由静止加速到某一速度,当速度稳定时,受到平衡的推力和阻力,数值模拟可以展现仿生鱼周围流场的特征,帮助理解仿生鱼的运动性能。但是当前的数值模拟方法由于指定了仿生鱼的运动,其最终的运动形态是固定的,所以不能使仿生鱼达到任意指定的速度。不同于真实的鱼,机器鱼的运动很大程度取决于控制算法,当前机器鱼的运动大多数采用闭环控制方案,其中pid控制算法是最常用的算法之一。

3、然而综合考虑仿生鱼的主动控制运动和流场特征的方法还并未给出,对于研究主动控制下的仿生鱼自推进运动是很有必要的。


技术实现思路

1、为了将pid(比例-积分-微分)控制算法和cfd(计算流体力学)技术结合求解仿生鱼自主推进运动问题,通过主动控制的手段使仿生鱼达到任意特定的速度,弥补传统计算方法中只能考虑人为给定鱼的运动方程的自推进过程,本申请提出一种基于cfd-pid实现仿生鱼自动控制自推进的方法,包括以下步骤:

2、建立仿生鱼体模型,选取合适的仿生类标准翼型结合仿生鱼的初始状态进行模型构建,同时按照流场仿真要求进行流场建模;

3、划分网格,对仿生鱼模型和整个流场进行网格划分;

4、编写udf(用户自定义函数),内容包括实现仿生鱼的运动包括自身的波动和在空间上的移动,其中仿生鱼波动方程中的摆幅受pid算法控制,根据实时的反馈信息随着时间迭代,不断调节摆幅满足速度要求;

5、设置求解参数,选择和鱼游泳环境相匹配的粘性模型,确定边界条件,进行动网格设置,采用网格重构技术以解决仿生鱼模型运动导致的网格变形问题,编译udf,设置时间步长和总时间步进行求解;

6、数据处理,计算仿生鱼的推力系数、升力系数,计算涡流场、压力场等流场信息,导出仿生鱼的速度演化、摆幅变化等过程信息;

7、调参,根据调参法则,改变不同的pid参数,比较速度曲线,确定合适的控制参数。

8、进一步的,仿生鱼体模型的材料选用naca0012翼型,材料选择为固体;流场的材料选择为水,密度1000kg/m3,动力粘度为0.001kg/(ms)。

9、进一步的,使用icem网格划分软件进行网格划分,使用三角非结构化贴体网格对仿生鱼模型和整个流场进行网格划分,并在仿生鱼前缘、尾缘、将要运动的区域进行加密处理。

10、进一步的,

11、仿生鱼的自身波动采用lighthill细长体理论,计算方程如下所示:

12、

13、式中h(x,t)为鱼体中线的位移方程,x为鱼体距离鱼体横坐标,t为时间,a(x)是运动的摆幅,它是关于横坐标的函数,λ是运动波长,t为波动周期,a(x)的方程如下所示:

14、

15、其中a为最大波幅,l为仿生鱼的总长;

16、仿生鱼的位置及速度由牛顿第二定律确定,控制方程为:

17、m(du/dt)=f

18、i(dw/dt)=m

19、式中,m为仿生鱼的质量,u为仿生鱼的瞬时速度,f为仿生鱼受力,i为转动惯量,w为角速度,m为仿生鱼所受力矩,其中u是随着时间变化而不断变化的;

20、在仿生鱼运动过程中,随体坐标系坐标转化为大地坐标系公式如下:

21、x'=(x-x0)cosθ+(y-y0)sinθ

22、y'=-(x-x0)sinθ+(y-y0)cosθ

23、大地坐标系坐标转化为随体坐标系公式如下:

24、x=x0+x'cosθ-y'sinθ

25、y=y0+x'sinθ+y'cosθ

26、式中(x,y)为仿生鱼中线在大地坐标系中的坐标,(x′,x′)为仿生鱼中线在随体坐标系中的坐标,(x0,y0)为仿生鱼中线最前缘在大地坐标系中的坐标;

27、pid控制方程如下所示:

28、

29、式中u(t)为输出值,kp、ki和kd分别为比例系数、积分系数和微分系数,e(t)为输入误差,e(t)的是预定速度与实际速度的差值;

30、pid通过调节最大波幅a间接控制速度,整体过程包括:仿生鱼受力获得加速度向前推进,每个时间步计算仿生鱼实时速度与指定速度的误差,输出新的a,仿生鱼按照新的波动方程运动,根据实时受力获得新的速度,不断循环。

31、进一步的,流场左右边界分别设置为速度进口和压力出口,速度进口来流速度设置为0,上下表面设置为对称平面;动网格设置中采用扩散光顺和网格重构的方法,设定合适的时间步和时间步长;所计算的流场控制方程包括动量守恒方程和质量守恒方程,控制方程如下所示:

32、

33、

34、式中,p和μ分别为速度矢量、压力和水的动态粘度,ρ为水的密度。对流场控制方程使用有限体积法离散化,该方法具有非定常项的隐式一阶时间推进方案,对流项采用二阶迎风格式,扩散项离散化采用二阶中心差分格式。压力和速度耦合使用simple算法实现。

35、进一步的,数据处理中,推力系数和升力系数通过以下公式计算:

36、

37、

38、式中ct和cl分别为推力系数和升力系数,fx和fy分别为仿生鱼在x方向和y方向所受的分力,为收敛速度;

39、速度无因次化为:

40、u=u/l

41、us=u/l。

42、进一步的,最终确定的控制参数kp、ki和kd分别为0.8、0.0001和0.2。

43、本发明与现有技术相比,其有益效果在于:

44、本发明与传统的自推进数值模拟相比,可以使仿生鱼达到任意指定的速度,方法简单,稳定,可靠;本发明可应用于仿生鱼变速、转弯、稳定鱼群阵型等其它运动的数值模拟,求解流场控制方程要比采用简化的动力学模型更加真实,更具工程意义;本发明所提供的流场信息有助于更好的理解仿生鱼的水动力性能,找寻改善提高仿生鱼运动性能的方案。



技术特征:

1.基于cfd-pid实现仿生鱼自动控制自推进的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于cfd-pid实现仿生鱼自动控制自推进的方法,其特征在于:仿生鱼体模型的材料选用naca0012翼型,材料选择为固体;流场的材料选择为水,密度1000kg/m3,动力粘度为0.001kg/(ms)。

3.根据权利要求2所述的基于cfd-pid实现仿生鱼自动控制自推进的方法,其特征在于:使用icem网格划分软件进行网格划分,使用三角非结构化贴体网格对仿生鱼模型和整个流场进行网格划分,并在仿生鱼前缘、尾缘、将要运动的区域进行加密处理。

4.根据权利要求3所述的基于cfd-pid实现仿生鱼自动控制自推进的方法,其特征在于:

5.根据权利要求4所述的基于cfd-pid实现仿生鱼自动控制自推进的方法,其特征在于:流场左右边界分别设置为速度进口和压力出口,速度进口来流速度设置为0,上下表面设置为对称平面;动网格设置中采用扩散光顺和网格重构的方法,设定合适的时间步和时间步长;所计算的流场控制方程包括动量守恒方程和质量守恒方程,控制方程如下所示:

6.根据权利要求5所述的基于cfd-pid实现仿生鱼自动控制自推进的方法,其特征在于,数据处理中,推力系数和升力系数通过以下公式计算:

7.根据权利要求1所述的基于cfd-pid实现仿生鱼自动控制自推进的方法,其特征在于:最终确定的控制参数kp、ki和kd分别为0.8、0.0001和0.2。


技术总结
本发明提出的基于CFD-PID实现仿生鱼主动控制自推进的方法,包括以下步骤:建立仿生鱼体模型,同时按照流场仿真要求进行流场建模;划分网格,对仿生鱼模型和整个流场进行网格划分;编写UDF,包括实现仿生鱼的运动包括自身的波动和在空间上的移动;设置求解参数,选择和鱼游泳环境相匹配的粘性模型,确定边界条件;数据处理,计算仿生鱼的推力系数、升力系数,计算涡流场、压力场等流场信息;调参,确定合适的控制参数。本发明可应用于仿生鱼变速、转弯、稳定鱼群阵型等其它运动的数值模拟,求解流场控制方程要比采用简化的动力学模型更加真实;本发明所提供的流场信息有助于更好的理解仿生鱼的水动力性能,找寻改善提高仿生鱼运动性能的方案。

技术研发人员:李若欣,王鹏飞,韩阳,于凯,刘焱
受保护的技术使用者:哈尔滨工程大学
技术研发日:
技术公布日:2024/1/15
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!