` | Render rate in Hz |
+| `-l` | Enable lockstep |
+| `-o` | Display-only mode (disable physics, render only) |
+| `-a` | Use airplane model |
+| `-t` | Use tailsitter model |
+| `HEADLESS=1` | Environment variable: run without GUI window |
+
+## How jMAVSim Works
+
+jMAVSim is a Java-based lightweight simulator that communicates with PX4 via MAVLink HIL (Hardware-In-the-Loop) messages.
+
+In normal mode:
+
+1. PX4 sends actuator commands via [HIL_ACTUATOR_CONTROLS](https://mavlink.io/en/messages/common.html#HIL_ACTUATOR_CONTROLS).
+2. jMAVSim runs its physics engine to compute the vehicle state.
+3. jMAVSim sends sensor data back via [HIL_SENSOR](https://mavlink.io/en/messages/common.html#HIL_SENSOR) and [HIL_GPS](https://mavlink.io/en/messages/common.html#HIL_GPS).
+
+In **display-only mode** (`-o` flag), jMAVSim disables its physics engine and only reads [HIL_STATE_QUATERNION](https://mavlink.io/en/messages/common.html#HIL_STATE_QUATERNION) messages to render the vehicle position.
+This allows it to visualize vehicles from other simulators like SIH.
+
+jMAVSim supports [lockstep synchronization](#lockstep) with PX4 (enabled with `-l` flag), ensuring deterministic simulation results.
+
+## Keyboard Shortcuts
+
+Camera modes in the jMAVSim 3D view:
+
+| Key | Camera Mode |
+| -------------------------------- | ------------------------------------------------------- |
+| **F** | First person (attached to vehicle) |
+| **S** | Stationary (fixed position) |
+| **G** | Gimbal (follows vehicle orientation) |
+| **(default)** | Third person follow |
+
## Усунення проблем
### java.long.NoClassDefFoundError
@@ -327,8 +393,8 @@ Exception in thread "main" java.lang.UnsupportedClassVersionError: me/drton/jmav
Ця помилка говорить вам, вам потрібна більш свіжа версія Java у вашому середовищі.
Версія файлу класу 58 відповідає jdk14, версія 59 - jdk15, версія 60 - jdk 16 тощо.
-Щоб виправити це під macOS, ми рекомендуємо встановити OpenJDK через homebrew
+To fix it under macOS, install a newer OpenJDK via Homebrew:
```sh
-brew install --cask adoptopenjdk16
+brew install openjdk@17
```
diff --git a/docs/uk/sim_sih/hardware.md b/docs/uk/sim_sih/hardware.md
new file mode 100644
index 0000000000..81493ca4b4
--- /dev/null
+++ b/docs/uk/sim_sih/hardware.md
@@ -0,0 +1,171 @@
+# SIH on Flight Controller Hardware
+
+SIH can run directly on flight controller hardware with `SYS_HITL=2`.
+This replaces real sensors with simulated data while running on the actual autopilot, useful for testing without propellers.
+
+For a comparison of SIH and HITL on hardware, see [Hardware Simulation](../simulation/hardware.md).
+
+## Firmware Builds with SIH
+
+The SIH module is included in many, but not all, default firmware builds.
+This list can change between PX4 releases. Always verify using the method in [Check if SIH is in Firmware](#check-if-sih-is-in-firmware).
+
+The table below lists build targets that include SIH at the time of writing:
+
+| Build Target | Материнська плата |
+| ------------------------------------ | ------------------------------------------- |
+| `px4_fmu-v3_default` | Pixhawk 2 (Cube Black) |
+| `px4_fmu-v4_default` | Pixhawk 3 Pro |
+| `px4_fmu-v4pro_default` | Pixracer |
+| `px4_fmu-v5_default` | Pixhawk 4 |
+| `px4_fmu-v5x_default` | Pixhawk 5X |
+| `px4_fmu-v6c_default` | Pixhawk 6C |
+| `px4_fmu-v6c_raptor` | Pixhawk 6C (Raptor) |
+| `px4_fmu-v6x_multicopter` | Pixhawk 6X (multicopter) |
+| `auterion_fmu-v6s_default` | Auterion FMU-v6S |
+| `auterion_fmu-v6x_default` | Auterion FMU-v6X |
+| `holybro_durandal-v1_default` | Holybro Durandal |
+| `holybro_kakuteh7_default` | Holybro Kakute H7 |
+| `holybro_kakuteh7v2_default` | Holybro Kakute H7 V2 |
+| `holybro_pix32v5_default` | Holybro Pix32 V5 |
+| `cuav_nora_default` | CUAV Nora |
+| `cuav_x7pro_default` | CUAV X7 Pro |
+| `cuav_x25-evo_default` | CUAV X25 EVO |
+| `cuav_x25-super_default` | CUAV X25 Super |
+| `cubepilot_cubeyellow_default` | CubePilot Cube Yellow |
+| `mro_pixracerpro_default` | MRO PixRacer Pro |
+| `mro_x21_default` | MRO X2.1 |
+| `mro_ctrl-zero-h7_default` | MRO Ctrl Zero H7 |
+| `mro_ctrl-zero-h7-oem_default` | MRO Ctrl Zero H7 OEM |
+| `mro_ctrl-zero-f7_default` | MRO Ctrl Zero F7 |
+| `mro_ctrl-zero-f7-oem_default` | MRO Ctrl Zero F7 OEM |
+| `mro_ctrl-zero-classic_default` | MRO Ctrl Zero Classic |
+| `3dr_ctrl-zero-h7-oem-revg_default` | 3DR Ctrl Zero H7 OEM RevG |
+| `modalai_fc-v1_default` | ModalAI FC V1 |
+| `nxp_fmuk66-v3_default` | NXP FMUK66-V3 |
+| `nxp_fmuk66-e_default` | NXP FMUK66-E |
+| `radiolink_PIX6_default` | Radiolink PIX6 |
+| `siyi_n7_default` | SIYI N7 |
+| `sky-drones_smartap-airlink_default` | Sky-Drones SmartAP Airlink |
+| `uvify_core_default` | UVify Core |
+| `atl_mantis-edu_default` | ATL Mantis EDU |
+| `av_x-v1_default` | AV X-V1 |
+| `narinfc_h7_default` | NarinFC H7 |
+| `thepeach_k1_default` | ThePeach K1 |
+| `thepeach_r1_default` | ThePeach R1 |
+| `airmind_mindpx-v2_default` | AirMind MindPX V2 |
+| `beaglebone_blue_default` | BeagleBone Blue |
+| `bluerobotics_navigator_default` | BlueRobotics Navigator |
+| `emlid_navio2_default` | Emlid Navio2 |
+| `px4_raspberrypi_default` | Raspberry Pi |
+| `scumaker_pilotpi_default` | Scumaker PilotPi |
+
+:::info
+Some boards (e.g., `px4_fmu-v6x_default`, `cubepilot_cubeorange_default`) do not include SIH in their default build due to flash memory constraints.
+You can add SIH to any board -- see [Check if SIH is in Firmware](#check-if-sih-is-in-firmware).
+:::
+
+## Вимоги
+
+- A flight controller with SIH module included in firmware (see [Firmware Builds with SIH](#firmware-builds-with-sih)).
+- USB connection for QGroundControl.
+- Optional: jMAVSim for 3D visualization via serial link (see [Visualization](#hardware-visualization)).
+
+## Check if SIH is in Firmware
+
+SIH is included in most default firmware builds. To verify, search for `sih` in the parameter list in QGroundControl. If `SIH_*` parameters are available, the module is included.
+
+To add SIH to a custom build, enable it in the board configuration:
+
+```txt
+CONFIG_MODULES_SIMULATION_SIMULATOR_SIH=y
+```
+
+## Starting SIH
+
+1. Connect the flight controller to QGroundControl via USB.
+2. Set `SYS_HITL` parameter to `2`.
+3. Reboot the flight controller.
+4. The SIH module starts automatically and provides simulated sensor data.
+
+Once running, the vehicle can be controlled from QGroundControl or an RC controller.
+
+:::warning
+To save flash memory on boards with limited storage, SIH can be built with only quadrotor support.
+Set `SIH_VEHICLE_TYPE` before building to limit included vehicle models.
+:::
+
+## Visualization (Optional) {#hardware-visualization}
+
+If you need a visual aid to see what the simulated vehicle is doing on hardware:
+
+### QGroundControl
+
+Connect the flight controller via USB. QGC shows the vehicle on the map view with attitude, position, and telemetry, the same as a real flight.
+
+### jMAVSim (3D Display-Only)
+
+jMAVSim can render a 3D view of the vehicle over a serial connection. No physics are simulated in jMAVSim -- it is display-only.
+
+```sh
+./Tools/simulation/jmavsim/jmavsim_run.sh -q -d /dev/ttyACM0 -b 2000000 -o
+```
+
+Where `/dev/ttyACM0` is the serial device for the flight controller.
+On macOS, this is typically `/dev/tty.usbmodem*`.
+
+## Controlling Actuators
+
+:::warning
+If you want to control throttling actuators in SIH, make sure to remove propellers for safety.
+:::
+
+In some scenarios, it may be useful to control an actuator while running SIH on hardware. For example, you might want to verify that winches or grippers are functioning correctly by checking the servo responses.
+
+**To enable actuator control in SIH:**
+
+1. Configure PWM parameters in the airframe file:
+
+ Ensure your airframe file includes the necessary parameters to map PWM outputs to the correct channels.
+
+ For example, if a servo is connected to MAIN 3 and you want to map it to AUX1 on your RC, use the following command:
+
+ `param set-default PWM_MAIN_FUNC3 407`
+
+ You can find a full list of available values for `PWM_MAIN_FUNCn` [here](../advanced_config/parameter_reference.md#PWM_MAIN_FUNC1). In this case, `407` maps the MAIN 3 output to AUX1 on the RC.
+
+ Alternatively, you can use the [`PWM_AUX_FUNCn`](../advanced_config/parameter_reference.md#PWM_AUX_FUNC1) parameters.
+
+ You may also configure the output as desired:
+
+ - Disarmed PWM: ([`PWM_MAIN_DISn`](../advanced_config/parameter_reference.md#PWM_MAIN_DIS1) / [`PWM_AUX_DIS1`](../advanced_config/parameter_reference.md#PWM_AUX_DIS1))
+ - Minimum PWM ([`PWM_MAIN_MINn`](../advanced_config/parameter_reference.md#PWM_MAIN_MIN1) / [`PWM_AUX_MINn`](../advanced_config/parameter_reference.md#PWM_AUX_MIN1))
+ - Maximum PWM ([`PWM_MAIN_MAXn`](../advanced_config/parameter_reference.md#PWM_MAIN_MAX1) / [`PWM_AUX_MAXn`](../advanced_config/parameter_reference.md#PWM_AUX_MAX1))
+
+2. Manually start the PWM output driver
+
+ For safety, the PWM driver is not started automatically in SIH. To enable it, run the following command in the MAVLink shell:
+
+ ```sh
+ pwm_out start
+ ```
+
+ **And to disable it again:**
+
+ ```sh
+ pwm_out stop
+ ```
+
+## Adding New Airframes (FC)
+
+Airframe configuration for SIH on a flight controller differs from SITL in a few ways:
+
+- Airframe file goes in `ROMFS/px4fmu_common/init.d/airframes` and follows the naming template `${ID}_${model_name}.hil`, where `ID` is the `SYS_AUTOSTART_ID` used to select the airframe, and `model_name` is the airframe model name.
+- Add the model name in `ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt` to generate a corresponding make target.
+- Actuators are configured with `HIL_ACT_FUNC*` parameters (not the usual `PWM_MAIN_FUNC*` parameters).
+ This is to avoid using the real actuator outputs in SIH.
+ Similarly, the bitfield for inverting individual actuator output ranges is `HIL_ACT_REV`, rather than `PWM_MAIN_REV`.
+
+For general airframe setup (SIH parameters, EKF2 tuning), see [Adding New Airframes](index.md#adding-new-airframes) on the main SIH page.
+
+For examples, see the `.hil` airframes in [ROMFS/px4fmu_common/init.d/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d/airframes).
diff --git a/docs/uk/sim_sih/index.md b/docs/uk/sim_sih/index.md
index 5abfa683ff..62f854f301 100644
--- a/docs/uk/sim_sih/index.md
+++ b/docs/uk/sim_sih/index.md
@@ -1,294 +1,221 @@
-# Моделювання в апаратному забезпеченні (SIH)
+# SIH Simulation
-
+
-:::warning
-This simulator is [community supported and maintained](../simulation/community_supported_simulators.md).
-It may or may not work with current versions of PX4 (known to work in PX4 v1.14).
-
-Дивіться [Встановлення інструментарію](../dev_setup/dev_env.md) для інформації про середовища та інструменти, що підтримуються основною командою розробників.
-:::
-
-Simulation-In-Hardware (SIH) is an alternative to [Hardware In The Loop simulation (HITL)](../simulation/hitl.md) for quadrotors, fixed-wing vehicles (airplane), and VTOL tailsitters.
-
-SIH can be used by new PX4 users to get familiar with PX4 and the different modes and features, and of course to learn to fly a vehicle using an RC controller in simulation, which is not possible using SITL.
+SIH (Simulation-In-Hardware) is a lightweight, headless simulator with zero external dependencies that runs physics directly inside PX4 via uORB messages.
+No GUI, no external processes, no rendering overhead — just PX4 running a C++ physics model.
+This makes it the fastest way to iterate on flight code.
## Загальний огляд
-With SIH the whole simulation is running on embedded hardware: the controller, the state estimator, and the simulator.
-The Desktop computer is only used to display the virtual vehicle.
+SIH runs as a PX4 module that replaces real sensor and actuator hardware with a simulated physics model.
+It provides simulated IMU, GPS, barometer, magnetometer, and airspeed sensor data via uORB, and reads actuator outputs to update the vehicle state at each timestep.
-
+The simulation runs in lockstep with PX4, ensuring deterministic and reproducible results.
+It also integrates seamlessly with ROS 2 via with no additional configuration (see [ROS 2 Integration](#ros-2-integration) below).
-### Сумісність
+Two modes are supported:
-- SIH is compatible with all PX4 supported boards except those based on FMUv2.
-- SIH for MC quadrotor is supported from PX4 v1.9.
-- SIH for FW (airplane) and VTOL tailsitter are supported from PX4 v1.13.
-- SIH як SITL (без апаратного забезпечення) з версії PX4 v1.14.
-- SIH for Standard VTOL from PX4 v1.16.
-- SIH for MC Hexacopter X from PX4 v1.17.
-- SIH for Ackermann Rover from PX4 v1.17.
+- **[SITL](#sih-as-sitl-no-fc):** Runs on your computer with no hardware needed, and headless (without a UI) by default.
+ _This is the fastest and easiest way to start a simulation on PX4._
-### Переваги
+- **[SIH on flight controller hardware](#sih-on-flight-controller-hardware):** Runs the entire simulation on the autopilot (`SYS_HITL=2`).
-SIH provides several benefits over HITL:
+### Supported Vehicle Types
-- Він забезпечує синхронізований час, уникаючи двостороннього з'єднання з комп'ютером.
- В результаті користувачеві не потрібен такий потужний настільний комп'ютер.
-- Усе моделювання залишається в середовищі PX4.
- Розробники, які знайомі з PX4, можуть легше включити свою власну математичну модель в симулятор.
- Вони, наприклад, можуть змінити аеродинамічну модель або рівень шуму датчиків, або навіть додати датчик для симуляції.
-- The physical parameters representing the vehicle (such as mass, inertia, and maximum thrust force) can easily be modified from the [SIH parameters](../advanced_config/parameter_reference.md#simulation-in-hardware).
+The following vehicle types are supported:
-## Вимоги
-
-To run the SIH, you will need a:
-
-- [Flight controller](../flight_controller/index.md), such as a Pixhawk-series board.
-
- ::: info
- From PX4 v1.14 you can run [SIH "as SITL"](#sih-as-sitl-no-fc), in which case a flight controller is not required.
-
-:::
-
-- [Manual controller](../getting_started/px4_basic_concepts.md#manual-control): either a [radio control system](../getting_started/rc_transmitter_receiver.md) or a [joystick](../config/joystick.md).
-
-- QGroundControl for flying the vehicle via GCS.
-
-- Development computer for visualizing the virtual vehicle (optional).
-
-## Check if SIH is in Firmware
-
-The modules required for SIH are built into most PX4 firmware by default.
-These include: [`pwm_out_sim`](../modules/modules_driver.md#pwm-out-sim), [`sensor_baro_sim`](../modules/modules_system.md#sensor-baro-sim), [`sensor_gps_sim`](../modules/modules_system.md#sensor-gps-sim) and [`sensor_mag_sim`](../modules/modules_system.md#sensor-mag-sim).
-
-To check that these are present on your flight controller:
-
-1. Запустіть QGroundControl.
-
-2. Open **Analyze Tools > Mavlink Console**.
-
-3. Enter the following commands in the console:
-
- ```sh
- pwm_out_sim status
- ```
-
- ```sh
- sensor_baro_sim status
- ```
-
- ```sh
- sensor_gps_sim status
- ```
-
- ```sh
- sensor_mag_sim status
- ```
-
- ::: tip
- Note that when using SIH on real hardware you do not need to additionally enable the modules using their corresponding parameters ([SENS_EN_GPSSIM](../advanced_config/parameter_reference.md#SENS_EN_GPSSIM), [SENS_EN_BAROSIM](../advanced_config/parameter_reference.md#SENS_EN_BAROSIM), [SENS_EN_MAGSIM](../advanced_config/parameter_reference.md#SENS_EN_MAGSIM)).
-
-:::
-
-4. If a valid status is returned you can start using SIH.
-
-If any of the returned values above are `nsh: MODULENAME: command not found`, then you don't have the module installed.
-In this case you will have to add them to your board configuration and then rebuild and install the firmware.
-
-### Adding SIH to the Firmware
-
-Add the following key to the configuration file for your flight controller to include all the required modules (for an example see [boards/px4/fmu-v6x/default.px4board](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)).
-Then re-build the firmware and flash it to the board.
-
-```text
-CONFIG_MODULES_SIMULATION_SIMULATOR_SIH=y
-```
-
-:::details
-What does this do?
-
-This installs the dependencies in [simulator_sih/Kconfig](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/simulation/simulator_sih/Kconfig).
-It is equivalent to:
-
-```text
-CONFIG_MODULES_SIMULATION_PWM_OUT_SIM=y
-CONFIG_MODULES_SIMULATION_SENSOR_BARO_SIM=y
-CONFIG_MODULES_SIMULATION_SENSOR_GPS_SIM=y
-CONFIG_MODULES_SIMULATION_SENSOR_MAG_SIM=y
-```
-
-:::
-
-As an alternative to updating configuration files manually, you can use the following command to launch a GUI configuration tool, and interactively enable the required modules at the path: **modules > Simulation > simulator_sih**.
-For example, to update the fmu-v6x configuration you would use:
-
-```sh
-make px4_fmu-v6x boardconfig
-```
-
-After uploading, check that the required modules are present.
-
-:::info
-To use rover in SIH you must use the [rover build](../config_rover/index.md#flashing-the-rover-build) or add the rover modules to your board configuration.
-:::
-
-## Starting SIH
-
-To set up/start SIH:
-
-1. Connect the flight controller to the desktop computer with a USB cable.
-2. Відкрийте QGroundControl і зачекайте, поки контролер польоту також завантажиться та підключиться.
-3. Open [Vehicle Setup > Airframe](../config/airframe.md) then select the desired frame:
- - [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
- - **SIH Hexacopter X** (currently only has an airframe for SITL to safe flash so on flight control hardware it has to be manually configured equivalently).
- - [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
- - [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
- - [SIH Standard VTOL QuadPlane](../airframes/airframe_reference.md#vtol_simulation_sih_standard_vtol_quadplane)
- - [SIH Ackermann Rover](../airframes/airframe_reference.md#rover_rover_sih_rover_ackermann)
-
-Потім автопілот перезавантажиться.
-The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
+| Транспортний засіб | Make Target | Status |
+| ---------------------------------------------------------------------------------- | ---------------------------------------- | ----------------------------- |
+| Quadrotor X | `make px4_sitl_sih sihsim_quadx` | Stable |
+| Hexarotor X | `make px4_sitl_sih sihsim_hexa` | Експериментальні налаштування |
+| Fixed-wing (airplane) | `make px4_sitl_sih sihsim_airplane` | Експериментальні налаштування |
+| Tailsitter VTOL | `make px4_sitl_sih sihsim_xvert` | Експериментальні налаштування |
+| Standard VTOL (QuadPlane) | `make px4_sitl_sih sihsim_standard_vtol` | Експериментальні налаштування |
+| Ackermann Rover | `make px4_sitl_sih sihsim_rover` | Експериментальні налаштування |
:::warning
-The airplane needs to takeoff in manual mode at full throttle.
-Крім того, якщо літак розбився, оцінювач стану може втратити своє виправлення.
+Only the quadrotor vehicle type is stable and recommended for development. All other vehicle types (hexarotor, fixed-wing, VTOL, rover) are experimental and may have aerodynamic model or controller interaction issues that produce unrealistic flight behavior.
:::
-## Simulation Configuration
+### How SIH Works
-### Wind
+
-SIH supports setting a wind velocity with the PX4 parameters [`SIH_WIND_N`](../advanced_config/parameter_reference.md#SIH_WIND_E) and [`SIH_WIND_E`](../advanced_config/parameter_reference.md#SIH_WIND_E) [m/s]. The parameters can also be changed during flight to simulate changing wind.
+SIH differs from external simulators:
-## Display/Visualisation (optional)
+- **No MAVLink simulator API:** SIH communicates entirely via uORB (PX4's internal message bus).
+- **No external process:** The physics model runs in the same PX4 process.
+- **Lockstep by default:** Simulation time is synchronized with PX4 scheduling.
-The SIH-simulated vehicle can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
+## SIH as SITL {#sih-as-sitl-no-fc}
-:::tip
-SIH does not _need_ a visualiser — you can connect with QGroundControl and fly the vehicle without one.
-:::
+SIH as SITL is the easiest and fastest way to set up a simulator with PX4.
+It requires no hardware, and very few extra dependencies.
-Для відображення симульованого транспортного засобу:
+### Швидкий Старт
-1. Close _QGroundControl_ (if open).
-
-2. Відключіть і знову підключіть контролер польоту (дайте декілька секунд на його завантаження).
-
-3. Start jMAVSim by calling the script **jmavsim_run.sh** from a terminal:
-
- ```sh
- ./Tools/simulation/jmavsim/jmavsim_run.sh -q -d /dev/ttyACM0 -b 2000000 -o
- ```
-
- де прапорці такі:
-
- - `-q` to allow the communication to _QGroundControl_ (optional).
- - `-d` to start the serial device `/dev/ttyACM0` on Linux.
- On macOS this would be `/dev/tty.usbmodem1`.
- - `-b` to set the serial baud rate to `2000000`.
- - `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
- - add a flag `-a` to display an aircraft or `-t` to display a tailsitter.
- Якщо цей прапорець не вказаний, за замовчуванням відображатиметься квадрокоптер.
-
-4. After few seconds, _QGroundControl_ can be opened again.
-
-На цьому етапі систему можна запустити та вивести в польот.
-The vehicle can be observed moving in jMAVSim, and on the QGC _Fly_ view.
-
-## SIH as SITL (no FC)
-
-SIH можна запустити як SITL (Software-In-The-Loop) з версії 1.14.
-What this means is that the simulation code is executed on the laptop/computer instead of a flight controller, similar to Gazebo or jMAVSim.
-In this case you don't need the flight controller hardware.
-
-Для запуску SIH як SITL:
-
-1. Install the [PX4 Development toolchain](../dev_setup/dev_env.md).
-2. Виконайте відповідну команду make для кожного типу транспортного засобу (в корені репозиторію PX4-Autopilot):
- - Quadcopter
-
- ```sh
- make px4_sitl sihsim_quadx
- ```
-
- - Hexacopter
-
- ```sh
- make px4_sitl sihsim_hex
- ```
-
- - Fixed-wing (plane)
-
- ```sh
- make px4_sitl sihsim_airplane
- ```
-
- - XVert VTOL tailsitter
-
- ```sh
- make px4_sitl sihsim_xvert
- ```
-
- - Standard VTOL
-
- ```sh
- make px4_sitl sihsim_standard_vtol
- ```
-
- - Ackermann Rover
-
- ```sh
- make px4_sitl sihsim_rover_ackermann
- ```
-
-### Зміна швидкості симуляції
-
-SITL дозволяє виконувати симуляцію швидше, ніж у реальному часі.
-To run the airplane simulation 10 times faster than real time, run the command:
+To build PX4 and run SIH for a quadrotor:
```sh
-PX4_SIM_SPEED_FACTOR=10 make px4_sitl sihsim_airplane
+make px4_sitl_sih sihsim_quadx
```
-To display the vehicle in jMAVSim during SITL mode, enter the following command in another terminal:
+QGroundControl auto-connects on UDP port 14550 — just open it and you'll see the vehicle.
+Note that the simulation is "headless" by default (has no GUI), but you can use an external viewer.
+
+See [Supported vehicle types](#supported-vehicle-types) for other vehicles.
+
+:::tip
+Use the `px4_sitl_sih` build target!
+The `px4_sitl` target will work, but will also build Gazebo libraries.
+:::
+
+### Visualization (Optional) {#sitl-visualization}
+
+SIH is intentionally headless by default.
+If you need a visual aid to see what the vehicle is doing you can use QGroundControl to track path over ground, and/or jMAVSim as a 3D viewer.
+
+#### QGroundControl
+
+QGC auto-connects on UDP port 14550. Open QGC while SIH is running and the vehicle appears on the map view with attitude, position, and telemetry.
+
+#### jMAVSim (3D Display-Only)
+
+jMAVSim can render a 3D view of the vehicle using MAVLink position data. No physics are simulated in jMAVSim — it is display-only.
```sh
./Tools/simulation/jmavsim/jmavsim_run.sh -p 19410 -u -q -o
```
-- add a flag `-a` to display an aircraft or `-t` to display a tailsitter.
- Якщо цей прапорець не вказаний, за замовчуванням відображатиметься квадрокоптер.
+Flags:
-### Встановлення власного місця зльоту
+- `-a` for airplane model
+- `-t` for tailsitter model
+- `-o` enable display-only mode.
-The takeoff location in SIH on SITL can be set using environment variables.
-This will override the default takeoff location.
+See [jMAVSim Display-Only Mode](../sim_jmavsim/index.md#display-only-mode) for details.
-The variables to set are: `PX4_HOME_LAT`, `PX4_HOME_LON`, and `PX4_HOME_ALT`.
+### Environment Configuration
-Наприклад:
+#### Зміна швидкості симуляції
+
+SIH supports faster-than-realtime simulation via the `PX4_SIM_SPEED_FACTOR` environment variable:
+
+```sh
+# Run at 10x speed
+PX4_SIM_SPEED_FACTOR=10 make px4_sitl_sih sihsim_quadx
+```
+
+#### Wind Simulation
+
+SIH supports setting a wind velocity with the PX4 parameters [`SIH_WIND_N`](../advanced_config/parameter_reference.md#SIH_WIND_E) and [`SIH_WIND_E`](../advanced_config/parameter_reference.md#SIH_WIND_E) [m/s]. The parameters can also be changed during flight to simulate changing wind.
+
+#### Встановлення власного місця зльоту
+
+The default takeoff location can be set using environment variables:
```sh
export PX4_HOME_LAT=28.452386
export PX4_HOME_LON=-13.867138
export PX4_HOME_ALT=28.5
-make px4_sitl sihsim_quadx
+make px4_sitl_sih sihsim_quadx
```
+### ROS 2 Integration
+
+SIH works with ROS 2 via the [uXRCE-DDS](../middleware/uxrce_dds.md) client, which auto-starts in SITL mode.
+This is the same mechanism used by Gazebo — both simulators expose the same set of uORB topics to ROS 2.
+The DDS agent connects on UDP port **8888** by default (configurable via `UXRCE_DDS_PRT` parameter or `PX4_UXRCE_DDS_PORT` environment variable).
+
+To use SIH with ROS 2:
+
+1. Start SIH:
+
+ ```sh
+ make px4_sitl_sih sihsim_quadx
+ ```
+
+2. In a separate terminal, start the Micro XRCE-DDS Agent:
+
+ ```sh
+ MicroXRCEAgent udp4 -p 8888
+ ```
+
+See [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](../middleware/uxrce_dds.md) for full setup instructions, including agent installation and ROS 2 workspace configuration.
+
+### Port Reference
+
+PX4 SITL opens the following UDP ports (all instance-aware, offset by instance number N).
+
+| PX4 sends to (remote) | PX4 listens on (local) | Use for | Instance offset |
+| ---------------------------------------- | ----------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------ |
+| **14550** | 18570 (+N) | QGroundControl, GCS tools | Так |
+| **14540** (+N) | 14580 (+N) | MAVSDK, MAVROS, offboard APIs | Yes (capped at 14549 for 10+ instances) |
+| **14030** (+N) | 14280 (+N) | Onboard camera/payload | Так |
+| **13280** (+N) | 13030 (+N) | Gimbal control | Так |
+| **19410** (+N) | 19450 (+N) | jMAVSim display-only (SIH only) | Так |
+| **8888** | - | uXRCE-DDS / ROS 2 | No (use DDS namespace for multi-instance) |
+
+QGC auto-connects on port **14550** by default. MAVSDK connects on **14540**. No manual port configuration needed for single-instance use.
+
+### Симуляція кількох рухомих засобів
+
+SIH supports multi-vehicle simulation using PX4's instance system.
+Each instance gets unique MAVLink ports, a unique system ID, and a separate DDS namespace.
+
+To launch multiple SIH vehicles, first build:
+
+```sh
+make px4_sitl_sih sihsim_quadx
+```
+
+Then use the multi-instance launch script:
+
+```sh
+./Tools/simulation/sitl_multiple_run.sh 3 sihsim_quadx px4_sitl_sih
+```
+
+Or launch instances manually:
+
+```sh
+# Terminal 1 (instance 0)
+make px4_sitl_sih sihsim_quadx
+
+# Terminal 2 (instance 1)
+./build/px4_sitl_sih/bin/px4 -i 1 -d ./build/px4_sitl_sih/etc
+
+# Terminal 3 (instance 2)
+./build/px4_sitl_sih/bin/px4 -i 2 -d ./build/px4_sitl_sih/etc
+```
+
+Each instance allocates ports automatically (all offset by instance number):
+
+| Instance | MAVLink (18570+N) | MAVLink (14540+N) | DDS (8888) Namespace |
+| -------- | ------------------------------------ | ------------------------------------ | --------------------------------------- |
+| 0 | 18570 | 14540 | (default) |
+| 1 | 18571 | 14541 | px4_1 |
+| 2 | 18572 | 14542 | px4_2 |
+
+See [Port Reference](#port-reference) for the complete list of ports.
+
+## SIH on Flight Controller Hardware {#sih-on-flight-controller-hardware}
+
+SIH can also run on flight controller hardware with `SYS_HITL=2`, replacing real sensors with simulated data while running on the actual autopilot.
+See [SIH on Flight Controller Hardware](hardware.md) for setup instructions.
+
## Adding New Airframes
[Adding a new airframe](../dev_airframes/adding_a_new_frame.md) for use in SIH simulation is much the same as for other use cases.
You still need to configure your vehicle type and [geometry](../config/actuators.md) (`CA_` parameters) and start any other defaults for that specific vehicle.
:::warning
-Not every vehicle can be simulated with SIH — there are currently [four supported vehicle types](../advanced_config/parameter_reference.md#SIH_VEHICLE_TYPE), each of which has a relatively rigid implementation in [`sih.cpp`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/simulation/simulator_sih/sih.cpp).
+Not every vehicle can be simulated with SIH — there are currently [six supported vehicle types](../advanced_config/parameter_reference.md#SIH_VEHICLE_TYPE) (quadcopter, fixed-wing, tailsitter, standard VTOL, hexacopter, rover), each of which has a relatively rigid implementation in [`sih.cpp`](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/simulation/simulator_sih/sih.cpp).
:::
The specific differences for SIH simulation airframes are listed in the sections below.
-For all variants of SIH:
+### All Variants
- Set all the [Simulation In Hardware](../advanced_config/parameter_reference.md#simulation-in-hardware) parameters (prefixed with `SIH_`) in order to configure the physical model of the vehicle.
@@ -310,15 +237,11 @@ For all variants of SIH:
- `param set-default SENS_GPS0_DELAY 0` to improve state estimator performance (the assumption of instant GPS measurements would normally be unrealistic, but is accurate for SIH).
-For SIH on FC:
+### SIH on Flight Controller
-- Airframe file goes in `ROMFS/px4fmu_common/init.d/airframes` and follows the naming template `${ID}_${model_name}.hil`, where `ID` is the `SYS_AUTOSTART_ID` used to select the airframe, and `model_name` is the airframe model name.
-- Add the model name in `ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt` to generate a corresponding make target.
-- Actuators are configured with `HIL_ACT_FUNC*` parameters (not the usual `PWM_MAIN_FUNC*` parameters).
- This is to avoid using the real actuator outputs in SIH.
- Similarly, the bitfield for inverting individual actuator output ranges is `HIL_ACT_REV`, rather than `PWM_MAIN_REV`.
+For FC-specific airframe setup (file locations, `HIL_ACT_FUNC*` parameters), see [Adding New Airframes (FC)](hardware.md#adding-new-airframes-fc).
-For SIH as SITL (no FC):
+### SIH as SITL
- Airframe file goes in `ROMFS/px4fmu_common/init.d-posix/airframes` and follows the naming template `${ID}_sihsim_${model_name}`, where `ID` is the `SYS_AUTOSTART_ID` used to select the airframe, and `model_name` is the airframe model name.
- Add the model name in `src/modules/simulation/simulator_sih/CMakeLists.txt` to generate a corresponding make target.
@@ -334,57 +257,28 @@ For SIH as SITL (no FC):
For specific examples see the `_sihsim_` airframes in [ROMFS/px4fmu_common/init.d-posix/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d-posix/airframes) (SIH as SITL) and [ROMFS/px4fmu_common/init.d/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d/airframes) (SIH on FC).
-## Controlling Actuators in SIH
-
-:::warning
-If you want to control throttling actuators in SIH, make sure to remove propellers for safety.
-:::
-
-In some scenarios, it may be useful to control an actuator while running SIH. For example, you might want to verify that winches or grippers are functioning correctly by checking the servo responses.
-
-To enable actuator control in SIH:
-
-1. Configure PWM parameters in the airframe file:
-
-Ensure your airframe file includes the necessary parameters to map PWM outputs to the correct channels.
-
-For example, if a servo is connected to MAIN 3 and you want to map it to AUX1 on your RC, use the following command:
-
-`param set-default PWM_MAIN_FUNC3 407`
-
-You can find a full list of available values for `PWM_MAIN_FUNCn` [here](../advanced_config/parameter_reference.md#PWM_MAIN_FUNC1). In this case, `407` maps the MAIN 3 output to AUX1 on the RC.
-
-Alternatively, you can use the [`PWM_AUX_FUNCn`](../advanced_config/parameter_reference.md#PWM_AUX_FUNC1) parameters.
-
-You may also configure the output as desired:
-
-- Disarmed PWM: ([`PWM_MAIN_DISn`](../advanced_config/parameter_reference.md#PWM_MAIN_DIS1) / [`PWM_AUX_DIS1`](../advanced_config/parameter_reference.md#PWM_AUX_DIS1))
-- Minimum PWM ([`PWM_MAIN_MINn`](../advanced_config/parameter_reference.md#PWM_MAIN_MIN1) / [`PWM_AUX_MINn`](../advanced_config/parameter_reference.md#PWM_AUX_MIN1))
-- Maximum PWM ([`PWM_MAIN_MAXn`](../advanced_config/parameter_reference.md#PWM_MAIN_MAX1) / [`PWM_AUX_MAXn`](../advanced_config/parameter_reference.md#PWM_AUX_MAX1))
-
-2. Manually start the PWM output driver
-
-For safety, the PWM driver is not started automatically in SIH. To enable it, run the following command in the MAVLink shell:
-
-`pwm_out start`
-
-And to disable it again:
-
-`pwm_out stop`
-
## Dynamic Models
Динамічні моделі для різних транспортних засобів:
-- Quadcopter: [pdf report](https://github.com/PX4/PX4-Autopilot/raw/main/docs/assets/simulation/SIH_dynamic_model.pdf).
-- Hexacopter: Equivalent to the Quadcopter but with a symmetric hexacopter x actuation setup.
-- Fixed-wing: Inspired by the PhD thesis: "Dynamics modeling of agile fixed-wing unmanned aerial vehicles." Khan, Waqas, supervised by Nahon, Meyer, McGill University, PhD thesis, 2016.
-- Tailsitter: Inspired by the master's thesis: "Modeling and control of a flying wing tailsitter unmanned aerial vehicle." Chiappinelli, Romain, supervised by Nahon, Meyer, McGill University, Masters thesis, 2018.
-- Ackermann Rover: Based on lateral vehicle dynamics of the bicycle model adapted from [Sri Anumakonda, Everything you need to know about Self-Driving Cars in <30 minutes](https://srianumakonda.medium.com/everything-you-need-to-know-about-self-driving-in-30-minutes-b38d68bd3427)
+- Quadrotor: [pdf](https://github.com/PX4/PX4-Autopilot/raw/main/docs/assets/simulation/SIH_dynamic_model.pdf)
+- Fixed-wing: based on Khan (2016), see references below
+- Tailsitter: based on Chiappinelli (2018), see references below
+- Rover: bicycle model with linear tire model
+
+Since PX4 v1.17, the propeller model for fixed-wing, tailsitter, and VTOL pusher vehicles is based on [UIUC propeller data](https://m-selig.ae.illinois.edu/props/propDB.html).
+The maximum thrust force is realistically reduced as aircraft speed increases.
+
+**References:**
+
+1. PX4 Development Team, "SIH Dynamic Model," PX4-Autopilot, 2019. [PDF](https://github.com/PX4/PX4-Autopilot/raw/main/docs/assets/simulation/SIH_dynamic_model.pdf)
+2. W. Khan, "Dynamics modeling of agile fixed-wing unmanned aerial vehicles," Ph.D. thesis, Dept. of Mechanical Engineering, McGill University, Montreal, 2016.
+3. R. Chiappinelli, "Modeling and control of a flying wing tailsitter unmanned aerial vehicle," M.Sc. thesis, Dept. of Mechanical Engineering, McGill University, Montreal, 2018.
+4. S. Anumakonda, "Everything you need to know about Self-Driving Cars," 2021. [Link](https://srianumakonda.medium.com/everything-you-need-to-know-about-self-driving-in-30-minutes-b38d68bd3427)
## Відео
-
+@[youtube](https://youtu.be/PzIpSCRD8Jo)
## Автори
diff --git a/docs/uk/simulation/community_supported_simulators.md b/docs/uk/simulation/community_supported_simulators.md
index 26261eeb93..4f5765b5a5 100644
--- a/docs/uk/simulation/community_supported_simulators.md
+++ b/docs/uk/simulation/community_supported_simulators.md
@@ -12,10 +12,13 @@ These simulators are not maintained, tested, or supported, by the core developme
Інструменти мають різний рівень підтримки своїми спільнотами (деякі добре підтримують, інші - ні).
Питання про ці інструменти повинні порушуватися на [форумах для обговорення](../contribute/support.md#forums-and-chat)
-| Симулятор | Опис |
-| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [Simulation-In-Hardware](../sim_sih/README.md) (SIH) | A simulator implemented in C++ as a PX4 module directly in the Firmware [code](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/simulation/simulator_sih). It can be ran in SITL directly on the computer or as an alternative to HITL offering a hard real-time simulation directly on the hardware autopilot.
Supported Vehicles: Quad, Hexa, Plane, Tailsitter, Standard VTOL, Ackermann Rover
|
-| [FlightGear](../sim_flightgear/README.md) | Симулятор який надає фізично та візуально реалістичні симуляції. Зокрема він може моделювати багато погодних умов, включаючи грози, сніг, дощ та град, а також може симулювати температурні режими та різні типи атмосферних течій. [Симуляція кількох засобів](../sim_flightgear/multi_vehicle.md) також підтримується.
Рухомі засоби, що підтримуються: Літак, Автожир, Ровер
|
-| [JMAVSim](../sim_jmavsim/index.md) | A simple multirotor/quad simulator. This was previously part of the PX4 development toolchain but was removed in favour of [Gazebo](../sim_gazebo_gz/index.md).
Supported Vehicles: Quad
|
-| [JSBSim](../sim_jsbsim/README.md) | Симулятор, який надає моделі просунутої динаміки польоту. Він може використовуватися для моделювання реалістичної динаміки польоту, заснованої на даних з аеродинамічної труби.
Рухомі засоби, що підтримуються: Літак, Квадрокоптер, Гексакоптер
|
-| [AirSim](../sim_airsim/README.md) | Міжплатформовий симулятор який надає фізично та візуально реалістичні симуляції. This simulator is resource intensive, and requires a significantly more powerful computer than the other simulators described here.
Supported Vehicles: Iris (MultiRotor model and a configuration for PX4 QuadRotor in the X configuration).
|
+| Симулятор | Опис |
+| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [FlightGear](../sim_flightgear/README.md) | Симулятор який надає фізично та візуально реалістичні симуляції. Зокрема він може моделювати багато погодних умов, включаючи грози, сніг, дощ та град, а також може симулювати температурні режими та різні типи атмосферних течій. [Симуляція кількох засобів](../sim_flightgear/multi_vehicle.md) також підтримується.
Рухомі засоби, що підтримуються: Літак, Автожир, Ровер
|
+| [JMAVSim](../sim_jmavsim/index.md) | A simple multirotor/quad simulator. This was previously part of the PX4 development toolchain but was removed in favour of [Gazebo](../sim_gazebo_gz/index.md).
Supported Vehicles: Quad
|
+| [JSBSim](../sim_jsbsim/README.md) | Симулятор, який надає моделі просунутої динаміки польоту. Він може використовуватися для моделювання реалістичної динаміки польоту, заснованої на даних з аеродинамічної труби.
Рухомі засоби, що підтримуються: Літак, Квадрокоптер, Гексакоптер
|
+| [AirSim](../sim_airsim/README.md) | Міжплатформовий симулятор який надає фізично та візуально реалістичні симуляції. This simulator is resource intensive, and requires a significantly more powerful computer than the other simulators described here.
Supported Vehicles: Iris (MultiRotor model and a configuration for PX4 QuadRotor in the X configuration).
|
+
+:::tip
+[Gazebo](../sim_gazebo_gz/index.md) and [SIH](../sim_sih/index.md) are the officially supported simulators. See the [Simulation](index.md) page for more information.
+:::
diff --git a/docs/uk/simulation/hardware.md b/docs/uk/simulation/hardware.md
new file mode 100644
index 0000000000..7006b0164a
--- /dev/null
+++ b/docs/uk/simulation/hardware.md
@@ -0,0 +1,29 @@
+# Hardware Simulation
+
+PX4 can run simulation directly on a real flight controller, replacing real sensors with simulated data, while otherwise executing the full flight stack on actual autopilot hardware.
+
+:::info
+Simulating PX4 on flight controller hardware exercises more flight stack code than SITL, and tests more of your hardware integration.
+It can surface issues with running PX4 that might hidden when running on a desktop OS and hardware, or even a different flight controller board.
+:::
+
+Two simulation approaches are available, controlled by the [SYS_HITL](../advanced_config/parameter_reference.md#SYS_HITL) parameter:
+
+- **[HITL Simulation](../simulation/hitl.md) (`SYS_HITL=1`):** An external simulator (Gazebo Classic or jMAVSim) runs physics on a companion computer and sends sensor data to the flight controller via MAVLink HIL messages. Requires a USB/UART connection and simulator setup.
+- **[SIH on Hardware](../sim_sih/hardware.md) (`SYS_HITL=2`):** A C++ physics model runs directly on the flight controller itself. No external simulator, no companion computer, no MAVLink sensor data. Just set the parameter and reboot.
+
+## HITL vs SIH {#comparision}
+
+| | HITL (`SYS_HITL=1`) | SIH (`SYS_HITL=2`) |
+| ----------------- | ---------------------------------------------------------------------- | ---------------------------------------------------- |
+| Physics model | External simulator (Gazebo Classic, jMAVSim) | Internal C++ module |
+| Communication | MAVLink HIL messages | uORB (internal) |
+| External process | Вимоги | Not required |
+| Setup complexity | Higher | Lower |
+| Sensor simulation | Camera, lidar, etc. (via simulator) | IMU, GPS, baro, mag, airspeed only |
+| Vehicle types | Quadcopter, Standard VTOL | Quad, Hex, FW, VTOL Tailsitter, Standard VTOL, Rover |
+
+## When to Use Which
+
+- Use **SIH** if you want the simplest possible setup. No external dependencies.
+- Use **HITL** if you need an external physics engine, 3D visualization from Gazebo Classic, or camera/lidar sensor simulation that SIH does not provide.
diff --git a/docs/uk/simulation/hitl.md b/docs/uk/simulation/hitl.md
index 5fce58c8a6..9fd7180d6f 100644
--- a/docs/uk/simulation/hitl.md
+++ b/docs/uk/simulation/hitl.md
@@ -12,9 +12,9 @@ HITL is [community supported and maintained](../simulation/community_supported_s
PX4 supports HITL for multicopters (using [jMAVSim](../sim_jmavsim/index.md) or [Gazebo Classic](../sim_gazebo_classic/index.md)) and VTOL (using Gazebo Classic).
-
+For a comparison of HITL and SIH on hardware, see [Hardware Simulation](../simulation/hardware.md).
-## Планери сумісні з HITL
+## HITL-Compatible Airframes {#compatible_airframe}
The set of compatible airframes vs simulators is:
@@ -23,9 +23,7 @@ The set of compatible airframes vs simulators is:
| [HIL Quadcopter X](../airframes/airframe_reference.md#copter_simulation_hil_quadcopter_x) | 1001 | Y | Y |
| [HIL Standard VTOL QuadPlane](../airframes/airframe_reference.md#vtol_standard_vtol_hil_standard_vtol_quadplane) | 1002 | Y | |
-
-
-## Середовище симуляції HITL
+## HITL Simulation Environment {#simulation_environment}
У симуляції з апаратним забезпеченням у контурі (HITL) звичайна прошивка PX4 виконується на реальному обладнані.
JMAVSim або Gazebo Classic (які працюють на комп'ютері розробки) підключені до пристрою польотного контролера через USB/UART.
diff --git a/docs/uk/simulation/index.md b/docs/uk/simulation/index.md
index 94878a1ff3..96b4429621 100644
--- a/docs/uk/simulation/index.md
+++ b/docs/uk/simulation/index.md
@@ -3,38 +3,79 @@
Симулятори дозволяють польотному коду PX4 керувати комп'ютерно змодельованим апаратом у змодельованому "світі".
You can interact with this vehicle just as you might with a real vehicle, using _QGroundControl_, an offboard API, or a radio controller/gamepad.
-:::tip
-Simulation is a quick, easy, and most importantly, _safe_ way to test changes to PX4 code before attempting to fly in the real world.
-Це також хороший спосіб почати літати з PX4, якщо у вас ще немає апарату для експериментів.
-:::
-
PX4 supports both _Software In the Loop (SITL)_ simulation, where the flight stack runs on computer (either the same computer or another computer on the same network) and _Hardware In the Loop (HITL)_ simulation using a simulation firmware on a real flight controller board.
Інформація про доступні тренажери та способи їх налаштування наведена в наступному розділі.
The other sections provide general information about how the simulator works, and are not required to _use_ the simulators.
+:::tip
+Simulation is a quick, easy, and most importantly, _safe_ way to test changes to PX4 code before attempting to fly in the real world.
+Це також хороший спосіб почати літати з PX4, якщо у вас ще немає апарату для експериментів.
+:::
+
## Підтримувані симулятори
Наступні симулятори підтримуються основною командою розробників PX4.
+:::info
+Gazebo Classic is being downgraded to [community supported](../simulation/community_supported_simulators.md) and is no longer recommended as the default simulation solution.
+Use [Gazebo](../sim_gazebo_gz/index.md) (formerly Gazebo Ignition) for new projects.
+If you have an older workflow that does not yet work in newer Gazebo, Gazebo Classic remains available but will not receive core team maintenance going forward.
+See [PX4-Autopilot#23602](https://github.com/PX4/PX4-Autopilot/issues/23602) for the deprecation timeline and migration status.
+:::
+
| Симулятор | Опис |
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Gazebo](../sim_gazebo_gz/index.md) | Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. Він також може бути використаний для [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) і зазвичай використовується з [ROS](../simulation/ros_interface.md), набором інструментів для автоматизації керування апаратами.
Supported Vehicles: Quad, VTOL (Standard, Tailsitter, Tiltroter), Plane, Rovers |
| [Gazebo Classic](../sim_gazebo_classic/index.md) | A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
**Supported Vehicles:** Quad ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter)), Hex (Typhoon H480), [Generic Standard VTOL (QuadPlane)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), Tailsitter, Plane, Rover, Submarine |
+| [SIH](../sim_sih/index.md) | A lightweight, headless simulator that runs physics directly inside PX4 as a C++ module (no external dependencies). Headless by default for fastest iteration. Supports ROS 2 via uXRCE-DDS. Can also run on flight controller hardware (`SYS_HITL=2`).
**Supported Vehicles:** Quad, Hex, Plane, Tailsitter, Standard VTOL, Rover |
There are also a number of [Community Supported Simulators](../simulation/community_supported_simulators.md).
----
+### Simulator Comparison
-Решта цієї теми - це "дещо загальний" опис того, як працює інфраструктура симуляції.
-It is not required to _use_ the simulators.
+| Характеристика | Gazebo | SIH |
+| ------------------------- | ------------------------------------------------- | -------------------------------------------------------------------------------------- |
+| **Default Mode** | GUI with 3D rendering | Headless (fastest iteration) |
+| **3D Visualization** | Built-in (photorealistic) | Optional: QGC map or jMAVSim display-only |
+| **Physics Engine** | External (gz-physics) | Internal (C++ module, uORB) |
+| **External Dependencies** | Gazebo packages, rendering libs | None |
+| **Vehicle Types** | Quad, VTOL, Plane, Rovers | Quad, Hex, Plane, Tailsitter, Std VTOL, Rover |
+| **Multi-vehicle** | Yes (documented) | Yes ([multi-vehicle](../sim_sih/index.md#multi-vehicle-simulation)) |
+| **Sensor Simulation** | Camera, LiDAR, depth, IMU, GPS, baro, mag | IMU, GPS, baro, mag, airspeed |
+| **Custom Worlds/Models** | Yes (SDF, large model library) | Ні |
+| **ROS 2 Integration** | Yes (uXRCE-DDS) | Yes (uXRCE-DDS) |
+| **Extensibility** | Plugins, custom sensors, environments | Modify C++ source, tune SIH\_\* parameters |
+| **Community/Ecosystem** | Large Gazebo community, model repos | PX4-internal |
+| **Faster-than-Realtime** | Так | Так |
+| **Runs on FC Hardware** | Ні | Yes (SYS_HITL=2) |
+| **macOS Apple Silicon** | Unstable (known issues) | Works natively |
+| **Lockstep** | Так | Так |
+
+:::tip
+For a detailed analysis of PX4 simulation user needs, priorities, and pain points, see the [PX4 Simulation Integration Survey Report](https://www.mcguirerobotics.com/px4_sim_research_report/) (K. McGuire, Dronecode Foundation, Dec 2025, 120 respondents).
+:::
+
+### Which Simulator Should I Use?
+
+- **Full-featured simulation with 3D rendering, custom worlds, camera/lidar sensors, or rich sensor ecosystems:** Use [Gazebo](../sim_gazebo_gz/index.md). Largest ecosystem, custom models and plugins, photorealistic rendering, extensive sensor library, large community.
+- **Fast headless iteration, controls research, zero-dependency setup, or macOS:** Use [SIH](../sim_sih/index.md). Runs entirely inside PX4 with no external dependencies, headless by default for maximum speed, physics parameters directly tunable via `SIH_*` params. Supports ROS 2 via uXRCE-DDS.
+- **Hardware integration testing without propellers:** Use [SIH on flight controller hardware](../sim_sih/index.md#sih-on-flight-controller-hardware) (`SYS_HITL=2`).
+
+:::info
+SIH is headless by default. For optional 3D visualization, you can use [jMAVSim in display-only mode](../sim_sih/index.md#visualization-optional) or monitor the vehicle in QGroundControl's map view.
+:::
## Симулятор MAVLink API
-Всі симулятори, крім Gazebo, взаємодіють з PX4 за допомогою API симулятора MAVLink.
+Most external simulators communicate with PX4 using the Simulator MAVLink API.
Цей API визначає набір повідомлень MAVLink, які передають дані датчиків з модельованого світу в PX4 і повертають значення двигуна і приводу з польотного коду, які будуть застосовані до модельованого апарату.
На зображенні нижче показано потік повідомлень.
+:::info
+SIH does not use the MAVLink simulator API. It runs physics internally via uORB messages. Gazebo communicates with PX4 via gz_bridge (Gazebo transport), not MAVLink.
+:::
+

:::info
@@ -96,7 +137,7 @@ See [System Startup](../concept/system_startup.md) to learn more.
## Середовище симуляції SITL
-На схемі нижче показано типове середовище симуляції SITL для будь-якого з підтримуваних тренажерів, що використовують MAVLink (тобто всіх, окрім Gazebo).
+The diagram below shows a typical SITL simulation environment for any of the supported simulators that use MAVLink (i.e. most external simulators, but not Gazebo or SIH).

@@ -153,8 +194,16 @@ make px4_sitl jmavsim
# Start PX4 with no simulator (i.e. to use your own "custom" simulator)
make px4_sitl none_iris
+
+# SIH (headless, zero dependencies)
+make px4_sitl_sih sihsim_quadx
+make px4_sitl_sih sihsim_airplane
```
+:::info
+Use `px4_sitl_sih` instead of `px4_sitl` to avoid building Gazebo dependencies.
+:::
+
Симуляцію можна додатково налаштувати за допомогою змінних середовища:
- Any of the [PX4 parameters](../advanced_config/parameter_reference.md) can be overridden via `export PX4_PARAM_{name}={value}`.
@@ -165,7 +214,7 @@ For more information see: [Building the Code > PX4 Make Build Targets](../dev_se
### Run Simulation Faster than Realtime {#simulation_speed}
-SITL can be run faster or slower than real-time when using Gazebo, Gazebo Classic, or jMAVSim.
+SITL can be run faster or slower than real-time when using Gazebo, Gazebo Classic, jMAVSim, or SIH.
The speed factor is set using the environment variable `PX4_SIM_SPEED_FACTOR`.
@@ -179,6 +228,7 @@ This is what makes it possible to run the simulation at different speeds, and al
- Gazebo: [Change Simulation Speed](../sim_gazebo_gz/index.md#change-simulation-speed)
- Gazebo Classic: [Change Simulation Speed](../sim_gazebo_classic/index.md#change-simulation-speed) and [Lockstep](../sim_gazebo_classic/index.md#lockstep)
- jMAVSim: [Change Simulation Speed](../sim_jmavsim/index.md#change-simulation-speed) and [Lockstep](../sim_jmavsim/index.md#lockstep)
+- SIH: Supports `PX4_SIM_SPEED_FACTOR` for faster-than-realtime simulation.
### Сценарії запуску
diff --git a/docs/uk/simulation/multi-vehicle-simulation.md b/docs/uk/simulation/multi-vehicle-simulation.md
index ff3675a427..300a88ef77 100644
--- a/docs/uk/simulation/multi-vehicle-simulation.md
+++ b/docs/uk/simulation/multi-vehicle-simulation.md
@@ -6,6 +6,7 @@ PX4 підтримує симуляцію кількох рухомих засо
- [Multi-Vehicle Sim with Gazebo Classic](../sim_gazebo_classic/multi_vehicle_simulation.md) (both with and without ROS)
- [Multi-Vehicle Sim with FlightGear](../sim_flightgear/multi_vehicle.md)
- [Multi-Vehicle Sim with JMAVSim](../sim_jmavsim/multi_vehicle.md)
+- [Multi-Vehicle Sim with SIH](../sim_sih/index.md#multi-vehicle-simulation)
Вибір симулятора залежить від рухомого засобу що моделюється, наскільки "якісна" потрібна симуляція (і для яких функцій), і скільки засобів потрібно симулювати одночасно.
@@ -18,5 +19,8 @@ PX4 підтримує симуляцію кількох рухомих засо
Note, this is the successor of [Gazebo Classic](../sim_gazebo_classic/index.md) (below).
- [Gazebo Classic](../sim_gazebo_classic/index.md) is less accurate and less heavy-weight and supports many features and vehicles that aren't available for FlightGear.
Він може симулювати набагато більше засобів за раз, ніж FlightGear, та дозволяє симулювати різні їх типи водночас.
-- JMAVSim - це дуже легкий симулятор, який підтримує лише квадрокоптери.
+- [JMAVSim](../sim_jmavsim/index.md) is a very light-weight simulator that supports only quadcopters.
Рекомендується у випадку, якщо вам необхідно підтримувати багато квадрокоптерів та симуляція може бути приблизна.
+- [SIH](../sim_sih/index.md) is the lightest-weight option with zero external dependencies.
+ Since SIH is headless and runs physics internally, it can launch many instances with minimal resource usage.
+ It supports all 6 vehicle types (quad, hex, plane, tailsitter, standard VTOL, rover).