Skip to content
inferred from GitHub

MoSim

Core trick

Compares PID, robust, and predictive controllers in MWORKS Sysblock models, then runs the frozen controller interface inside PX4/Gazebo.

Evidence

README matched ""Cerebral Valley" "Opus 4.6"": References/Agent/Skills/ECC/docs/pt-BR/README.md

Tags

lzy18001500226/MoSim★ 10 forksC++Created May 7, 2026 · last push Aug 31, 2026

README excerpt

# MoSim: 四旋翼无人机自适应鲁棒位姿控制与智能仿真验证系统

MoSim 是面向 A8 四旋翼无人机位姿控制系统设计优化赛题的完整工程。项目以
MWORKS 为控制器建模、仿真和量化分析主线,并把生成代码或已冻结控制接口接入
PX4/Gazebo 验证链路。目标不是搭建通用机器人导航演示,而是可复现地回答:控制器
是否改善了四旋翼在典型轨迹、扰动、故障与多机任务中的位置精度、姿态稳定性和鲁棒性。

赛题原始要求、交付物和报告口径见
[`Docs/Design/赛题.md`](Docs/Design/赛题.md)。

## 赛题主线

1. 以官方 PID 为可追溯基线,设计并比较改进 PID、鲁棒控制、预测控制或受控复合方案。
2. 在 MWORKS.Sysblock / Sysplorer 中完成控制器与四旋翼系统模型集成,使用 Syslab 或等价脚本完成量化分析。
3. 覆盖阶跃、螺旋、8 字、参数摄动、风扰、执行器退化等场景;多机编队是单机闭环稳定后的扩展任务。
4. 交付完整源文件、用户手册、仿真分析报告和演示材料,所有结论必须能追溯到模型、配置、日志、指标或图件。

## 下载后快速入口

GitHub 克隆和百度网盘源码包应得到相同的项目根目录。`MOSIM_ROOT` 必须指向
同时包含 `AGENTS.md`、`Models/` 和 `Config/` 的 `MoSim` 目录;不要把它指向
外层下载目录,也不要把项目解压成 `MoSim/MoSim/` 后误设根目录。

```powershell
$MOSIM_ROOT = (Resolve-Path '<包含 AGENTS.md、Models 和 Config 的 MoSim 目录>').Path
$env:MOSIM_ROOT = $MOSIM_ROOT
Test-Path "$MOSIM_ROOT\Models\MoSimQuadrotorModel\package.mo"
```

优先复现 APP 和 MWORKS 仿真时,按以下顺序操作:

1. 在已授权的 MWORKS Syslab 中加载 `Models/MoSimQuadrotorModel/package.mo`;
2. 在同一 Syslab 会话执行 `apps/model_studio/src/app.jl` 的 `include(...)` 入口;
3. 在 Studio 选择任务和控制器,点击“写入配置”,再点击“打开仿真模型”;
4. 在 MWORKS 原生窗口确认 FormalRunner、执行 CheckModel,再由用户手动启动仿真;
5. 在结果查看器读取 `Result.msr`,并用同次运行目录的指标和运行记录判定结果。

APP 不是普通 Julia 命令行程序,不要用 `julia src/app.jl` 代替 Syslab 入口。`Results/`
被源码仓库忽略,首次写入配置时会自动生成交接 JSON 和临时 harness;历史 Results
证据包是独立交付物,不是 APP 启动依赖。Gazebo、ROS、PX4 和 QGC 属于可选的运行时
扩展,不是 APP 或 MWORKS 单机仿真的前置条件。

依赖分层:基础 APP、写入配置、通过原生 `ModelingPy` 打开模型,以及用户在 MWORKS
窗口中执行 CheckModel/仿真,不要求安装 Sysplorer MCP wrapper。APP 中的自动“运行
MWORKS MIL”/批量回归