社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

热点关注丨Science Robotics 利用机器学习进行鳐鱼的仿生设计

中国人工智能学会 • 6 天前 • 36 次点击  

https://www.science.org/doi/epdf/10.1126/scirobotics.adr6472

对于海洋生物而言,生物力学和流体动力学力都会对游泳速度施加物理限制,促使游泳策略和鳍形状的趋同进化。鉴于这些限制是与尺度相关的,如雷诺数(Re),这就产生了自然运动缩放定律,该定律根据生物体的大小和身体运动学来决定其游泳速度 ,通常较大的生物体比较小的生物体游得更快。在此背景下,生物混合游泳器最近作为一类独特的软机器人出现,它将活组织与合成组件相结合,以创建基于肌肉的自供电微型机器人。与传统机器人类似,生物混合体可以驱动,使其能够行走、爬行和游泳,并形成更复杂的行为,如泵送和抓握。

因此,这些设备在遥感、研究肌肉再生和发育以及作为药物输送的医疗机器人等方面引起了人们的兴趣。然而,在构建生物混合游泳器时,研究人员主要采用“仿生”方法,试图重现现有的生物结构。将这种策略用于鳍的设计可能存在局限性,因为生物混合体的许多拟议应用要求它们在与自然灵感不同的长度尺度上游泳。

鉴于海洋生物根据其当地游泳环境可能呈现出广泛的形态,这使得确定要模仿的鳍结构具有挑战性。此外,在生物机器人系统的设计中忽略与尺度相关的物理限制,可能导致相对于类似大小的生物有机体而言游泳速度受限。这些设备无法匹配自然缩放定律表明肌肉质量利用效率低下,这意味着需要改进设计方法。这就引出了以下问题:我们如何选择鳍的几何形状,使其能够在以前未经测试的工作环境下运行,同时在游泳速度和效率方面保留自然缩放定律?

机器学习领域的最新进展,包括神经网络(NNs)的应用,可能为设计高效的鳍片几何形状提供潜在解决方案。以程序化方式应用工程设计算法(设计 - 构建 - 测试 - 学习)可实现自动化设计,例如用于跳跃和爬行机器人及生物机器人系统。然而,对于软体机器人游泳装置而言,这种迭代方法可能颇具挑战性。尽管计算流体动力学(CFD)可用于模拟单个鳍片几何形状的行为,但游泳是一个多物理场问题,需要进行计算量巨大的运动学和流体动力学建模。因此,研究人员试图通过仔细选择每次迭代中要模拟的配置来减少模拟次数。以往应对这一挑战的方法包括基于统计驱动的方法,如贝叶斯优化;然而,近年来,现代机器学习算法使这类设计问题变得易于处理。特别是,利用深度学习模型来建议潜在设计配置的神经网络导向方法,有助于加速这一过程,并已应用于材料合成和蛋白质设计等领域。这表明类似的方法可应用于生物混合鳍片设计,通过在定义的参数空间内更高效地搜索来帮助提高装置性能。

受自然存在的鳐形目鱼类(如鳐鱼和魟鱼)的启发,在此,我们将软体机器人生物混合魟鱼与机器学习相结合,以优化毫米级长度下快速游泳的魟鱼鳍片几何形状。我们假设,通过使用机器学习导向优化(ML - DO)方法,我们可以更高效地搜索能使相对游泳速度最大化的鳍片设计。

首先,我们开发了一种遗传算法,用于表达多种不同的鳍片几何形状,这些形状可通过生物混合系统实现;其次,我们描述了一种在大型不连续配置空间中进行搜索的通用ML - DO方法;第三,我们使用这种方法来确定在低Re值下实现高性能游泳的生物混合鳍片几何形状。利用机器学习,我们能够定量探索鳍片结构与功能的关系,重建远洋鳐形目鱼类形态的一般趋势。这表明具有大长宽比(ARs)和精细渐缩尖端的鳍片在鲾鲼式游泳的多个长度尺度上都保持了其效用。

按照这些设计,我们随后用工程化心肌组织制造了生物混合小型魟鱼,它们能够在毫米级长度上实现自主游泳,并且与以往的仿生设计相比,在自然运动缩放定律方面表现出更高的游泳效率。总体而言,这项工作展示了迭代的生物启发设计方法如何用于量化形态 - 功能关系,同时从基本物理约束中预测自然鳍片几何形状的出现。


本文由CAAI 认知系统与信息处理专委会

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/179333
 
36 次点击