# 仿真参数设置

仿真参数主要分为：**基本设置**、**仿真设置**和**更多功能**。

## 基本设置

***

<figure><img src="/files/3kmFcJryAIO101IXJa3h" alt=""><figcaption></figcaption></figure>

基本设置具体的内容如下。

<figure><img src="/files/pujHJADmU3mw8VSzB31K" alt=""><figcaption></figcaption></figure>

为了方便用户理解，这里，我们对各项功能进行单独介绍：

分辨率：分辨率仅在窗口状态下工作，能够根据屏幕尺寸自适应生成可能的分辨率。并且可以通过边框拉取的方法实现界面自适应缩放。请根据自己电脑的需求进行配置。

窗口模式：窗口模式可选窗口、无边框全屏和全屏三类。无边框全屏仍属于窗口状态，只是程序会进入后台运行模式。

垂直同步：垂直同步的主要功能是将显示器的刷新率与图形渲染器的输出帧速率同步，以避免出现屏幕撕裂和画面抖动等问题。建议显示器配置较高但显卡较差的设备不要开启。

最大限制帧数：和分辨率一样，会读取显示器状态自适应生成选项，可根据设备性能自行选择。

伽马值：主要用于调节画面亮度，正常电脑使用0即可。

分辨率缩放：主要用于高分辨率小画面效果，保证缩小后画面精度。

可视距离：调节渲染后LOD（Level Of Detail）程度，精细地图建议调低。

抗锯齿、后处理、阴影、贴图、特效、植被、动态模糊：这些选项都是图像设置时常用的功能，若设备显卡性能不足可自行调低。

泛光：在部分地图（城市和水面时若需要保证渲染真实度需要调用光追功能），这里特制光反射，默认不提供光追效果。若飞行器受环境光影响强烈可关闭泛光功能。

## 仿真设置

***

<figure><img src="/files/bOQp5tWEVOlLXVASL6e7" alt=""><figcaption></figcaption></figure>

### 仿真基本参数设置

在通用设置里，我们设置了四项基本功能，分别是地面站IP、渲染端IP、终端显示和日志记录。这里是该系统使用的重点，我们这里详细介绍一下。

<figure><img src="/files/iblZVPWsz8v7ZwZ1Xrlc" alt=""><figcaption></figcaption></figure>

#### 仿真系统基本结构

我们所设计的仿真系统结构如下图所示。

<figure><img src="/files/fDkPLrLCjoy1Ju4cVpi1" alt=""><figcaption></figcaption></figure>

其中，飞控采用了PX4\_SITL仿真模块，用于实现软件在环仿真。而物理引擎则基于JSBSim进行了优化，能够支持传感器模式和状态模式的飞行器仿真。这两部分都是放置在WSL2子系统中的。其逻辑关系如下图所示：

<figure><img src="/files/XIkw3OxCIQTdizlLtfSN" alt=""><figcaption></figcaption></figure>

#### 渲染端和地面站IP设置

由于采用了子系统的方法，飞控计算出的状态数据和飞控消息需要通过网络分别传输给地面站和渲染端。由于不同电脑的IP地址会存在一定差异，因此，这里需要用户查询当前电脑IPv4地址并完成相关配置。

在windows端查询的方法为：

1.利用快捷键Win+R呼出“运行”窗口，或者右键启动栏打开“运行”窗口；

2.在命令框中输入“ipconfig”

<figure><img src="/files/aD6aJKtN3onqJ30RXcMr" alt=""><figcaption></figcaption></figure>

3.如果使用本机作为渲染和地面站设备的话，找到包含"WSL"字符的适配器，并查看对应的地址消息。以本机为例，（在win11更新后，可能会出现防火墙后缀）。此时，本机所对应的IP地址为“172.21.16.1”；

<figure><img src="/files/gQZKfOmrMRTbV7KbSfxJ" alt=""><figcaption></figcaption></figure>

4.如果使用其他机器分别作为渲染和地面站运行设备的话，需要先开启网桥功能，该部分会在下一篇章进行介绍。

5.将查询到的IP地址输入到对应的IP地址框即可完成渲染和起飞任务。

#### 终端弹出选项

终端显示：指的是软件在环仿真时，飞控仿真终端是否弹出的选项。如果不显示弹窗的话，可以在运行后右下角界面处点选下图指示按钮查看飞控打印消息。

这里需要说明的是，终端弹出虽然集成度差，但是可以直接使用飞控提供的command功能查询当前飞控状态，而不显示的时候是无法实现这一效果的。但是不显示的软件运行的流畅度更高，在飞控状态稳定时更适用。

<figure><img src="/files/JNMPJfCDzTlQcZHsMtb6" alt=""><figcaption></figcaption></figure>

（4）日志记录选项

