鳞翅目昆虫模型仿真和控制方法、系统及可读存储介质转让专利

申请号 : CN202110508065.7

文献号 : CN113160367B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗国亮鲁挺松陈强刘菘金小刚肖美华

申请人 : 华东交通大学

摘要 :

本发明涉及鳞翅目昆虫模型仿真和控制方法、系统及可读存储介质,属于计算机图形及仿真技术领域;具体包括一种鳞翅目昆虫模型的仿真和控制方法;该方法采用三维mesh和层次化骨骼建立一个非刚体的虚拟鳞翅目昆虫模型,并实现了对其飞行的自动控制;在飞行控制时考虑了飞行速度、空间位置、所受的外力、环境等因素等对非刚体鳞翅目昆虫模型的飞行姿态影响,填补了现有技术中对非刚体鳞翅目模型飞行控制的空白;通过本发明提出的方法控制的鳞翅目模型,其飞行姿态更加真实,仿生性能更好。

权利要求 :

1.一种鳞翅目昆虫模型的仿真和控制方法,其特征在于,所述方法包括:步骤1:采用三维mesh和层次化骨骼建立虚拟鳞翅目昆虫模型;所述模型包括n个翅膀和重力信息;并基于* *

鳞翅目昆虫的飞行状态特性设置多个飞行控制角θ ,所述多个飞行控制角θ包括:前翼和γ ζ β Ψ Φ

后翼拍打角θ、前翼旋转角θ、俯仰角θ、前翼扫角θ和腹部旋转角θ;所述重力信息包括虚拟鳞翅目昆虫模型的质量、重力和虚拟鳞翅目昆虫模型的重心坐标;

步骤2:求解所述虚拟鳞翅目昆虫模型第j个翅膀上第i个三角面片上的空气动力Fi,j,并将所述第j个翅膀上第i个三角面片上的空气动力Fi,j进行叠加,得到第j个翅膀上的空气动力Fj;依次求解所述虚拟鳞翅目昆虫模型的n个翅膀上的空气动力,并得到所述虚拟鳞翅目昆虫模型的空气动力总和,以及在旋度噪声场上叠加Perlin噪声得到涡旋力Fvor;

步骤3:根据所述空气动力总和、所述涡旋力Fvor和所述重力得到虚拟鳞翅目昆虫模型的局部加速度aloc;通过飞行路径规划,获取若干吸引点;通过最近吸引点、鳞翅目昆虫模型的重心坐标和鳞翅目昆虫模型的质量计算得到虚拟鳞翅目昆虫模型的偏好加速度apre;并通过所述局部加速度aloc和所述偏好加速度apre得出鳞翅目昆虫的速度ut;

步骤4:依据所述鳞翅目昆虫的速度ut得出虚拟鳞翅目昆虫模型各飞行控制角θ对应的* *

振幅 和虚拟鳞翅目昆虫模型各飞行控制角θ对应的频率f (ut);根据鳞翅目昆虫* *

的速度ut、振幅 和频率f (ut)求得鳞翅目昆虫模型的飞行控制角θ;以对所述虚拟鳞翅目昆虫模型进行飞行控制。

2.如权利要求1所述的一种鳞翅目昆虫模型的仿真和控制方法,其特征在于,所述飞行控制角θ*的计算公式为:

*

其中 为平均角度, 为相位, 为振幅,f (u)为频率;

其中,所述振幅 的计算公式为:* max

其中, 表示计算飞行控制角θ所使用到的幅度域宽,|u |是蝴蝶的最大飞行速度;

*

其中,所述频率f(ut)的计算公式为:* *

其中,Rf是计算飞行控制角θ所使用到的频率域宽;

β γ

其中符号*为上标,当*为β时表示俯仰角θ、为γ时表示前翼和后翼拍打角θ,为ζ时表ζ Ψ φ

示前翼旋转角θ,为Ψ时表示前翼扫角θ,为φ时表示腹部旋转角θ。

3.如权利要求1所述的一种鳞翅目昆虫模型的仿真和控制方法,其特征在于,在所述步骤1中,所述层次化骨骼基于线性混合蒙皮模型建立,并与所述三维mesh绑定,用于驱动三维mesh运动。

4.如权利要求1所述的一种鳞翅目昆虫模型的仿真和控制方法,其特征在于,所述俯仰β γ

角θ用于表征鳞翅目昆虫的胸部沿身体纵轴上下翘动的幅度;所述前翼和后翼拍打角θ用ζ

于表征鳞翅目昆虫翅膀前后翼的拍打幅度;所述前翼旋转角θ用于表征鳞翅目昆虫前翼绕Ψ

其前翼轴线的旋转角度;所述前翼扫角θ用于表征鳞翅目昆虫前翼扫动的幅度;所述腹部φ

旋转角θ用于表征鳞翅目昆虫腹部沿身体纵轴上下翘动的幅度。

5.如权利要求1所述的一种鳞翅目昆虫模型的仿真和控制方法,其特征在于,在所述步骤2中第j个翅膀上第i个三角面片上的空气动力Fi,j通过如下方式计算:Fi,j=Fi,lift+Fi,drag:其中,j=1、2...n;ρ是空气密度,Ai是第i个三角面片的面积,V是翅膀表面的空气速度;

Cl(α)和Cd(α)分别为升力系数和阻力系数;系数Cl(α)和Cd(α)由翅膀的迎角α所决定,迎角α计算为:

n t

V和V分别为相对空气速度在翅膀表面法向量和切向量的分量,切向量指从翅根指向翅尖的单位方向向量;

所述涡旋力Fvor表示为:

其中,p是鳞翅目昆虫模型的重心坐标,s1,s2和s3作为三个取值不同的Perlin噪声种子;gain为噪声场网格的密度系数,η为噪声幅度系数, 为旋度运算符号,gainx、gainy、gainz分别为噪声场网格密度系数gain在x、y、z三个方向上的取值。

