鳞翅目昆虫模型仿真和控制方法、系统及可读存储介质转让专利
申请号 : CN202110508065.7
文献号 : CN113160367B
文献日 : 2022-03-15
发明人 : 罗国亮 , 鲁挺松 , 陈强 , 刘菘 , 金小刚 , 肖美华
申请人 : 华东交通大学
摘要 :
权利要求 :
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任意一项所述的鳞翅目昆虫模型的仿真和控制方法。
说明书 :
鳞翅目昆虫模型仿真和控制方法、系统及可读存储介质
技术领域
背景技术
作包括蛇、鱼类、鸟类、昆虫、蚂蚁等。
进行仿真,并未精细的考虑鳞翅目昆虫的飞行姿态,将蝴蝶视为刚体,同时也没有关注仿真
的细节,因此缺乏真实感。
征,然后用这些采集来的实验数据模拟真实感蝴蝶拍打翅膀的行为。Bode‑Oke等人基于CFD
方法来模拟黑脉金斑蝶倒飞。值得注意的是,尽管CFD求解器可以模拟出更加精确的扑翼,
但是此类方需使用海量的流体粒子来近似求解Naiver‑Stokes方程,故计算量大,不适合实
时的蝴蝶仿真及运动控制。
学者的扩展,在这些方法中翅膀被视为不可形变的刚体,所以不能产生真实感翅膀运动。同
时,现有技术中并没有考虑飞行速度、空间位置、所受的外力、环境等因素对非刚体鳞翅目
昆虫模型飞行姿态的细微影响,导致真实感不足,仿生效果差。
发明内容
涡旋力和鳞翅目昆虫独特的飞行轨迹的情况下,对非刚体虚拟鳞翅目昆虫模型进行飞行控
制的问题。
* * γ ζ β
行控制角θ,所述多个飞行控制角θ包括:前翼和后翼拍打角θ、前翼旋转角θ、俯仰角θ、
Ψ φ
前翼扫角θ和腹部旋转角θ;所述重力信息包括虚拟鳞翅目昆虫模型的质量、重力和虚拟
鳞翅目昆虫模型的重心坐标。
片上的空气动力Fi,j进行叠加,得到第j个翅膀上的空气动力Fj;依次求解所述虚拟鳞翅目
昆虫模型的n个翅膀上的空气动力,求和得到所述虚拟鳞翅目昆虫模型的空气动力总和,以
及在旋度噪声场上叠加Perlin噪声得到涡旋力Fvor。
模型的重心坐标和鳞翅目昆虫模型的质量计算得到虚拟鳞翅目昆虫模型的偏好加速度
apre;并通过所述局部加速度aloc和所述偏好加速度apre得出鳞翅目昆虫的速度ut。
对应的振幅 和虚拟鳞翅目昆虫模型各飞行控制角θ对应的频率f (ut);根据鳞翅
* *
目昆虫的速度ut、振幅 和频率f (ut)求得鳞翅目昆虫模型的飞行控制角θ;以对
所述虚拟鳞翅目昆虫模型进行飞行控制。
部翘动上下方向与翅膀上下扇动方向相反;飞行时头部上下抖动。
为γ时表示前翼和后翼拍打角θ,为ζ时表示前翼旋转角θ,为Ψ时表示前翼扫角θ,为φ
φ
时表示腹部旋转角θ。
*
行为更加的真实、仿生感更强。并通过飞行控制角θ使鳞翅目昆虫模型展现出不同的精细
姿态。
mesh的细微运动;同时量化了空气动力、涡旋力和鳞翅目昆虫的飞行路径对非刚体虚拟鳞
翅目昆虫模型飞行的影响,并实现了对其自动控制。
度;所述前翼和后翼拍打角θ用于表征鳞翅目昆虫翅膀前后翼的拍打幅度;所述前翼旋转
ζ Ψ
角θ用于表征鳞翅目昆虫前翼绕其前翼轴线的旋转角度;所述前翼扫角θ用于表征鳞翅目
φ
昆虫前翼扫动的幅度;所述腹部旋转角θ用于表征鳞翅目昆虫腹部沿身体纵轴上下翘动的
幅度。
迎角α计算为:
旋度运算构建一个旋度场;gainx、gainy、gainz分别为噪声场网格密度系数gain在x、y、z三
个方向上的取值。
低鳞翅目模型飞行末段的速度;
行中节省能量;并且f (ut)和振幅 的持续剧烈变化会导致飞行的不流畅;因此可
* *
以通过滑动窗口算法处理f (ut)和振幅 消除f (ut)和振幅 的突变,更
加增强虚拟鳞翅目昆虫的真实感。
* * γ
行状态特性设置多个飞行控制角θ,所述多个飞行控制角θ包括:前翼和后翼拍打角θ、前
ζ β Ψ φ
翼旋转角θ、俯仰角θ、前翼扫角θ和腹部旋转角θ;所述重力信息包括虚拟鳞翅目昆虫模
型的质量、重力和虚拟鳞翅目昆虫模型的重心坐标。
进行叠加,得到第j个翅膀上的空气动力Fj;依次求解所述虚拟鳞翅目昆虫模型的n个翅膀
上的空气动力,并得到所述虚拟鳞翅目昆虫模型的空气动力总和,以及在旋度噪声场上叠
加Perlin噪声得到涡旋力Fvor。
引点、鳞翅目昆虫模型的重心坐标和鳞翅目昆虫模型的质量计算得到虚拟鳞翅目昆虫模型
的偏好加速度apre;并通过所述局部加速度aloc和所述偏好加速度apre得出鳞翅目昆虫的速
度ut。
行控制角θ对应的振幅 和虚拟鳞翅目昆虫模型各飞行控制角θ对应的频率f
*
(ut);根据鳞翅目昆虫的速度ut、振幅 和频率f (ut)求得鳞翅目昆虫模型的飞行控
*
制角θ。
好,真实感强。
*
于表征鳞翅目昆虫飞行状态下身体姿态变化的飞行控制角θ;从而建模得到了一种非刚体
虚拟鳞翅目昆虫模型,所得鳞翅目昆虫模型更加的真实,仿生效果更强;进一步的,引入空
气动力、涡旋力和鳞翅目昆虫的飞行路径对非刚体虚拟鳞翅目昆虫模型进行综合飞行行为
控制,能够形成与飞行速度、空间位置、所受的外力、噪声环境相关联的非刚体鳞翅目昆虫
模型的飞行控制模型,从而实现了对非刚体鳞翅目昆虫模型的自动飞行控制;同时,通过本
发明的方法能够得到一种仿真程度高,拟生效果好的动态虚拟鳞翅目昆虫飞行动画。
附图说明
具体实施方式
生效果更强;可以包括:
γ ζ β
控制角,所述多个飞行控制角包括:前翼和后翼拍打角θ、前翼旋转角θ、俯仰角θ、前翼扫
Ψ φ
角θ和腹部旋转角θ;所述重力信息包括模型的质量、重力和虚拟鳞翅目昆虫模型的重心
坐标;所述n可以为4。
更加的真实、仿生感更强。并通过所述多个飞行控制角,使鳞翅目昆虫展现出不同的精细姿
态。
和后翼拍打角θ用于表征鳞翅目昆虫翅膀前后翼的拍打幅度;所述前翼旋转角θ用于表征
Ψ
鳞翅目昆虫前翼绕其前翼轴线的旋转角度;所述前翼扫角θ用于表征鳞翅目昆虫前翼扫动
φ
的幅度;所述腹部旋转角θ用于表征鳞翅目昆虫腹部沿身体纵轴上下翘动的幅度。
翅膀上下扇动方向相反;飞行时头部上下抖动。
aristolochiae)、黑脉金斑蝶(学名:Danaus plexippus)和天蛾(学名:Hawkmoth Manduca
sexta);并以蝴蝶为例对本发明提出的一种鳞翅目昆虫模型的仿真方法做详细说明。具体
的,在英特尔(R)核心(TM)I7‑7700CPU,Geforce RTX2070GPU(8G),和16GB内存的PC上进行
了仿真实验;对模型仅采用GPU进行渲染加速,并通过GPU进行并行计算。
部、胸部、腹部、前翼和后翼五个部分组成;为了仿真更加真实的蝴蝶,基于线性混合蒙皮模
型给蝴蝶设计了层次化骨骼,并将其与mesh绑定。通过骨骼来驱动mesh运动,以得到一个非
刚体的仿真蝴蝶模型。
SIGGRAPH’14[C].Vancouver,Canada:ACM Press,2014:1–1中得到;建立的层次化骨骼如图
2所示。
腹部来抵消其在前向或攀爬飞行过程中翅膀拍打所带来的身体失衡;参照图3,为了更加真
γ
实的模拟这些飞行状态特性,设置多个飞行控制角,包括:前翼和后翼拍打角θ、前翼旋转
ζ β Ψ φ
角θ、俯仰角θ、前翼扫角θ和腹部旋转角θ;蝴蝶初始姿势为:翅膀水平舒展,身体沿水平
并与地面平行,左侧翅膀与右侧翅膀距地面距离相同。令贯穿蝴蝶头部至尾部的直线为身
体纵轴,垂直于身体纵轴并贯穿左右侧翅膀的直线为身体横轴,身体纵轴与身体横轴所在
β φ
的平面为身体平面。则俯仰角θ是指胸部与身体的夹角。同理,腹部旋转角θ是指腹部与身
γ
体平面的夹角。前翼和后翼拍打角θ是指翅膀与身体平面的夹角;前翼扫角是指前翼与身
体纵轴的夹角。从翅膀根部到翅尖为翅膀纵轴,与翅膀纵轴垂直且贯穿的直线为翅膀横轴,
ζ
翅膀纵轴与横轴所构成的平面为翅膀平面,则前翼旋转角θ指翅膀扭转后翅膀平面与初始
姿势时的翅膀平面所成的夹角。
和后翼拍打角θ用于表征鳞翅目昆虫翅膀前后翼的拍打幅度;所述前翼旋转角θ用于表征
Ψ
鳞翅目昆虫前翼绕其前翼轴线的旋转角度;所述前翼扫角θ用于表征鳞翅目昆虫前翼扫动
φ
的幅度;所述腹部旋转角θ用于表征鳞翅目昆虫腹部沿身体纵轴上下翘动的幅度。
β
俯仰赋予一个自由度(DOF)为俯仰角θ。
转。对于后翼,由于其对飞行动力产生的作用不大,故后翅只赋予一个自由度用于拍打控
γ ζ Ψ
制。因此,通过前翼和后翼的拍打角θ,前翼的旋转角θ和前翼的扫角θ来精细的描述蝴蝶
胸部的姿态。
于腹胸连接点有助于维持身体平衡。腹部因此具有1个自由度沿身体纵轴上下旋转。则腹部
φ
控制参数为腹部的旋转角θ。
翅目昆虫的不同姿态得以精准、栩栩如生的展现,使仿真的自由度更高、可塑性更强,进一
步的提升了本仿真的真实感和准确性。
空气动力Fi,j进行叠加,得到第j个翅膀上的空气动力Fj;依次求解所述虚拟鳞翅目昆虫模
型n个翅膀上的空气动力,求和得到所述虚拟鳞翅目昆虫模型的空气动力总和,以及在旋度
噪声场上叠加Perlin噪声得到涡旋力Fvor。
若干吸引点;通过最近吸引点、鳞翅目昆虫模型的重心坐标和鳞翅目昆虫模型的总质量计
算得到虚拟鳞翅目昆虫模型的偏好加速度apre;并通过所述局部加速度aloc和所述偏好加速
度apre得出鳞翅目昆虫的速度ut;
行控制角θ对应的振幅 和虚拟鳞翅目昆虫模型各飞行控制角θ对应的频率f
*
(ut);根据t时刻的速度ut、频率f (ut)和振幅 求得鳞翅目昆虫模型的飞行控制角
*
θ;以对所述虚拟鳞翅目昆虫模型进行飞行控制。
现有路径规划算法,经过运算得出。
速度;其中, 是计算飞行控制角θ所使用到的频率域宽;其中符号“*”为上标用于表示不
β γ
同的飞行控制角,β表示前述俯仰角θ,γ用于表示前翼和后翼拍打角θ,ζ用于表示前翼旋
ζ Ψ φ
转角θ,Ψ用于表示前翼扫角θ,φ用于表示腹部旋转角θ。
因此需要采用了一种更轻量级的方法来模拟空气涡流。为了模拟涡流对鳞翅目昆虫产生的
影响,以及刻画其生物噪声行为,引入旋度噪声场来获得一个涡旋力。并在构建的旋度场上
增加Perlin噪声,能够模拟飞虫的与生俱来的生物噪声行为。将旋度噪声力扩展到微观的
鳞翅目昆虫个体的飞行控制,可以用于仿真涡旋力对鳞翅目昆虫的身体整体运动所造成的
影响。
维mesh的细微运动;同时通过偏好加速度apre可以模拟真实环境中鳞翅目昆虫独特的飞行
路径;同时在平衡考虑计算量的基础上,简化了振幅和频率与速度的关系,简化了振幅、频
*
率和速度与飞行控制角θ的关系在保证真实程度的基础上节约了算力。实现了对虚拟鳞翅
目飞行的自动控制。
定,迎角α计算为:
度运算构建一个旋度场;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.中知晓。
低鳞翅目模型飞行末段的速度;ut的计算公式为:
白;通过本发明提出的方法控制的鳞翅目模型,其飞行姿态更加真实,仿生性能更好。
率f (ut)和振幅 使其变化更加流畅,更加真实的模拟鳞翅目昆虫在真实飞行中
的姿态。
*
态调节两个控制频率f (ut)和振幅 为了更加真实的模拟鳞翅目昆虫在现实中
*
的飞行状态,可以在开始一个新的拍打周期时调整频率f (ut)和振幅 并可以根
据过去的飞行数据动态调整。因为频率和振幅的剧烈变化不利于鳞翅目昆虫在飞行中节省
能量。此外,频率和振幅的持续剧烈变化会导致运动不流畅。因此,需要平滑f和 的值。基
*
于滑动窗口算法,通过上述公式处理频率f (ut)和振幅 使其变化更加流畅,可
以更加真实的模拟鳞翅目昆虫在真实飞行中的姿态。
RTX2070GPU(8G),和16GB内存的PC进行仿真实验;对模型仅采用GPU进行渲染加速,并通过
GPU进行并行计算。
Internet上下载一段高清的蝴蝶视频,然后从视频中随机选择一个片段来进行对比。根据
所选择的视频片段中蝴蝶的起始与结束姿态,给仿真的蝴蝶手动指定类似的开始和线束姿
势。从图片可以看出,仿真蝴蝶的身体变化,如翅膀的拍打、腹部的翘动、胸部的抖动从视觉
上看非常接近真实蝴蝶。
并未考虑蝴蝶的真实飞行姿态。并没有将蝴蝶的飞行姿态与飞行速度、空间位置、所受的外
力、环境等因素关联。
维mesh绑定,用于驱动三维mesh运动;所述模型包括n个翅膀和重力信息;所述重力信息包
括虚拟鳞翅目昆虫模型的质量、重力和虚拟鳞翅目昆虫模型的重心坐标。
膀上的空气动力Fj;依次求解所述虚拟鳞翅目昆虫模型n个翅膀上的空气动力,以及在旋度
噪声场上叠加Perlin噪声得到涡旋力Fvor。
心坐标和鳞翅目昆虫模型的重质量计算得到虚拟鳞翅目昆虫模型的偏好加速度apre;并通
过所述局部加速度aloc和所述偏好加速度apre得出鳞翅目昆虫的速度ut。
对应的频率f (ut)和振幅 并根据t时刻的速度ut、频率f (ut)和振幅 得
*
出虚拟鳞翅目昆虫模型的飞行控制角θ。
件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的
技术中的任意一项或它们的组合来实现;具有用于对时局信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场
可编程门阵列(FPGA)等