跳转至

GroundModel 模块文档

所属工具箱:RflySim Model

GroundModel 模块外观

简介

一句话描述:该模块用于模拟无人机与地形的接触碰撞和摩擦效应,输出地面作用产生的力和力矩。

本模块是RflySim Model工具链中无人机动力学仿真的核心支撑模块,主要配合六自由度动力学仿真流程完成带地形环境的无人机仿真计算。模块接收来自地形处理模块输出的地形高度信息,以及6DOF模块输出的无人机六自由度运动状态信息,即可计算得到无人机与地面接触后,地形对无人机机身产生的作用力与反作用力矩。

该模块生成的力和力矩输出可直接接入无人机总动力学的力力矩合成环节,支持各类旋翼/固定翼无人机的起降、滑跑、地面停放场景仿真,在RflySim仿真框架中,该模块输出的动力学结果会传递给CopterSim完成机体状态解算,并同步到RflySim3D实现三维可视化,最终配合PX4飞控完成整个从控制决策到动力学仿真的全闭环仿真流程。

端口说明

输入端口(Inputs)

端口名 数据类型 维度 说明
tZ double 1×15 来自地形交互模块的输入信号,目前仅第1位存储地形高度信息
6DOF double 1×13 六自由度总线信号,由6DOF模块输出,包含无人机位姿、速度等状态信息 [待确认]

输出端口(Outputs)

端口名 数据类型 维度 说明
FM double 1×6 地面碰撞和摩擦产生的力和力矩,前3维为作用力,后3维为作用力矩

参数配置(Parameters)

本模块无可配参数。

参数设置说明

模块特性(Block Characteristics)

特性项
支持的数据类型 doublesingle
直接馈通(Direct Feedthrough)
采样时间 继承
代码生成支持

数据通信协议

本模块不涉及网络通信。

相关模块

模块名 说明
6DOF_NED_EC 实现无人机六自由度动力学方程建模,输出六自由度总线信号
TerrainReader 读取数字高程地图地形数据,输出地形高度相关输入信号
RFMoveCylinderGnd 移动起降平台地面接触建模,提供地面作用力输出

注意事项与常见问题

  • 初始化顺序:必须保证GroundModel模块放置在6DOF模块和地形生成模块之后完成仿真初始化,且六自由度总线信号的拓扑顺序需先于本模块的信号计算,否则会出现力力矩输出NaN的错误。
  • 采样时间匹配:本模块需要和对应6DOF模块的采样时间保持一致,若设置不同采样时间,会导致地面接触力计算不连续,出现无人机弹跳抖动的异常仿真现象。
  • 输入维度要求:输入tZ必须为15维的TerrainIn15d格式向量,模块仅读取向量第1位的地形高度信息,若输入维度不匹配会触发Simulink信号维度错误。
  • 平地仿真适配:如果不需要地形交互仅做平地地面接触仿真,可将恒定的平地高度值填充为符合要求的15维输入向量后接入本模块,无需额外配置地形生成模块。
  • 碰撞判定逻辑说明:本模块仅根据无人机位置与地形高度的相对关系判定接触,若无人机初始位置设置低于地形高度,仿真启动时会直接产生异常的过大地面推力,导致无人机窜出仿真场景。
  • 摩擦力适配:本模块输出的摩擦力大小默认适配多旋翼无人机地面起飞场景,若需模拟固定翼无人机滑跑,需要在模块参数中调整摩擦系数匹配仿真需求,默认系数下可能出现滑跑阻力过大/过小的问题。

更新日志

  • v4.0 (2024-01-01): 初始版本发布,实现地面地形接触与摩擦模拟功能,支持接收15维地形输入与六自由度总线输入,输出地面碰撞摩擦产生的力和力矩。