6.如权利要求1所述的一种鳞翅目昆虫模型的仿真和控制方法,其特征在于,在所述步骤3中,所述偏好加速度apre表示为:其中R(d)为坡度函数,R(d)为:d=|p‑qi|/L

其中,qi是最近的吸引点,p是鳞翅目昆虫模型的重心坐标,m是鳞翅目昆虫模型的总质量,L是鳞翅目昆虫模型有效视域中的最大感知深度,R(d)为坡度函数,用于平滑的降低鳞翅目模型飞行末段的速度;ut的计算公式为:ut=ut‑1+(aloc+apre)Δt其中ut‑1表示蝴蝶在前一时刻的速度。

7.如权利要求1所述的一种鳞翅目昆虫模型的仿真和控制方法,其特征在于,还包括:*

通过滑动窗口算法处理频率f (ut)和振幅

8.一种鳞翅目昆虫模型的仿真和控制系统,其特征在于,所述系统包括:模型建立模块、第一计算模块、第二计算模块、第三计算模块和飞行控制模块;

所述模型建立模块,用于建立虚拟鳞翅目昆虫模型;所述虚拟鳞翅目昆虫模型采用三维mesh和层次化骨骼建立;所述模型包括n个翅膀和重力信息;并基于鳞翅目昆虫的飞行状* * γ

态特性设置多个飞行控制角θ,所述多个飞行控制角θ包括:前翼和后翼拍打角θ、前翼旋ζ β Ψ φ

转角θ、俯仰角θ、前翼扫角θ和腹部旋转角θ;所述重力信息包括虚拟鳞翅目昆虫模型的质量、重力和虚拟鳞翅目昆虫模型的重心坐标;

所述第一计算模块,用于求解所述虚拟鳞翅目昆虫模型第j个翅膀上第i个三角面片上的空气动力Fi,j,并将所述第j个翅膀上第i个三角面片上的空气动力Fi,j进行叠加,得到第j个翅膀上的空气动力Fj;依次求解所述虚拟鳞翅目昆虫模型的n个翅膀上的空气动力,并得到所述虚拟鳞翅目昆虫模型的空气动力总和,以及在旋度噪声场上叠加Perlin噪声得到涡旋力Fvor;

所述第二计算模块用于根据所述空气动力总和、所述涡旋力Fvor和所述重力得到虚拟鳞翅目昆虫模型的局部加速度aloc;通过飞行路径规划,获取若干吸引点;通过最近吸引点、鳞翅目昆虫模型的重心坐标和鳞翅目昆虫模型的质量计算得到虚拟鳞翅目昆虫模型的偏好加速度apre;并通过所述局部加速度aloc和所述偏好加速度apre得出鳞翅目昆虫的速度ut;

所述第三计算用于依据所述鳞翅目昆虫的速度ut得出虚拟鳞翅目昆虫模型各飞行控制* * *

角θ对应的振幅 和虚拟鳞翅目昆虫模型各飞行控制角θ对应的频率f (ut);根据* *

鳞翅目昆虫的速度ut、振幅 和频率f (ut)求得鳞翅目昆虫模型的飞行控制角θ;

*

所述飞行控制模块通过鳞翅目昆虫模型的飞行控制角θ,并结合速度ut控制所述虚拟鳞翅目昆虫模型生成飞行动画。

9.一种可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现上述权利要求1至7任意一项所述的鳞翅目昆虫模型的仿真和控制方法。

说明书 :

鳞翅目昆虫模型仿真和控制方法、系统及可读存储介质

技术领域

[0001] 本发明属于计算机图形及仿真技术领域,具体涉及一种鳞翅目昆虫模型仿真和控制方法、系统及可读存储介质。

背景技术

[0002] 生物仿真在很多领域都有着无数潜在的应用,如娱乐、虚拟现实、教育、行为分析等。近几年来,研究人员付出了很多的努力来进行生命体的建模和动力学仿真,这些仿真工
作包括蛇、鱼类、鸟类、昆虫、蚂蚁等。
[0003] 飞行生物个体仿真方法可被应用于动画的制作、微型无人机的控制和仿生鳞翅目昆虫的姿态控制。现有技术中,对于鳞翅目昆虫模型的仿真,其仅仅采用三维mesh对其外表
进行仿真,并未精细的考虑鳞翅目昆虫的飞行姿态,将蝴蝶视为刚体,同时也没有关注仿真
的细节,因此缺乏真实感。
[0004] 在生物学研究领域,研究人员多采用实验设备采集数据并驱动仿真对象,重点分析飞行昆虫的动力学特征。例如,Senda等人利用风洞实验设备来测量蝴蝶的空气动力学特
征,然后用这些采集来的实验数据模拟真实感蝴蝶拍打翅膀的行为。Bode‑Oke等人基于CFD
方法来模拟黑脉金斑蝶倒飞。值得注意的是,尽管CFD求解器可以模拟出更加精确的扑翼,
但是此类方需使用海量的流体粒子来近似求解Naiver‑Stokes方程,故计算量大,不适合实
时的蝴蝶仿真及运动控制。
[0005] 例如,申请号为201510221704.6的中国专利公开了一种基于生物学规则的飞虫群模拟方法,但其同样存在将昆虫视为刚体进行飞行模拟的问题;类似的方法也得到了其他
学者的扩展,在这些方法中翅膀被视为不可形变的刚体,所以不能产生真实感翅膀运动。同
时,现有技术中并没有考虑飞行速度、空间位置、所受的外力、环境等因素对非刚体鳞翅目
昆虫模型飞行姿态的细微影响,导致真实感不足,仿生效果差。

发明内容

