五到六天的苍蝇(W1118;+;+,被击倒到海森堡的州长十代)被麻醉于冰上,用乙醇短暂洗涤并在PBS-T下进行解剖(PBS+0.1%Triton X-100)。将苍蝇分解成可管理的元素,使我们能够使用高磁化,高数字孔径(NA)目标,这些目标与苍蝇的身体大小相关 - 比较较低的轴向分辨率比低磁化和低NNA目标具有更高的轴向分辨率的好处。头部,翅膀,带有腹部,前腿,中腿和后腿的胸部被转移到单个试管上。除机翼以外的所有身体部位与0.25 mg ml-1胰蛋白酶在PBS-T中孵育48 h,在37°C下孵育48小时以去除软组织。然后将角质层在20%的H2O2中漂白24小时,外骨骼和肌腱与刚果红(0.5 mg ml-1; Sigma-Aldrich,C676-25G)染色过夜,这是一种明亮且比较光稳定的可固定蛋白结合的染料,可染成柔软的,膜的,膜状,硬质和硬质量的cutiper,sclosity,sclotied,scloticed cutlosed cutsiper。它还显示出与肌腱和细卷须的亲和力,这对于识别肌肉的起源和插入部位非常方便,即使在没有软组织的情况下也是如此。该数据集还可以识别颈部,牛co,横杆,机翼基础和吊带的本体感受板的位置,这可以将其纳入模型的未来版本中。将样品在乙醇中脱水,并安装在水杨酸甲醇中(Sigma-Aldrich,M6752),该折射率非常接近玻璃,并促进整个相对较厚且笨重的样品,而不会降解信号。在2 µm的Zeiss 880共聚焦显微镜上获得串行光学切片,具有plan-Apochromat 10×/0.45 Na物镜,1 µM的间隔为1 µM,具有LD-LCI 25×/0.8 Na物镜,或0.3 µm,具有Plan-Apochromat 40×/1.3 Na目标。560 nm激光线用于激发刚果红色。
使用斐济的3D Viewer插件从共聚焦堆栈中提取三维网格,并进口到Blender22中。一个3D模型由代表头部,胸部和腹部,机翼和前腿,Midleg,Midleg和Hind Leleg的网格构建。附录网镜像在人体的内侧平面上反映(扩展数据图1A)。该模型被用作创建简化的低多角计数模型的参考,其中顶点总数从2260万减少到20,000(扩展数据图1B)。这个简化的模型由67个铰接的身体段(扩展数据图。图1d)组成:9个身体轴节(头部,胸部和7个腹部段),长鼻(4个段)(4个片段),天线,机翼,翅膀,吊带,吊带,6个片段(6个片段)和腿(Coxa,femur,tibia,tibia,tibia,4 tarsal segments segments segments segments segs and claws claws claws claw; tars claw; 6关节旋转的关节,关节和轴的确切位置是由共聚焦显微镜数据高度置信度确定的(图1B和扩展数据图1C)。该模型是在静止位置提出的,并通过在彼此相互定义身体段的运动的约束中进行了操纵。分配了67个主体段中的每个段(育儿为)一个称为“骨头”的控制元件,形成了类似于“电动轴”的骨骼的层次运动学树系统(扩展数据图1D)。
然后使用DM_Control Exporter(https://github.com/google-deepmind/dm_control)将搅拌器模型导出到Mujoco。代表头部,胸部,腹部,翅膀和腿部的组件是根据飞行体部件的重量测量的。从52个雌性苍蝇中获得了身体部位的质量,分别是22和30批次,以最大程度地减少测量误差。用仪表xs104分析平衡称重苍蝇,可读性为0.1 mg,线性偏差为0.2 mg。首先,将翅膀从批处理中的所有苍蝇中取出,并称重无翅蝇,然后在顺序移除腿,头部和胸腔后称重。从整体重量中减去值。将苍蝇保存在潮湿的腔室(5厘米的培养皿中,带有潮湿的薄纸),以防止干燥,可能会影响结果。测得的质量为:头,0.15 mg;胸腔,0.34 mg;腹部,0.38毫克;腿(每个),0.0162 mg;翅膀(每个),0.008 mg。这对应于总蝇质量为0.983 mg(补充表1)。该模型的全身长度为0.297厘米,机翼跨度为0.604厘米。
最初使用Blender的反向运动学工具确定联合限制。我们从相当紧密的关节限制开始,然后使用极端铰接的姿势(主要来自修饰行为)的参考图像,以增加需要的关节限制,直到达到所有参考姿势。然后,我们使用手动注释的修饰行为视频(以下更多详细信息),使用自动化的逆运动学拟合将模型拟合到392帧的自动化逆运动限制(下面)。补充表3中显示了模型默认配置中的感官系统细节。使用扭矩或位置执行器对DOF进行了驱动,其中某些DOF(腹部和TARSI)与肌腱结合(补充表2)。对于位置执行器,控制范围设置为等于相应的关节范围。有关构建蝇木马模型的更多详细信息,请参见补充信息。
为了验证我们对腿DOF和腿关节范围的近似,我们应用了以下程序。在修饰行为期间,我们录制了几个免费果蝇个体的两摄像机视频63。然后,我们在修饰过程中对蝇姿势的单个框架进行了均匀抽样和注释的单个框架,为我们提供了每条腿五个关键点的3D坐标:四个腿接头(身体– coxa,coxa – femur,coxa – femur,股骨 - tibia,tibia – tibia – tibia – tibia -tarsus)以及tarsal尖端。无论哪些腿在框架中积极参与修饰。这为我们提供了在修饰位置和休息(站立)位置的腿部数据。我们仅观察到用T1和T3腿进行修饰,我们总共收集了392个框架注释。然后,我们执行了模型腿对带注释的框架的逆运动学拟合(如下(有关逆运动学拟合过程的详细信息),另请参见下面的“参考步行数据”小节)。为了使尺寸或比例的飞行变异性和实际DOF不匹配的效果解脱出来,在每个帧中,我们都会重新缩放模型的腿部段以匹配数据。然后,我们同时为每条腿分别拟合了每条腿的所有五个关键点,并为每条腿的五个关键点中的每个关键点计算了绝对拟合误差(距离)。扩展数据图2显示了每个关键点和每个腿的反向运动学拟合误差的分布:扩展数据图2a显示了腿部拟合的腿部误差,扩展数据图2b图2B显示了修饰位置的错误。每条腿的中值错误通常很小,低于飞行体长的1%,并且剩余位置和修饰位置之间没有显着差异。胫骨 - 毛孔的密钥误差似乎有略有系统的增加,在扩展数据中的修饰拟合中更明显。图2B, 这并不奇怪,因为修饰腿部位置往往比其余位置更复杂。我们还使用拟合姿势来验证和调整飞行模型的关节限制。
对于每项运动任务,我们使用分布式RL设置训练了一个策略网络40,64,由Ray提供动力,Ray是一个开源通用通用分布式计算套件41。分布式训练配置显示在扩展数据图7中。多个基于CPU的参与者在单独的Mujoco环境实例中并行运行,生成经验并将其记录到重播缓冲区中。一个基于GPU的学习者从重播缓冲区进行样本培训批次,并更新政策和评论家网络权重。评论家网络仅是训练过程的一部分,直接直接使用飞行模型。每个演员都会探索环境,并使用其自己的策略网络副本生成经验,其权重定期与当前的学习者策略同步。对于学习者的政策更新,我们使用了政治演员 - 批判性DMPO代理,MPO代理36,37的分布扩展38。我们使用DM_Control65来设置RL环境和Mujoco Python绑定。我们使用了在ACME39中实现的DMPO代理和ReverB66中实现的重播缓冲区和Adam Optimizer67。补充表13和14显示了分布式设置和DMPO代理的超参数。
为了确保稳定性,我们在时间步骤中进行了Mujoco物理模拟,比从策略中采样操作命令的时间小四到十倍(请参阅补充表15和16中的物理和控制时间步长)。在训练过程中,政策是随机的(对动作的输出分布),以促进探索。分布是高斯,独立于每个动作维度,并通过平均值和标准偏差进行参数化。补充表17-19中提供了每个任务的策略网络体系结构。在测试时,通过使用预测的动作分布的方式来恢复策略为确定性。策略网络输出的动作在规范范围内[-1,1]。然后将这些动作重新制定以匹配其在飞行模型中的相应适当范围。例如,位置执行器的联合限制或力执行力的力限制。所有可观察到的(政策意见)均严格为中心;也就是说,在飞行模型的局部参考框架中计算得出。我们仅使用前馈政策和评论家网络,并且没有广泛扫描网络体系结构。
我们通过有限的时间步骤培训了模型。一集结束(i)当情节时间限制成功达到时,或者(ii)当遇到早期终止状况(表明失败)时。补充信息中的相应RL任务部分中提供了终止条件的详细信息。在第一种情况下,代理商估计了剩余的无限 - 马森未来奖励(超出了剧集的最后一步),这是通过从国家的价值中引导的。在第二种情况下,通过将未来的奖励设置为零来截断奖励顺序。失去未来的无限 - 摩恩奖励是一个不利的结果,代理商将试图学会避免触发早期发作终止的事件。
我们使用以下过程适合飞行物理参数。我们从先前从悬停的D. Melanogaster13(https://github.com/willdickson/fmech)录制的机翼运动轨迹开始。我们将模型放在悬停位置,并通过使用真实的机翼角度作为机翼执行器的目标角来驱动机翼以重现真实的机翼轨迹。然后,我们迭代调整(增加)机翼执行器增益到一个点,即参考机翼角度和模型翅膀横穿的轨迹之间的平均绝对误差低于机翼角幅度的5%。在每次迭代中,我们还拟合了机翼关节阻尼系数,以避免阻尼不足并随之而来的机翼振荡。我们为所有三个机翼执行器(偏航,滚动和俯仰)使用了相同的增益值。我们的增益和阻尼对的最终值是GainPRM = [18、18、18],阻尼= 0.007769。
找到合适的机翼执行器增益和机翼接头阻尼后,我们调整了木叶液流体模型系数(补充信息和补充表20),该系数比起拍打翅膀产生的阻力和升力力。这些(无量纲)流体模型系数存储在流体木马属性中。我们将模型放在飞行位置,并再次以真实的参考角度作为机翼执行器的目标角度驱动翅膀。然后,我们迭代地找到了一组流体参数,以便在几个机翼循环中的净升降量大约平衡了飞行模型的重量,fluidCoef = [1.0,0.5,1.5,1.5,1.7,1.0]。飞行物理参数总结在补充表21中。
我们还对粘性阻力和kutta升力进行了灵敏度分析,这是流体动力学中的两个主要力。我们对自由飞行的模仿学习具有修改的选择,用于与粘性阻力和kutta升降机相关的系数,并固定所有其他系数。然后,我们评估了模仿学习能够用逼真的机翼运动学正确重现地面真相轨迹的程度,如本文中报道的原始实验。我们还量化了轨迹的比例,在这种轨迹中,苍蝇作为第二个性能措施坠落到地面上。扩展数据图4显示,这些参数的飞行性能是鲁棒至20%的变化。
我们所有的飞行任务都使用WPG,该WPG以开环的方式产生固定的镜子对称循环基线机翼轨迹。WPG通过设计生成基线模式,不涉及学习。基线轨迹紧密遵循先前记录的悬停D. Melanogaster13的机翼模式。基线模式可在Figshare补充数据集中使用。在每个仿真时间步中,WPG为当前的机翼循环步骤检索并输出基线机翼图案的六个机翼角(每翼;图2)。这些基线机翼角将转换为机翼执行器的扭矩动作命令。尽管它已经产生了逼真的机翼运动,但仅固定基线机翼轨迹就不足以支撑稳定的悬停,这是由于缺乏反馈回路,Mujoco流体模型中的近似值和SIM卡对真实的间隙。提供这些缺失的组件是政策网络的作用。为了实现这一目标,将WPG扭矩动作(添加性)与策略输出相结合,以生成要发送到机翼执行器的最终动作向量。这样,策略可以调节固定基线模式,并产生手头任务所需的飞行;例如,稳定飞行,悬停,加速,转身等。
WPG和受过训练的政策结合产生的机翼运动与初始WPG基线模式保持接近。这是通过对DMPO代理36,37培训期间的政策行动的幅度来实现的。这样,鼓励代理通过仅使用最小的政策动作而不会实质性地与基线模式偏离实质性的政策动作来发现物理上可行的机翼运动模式。另外,WPG可以在预定义范围内改变输出基线模式的频率。WPG使用了策略动作向量的单个标量来控制基线机翼频率。在我们的环境中,允许翼频频率在以218 Hz为中心的10%范围内变化。WPG被实现为一个查找表,该表包含在10%频率范围内以不同机翼beat频率重新采样的单个固定基线机翼图案。当策略要求更改频率时,WPG将在旧频率和新频率上平稳连接机翼模式。
作为飞行参考数据,我们使用了先前记录的自由飞行D. Hydei的轨迹。这些轨迹包含苍蝇的笛卡尔com位置和身体方向,表示为季节。这些轨迹记录为7,500 fps。我们从44个自发转弯的轨迹(扫视)6和92弹性弹跳弹性轨迹,以响应视觉迫在眉睫的刺激。每个参考轨迹始于苍蝇正常飞行,然后进行操作。在操纵过程中和之后,苍蝇可能会直飞,侧向和向后。苍蝇也可以上升和下降。我们将原始轨迹线性插值为0.2 ms的飞行模拟控制步骤。然后,我们通过在垂直平面中镜像轨迹来增强数据集(加倍)数据集,并考虑到适当的四元反射。这导致了272个飞行轨迹的数据集,相当于大约53 s的实时飞行。该数据集可在FigShare(参考文献20)上找到。我们使用80%的轨迹进行训练,其余的轨迹进行测试。由于数据集的尺寸很小,为了在训练数据中保持左侧和右转弯之间的平衡,我们将数据集分开,以便如果轨迹在训练集中,那么它的镜像对应物也是如此。我们以0.05毫秒的物理时间步骤和0.2毫秒的控制时间步骤模拟飞行(补充表15)。
我们获得了几个具有2D关键点跟踪的果蝇个体的自由行为的自上而下的视频44(扩展数据图8A)。简而言之,将十个步行蝇(W+; BPP65ADZP(ATTP40); BPZPGDBD(ATTP2),20xUAS-GTACR1-EYFP(ATTP2);参考文献68,69)记录为150 fps,在浅,扁平的,扁平的,扁平的50毫米,50毫米 - 直流体中。用动物部位跟踪器(APT)70预测了17个关键点的2D位置。从九个这样的视频中,我们准备了步行参考数据集。我们使用了17个关键点中的13个:头上的3个,胸部上有3个,一个在腹部和6个腿尖端,如图8所示。我们根据以下标准选择了女性苍蝇和孤立的步行轨迹段。在每个框架上,我们都需要:(i)与竞技场中其他苍蝇的距离大于一个体长;(ii)平行于蝇体的速度成分大于垂直于身体的速度分量。然后,我们需要(iii)片段持续时间至少为20帧(133毫秒;大致对应于一个飞行步骤);(iv)平均腿部速度与平均COM速度的比率小于1.5。这产生了一套轨迹片段,苍蝇以不同的速度行走,转弯并站立。每个摘要的平均步行速度大约分布在[0,4] cm s -1的范围内(图3E,插图)。然后,我们将步行片段从6.7毫秒的时间步长到2毫秒时间步长的步行模拟控制。
但是,在2个维度中跟踪的13个要点不足以完成RL任务奖励计算(补充信息),这需要对模型的姿势,位置和方向进行完整规范。具体而言,这种全身表示应包括所有关节角度,关节轴向取向,关节速度,身体位置和方向以及腿部尖端位置。从所需的实验数据中获取模型的全身数据,首先,通过与第三垂直Z维度补充水平X,y坐标来提升2D步行片段。基于步行蝇71的单独侧视视频以及我们的飞行模型的默认站立位置,我们在行走时近似于单个固定值时的身体高度和音高。从该视频中,我们还估算了在挥杆运动过程中横穿腿尖的弧线的振幅。T1,T2和T3腿的振幅分别为A = 0.086、0.047和0.051 cm。我们以正弦函数为z = asin(x)近似于腿尖式摆动弧的z坐标,每个单腿挥杆的x从0到π。使用腿尖的钥匙点的2D坐标,我们根据Fly的Egintric参考框架中的腿尖水平速度将腿摆动与姿态分开。然后,我们将近似正弦弧添加到腿尖轨迹的挥杆段中,使Z = 0保持姿势。该过程为前面选择的步行摘要中的13个关键点产生了3D坐标。
作为最后一步,我们计算了所有片段中每个帧的全身参考姿势。我们在飞行模型中添加了13个关键点位点,并在3D步行片段中对整个模型主体进行了逆动力学拟合。对于每个片段,我们重新缩放了参考密钥点以匹配飞行模型的大小。在每个帧中,我们通过最大程度地限制模型关节角度Q =(Q1,Q2,…)来最大程度地符合所有13个关键点:
其中Si(Q)和分别是模型的13个关键点和拟合目标姿势的3D笛卡尔坐标。我们使用梯度下降来最大程度地减少这一目标。为了使用跨帧的时间连续性,我们使用了为上一个帧拟合的最终姿势来初始化每个后续帧的拟合过程。由于13个关键点(其中只有6个指定腿尖端)并未完全定义太空中的腿部姿势,因此我们添加了一个小的正则化术语,以鼓励更接近飞行模型的默认站立姿势的拟合姿势。默认姿势由模型关节角Q0的向量(在我们的情况下是零的向量)指定。正则强度为λ= 1×10-4 cm2 rad -2。在发现每个帧中参考姿势的关节角Q之后,我们还使用有限差异计算了dq/dt的关节速度。
该过程为参考步行轨迹的完整全身表示(关节角度,位置,方向和速度),用于步行模仿任务。总共,步行数据集约为16,000个步行片段,大约有80分钟的飞行行动行为。该数据集可在FigShare(参考文献20)上找到。
通过粘附,摩擦力和接触力的组合,可以实现飞行模型在倾斜表面上附着和行走的能力。在本节中,我们介绍了穆约科(Mujoco)中粘附机制的细节以及苍蝇模型如何使用腿粘附执行器。让我们考虑一个简单的示例,即固定飞行在倾斜平面上。当在Tarsal Claw碰撞几何和地板表面之间检测到接触时,Mujoco计算(约束)接触力,在这种情况下,这是地面反应力(扩展数据图3A)。在库仑摩擦模型中,只要接触力矢量FCONTACT在摩擦锥边界内,即净外力的切向组件(fweight,在此简化的示例中由给定腿支持的总飞行权重的比例),该示例中给定的腿的支撑)将通过相反方向的接触力量的切线组成。摩擦锥(我们的蝇模型使用椭圆形摩擦锥; Mujoco也支持锥体摩擦锥)包括所有可满足μ是静态摩擦系数的接触力量。在摩擦锥之外,也就是说,对于超出阈值的接触力,将发生滑动运动。请注意,在此摩擦模型中,锥角是单独使用摩擦系数的函数,由θ= tan -1μ给出。在我们的模型中,μ= 1和θ= 45°。
在Mujoco中,粘附执行器的作用等于在正常接触方向上注入力(扩展数据图3A),有效地作用将苍蝇的爪子推入地板。作为响应,接触力的正常成分将增加相同的量。尽管由于粘附力,切向接触力分量没有变化,但请注意净接触力向量如何远离摩擦锥边界,从而提供了更大的防滑缘,例如,可用于前进行走推进。除了其在库仑摩擦机制中的作用之外,粘附力还可以直接抵消重力,使其能够在任意的表面上行走,例如垂直壁或天花板。
扩展数据图3B显示了步行任务的延时,其中训练了飞行模型以使用粘附来克服颠簸的地形。此任务类似于上述的步行模仿任务(图3)。需要苍蝇以模仿单个真实数据的步行段,以固定速度(2.7 cm s-1)直行行走。顺便说一句,我们引入了一个正弦的凹凸障碍物,如果没有粘附,就无法克服。在每个训练剧集中,凸起的障碍物在范围[0,2]和[2,4] cm的范围内分别有所不同。因此,凸起倾斜角在0°至72°之间。我们还通过DMPO代理机制添加了小小的动作惩罚,Epsilon_penalty = 3×10-4,以鼓励代理人更喜欢经济行动,包括粘附行动。我们记录了训练的策略推出期间的粘附动作和接触力,最大倾斜角约为45°,如图3C – F所示。
腿粘附执行器在克服障碍物时产生的粘附力在扩展数据中显示了图3C。随着地形角变得更陡峭,模型的粘附使用会增加。飞行模型学会了大部分在上坡的路上使用T1和T2腿对,而在下坡的路上大部分是T3。由于缺乏约束,左腿粘附使用之间存在不对称性(退化),我们没有尝试解决。在我们的模型中,每条腿最大的粘附力是一个苍蝇体重,这也显示在图中进行比较。每个腿的相应接触力向量的规范显示在扩展数据中图3D。在扩展的数据中显示了增加粘附的较大距离边缘(远离摩擦锥边界)的效果(远离摩擦锥边界)。没有粘附力,大多数腿部触点将无法抵消滑动力负载,尤其是在“驾驶” T1,T2腿上的途中,而在向下的途中T3(扩展数据图3F)。
有关研究设计的更多信息可在与本文有关的自然投资组合报告摘要中获得。

