NeuroMechFly v2的实现,成人果蝇具身感觉运动控制的框架
项目描述
使用NeuroMechFly v2模拟具身感觉运动控制
此存储库包含FlyGym的源代码,FlyGym是NeuroMechFly v2的Python库,是成年果蝇Drosophila melanogaster的数字孪生,它可以看见、闻到、在复杂地形上行走,并与环境交互(见我们的NeuroMechFly v2论文)。
NeuroMechFly由以下组件组成
- 生物力学模型: 生物力学模型基于对真实成年雌性果蝇的微CT扫描(见我们原始的NeuroMechFly出版物)。我们调整了几个身体部分(尤其是触角)以更好地反映生物现实。
- 视觉: 果蝇具有由称为感光细胞(ommatidia)的单独单元组成的复眼,这些单元排列在六边形网格上。我们模拟了果蝇视网膜上的视觉输入。
- 嗅觉: 果蝇在触角和上颚触须上有气味受体。我们通过计算这些位置上的气味/化学强度来模拟果蝇经历的气味输入。
- 分层控制: 果蝇的中央神经系统由大脑和腹侧神经索(VNC)组成,这是一种类似于我们大脑-脊髓组织的层次结构。用户可以构建一个两部分的模型——一个处理大脑级别的感官整合和决策,另一个处理VNC级别的运动控制——两者之间通过下行(大脑到VNC)和上行(VNC到大脑)表示的接口。
- 腿粘附性: 昆虫在腿的末端进化出专门的粘附结构,使其能够在垂直墙壁和悬垂的天花板上移动。我们在模型中模拟了这些结构。尽管存在粘附力,但苍蝇在运动中抬起腿的机制尚不清楚;为了简化这个问题,可以在腿站立/摆动时打开/关闭粘附性。
- 机械感官反馈: 用户可以访问苍蝇所经历的关节角度、力和接触力。
NeuroMechFly 将模拟苍蝇的控制形式化为部分可观察的马尔可夫决策过程(MDP),并实现了Gym接口。这允许用户使用各种强化学习算法来训练苍蝇执行任务。标准化的接口还允许用户轻松实现他们自己的预运动计算和/或感官预处理过程。
本包由EPFL的神经工程实验室开发。
安装和依赖
简而言之
pip install "flygym"
# or pip install "flygym[examples]" to install additional dependencies needed for examples
或者,我们提供Docker镜像。有关详细信息,请参阅我们的网站,特别是如果您计划以开发者模式安装FlyGym(即如果您计划修改代码)。依赖关系在setup.py
中指定,并将在使用pip安装时自动安装。安装通常不超过几分钟。FlyGym当前版本的PyPI版本在页面顶部的徽章中指示。使用FlyGym不需要特殊的付费软件。
演示
请参阅我们的网站以获取教程,包括预期输出。对于运行时间超过几秒的代码块,在2020年MacBook Pro(搭载M1处理器,运行macOS 13.5.2)上的运行时间将指示,通常以进度条的形式表示。
复制论文中的结果
我们一直在努力扩展包并提高其可用性;因此,该包可能会发生变化。为了复制我们在预印本中展示的精确结果,请使用FlyGym 0.1.0和此处的分析代码。
引用
如果您在您的工作中使用NeuroMechFly,请引用以下论文
@article{WangChen2023,
author = {Sibo Wang-Chen and Victor Alfred Stimpfling and Pembe Gizem \"{O}zdil and Louise Genoud and Femke Hurtak and Pavan Ramdya},
title = {NeuroMechFly 2.0, a framework for simulating embodied sensorimotor control in adult Drosophila},
year = {2023},
doi = {10.1101/2023.09.18.556649},
URL = {https://www.biorxiv.org/content/early/2023/09/18/2023.09.18.556649},
journal = {bioRxiv}
}
@article{LobatoRios2022,
doi = {10.1038/s41592-022-01466-7},
url = {https://doi.org/10.1038/s41592-022-01466-7},
year = {2022},
month = may,
volume = {19},
number = {5},
pages = {620--627},
author = {Victor Lobato-Rios and Shravan Tata Ramalingasetty and Pembe Gizem \"{O}zdil and Jonathan Arreguit and Auke Jan Ijspeert and Pavan Ramdya},
title = {{NeuroMechFly}, a neuromechanical model of adult {Drosophila} melanogaster},
journal = {Nature Methods}
}
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
flygym-1.1.0.tar.gz (23.3 MB 查看散列)
构建分布
flygym-1.1.0-py3-none-any.whl (23.3 MB 查看散列)