[0006] 本发明的目的在于提供一种鳞翅目昆虫模型仿真和控制方法、系统及可读存储介质;用于解决现有技术中,将鳞翅目昆虫视为刚体,对其仿真不精准;以及在考虑空气动力、
涡旋力和鳞翅目昆虫独特的飞行轨迹的情况下,对非刚体虚拟鳞翅目昆虫模型进行飞行控
制的问题。
[0007] 为了实现上述发明目的,本发明提供了以下技术方案:
[0008] 一种鳞翅目昆虫模型的仿真和控制方法,包括:
[0009] 步骤1:基于昆虫身体的详细尺寸,采用三维mesh和层次化骨骼建立虚拟鳞翅目昆虫模型;所述模型包括n个翅膀和重力信息;并基于鳞翅目昆虫的飞行状态特性设置多个飞
* * γ ζ β
行控制角θ,所述多个飞行控制角θ包括:前翼和后翼拍打角θ、前翼旋转角θ、俯仰角θ、
Ψ φ
前翼扫角θ和腹部旋转角θ;所述重力信息包括虚拟鳞翅目昆虫模型的质量、重力和虚拟
鳞翅目昆虫模型的重心坐标。
[0010] 步骤2:采用准稳态空气动力学理论,求解所述虚拟鳞翅目昆虫模型第j个翅膀每一个三维mesh的三角面片上空气动力Fi,j,并将所述第j个翅膀上每一个三维mesh的三角面
片上的空气动力Fi,j进行叠加,得到第j个翅膀上的空气动力Fj;依次求解所述虚拟鳞翅目
昆虫模型的n个翅膀上的空气动力,求和得到所述虚拟鳞翅目昆虫模型的空气动力总和,以
及在旋度噪声场上叠加Perlin噪声得到涡旋力Fvor。
[0011] 步骤3:根据所述空气动力总和、所述涡旋力Fvor和所述重力得到虚拟鳞翅目昆虫模型的局部加速度aloc;通过飞行路径规划,获取若干吸引点;通过最近吸引点、鳞翅目昆虫
模型的重心坐标和鳞翅目昆虫模型的质量计算得到虚拟鳞翅目昆虫模型的偏好加速度
apre;并通过所述局部加速度aloc和所述偏好加速度apre得出鳞翅目昆虫的速度ut。
[0012] 步骤4:依据所述鳞翅目昆虫的速度ut得出虚拟鳞翅目昆虫模型各飞行控制角θ** *
对应的振幅 和虚拟鳞翅目昆虫模型各飞行控制角θ对应的频率f (ut);根据鳞翅
* *
目昆虫的速度ut、振幅 和频率f (ut)求得鳞翅目昆虫模型的飞行控制角θ;以对
所述虚拟鳞翅目昆虫模型进行飞行控制。
[0013] 其中,所述最近吸引点为距离当前虚拟鳞翅目昆虫模型位置最近的吸引点,所述n可以为4;所述飞行状态特性为:翅膀为平整的平面,翅膀扇动时,腹部上下翘动;飞行时,腹
部翘动上下方向与翅膀上下扇动方向相反;飞行时头部上下抖动。
[0014] 所述飞行控制角θ*的计算公式为:
[0015]*
[0016] 其中 为平均角度, 为相位, 为振幅,f (u)为频率;
[0017] 其中符号“*”为上标,用于表示不同的飞行控制角,当*为β时表示前述俯仰角θβ,γ ζ Ψ
为γ时表示前翼和后翼拍打角θ,为ζ时表示前翼旋转角θ,为Ψ时表示前翼扫角θ,为φ
φ
时表示腹部旋转角θ。
[0018] 其中,所述振幅 的计算公式为:
[0019]
[0020] 其中, 表示计算飞行控制角θ*所使用到的幅度域宽,|umax|是蝴蝶的最大飞行速度;
[0021] 其中,所述频率f*(ut)的计算公式为:
[0022]*
[0023] 其中, 是计算飞行控制角θ所使用到的频率域宽。
[0024] 进一步的是,层次化骨骼可以基于线性混合蒙皮模型建立,并可以与所述三维mesh绑定,用于驱动三维mesh运动。
[0025] 通过将骨骼与三维mesh绑定,并用骨骼驱动三维mesh运动可以使鳞翅目昆虫模型的姿态更加的精细化,成功的建立了一种非刚体的鳞翅目模型,使鳞翅目昆虫模型的姿态、

