Engee 文档
Notebook

开始使用代码生成器

该模型展示了自动驾驶仪滚动轴控制系统的实现。该模型用于代码生成。

关于模型

该模型是一个基本的滚转通道自动驾驶仪,具有两种操作模式:滚转稳定和航向保持。模式切换逻辑在本模型之外,可在其他模型中实现。滚转稳定和航向保持模式在结构上被分离为模型内的原子子系统。

滚转稳定功能是一个 PID 控制器,它使用滚转角和滚转率反馈来发出副翼指令。控制器的输入信号是滚转角设定值(目标值)或滚转角指令,以保持所需的飞行路径。模型如下

gs_topmodel.png

滚动模式子系统

该子系统实现了基本的滚动设定点计算。根据子系统类型的不同,Engee 代码生成器会将此计算直接嵌入主模型函数中(对于虚拟子系统),或生成一个带有子系统名称的单独函数(对于原子子系统)。

gs_rollmode.png

航向模式子系统

该子系统计算滚动设定点,以保持所需的航向。

gs_headingmode.png

CtlMode 子系统

该子系统以 PID 控制器的形式实现滚动角稳定功能。

gs_ctlmode.png

模型模拟

该模型包含子系统autopilot_roll 周围的测试流水线。运行模型模拟以确保其正确性。

根据模型生成代码

Engee模型已准备好生成代码。要从autopilot_roll 子系统(代表模型的算法部分)生成代码,请在命令行或 Engee 交互式脚本中运行以下命令:

In [ ]:
engee.generate_code( "$(@__DIR__)/aircraft_roll.engee",
                           "$(@__DIR__)/autopilot_roll",
                           subsystem_name="autopilot_roll" )
[ Info: Generated code and artifacts: /user/start/examples/codegen/GettingStartedCodegen/autopilot_roll

engee.model.generate_code 命令的语法详见 Engee 代码生成器

生成的代码位于start/examples/codegen/GettingStartedCodegen/autopilot_roll 目录中。

让我们检查一下生成的代码。

gs_codege.png

有关生成代码的功能和界面详情,请参阅 代码生成器功能