SimForge HSF 案例分享|复杂仿真应用定制——UAVSim无人机仿真APP(技术篇)

导读

    「神工坊」核心技术——「SimForge HSF高性能数值模拟引擎」支持工程计算应用的速开发、自动并行,以及多域耦合、AI求解加速,目前已实现航发整机数值模拟等多个系统级高保真数值模拟应用落地,支持10亿阶+、100w+核心量级的高效求解。其低代码开发能力,可面向复杂装备、中小企业专用仿真场景,快速开发定制仿真应用

    本文将通过“UAVSim无人机仿真APP”案例,带您深入了解「神工坊」团队,如何基于「SimForge HSF」,针对具体场景开发垂直应用,使产品经理也可上手操作无人机数值仿真。

 一、客户需求分析  

    1. 行业背景

    无人机广泛应用于军事侦察、民用航拍、物流配送、农业植保、应急救援等诸多领域,其市场规模呈现出爆发式增长态势。随着应用场景的不断拓展和深化,对无人机的性能、可靠性和安全性提出了越来越高的要求,这使得无人机的研发设计面临着前所未有的挑战。

    2. 客户痛点

    ➢ 精确建模与分析难度大

    在空气动力学方面,精确模拟无人机在不同飞行状态下的气流特性是确保飞行性能的关键。然而,气流与无人机机体及旋翼之间的相互作用极为复杂,受到飞行姿态、速度、环境风等多种因素的影响,准确建模和分析难度极大。

    ➢ 实物试验成本高、代价大

    在研发流程中,传统的设计方法主要依赖实物试验和经验积累。但实物试验成本高昂且耗时费力。

    ➢ 经验设计研发周期长

    经验设计在面对新型无人机的创新设计需求时,缺乏科学依据和理论支持,难以快速准确地确定最优设计方案,导致研发周期延长。

 二、解决方案设计  

    1. 自研网格模块生成自适应网格

目标:

研发可动态调整的网格模块,以满足无人机不同条件下的差异化网格需求。

    技术方案:

    UAVSim 的网络模块基于自研的结构网格自适应技术(SAMR)来生成自适应网格,其具有以下几点优势:

    ①网格自动生成

    SAMR 技术主要基于笛卡尔网格,其网格结构相对简单,天然适合自动生成网格。即使面对复杂的无人机几何形状或存在一定几何缺陷(如轻微不平整、小空洞等)的模型,也能通过适当处理成功生成网格。

    应用场景:

    对于多旋翼无人机复杂的旋翼结构和机身连接部分,模块可以自动识别并生成合适的网格。在边界处,采用脱体网格加密和合适的边界模型(如浸没边界法),确保边界条件的准确性,有效提高了网格生成的效率和质量,降低了对人工前处理的依赖。

    ②高效自适应加密

    SAMR 技术可以使网格能够精准地集中在需要加密的关键区域。

    在无人机飞行过程中,根据实时监测的物理场特征(如气流速度、压力变化等),在气流变化剧烈的区域(如高速飞行时的机翼前缘、旋翼旋转区域等)快速加密网格,而在相对稳定的区域则保持较粗的网格,从而高效利用网格资源。与传统结构化网格相比,它无需按固定维度进行加密,更加灵活;相较于非结构网格,在保持局部结构化优势的同时,利用简单直接的等分和合并规则实现网格重构,速度更快、效率更高。

    应用场景:

    当无人机从平稳飞行进入紊流区域时,网格能迅速在紊流影响区域加密,准确捕捉气流变化。

    ③多尺度特征捕捉

    SAMR 技术能够有效捕捉无人机飞行中的多尺度特征。

    无论是大尺度的气流整体分布,还是小尺度的涡旋、边界层等细节,都能通过自适应加密得到准确模拟。

    同时,由于其局部结构化特征,在适应无人机复杂几何形状的前提下,保证了局部计算效率与传统结构化网格相当。

    ④计算效率提升

    采用笛卡尔网格的 SAMR 还可大幅节约几何描述数据,缓解众核处理器内存带宽瓶颈,有利于在高性能计算平台上运行。

    SAMR 能根据不同的硬件平台(如国产神威超级计算机或传统 X86 架构计算机)特点,调整网格块分辨率,充分发挥硬件性能,进一步提高计算效率。

    应用场景:

    在使用国产神威・太湖之光超级计算机时,通过优化网格配置,实现高效计算。

无人机四旋翼侧网格生成效果图

2. LBM求解器对旋翼机体的数值仿真

目标:

实现不同工况下旋翼的高保真数值模拟,以提升无人机整体的飞行效率、机动性、稳定性和安全性。

    技术方案:

    LBM(格子玻尔兹曼方法)求解器:基于微观粒子模型,将流体空间离散为规则的格子结构,通过跟踪流体粒子在格子间的碰撞和迁移来模拟流体流动。

    在旋翼机体仿真场景下,LBM 求解器可以实现:

  • 精确描述旋翼和机体的形状和位置

  • 准确获取旋翼表面的压力分布

  • 获取旋翼关键空气动力参数

  • 捕捉气流的紊流特性和涡旋结构

  • 模拟旋翼尾流的发展和传播

  • 模拟尾流与机身等部件的相互作用

    在此技术支持下,UAVSim APP中可以通过调整旋翼的几何参数(如桨叶形状、长度、扭转角等)和飞行工况参数(如飞行速度、姿态角等),进行大量的数值实验,快速评估不同设计方案对旋翼性能的影响,为优化旋翼设计提供全面而准确的数据支持。