行为更加的真实、仿生感更强。并通过飞行控制角θ使鳞翅目昆虫模型展现出不同的精细
姿态。
[0026] 通过准稳态空气动力学理论,并将空气动力分散到每一个三维mesh的三角面片上,使虚拟鳞翅目昆虫模型更加的真实,精细化的呈现了鳞翅目昆虫在飞行过程中三维
mesh的细微运动;同时量化了空气动力、涡旋力和鳞翅目昆虫的飞行路径对非刚体虚拟鳞
翅目昆虫模型飞行的影响,并实现了对其自动控制。
[0027] 进一步的是,所述俯仰角θβ用于表征鳞翅目昆虫的胸部沿身体纵轴上下翘动的幅γ
度;所述前翼和后翼拍打角θ用于表征鳞翅目昆虫翅膀前后翼的拍打幅度;所述前翼旋转
ζ Ψ
角θ用于表征鳞翅目昆虫前翼绕其前翼轴线的旋转角度;所述前翼扫角θ用于表征鳞翅目
φ
昆虫前翼扫动的幅度;所述腹部旋转角θ用于表征鳞翅目昆虫腹部沿身体纵轴上下翘动的
幅度。
[0028] 进一步的是,在所述步骤2中第j个翅膀上第i个三角面片上空气动力Fi,j通过如下方式计算:
[0029] Fi,j=Fi,lift+Fi,drag;
[0030]
[0031]
[0032] 其中,j=1、2...n;ρ是空气密度,Ai是第i个三角面片的面积,V是翅膀表面的空气速度;Cl(α)和Cd(α)分别为升力系数和阻力系数;系数Cl(α)和Cd(α)由翅膀的迎角α所决定,
迎角α计算为:
[0033]
[0034] Vn和Vt分别为相对空气速度在翅膀表面法向量和切向量的分量,切向量指从翅根指向翅尖的单位方向向量;
[0035] 所述涡旋力Fvor表示为:
[0036]
[0037] 其中,p是鳞翅目昆虫模型的重心坐标,s1,s2和S3作为三个取值不同的Perlin噪声种子;gain为噪声场网格的密度系数,η为噪声幅度系数,符号 为旋度运算符号,通过
旋度运算构建一个旋度场;gainx、gainy、gainz分别为噪声场网格密度系数gain在x、y、z三
个方向上的取值。
[0038] 进一步的是,在所述步骤3中,所述偏好加速度apre表示为:
[0039]
[0040] 其中R(d)为坡度函数,R(d)为:
[0041]
[0042] d=|p‑qi|/L
[0043] 其中,qi是最近的吸引点,p是鳞翅目昆虫模型的重心坐标,m是鳞翅目昆虫模型的总质量,L是鳞翅目昆虫模型有效视域中的最大感知深度,R(d)为坡度函数,用于平滑的降
低鳞翅目模型飞行末段的速度;
[0044] t时刻时的速度ut的计算公式为:
[0045] ut=ut‑1+(aloc+apre)Δt
[0046] 其中ut‑1表示蝴蝶在前一时刻的速度。
[0047] 进一步的是,频率f*(ut)和振幅 的剧烈变化不利于真实鳞翅目昆虫在飞*
行中节省能量;并且f (ut)和振幅 的持续剧烈变化会导致飞行的不流畅;因此可
* *
以通过滑动窗口算法处理f (ut)和振幅 消除f (ut)和振幅 的突变,更
加增强虚拟鳞翅目昆虫的真实感。
[0048] 进一步的是,所述滑动窗口算法为:
[0049]
[0050] 一种鳞翅目昆虫模型的仿真和控制系统,所述系统包括:
[0051] 模型建立模块、第一计算模块、第二计算模块、第三计算模块和飞行控制模块。
[0052] 所述模型建立模块,用于建立虚拟鳞翅目昆虫模型;所述虚拟鳞翅目昆虫模型采用三维mesh和层次化骨骼建立;所述模型包括n个翅膀和重力信息;并基于鳞翅目昆虫的飞
* * γ
行状态特性设置多个飞行控制角θ,所述多个飞行控制角θ包括:前翼和后翼拍打角θ、前
ζ β Ψ φ
翼旋转角θ、俯仰角θ、前翼扫角θ和腹部旋转角θ;所述重力信息包括虚拟鳞翅目昆虫模
型的质量、重力和虚拟鳞翅目昆虫模型的重心坐标。
[0053] 所述第一计算模块,用于求解所述虚拟鳞翅目昆虫模型第j个翅膀的三维mesh的三角面片上的空气动力Fi,j,并将所述第j个翅膀的三维mesh的三角面片上的空气动力Fi,j
进行叠加,得到第j个翅膀上的空气动力Fj;依次求解所述虚拟鳞翅目昆虫模型的n个翅膀
上的空气动力,并得到所述虚拟鳞翅目昆虫模型的空气动力总和,以及在旋度噪声场上叠
加Perlin噪声得到涡旋力Fvor。
[0054] 所述第二计算模块用于根据所述空气动力总和、所述涡旋力Fvor和所述重力得到虚拟鳞翅目昆虫模型的局部加速度aloc;通过飞行路径规划,获取若干吸引点;通过最近吸
引点、鳞翅目昆虫模型的重心坐标和鳞翅目昆虫模型的质量计算得到虚拟鳞翅目昆虫模型
的偏好加速度apre;并通过所述局部加速度aloc和所述偏好加速度apre得出鳞翅目昆虫的速
度ut。
[0055] 所述第三计算用于依据所述鳞翅目昆虫的速度ut得出虚拟鳞翅目昆虫模型各飞* * *
行控制角θ对应的振幅 和虚拟鳞翅目昆虫模型各飞行控制角θ对应的频率f

(ut);根据鳞翅目昆虫的速度ut、振幅 和频率f (ut)求得鳞翅目昆虫模型的飞行控

制角θ。
[0056] 所述飞行控制模块通过鳞翅目昆虫模型的飞行控制角θ*,并结合速度ut控制所述虚拟鳞翅目昆虫模型生成飞行动画。
[0057] 通过该系统可以建立一种非刚体的虚拟鳞翅目昆虫模型,并实现对非刚体虚拟鳞翅目昆虫飞行的自动控制,同时得到动态的虚拟鳞翅目昆虫飞行动画,该动画的仿生性能
好,真实感强。
[0058] 一种可读存储介质,其上存储有计算机程序,所述程序被处理器执行可以实现上述鳞翅目昆虫模型的仿真和控制方法。
[0059] 综上,与现有技术相比,本发明的有益效果是:本发明在利用三维mesh与层次化骨骼绑定建立虚拟鳞翅目昆虫模型的基础上,基于鳞翅目昆虫的飞行状态特性设置了能够用