由于飞控日志在每次仿真后会默认存储在子系统中，需要定期对日志进行清理防止出现日志文件过大的问题。因此，在每次启动飞控前会默认清理掉上次仿真生成的日志文件。

如果为了后续对仿真数据进行复现和查看，则需要将飞控日志文件从仿真系统中迁移到UE4安装路径中/Sigma\_Free/Logs文件夹中，

为了防止日志文件过大，请定时清理！！

### 第一视角图传功能

<figure><img src="/files/UVIzmc2KwndQIwtDwnQv" alt=""><figcaption></figcaption></figure>

虽然说基于UE开发的仿真平台基本都提供了图传模块，Airsim也提供了后处理效果图。但是，我们在开发时，认为这种图传效率本身较低，并且无法满足相机参数设定和图传自定义的需求，因此，我们在图传模块进行了大量优化和改进，能够保证在相机模块真实性的前提下，对飞行器第一视角画面通过gstreamer模块传输到外部。

<figure><img src="/files/pE0tw3jkqI7h6Q25ftZe" alt=""><figcaption></figcaption></figure>

设置Pipeline打开后会弹出上图模板信息，这里示例为Gstreamer中tcp原图传输标准示例，仅适合本地图传使用。如果需要外部图像的话建议使用h264/h265编码方式进行传输。

而相机本身的设置主要包括焦距和像面尺寸，作为相机的基本常识这里就不再赘述了。其中，背板宽度和高度可以用来控制相机的长宽比，这里，我们列举一些UE4中电影相机模组中推荐的一些配置，给用户进行参考：

|       | 宽度     | 高度     | 高宽比   | 相机类型               |
| ----- | ------ | ------ | ----- | ------------------ |
| 1     | 24.0   | 13.5   | 1.778 | 16:9 Film          |
| 2     | 23.76  | 13.365 | 1.778 | 16:9 Digital Film  |
| 3     | 36.0   | 20.25  | 1.778 | 16:9 DSLR          |
| 4     | 5.79   | 4.01   | 1.44  | Super 8mm          |
| 5     | 12.52  | 7.58   | 1.65  | Super 16mm         |
| 6     | 24.89  | 18.66  | 1.334 | Super 35mm         |
| 7     | 21.946 | 16.00  | 1.371 | 35mm Academy       |
| 8     | 24.892 | 18.91  | 1.32  | 35mm Full Aperture |
| 9     | 37.72  | 25.146 | 1.5   | 35mm VistaVision   |
| 10    | 70.41  | 56.63  | 1.24  | IMAX 70mm          |
| 11    | 22.2   | 14.8   | 1.5   | Canon(APS-C)       |
| 12    | -      | -      | -     | 自定义相机              |
| 单位:mm |        |        |       |                    |

同时，我们也将UE4中相机镜头的型号进行了统计，通常推荐使用的相机包括12/30/50/85/105/200/24-70/70-200焦距的镜头和f2.8光圈。这里我们暂时不支持相机光圈的设置，会在后续版本中进行优化。

而图传帧率为相机图像采集帧率，此时设置帧率应尽可能与pipeline中设置的framerate值保持一致，否则可能会出现编码混乱的问题，用户可自行控制，用于模拟实际相机采图效果。

### 硬件/软件在环仿真选择

<figure><img src="/files/EVUXkt7HFDFFi14yiZlK" alt=""><figcaption></figcaption></figure>

SIGMA单机模式同时支持软件在环和硬件在环两种模式的仿真，硬件在环仿真只要UDP协议保持一致，可以直接使用我们提供的USBIPD接口进行仿真，但是需要一定的飞控开发基础，在这里不过多介绍，后文会出一个详细的硬件在环仿真教程。

### 多轮仿真设置

<figure><img src="/files/2BrG6SuZgOMDWcbvGuk1" alt=""><figcaption></figcaption></figure>

该功能仅在软件在环模式下生效，主要用于支持强化学习训练。可以在发生碰撞或到达最大仿真时长后自动重置初始状态。并且能够支持超实时仿真，可以通过调整最下方仿真速度调整飞行器飞行速度。进而完成超实时强化学习训练任务。

## 更多功能

***

### 软件在环飞机初始位置编辑

<figure><img src="/files/xmgZw12iOdG7ttkkAWQr" alt=""><figcaption></figcaption></figure>

该功能仅在软件在环模式下生效，可以在此处输入数据来设置飞机的初始位置，或者点击“进入编辑界面”按钮，进入飞机初始位置编辑界面进行可视化位置设置。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bit-sigma.gitbook.io/tutorials-for-sigma-free/sigma-free-fang-zhen-xi-tong-jian-jie/ji-chu-gong-neng-jie-shao/dan-ji-fang-zhen-liu-cheng/fang-zhen-can-shu-she-zhi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