3. 操作界面优化

目标:

用户界面与操作流程简化,加强UAVSim APP的易上手性,降低产品经理等非专业仿真工程师的学习成本,提高协同研发效率。

    简洁直观的用户界面与便捷操作流程:

    UAVSim 的用户界面设计采用符合人机工程学的布局。

    功能模块图标直观醒目:

    主界面上,前处理、计算提交、后处理等主要功能模块功能按钮分类清晰且标识明确,用户能迅速定位所需功能入口。

    应用场景:

    在前处理模块,用户仅需简单操作,即可导入无人机几何模型,并轻松输入各旋翼的中心坐标、旋转速度、直径以及前飞速度等关键参数。

 三、总结  

    本篇详细解析了「神工坊」团队针对无人机仿真场景,提供的技术解决方案——「UAVSim无人机仿真APP」通过自研的网格模块,根据无人机真实工况生成自适应网格,进而利用LBM求解器进行计算,实现了对旋翼机体的数值仿真。软件易于操作,界面设计简洁直观,产品经理也可轻松上手,参与高效协同研发。

    关注「神工坊」,第一时间获取“案例分享”专栏最新内容,在即将发布的“操作篇”中,我们将为您展示「UAVSim无人机仿真APP」前处理-求解-后处理全流程作业的具体操作过程,敬请期待!

神工坊 _ 一站式高性能仿真服务商神工坊高性能仿真平台,源自国家超级计算无锡中心(始于2016年),是支持工程仿真应用的开发、定制和在线服务的PaaS+SaaS平台。icon-default.png?t=O83Ahttps://simforge.cn/

推荐阅读

福利放送|用户数突破2000大回馈,即刻解锁体验金福利!

SimForge 功能介绍|如何在仿真作业中实现高效协作?揭秘「在线协同」新革命

仿真科普|CAE技术赋能无人机 低空经济蓄势起飞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/891345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

A3C算法在超级马里奥实战中的应用研究