于表征鳞翅目昆虫飞行状态下身体姿态变化的飞行控制角θ;从而建模得到了一种非刚体
虚拟鳞翅目昆虫模型,所得鳞翅目昆虫模型更加的真实,仿生效果更强;进一步的,引入空
气动力、涡旋力和鳞翅目昆虫的飞行路径对非刚体虚拟鳞翅目昆虫模型进行综合飞行行为
控制,能够形成与飞行速度、空间位置、所受的外力、噪声环境相关联的非刚体鳞翅目昆虫
模型的飞行控制模型,从而实现了对非刚体鳞翅目昆虫模型的自动飞行控制;同时,通过本
发明的方法能够得到一种仿真程度高,拟生效果好的动态虚拟鳞翅目昆虫飞行动画。

附图说明

[0060] 图1为本发明整体的架构图;
[0061] 图2为本发明提出的鳞翅目昆虫模型仿真和控制方法中层次化骨骼的示意图;
[0062] 图3为本发明提出的鳞翅目昆虫模型的仿真和控制方法中个体控制参数示意图;
[0063] 图4为通过本发明提出的鳞翅目昆虫模型的仿真和控制方法仿真燕尾蝶的结果示意图;
[0064] 图5为通过本发明提出的鳞翅目昆虫模型的仿真和控制方法仿真黑脉金斑蝶的结果示意图;
[0065] 图6为本通过发明提出的鳞翅目昆虫模型的仿真和控制方法仿真天蛾结果示意图;
[0066] 图7为本发明通过提出的鳞翅目昆虫模型的仿真和控制方法中腹部仿真细节示意图;
[0067] 图8为本发明提出的鳞翅目昆虫模型的仿真和控制方法的仿真结果与真实鳞翅目昆虫对比图;
[0068] 图9为本发明提出的鳞翅目昆虫模型的飞行控制方法中迎角与升力、阻力关系示意图;
[0069] 图10为本发明提出的鳞翅目昆虫模型的飞行控制方法中模型运动过程中控制参数变化示意图;
[0070] 图11为本发明提出的鳞翅目昆虫模型的飞行控制方法的结果对比图。

具体实施方式