源码地址见文末 摘要 在深度学习和人工智能领域,强化学习技术的应用正不断推动着机器智能的边界。超级马里奥(Super Mario)作为一款经典的电子游戏,因其复杂的动态环境和多样化的游戏任务,成为深度强化学习的重要测试平台。本文以A3C(Asynchronous Advantage Actor-Crit…

聊天机器人Rasa面试内容整理-Rasa 是什么?

Rasa 是一个开源的框架,专门用于构建对话式 AI 应用程序,例如聊天机器人和语音助手。它由两部分组成:Rasa Open Source 和 Rasa Pro (或 Rasa Enterprise),提供了强大的工具集来创建自然语言理解(NLU)和对话管理(DM)功能。 Rasa 的主要特点 1. 自然语言理解(NLU): …

bev and occupancy 3D视觉工坊

纯激光雷达的占据预测数据集制作 Allan 方差,零漂,把imu静止在一个地方,看它的偏差 评估指标 waymo

ts总结一下

ts基础应用 /*** 泛型工具类型*/ interface IProps {id: string;title: string;children: number[]; } type omita Omit<IProps, id | title>; const omitaA: omita {children: [1] }; type picka Pick<IProps, id | title>; const pickaA: picka {id: ,title…

【分布式文件存储系统Minio】2024.12保姆级教程

文章目录 1.介绍1.分布式文件系统2.基本概念 2.环境搭建1.访问网址2.账号密码都是minioadmin3.创建一个桶4.**Docker安装miniomc突破7天限制**1.拉取镜像2.运行容器3.进行配置1.格式2.具体配置 4.查看桶5.给桶开放权限 3.搭建minio模块1.创建一个oss模块1.在sun-common下创建2.…

udp分片报文发送和接收

读文件通过udp分片发送的目的端&#xff1a;&#xff08;包含错误的分片包&#xff09; #!/usr/bin/python # -*- coding: utf-8 -*-#python send_100frag_file.py -p 55432 -f snatdownloadimport argparse import loggingfrom scapy.all import *# Define the maximum size …

好用的随机生成图片的网站

官网&#xff1a; Lorem Picsum 获取自定义大小的随机图像 https://picsum.photos/200/300 获取正方形图像 https://picsum.photos/200 获取特定类型的图像 通过添加到 /id/{image} url 的开头来获取特定图像。 https://picsum.photos/id/237/200/300 获取静态随机图像…

2024-12-31-devkit-pipeline

title: 解析 Devkit-Pipeline&#xff1a;开发流程自动化的新动力 date: ‘2024-12-31’ category: blog tags: Devkit-Pipeline开发流程自动化持续集成软件开发效率 sig: CICD archives: ‘2024-12’ author:way_back summary: Devkit-Pipeline 是一款为软件开发流程带来高效…

“进制转换”公式大集合

咱们都知道十进制是“逢10进1 ”&#xff0c;同理&#xff0c;N进制就是 “逢N进1”。进制其实就这么简单。它的麻烦之处在于各种进制之间的转换。 一、十进制整数转N进制 1&#xff0e;十进制转二进制 除2取余法&#xff1a;连续除以2&#xff0c;直到商为0&#xff0c;逆序…

解决k8s部署dashboard时一直处于Pending状态的问题

直接用离线包就行 命令 [rootk8s-master ~]# docker load -i calico-image-v3.25.0.tar [rootk8s-master ~]# kubectl apply -f calico.yaml链接在https://download.csdn.net/download/weixin_42759398/90192045 [rootk8s-master ~]# docker load -i calico-image-v3.25.0.t…

在计算机网络中,什么是集群?

在计算机网络中&#xff0c;集群&#xff08;Cluster&#xff09;指的是一组相互独立的计算机&#xff08;也称为节点&#xff09;&#xff0c;它们通过高速通信网络互联&#xff0c;共同协作以提供高性能、高可用性和可扩展性的计算资源和服务。这些计算机在逻辑上被组织成一个…

【视觉SLAM:八、后端Ⅰ】

视觉SLAM的后端主要解决状态估计问题&#xff0c;它是优化相机轨迹和地图点的过程&#xff0c;从数学上看属于非线性优化问题。后端的目标是结合传感器数据&#xff0c;通过最优估计获取系统的状态&#xff08;包括相机位姿和场景结构&#xff09;&#xff0c;在状态估计过程中…

Vue.js前端框架教程15:Vue父子组件之间的通信ref、emits

文章目录 1. 属性传递(Props)2. 事件监听( Emits)3. `ref` 引用4. `provide` 和 `inject`5. 插槽(Slots)在 Vue 3 中,父子组件之间的通信可以通过多种方式实现,包括属性传递、事件监听、插槽以及 ref 和 provide/inject。以下是这些通信方式的详解: 1. 属性传递(Pro…

SpringCloudAlibaba实战入门之路由网关Gateway过滤器(十三)

承接上篇,我们知道除了断言,还有一个重要的功能是过滤器,本节课我们就讲一下常见的网关过滤器及其一般使用。 一、Filter介绍 类似SpringMVC里面的的拦截器Interceptor,Servlet的过滤器。“pre”和“post”分别会在请求被执行前调用和被执行后调用,用来修改请求和响应信…

[C#]C# random.Next(0,1)包含0和1吗

在C#中&#xff0c;Random.Next(minValue, maxValue) 方法生成的随机数是一个在 minValue&#xff08;包含&#xff09;和 maxValue&#xff08;不包含&#xff09;之间的整数。因此&#xff0c;当你调用 Random.Next(0, 1) 时&#xff0c;它只会生成一个整数&#xff0c;这个整…

matlab-数字滤波器设计与实战

文章目录 数字滤波器设计FIR 滤波器设计IIR 滤波器设计巴特沃斯滤波器切比雪夫 I 型滤波器切比雪夫II型椭圆滤波器线性相位与非线性相位零相位响应数字滤波器实战数字滤波器产生延迟的主要原因补偿滤波引入的延迟补偿常量滤波器延迟补偿与频率有关的延迟从信号中除去不需要的频…

Clickhouse使用基础

# 查看操作系统版本 cat /etc/os-release# clickhouse版本 clickhouse -V# 登录clickhouse客户端 clickhouse-client -u xxx --password xxx -m # -m 或 --multiline&#xff1a;进入客户端后&#xff0c;运行输入多行sql语句建表 # 创建数据库 CREATE DATABASE IF NOT EXIST…

python参数传递不可变对象含可变子对象

当传递不可变对象时。不可变对象里面包含的子对象是可变的。则方法内修改了这个可变对象&#xff0c;源对象也发生了变化。 a (10, 20, [5, 6]) print("a", id(a))def test01(m):print("m", id(m))m[2][0] 888print("修改m后m的值为{}".forma…

Midjourney技术浅析(八):交互与反馈

Midjourney 的用户交互与反馈通过用户输入&#xff08;User Input&#xff09;和用户反馈&#xff08;User Feedback&#xff09;机制&#xff0c;不断优化和改进图像生成的质量和用户满意度。 一、用户交互与反馈模块概述 用户交互与反馈模块的主要功能包括&#xff1a; 1.…

如何检测PWA是否已经安装?

手头的项目有个需求需要检测PWA是否已经安装&#xff0c;安装了导航下载就不显示&#xff0c;没有安装就需要显示。在网上找了蛮久&#xff0c;也问了chatgpt&#xff0c;主要提供以下三种方法&#xff0c; 1、判断 navigator.getInstalledRelatedApps() 是否有返回值 此方法…