[0071] 本发明提出了一种鳞翅目昆虫模型仿真和控制方法、系统及可读存储介质,其中本发明方法部分的整体框架图如图1所示。
[0072] 下面将结合实施例对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
[0073] 实施例1
[0074] 本实施例主要用于介绍一种鳞翅目昆虫模型的仿真和控制方法中的仿真部分,可以通过个体控制参数具体详实的描述鳞翅目昆虫的不同姿态;使昆虫模型更加的真实,仿
生效果更强;可以包括:
[0075] 基于昆虫身体的详细尺寸,采用三维mesh和层次化骨骼建立一个虚拟鳞翅目昆虫模型;所述模型包括n个翅膀和重力信息,并基于鳞翅目昆虫的飞行状态特性设置多个飞行
γ ζ β
控制角,所述多个飞行控制角包括:前翼和后翼拍打角θ、前翼旋转角θ、俯仰角θ、前翼扫
Ψ φ
角θ和腹部旋转角θ;所述重力信息包括模型的质量、重力和虚拟鳞翅目昆虫模型的重心
坐标;所述n可以为4。
[0076] 通过将骨骼与三维mesh绑定,并用骨骼驱动三维mesh运动可以使鳞翅目昆虫模型的姿态更加的精细化,成功的建立了一种非刚体的鳞翅目模型,使鳞翅目模型的姿态、行为
更加的真实、仿生感更强。并通过所述多个飞行控制角,使鳞翅目昆虫展现出不同的精细姿
态。
[0077] 所述俯仰角θβ用于表征鳞翅目昆虫的胸部沿身体纵轴上下翘动的幅度;所述前翼γ ζ
和后翼拍打角θ用于表征鳞翅目昆虫翅膀前后翼的拍打幅度;所述前翼旋转角θ用于表征
Ψ
鳞翅目昆虫前翼绕其前翼轴线的旋转角度;所述前翼扫角θ用于表征鳞翅目昆虫前翼扫动
φ
的幅度;所述腹部旋转角θ用于表征鳞翅目昆虫腹部沿身体纵轴上下翘动的幅度。
[0078] 作为优选的,本方法特别适用于蝴蝶类、蛾类等;根据生物仿真学研究显示,这类鳞翅目昆虫翅膀为平整的平面,翅膀扇动时,腹部上下翘动;飞行时,腹部翘动上下方向与
翅膀上下扇动方向相反;飞行时头部上下抖动。
[0079] 实施例2
[0080] 在实施例1的基础上,本实施例主要关注对蝴蝶类和蛾类的仿真,主要选用了两种具有代表性的蝴蝶和一种代表性的蛾类;分别为燕尾蝶(学名:Pachliopta 
aristolochiae)、黑脉金斑蝶(学名:Danaus plexippus)和天蛾(学名:Hawkmoth Manduca 
sexta);并以蝴蝶为例对本发明提出的一种鳞翅目昆虫模型的仿真方法做详细说明。具体
的,在英特尔(R)核心(TM)I7‑7700CPU,Geforce RTX2070GPU(8G),和16GB内存的PC上进行
了仿真实验;对模型仅采用GPU进行渲染加速,并通过GPU进行并行计算。
[0081] 三维蝴蝶模型的mesh由三角面片组成,其中黑脉金斑蝶3D模型具有11814个顶点和23334个三角形,燕尾蝶3D模型包含16596个顶点和16594个三角形。蝴蝶模型主要由头
部、胸部、腹部、前翼和后翼五个部分组成;为了仿真更加真实的蝴蝶,基于线性混合蒙皮模
型给蝴蝶设计了层次化骨骼,并将其与mesh绑定。通过骨骼来驱动mesh运动,以得到一个非
刚体的仿真蝴蝶模型。
[0082] 其中,线性混合蒙皮模型可以从文献Jacobson A,Deng Z,Kavan L,等的Skinning:real‑time shape deformation[A].ACM SIGGRAPH 2014 Courses on‑
SIGGRAPH’14[C].Vancouver,Canada:ACM Press,2014:1–1中得到;建立的层次化骨骼如图
2所示。
[0083] 进一步的,根据学术研究发现,鳞翅目昆虫在飞行过程中具有特定的飞行状态特性,以蝴蝶为例,蝴蝶通过点关节相连的翅膀有着特有的频率范围和拍打幅度,蝴蝶会翘动
腹部来抵消其在前向或攀爬飞行过程中翅膀拍打所带来的身体失衡;参照图3,为了更加真
γ
实的模拟这些飞行状态特性,设置多个飞行控制角,包括:前翼和后翼拍打角θ、前翼旋转
ζ β Ψ φ
角θ、俯仰角θ、前翼扫角θ和腹部旋转角θ;蝴蝶初始姿势为:翅膀水平舒展,身体沿水平
并与地面平行,左侧翅膀与右侧翅膀距地面距离相同。令贯穿蝴蝶头部至尾部的直线为身
体纵轴,垂直于身体纵轴并贯穿左右侧翅膀的直线为身体横轴,身体纵轴与身体横轴所在
β φ
的平面为身体平面。则俯仰角θ是指胸部与身体的夹角。同理,腹部旋转角θ是指腹部与身
γ
体平面的夹角。前翼和后翼拍打角θ是指翅膀与身体平面的夹角;前翼扫角是指前翼与身
体纵轴的夹角。从翅膀根部到翅尖为翅膀纵轴,与翅膀纵轴垂直且贯穿的直线为翅膀横轴,
ζ
翅膀纵轴与横轴所构成的平面为翅膀平面,则前翼旋转角θ指翅膀扭转后翅膀平面与初始
姿势时的翅膀平面所成的夹角。
[0084] 所述俯仰角θβ用于表征鳞翅目昆虫的胸部沿身体纵轴上下翘动的幅度;所述前翼γ ζ
和后翼拍打角θ用于表征鳞翅目昆虫翅膀前后翼的拍打幅度;所述前翼旋转角θ用于表征
Ψ
鳞翅目昆虫前翼绕其前翼轴线的旋转角度;所述前翼扫角θ用于表征鳞翅目昆虫前翼扫动
φ
的幅度;所述腹部旋转角θ用于表征鳞翅目昆虫腹部沿身体纵轴上下翘动的幅度。
[0085] 为了更加精细的呈现蝴蝶胸部运动情况;蝴蝶身体的运动参考点为其胸部。蝴蝶在飞行过程中除了有翅膀的拍打运动还会有胸部的俯仰动作。在本方法中,给蝴蝶胸部的
β
俯仰赋予一个自由度(DOF)为俯仰角θ。
[0086] 为了更加精细的呈现蝴蝶胸部的运动情况,使其更加自然,让蝴蝶双侧的翅膀拍打保持频率与幅度同步。此外,对于翅膀的控制分为前、后翅。对于每个前翼都有3自由度旋
转。对于后翼,由于其对飞行动力产生的作用不大,故后翅只赋予一个自由度用于拍打控
γ ζ Ψ
制。因此,通过前翼和后翼的拍打角θ,前翼的旋转角θ和前翼的扫角θ来精细的描述蝴蝶
胸部的姿态。
[0087] 腹部控制参数;蝴蝶在飞行过程中,特别是盘旋或攀爬过程中腹部有明显沿身体纵轴上下翘动的动作,并且相位与翅膀拍打相位相反。腹部的翘动所产生的转动惯量作用
于腹胸连接点有助于维持身体平衡。腹部因此具有1个自由度沿身体纵轴上下旋转。则腹部
φ
控制参数为腹部的旋转角θ。
[0088] 在上述实施例中,本发明基于鳞翅目昆虫的飞行状态特性,赋予鳞翅目昆虫各个部位独立的飞行控制角,进一步将鳞翅目昆虫模型转换为了非刚体鳞翅目昆虫模型,使鳞
翅目昆虫的不同姿态得以精准、栩栩如生的展现,使仿真的自由度更高、可塑性更强,进一
步的提升了本仿真的真实感和准确性。
[0089] 采用上述方法,通过建模得到燕尾蝶模型,设置若干个体控制参数,仿真出燕尾蝶的不同姿态如图4中a至g所示。其具体细节如图7所示。
[0090] 采用上述方法,通过建模得到黑脉金斑蝶模型,设置若干个体控制参数,仿真出黑脉金斑蝶的不同姿态如图5中a至g所示。
[0091] 采用上述方法,通过建模得到天蛾模型,设置若干个体控制参数,仿真出天蛾的不同姿态如图6中a至g所示。
[0092] 实施例3
[0093] 在实施例1的基础上,本实施例主要用于介绍一种鳞翅目昆虫模型仿真和控制方法中的飞行控制部分:该方法包括如下步骤:
[0094] 步骤1:采用上述方法建立一个虚拟鳞翅目昆虫模型。
[0095] 步骤2:采用准稳态空气动力学理论,求解所述虚拟鳞翅目昆虫模型第j个翅膀每一个三维mesh的三角面片上空气动力Fi,j,并将第j个翅膀上每一个三维mesh的三角面片上
空气动力Fi,j进行叠加,得到第j个翅膀上的空气动力Fj;依次求解所述虚拟鳞翅目昆虫模
型n个翅膀上的空气动力,求和得到所述虚拟鳞翅目昆虫模型的空气动力总和,以及在旋度
噪声场上叠加Perlin噪声得到涡旋力Fvor。
[0096] 步骤3:根据所述虚拟鳞翅目昆虫模型的空气动力总和与所述涡旋力Fvor和虚拟鳞翅目昆虫模型的重力得到虚拟鳞翅目昆虫模型的局部加速度aloc;通过飞行路径规划,获取
若干吸引点;通过最近吸引点、鳞翅目昆虫模型的重心坐标和鳞翅目昆虫模型的总质量计
算得到虚拟鳞翅目昆虫模型的偏好加速度apre;并通过所述局部加速度aloc和所述偏好加速
度apre得出鳞翅目昆虫的速度ut;
[0097] 步骤4:依据t时刻的虚拟鳞翅目昆虫模型的速度ut得出虚拟鳞翅目昆虫模型各飞* * *
行控制角θ对应的振幅 和虚拟鳞翅目昆虫模型各飞行控制角θ对应的频率f

(ut);根据t时刻的速度ut、频率f (ut)和振幅 求得鳞翅目昆虫模型的飞行控制角

θ;以对所述虚拟鳞翅目昆虫模型进行飞行控制。
[0098] 其中,所述最近吸引点为离当前虚拟鳞翅目昆虫模型位置最近的吸引点。所述若干吸引点,可以是使用者根据使用者需要人为设定,也可以是只给定一个飞行目的地采用
现有路径规划算法,经过运算得出。
[0099] 所述振幅 的计算公式为:
[0100]
[0101] 其中, 表示计算飞行控制角θ*所使用到的幅度域宽,|umax|是蝴蝶的最大飞行*
速度;其中, 是计算飞行控制角θ所使用到的频率域宽;其中符号“*”为上标用于表示不
β γ
同的飞行控制角,β表示前述俯仰角θ,γ用于表示前翼和后翼拍打角θ,ζ用于表示前翼旋
ζ Ψ φ
转角θ,Ψ用于表示前翼扫角θ,φ用于表示腹部旋转角θ。
[0102] 所述频率f*(ut)的计算公式为:
[0103]*
[0104] 其中,其中, 是计算飞行控制角θ所使用到的频率域宽;
[0105] 所述实时飞行控制角θ*的计算公式为:
[0106]
[0107] 其中 为平均角度, 为相位, 为振幅,f*(u)为频率;
[0108] 学术界研究证实翅膀因拍打会在翅膀边沿触发空气涡流,并给飞虫产生垂直向上的升力;目前用于涡旋模拟方法中基于CFD的方法来求解Naiver‑Stokes方程计算量巨大。
因此需要采用了一种更轻量级的方法来模拟空气涡流。为了模拟涡流对鳞翅目昆虫产生的
影响,以及刻画其生物噪声行为,引入旋度噪声场来获得一个涡旋力。并在构建的旋度场上
增加Perlin噪声,能够模拟飞虫的与生俱来的生物噪声行为。将旋度噪声力扩展到微观的
鳞翅目昆虫个体的飞行控制,可以用于仿真涡旋力对鳞翅目昆虫的身体整体运动所造成的
影响。
[0109] 通过准稳态空气动力学理论,并将空气动力分散到每一个三维mesh的三角面片上,使虚拟鳞翅目昆虫模型更加的真实,更加精细化的呈现了鳞翅目昆虫在飞行过程中三
维mesh的细微运动;同时通过偏好加速度apre可以模拟真实环境中鳞翅目昆虫独特的飞行
路径;同时在平衡考虑计算量的基础上,简化了振幅和频率与速度的关系,简化了振幅、频

率和速度与飞行控制角θ的关系在保证真实程度的基础上节约了算力。实现了对虚拟鳞翅
目飞行的自动控制。
[0110] 进一步的是,步骤中第j个翅膀上第i个三角面片上的空气动力Fi,j,通过如下方式计算:
[0111] Fi,j=Fi,lift+Fi,drag;
[0112]
[0113]
[0114] 其中,j=1、2...n;ρ是空气密度,Ai是第i个三角面片的面积,,V是翅膀表面的空气速度;Cl(α)和Cd(α)分别为升力系数和阻力系数;系数Cl(α)和Cd(α)由翅膀的迎角α所决
定,迎角α计算为:
[0115]
[0116] Vn和Vt分别为相对空气速度在翅膀表面法向量和切向量的分量,切向量指从翅根指向翅尖的单位方向向量;
[0117] 第j个翅膀上的空气动力Fj为
[0118]
[0119] 所述涡旋力Fvor表示为:
[0120]
[0121] 其中,p是鳞翅目昆虫的重心坐标,s1,s2和S3作为三个取值不同的Perlin噪声种子;gain为噪声场网格的密度系数,η为噪声幅度系数;符号 为旋度运算符号,通过旋
度运算构建一个旋度场;gainx、gainy、gainz分别为噪声场网格密度系数gain在x、y、z三个
方向上的取值,gain取值越大生成的涡流越小,反之越大;旋度噪声场可以从文献Bridson 
R,Houriham J,Nordenstam M.Curl‑noise for procedural fluid flow[J].ACM 
Transactions on Graphics,2007,26(3):46.中知晓。
[0122] 进一步的是,步骤3中,所述偏好加速度apre表示为:
[0123]
[0124] 其中R(d)为坡度函数,R(d)为:
[0125]
[0126] d=|p‑qi|/L
[0127] 其中,qi是最近的吸引点,p是鳞翅目昆虫模型的重心坐标,m是鳞翅目昆虫模型的总质量,L是鳞翅目昆虫模型有效视域中的最大感知深度,R(d)为坡度函数,用于平滑的降
低鳞翅目模型飞行末段的速度;ut的计算公式为:
[0128] ut的计算公式为:
[0129] ut=ut‑1+(aloc+apre)Δt
[0130] 其中ut‑1表示蝴蝶在前一时刻的速度。
[0131] 局部加速度aloc为
[0132]
[0133] 本飞行控制方法考虑了飞行速度、空间位置、所受的外力、环境等因素等对非刚体鳞翅目昆虫模型的飞行姿态影响,填补了现有技术中对非刚体鳞翅目模型飞行控制的空
白;通过本发明提出的方法控制的鳞翅目模型,其飞行姿态更加真实,仿生性能更好。
[0134] 实施例4
[0135] 本实施例在实施例3的基础上,基于窗口滑动窗口算法,通过如下公式优化处理频*
率f (ut)和振幅 使其变化更加流畅,更加真实的模拟鳞翅目昆虫在真实飞行中
的姿态。
[0136]
[0137] 因为鳞翅目昆虫在飞行过程中主要的身体变化为翅膀的拍打。并且,翅膀拍打的频率与幅度是动态变化的。为了仿真蝴蝶在飞行过程中这种动态变化的身体运动,需要动

态调节两个控制频率f (ut)和振幅 为了更加真实的模拟鳞翅目昆虫在现实中

的飞行状态,可以在开始一个新的拍打周期时调整频率f (ut)和振幅 并可以根
据过去的飞行数据动态调整。因为频率和振幅的剧烈变化不利于鳞翅目昆虫在飞行中节省
能量。此外,频率和振幅的持续剧烈变化会导致运动不流畅。因此,需要平滑f和 的值。基

于滑动窗口算法,通过上述公式处理频率f (ut)和振幅 使其变化更加流畅,可
以更加真实的模拟鳞翅目昆虫在真实飞行中的姿态。
[0138] 实施例5
[0139] 在前叙实施例的基础上本实施例主要关注对于虚拟非刚体蝴蝶模型的飞行控制,并通过计算机软件自动生成动画;并采用英特尔(R)核心(TM)17‑7700 CPU,Geforce 
RTX2070GPU(8G),和16GB内存的PC进行仿真实验;对模型仅采用GPU进行渲染加速,并通过
GPU进行并行计算。
[0140] 其中将gainx和gainz设置为22.0,将gainy设置为5.5,并将η设置为3.66;L设置为4.5;频率域宽 和幅度域宽 均可从现有技术中得到。
[0141] 如图8所示,展示了采用本发明提出的仿真方法及飞行控制方法模拟的仿真蝴蝶与真实蝴蝶的对比;左侧为真实的蝴蝶(蝴蝶品种为燕尾蝶),右侧为仿真的蝴蝶。首先,从
Internet上下载一段高清的蝴蝶视频,然后从视频中随机选择一个片段来进行对比。根据
所选择的视频片段中蝴蝶的起始与结束姿态,给仿真的蝴蝶手动指定类似的开始和线束姿
势。从图片可以看出,仿真蝴蝶的身体变化,如翅膀的拍打、腹部的翘动、胸部的抖动从视觉
上看非常接近真实蝴蝶。
[0142] 如图10所示,图片展示了在通过采用本发明提出的飞行控制方法,在鳞翅目昆虫翅膀上打和下打过程中各参数变化的示意图。
[0143] 如图11所示,展示了采用本发明提出的飞行控制方法与传统的基线控制方法对比;在传统动画中,往往采用预先录制好的循环动画来表达蝴蝶在飞行过程的身体变化;其
并未考虑蝴蝶的真实飞行姿态。并没有将蝴蝶的飞行姿态与飞行速度、空间位置、所受的外
力、环境等因素关联。
[0144] 实施例6
[0145] 一种鳞翅目昆虫模型的仿真和控制系统,包括:
[0146] 模型建立模块、第一计算模块、第二计算模块、第三计算模块和飞行控制模块。
[0147] 所述模型建立模块,用于建立虚拟鳞翅目昆虫模型;所述虚拟鳞翅目昆虫模型采用三维mesh和层次化骨骼建立;所述层次化骨骼基于线性混合蒙皮模型建立,并与所述三
维mesh绑定,用于驱动三维mesh运动;所述模型包括n个翅膀和重力信息;所述重力信息包
括虚拟鳞翅目昆虫模型的质量、重力和虚拟鳞翅目昆虫模型的重心坐标。
[0148] 所述第一计算模块,用于基于准稳态空气动力学理论,求解所述虚拟鳞翅目昆虫模型第j个翅膀每一个三维mesh的三角面片上空气动力Fi,j,并将其叠加从而得到第j个翅
膀上的空气动力Fj;依次求解所述虚拟鳞翅目昆虫模型n个翅膀上的空气动力,以及在旋度
噪声场上叠加Perlin噪声得到涡旋力Fvor。
[0149] 所述第二计算模块用于基于牛顿第二定律,通过所述涡旋力Fvor、所述第j个翅膀上的空气动力Fj,和重力得到局部加速度aloc;以及通过最近吸引点、鳞翅目昆虫模型的中
心坐标和鳞翅目昆虫模型的重质量计算得到虚拟鳞翅目昆虫模型的偏好加速度apre;并通
过所述局部加速度aloc和所述偏好加速度apre得出鳞翅目昆虫的速度ut。
[0150] 所述第三计算用于依据t时刻的速度ut得出虚拟鳞翅目昆虫模型个飞行控制角θ** *
对应的频率f (ut)和振幅 并根据t时刻的速度ut、频率f (ut)和振幅 得

出虚拟鳞翅目昆虫模型的飞行控制角θ。
[0151] 所述飞行控制模块通过鳞翅目昆虫模型的飞行控制角θ*,并结合速度ut控制所述虚拟鳞翅目昆虫模型生成飞行动画。
[0152] 实施例7
[0153] 同时,本发明还提出了一种可读存储介质,其上存储有计算机程序,其中程序被处理器执行使实现本发明提出的鳞翅目昆虫模型的仿真和控制方法。
[0154] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中,且由合适的指令执行系统执行的软
件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的
技术中的任意一项或它们的组合来实现;具有用于对时局信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场
可编程门阵列(FPGA)等
[0155] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。