Move PX4 Guide source into /docs (#24490)

* Add vitepress tree

* Update existing workflows so they dont trigger on changes in the docs path

* Add nojekyll, package.json, LICENCE etc

* Add crowdin docs upload/download scripts

* Add docs flaw checker workflows

* Used docs prefix for docs workflows

* Crowdin obvious fixes

* ci: docs move to self hosted runner

runs on a beefy server for faster builds

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: don't run build action for docs or ci changes

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: update runners

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* Add docs/en

* Add docs assets and scripts

* Fix up editlinks to point to PX4 sources

* Download just the translations that are supported

* Add translation sources for zh, uk, ko

* Update latest tranlsation and uorb graphs

* update vitepress to latest

---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
This commit is contained in:
Hamish Willee
2025-03-13 16:08:27 +11:00
committed by GitHub
parent 8e6d2ebe4a
commit 88d623bedb
5176 changed files with 558771 additions and 2 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,302 @@
# Симуляція кількох рухомих засобів з Gazebo Classic
This topic explains how to simulate multiple UAV vehicles using [Gazebo Classic](../sim_gazebo_classic/index.md) and SITL (Linux only).
Різний підхід використовуються для симуляції з та без ROS.
## Кілька рухомих засобів з Gazebo Classic
To simulate multiple iris or plane vehicles in Gazebo Classic use the following commands in the terminal (from the root of the _Firmware_ tree):
```sh
Tools/simulation/gazebo-classic/sitl_multiple_run.sh [-m <model>] [-n <number_of_vehicles>] [-w <world>] [-s <script>] [-t <target>] [-l <label>]
```
- `<model>`: The [vehicle type/model](../sim_gazebo_classic/vehicles.md) to spawn, e.g.: `iris` (default), `plane`, `standard_vtol`, `rover`, `r1_rover` `typhoon_h480`.
- `<number_of_vehicles>`: The number of vehicles to spawn.
Значення за замовчуванням - 3.
Максимум - 254.
- `<world>`: The [world](../sim_gazebo_classic/worlds.md) that the vehicle should be spawned into, e.g.: `empty` (default)
- `<script>`: Spawn multiple vehicles of different types (overriding the values in `-m` and `-n`).
Наприклад:
```sh
-s "iris:3,plane:2,standard_vtol:3"
```
- Supported vehicle types are: `iris`, `plane`, `standard_vtol`, `rover`, `r1_rover` `typhoon_h480`.
- Число після двокрапки вказує на кількість рухомих засобів (цього типу) для відтворення.
- Максимальна кількість засобів - 254.
- `<target>`: build target, e.g: `px4_sitl_default` (default), `px4_sitl_nolockstep`
- `<label>` : specific label for model, e.g: `rplidar`
Кожному екземпляру рухомого засобу виділяється унікальний системний ідентифікатор MAVLink (2, 3, 4 тощо).
MAVLink system id 1 is skipped in order to have consistency among [namespaces](../ros2/multi_vehicle.md#principle-of-operation).
Vehicle instances are accessed from sequentially allocated PX4 remote UDP ports: `14541` - `14548` (additional instances are all accessed using the same remote UDP port: `14549`).
:::info
The 254-vehicle limitation occurs because mavlink `MAV_SYS_ID` only supports 255 vehicles in the same network (and the first one is skipped).
The `MAV_SYS_ID` is allocated in the SITL rcS: [init.d-posix/rcS](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d-posix/rcS#L131)
:::
### Відео: кілька мультикоптерів (Iris)
<lite-youtube videoid="Mskx_WxzeCk" title="Multiple vehicle simulation in SITL gazebo"/>
### Відео: кілька літаків
<lite-youtube videoid="aEzFKPMEfjc" title="PX4 Multivehicle SITL gazebo for fixedwing"/>
### Відео: кілька ВЗІП
<lite-youtube videoid="lAjjTFFZebI" title="PX4 Multivehicle SITL gazebo for VTOL"/>
### Збірка та тестування (XRCE-DDS)
`Tools/simulation/gazebo-classic/sitl_multiple_run.sh` can be used to simulate multiple vehicles connected via XRCE-DDS in Gazebo Classic.
:::info
You will need to have installed the XRCE-DDS dependencies.
For more information see: [ROS 2 User Guide (PX4-ROS 2 Bridge)](../ros2/user_guide.md), for interfacing with ROS 2 nodes.
:::
Для збірки прикладу установки дотримуйтесь наступних кроків:
1. Клонуйте код PX4/Прошивки і зберіть код SITL:
```sh
cd Firmware_clone
git submodule update --init --recursive
DONT_RUN=1 make px4_sitl gazebo-classic
```
2. Build the `micro xrce-dds agent` and the interface package following the [instructions here](../ros2/user_guide.md).
3. Run `Tools/simulation/gazebo-classic/sitl_multiple_run.sh`.
Наприклад, для відтворення 4 рухомих засобів виконайте:
```sh
./Tools/simulation/gazebo-classic/sitl_multiple_run.sh -m iris -n 4
```
::: info
Each vehicle instance is allocated a unique MAVLink system id (2, 3, 4, etc.).
Системний ідентифікатор MAVLink 1 пропускається.
:::
4. Run `MicroXRCEAgent`.
Він автоматично під'єднається до усіх чотирьох рухомих засобів:
```sh
MicroXRCEAgent udp4 -p 8888
```
::: info
The simulator startup script automatically assigns a [unique namespace](../ros2/multi_vehicle.md) to each vehicle.
:::
## Кілька рухомих засобів з MAVROS та Gazebo Classic
Цей приклад демонструє установку, яка відкриває клієнтський графічний інтерфейс Gazebo Classic, показуючи два засоби типу Iris у порожньому світі.
You can then control the vehicles with _QGroundControl_ and MAVROS in a similar way to how you would manage a single vehicle.
### Вимоги
- Current [PX4 ROS/Gazebo development environment](../ros/mavros_installation.md) (which includes the [MAVROS package](http://wiki.ros.org/mavros)).
- a clone of latest [PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot)
### Збірка та тестування
Для збірки прикладу установки дотримуйтесь наступних кроків:
1. Клонуйте код PX4/PX4-Autopilot і зберіть код SITL
```sh
cd Firmware_clone
git submodule update --init --recursive
DONT_RUN=1 make px4_sitl_default gazebo-classic
```
2. Виконайте команду source у вашому середовищі:
```sh
source Tools/simulation/gazebo-classic/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd):$(pwd)/Tools/simulation/gazebo-classic/sitl_gazebo
```
3. Виконайте файл запуску:
```sh
roslaunch px4 multi_uav_mavros_sitl.launch
```
::: info
You can specify `gui:=false` in the above _roslaunch_ to launch Gazebo Classic without its UI.
:::
Навчальний приклад відкриває клієнтський графічний інтерфейс Gazebo Classic, показуючи два засоби типу Iris у порожньому світі.
You can control the vehicles with _QGroundControl_ or MAVROS in a similar way to how you would manage a single vehicle:
- _QGroundControl_ will have a drop-down to select the vehicle that is "in focus"
- MAVROS requires that you include the proper namespace before the topic/service path (e.g. for `<group ns="uav1">` you'll use _/uav1/mavros/mission/push_).
### Що відбувається?
Для кожного змодельованого засобу необхідно наступне:
- **Gazebo Classic model**: This is defined as `xacro` file in `PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic/models/rotors_description/urdf/<model>_base.xacro` see [here](https://github.com/PX4/PX4-SITL_gazebo-classic/tree/02060a86652b736ca7dd945a524a8bf84eaf5a05/models/rotors_description/urdf).
Currently, the model `xacro` file is assumed to end with **base.xacro**.
This model should have an argument called `mavlink_udp_port` which defines the UDP port on which Gazebo Classic will communicate with PX4 node.
The model's `xacro` file will be used to generate an `urdf` model that contains UDP port that you select.
To define the UDP port, set the `mavlink_udp_port` in the launch file for each vehicle, see [here](https://github.com/PX4/PX4-Autopilot/blob/4d0964385b84dc91189f377aafb039d10850e5d6/launch/multi_uav_mavros_sitl.launch#L37) as an example.
::: info
If you are using the same vehicle model, you don't need a separate **`xacro`** file for each vehicle. The same **`xacro`** file is adequate.
:::
- **PX4 node**: This is the SITL PX4 app.
It communicates with the simulator, Gazebo Classic, through the same UDP port defined in the Gazebo Classic vehicle model, i.e. `mavlink_udp_port`.
To set the UDP port on the PX4 SITL app side, you need to set the `SITL_UDP_PRT` parameter in the startup file to match the `mavlink_udp_port` discussed previously, see [here](https://github.com/PX4/PX4-Autopilot/blob/4d0964385b84dc91189f377aafb039d10850e5d6/posix-configs/SITL/init/ekf2/iris_2#L46).
The path of the startup file in the launch file is generated based on the `vehicle` and `ID` arguments, see [here](https://github.com/PX4/PX4-Autopilot/blob/4d0964385b84dc91189f377aafb039d10850e5d6/launch/multi_uav_mavros_sitl.launch#L36).
The `MAV_SYS_ID` for each vehicle in the startup file, see [here](https://github.com/PX4/PX4-Autopilot/blob/4d0964385b84dc91189f377aafb039d10850e5d6/posix-configs/SITL/init/ekf2/iris_2#L4), should match the `ID` for that vehicle in the launch file [here](https://github.com/PX4/PX4-Autopilot/blob/4d0964385b84dc91189f377aafb039d10850e5d6/launch/multi_uav_mavros_sitl.launch#L25).
Це допоможе переконатися, що ви тримаєте налаштування узгоджено між файлом запуску та стартовим файлом.
- **MAVROS node** \(optional\): A separate MAVROS node can be run in the launch file, see [here](https://github.com/PX4/PX4-Autopilot/blob/4d0964385b84dc91189f377aafb039d10850e5d6/launch/multi_uav_mavros_sitl.launch#L41), in order to connect to PX4 SITL app, if you want to control your vehicle through ROS.
You need to start a MAVLink stream on a unique set of ports in the startup file, see [here](https://github.com/PX4/PX4-Autopilot/blob/4d0964385b84dc91189f377aafb039d10850e5d6/posix-configs/SITL/init/ekf2/iris_1#L68).
Those unique set of ports need to match those in the launch file for the MAVROS node, see [here](https://github.com/PX4/PX4-Autopilot/blob/4d0964385b84dc91189f377aafb039d10850e5d6/launch/multi_uav_mavros_sitl.launch#L26).
The launch file `multi_uav_mavros_sitl.launch`does the following,
- завантажує світ у Gazebo Classic,
```xml
<!-- Gazebo sim -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="gui" value="$(arg gui)"/>
<arg name="world_name" value="$(arg world)"/>
<arg name="debug" value="$(arg debug)"/>
<arg name="verbose" value="$(arg verbose)"/>
<arg name="paused" value="$(arg paused)"/>
</include>
```
- для кожного рухомого засобу,
- створює модель urdf із xacro, завантажує модель gazebo classic і запускає екземпляр застосунку PX4 SITL
```xml
<!-- PX4 SITL and vehicle spawn -->
<include file="$(find px4)/launch/single_vehicle_spawn.launch">
<arg name="x" value="0"/>
<arg name="y" value="0"/>
<arg name="z" value="0"/>
<arg name="R" value="0"/>
<arg name="P" value="0"/>
<arg name="Y" value="0"/>
<arg name="vehicle" value="$(arg vehicle)"/>
<arg name="rcS" value="$(find px4)/posix-configs/SITL/init/$(arg est)/$(arg vehicle)_$(arg ID)"/>
<arg name="mavlink_tcp_port" value="4560"/>
<arg name="ID" value="$(arg ID)"/>
</include>
```
- запускає вузол Mavros
```xml
<!-- MAVROS -->
<include file="$(find mavros)/launch/px4.launch">
<arg name="fcu_url" value="$(arg fcu_url)"/>
<arg name="gcs_url" value=""/>
<arg name="tgt_system" value="$(arg ID)"/>
<arg name="tgt_component" value="1"/>
</include>
```
::: info
The complete block for each vehicle is enclosed in a set of `<group>` tags to separate the ROS namespaces of the vehicles.
:::
Щоб додати третій засіб типу iris до цієї симуляції потрібно врахувати два основні компоненти:
- add `UAV3` to **multi_uav_mavros_sitl.launch**
- duplicate the group of either existing vehicle (`UAV1` or `UAV2`)
- increment the `ID` arg to `3`
- select a different port for `mavlink_udp_port` arg for communication with Gazebo Classic
- selects ports for MAVROS communication by modifying both port numbers in the `fcu_url` arg
- створити стартовий файл і змінити файл наступним чином:
- make a copy of an existing iris rcS startup file (`iris_1` or `iris_2`) and rename it `iris_3`
- `MAV_SYS_ID` value to `3`
- `SITL_UDP_PRT` value to match that of the `mavlink_udp_port` launch file arg
- the first `mavlink start` port and the `mavlink stream` port values to the same values, which is to be used for QGC communication
- the second `mavlink start` ports need to match those used in the launch file `fcu_url` arg
::: info
Be aware of which port is `src` and `dst` for the different endpoints.
:::
## Кілька рухомих засобів з використанням моделей SDF
Цей розділ показує, як розробнику симулювати декілька засобів за допомогою моделей рухомих засобів, визначених у SDF файлах Gazebo Classic (замість використання моделей, визначених у ROS Xacro файлах, як обговорювалося у решті цієї теми).
Кроки наступні:
1. Install _xmlstarlet_ from your Linux terminal:
```sh
sudo apt install xmlstarlet
```
2. Use _roslaunch_ with the **multi_uav_mavros_sitl_sdf.launch** launch file:
````sh
roslaunch multi_uav_mavros_sitl_sdf.launch vehicle:=<model_file_name>
```
::: info
Note that the vehicle model file name argument is optional (`vehicle:=<model_file_name>`); if omitted the [plane model](https://github.com/PX4/PX4-SITL_gazebo-classic/tree/master/models/plane) will be used by default.
:::
````
This method is similar to using the xacro except that the SITL/Gazebo Classic port number is automatically inserted by _xmstarlet_ for each spawned vehicle, and does not need to be specified in the SDF file.
Щоб додати новий рухомий засіб, вам потрібно переконатися, що модель можна знайти (для відтворення у Gazebo Classic) та PX4 повинен мати відповідний скрипт запуску.
1. Можна обрати зробити щось одне з:
- modify the **single_vehicle_spawn_sdf.launch** file to point to the location of your model by changing the line below to point to your model:
```sh
$(find px4)/Tools/simulation/gazebo/sitl_gazebo-classic/models/$(arg vehicle)/$(arg vehicle).sdf
```
::: info
Ensure you set the `vehicle` argument even if you hardcode the path to your model.
:::
- скопіювати свою модель в директорію, позначену вище (дотримуючись тих же правил шляху).
2. The `vehicle` argument is used to set the `PX4_SIM_MODEL` environment variable, which is used by the default rcS (startup script) to find the corresponding startup settings file for the model.
Within PX4 these startup files can be found in the **PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/** directory.
For example, here is the plane model's [startup script](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d-posix/airframes/1030_gazebo-classic_plane).
For this to work, the PX4 node in the launch file is passed arguments that specify the _rcS_ file (**etc/init.d/rcS**) and the location of the rootfs etc directory (`$(find px4)/build_px4_sitl_default/etc`).
For simplicity, it is suggested that the startup file for the model be placed alongside PX4's in **PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/**.
## Додаткові ресурси
- See [Simulation](../simulation/index.md) for a description of the UDP port configuration.
- See [URDF in Gazebo](http://wiki.ros.org/urdf/Tutorials/Using%20a%20URDF%20in%20Gazebo) for more information about spawning the model with xacro.
- See [RotorS](https://github.com/ethz-asl/rotors_simulator/tree/master/rotors_description/urdf) for more xacro models.
+81
View File
@@ -0,0 +1,81 @@
# 3D Моделі OctoMap з ROS/Gazebo Classic
The [OctoMap library](http://octomap.github.io/) is an open source library for generating volumetric 3D environment models from sensor data.
Дані цієї моделі потім можуть використовуватись дроном для навігації та уникнення перешкод.
This guide covers how to use _OctoMap_ with the [Gazebo Classic](../sim_gazebo_classic/index.md) [Rotors Simulator](https://github.com/ethz-asl/rotors_simulator/wiki/RotorS-Simulator) and ROS.
## Встановлення
The installation requires ROS, [Gazebo Classic](../sim_gazebo_classic/index.md) and the Rotors Simulator plugin.
Follow the [Rotors Simulator instructions](https://github.com/ethz-asl/rotors_simulator) to install.
Next, install the _OctoMap_ library:
```sh
sudo apt-get install ros-indigo-octomap ros-indigo-octomap-mapping
rosdep install octomap_mapping
rosmake octomap_mapping
```
Now, open `~/catkin_ws/src/rotors_simulator/rotors_gazebo/CMakeLists.txt` and add the following lines to the bottom of the file:
```sh
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
```
Open `~/catkin_ws/src/rotors_simulator/rotors_gazebo/package.xml` and add the following lines:
```xml
<build_depend>octomap</build_depend>
<run_depend>octomap</run_depend>
```
Виконайте наступні два рядки:
:::info
The first line changes your default shell editor to _gedit_. This is recommended for users who have little experience with _vim_ (the default editor), but can otherwise be omitted.
:::
```sh
export EDITOR='gedit'
rosed octomap_server octomap_tracking_server.launch
```
та змінити наступні два рядки:
```xml
<param name="frame_id" type="string" value="map" />
...
<!--remap from="cloud_in" to="/rgbdslam/batch_clouds" /-->
```
на:
```xml
<param name="frame_id" type="string" value="world" />
...
<remap from="cloud_in" to="/firefly/vi_sensor/camera_depth/depth/points" />
```
## Запуск симуляції
Run the following three lines in _separate_ terminal windows.
This opens up [Gazebo Classic](../sim_gazebo_classic/index.md), _Rviz_ and an octomap server.
```sh
roslaunch rotors_gazebo mav_hovering_example_with_vi_sensor.launch mav_name:=firefly
rviz
roslaunch octomap_server octomap_tracking_server.launch
```
In _Rviz_, change the field 'Fixed Frame' from 'map' to 'world' in the top left of the window.
Тепер натисніть кнопку "Додати" в нижньому лівому куті та оберіть MarkerArray. Then double click the MarkerArray and change 'Marker Topic' from `/free_cells_vis_array` to `/occupied_cells_vis_array`.
Тепер ви повинні побачити частину підлоги.
In the _Gazebo Classic_ window, insert a cube in front of the red rotors and you should see it in _Rviz_.
![OctoMap Example in Gazebo](../../assets/simulation/gazebo_classic/octomap.png)
+153
View File
@@ -0,0 +1,153 @@
# Рухомі засоби Gazebo Classic
This topic lists/displays the vehicles supported by the PX4 [Gazebo Classic](../sim_gazebo_classic/index.md) simulation and the `make` commands required to run them (the commands are run from a terminal in the **PX4-Autopilot** directory).
Типи рухомих засобів що підтримуються включають: мультиротори, ВЗІП, ВЗІП з хвоста, літак, ровер, підводний човен/підводний дрон.
:::info
The [Gazebo Classic](../sim_gazebo_classic/index.md) page shows how to install Gazebo Classic, how to enable video and load custom maps, and many other configuration options.
:::
## Мультикоптер
### Квадрокоптер (за замовчуванням)
```sh
make px4_sitl gazebo-classic
```
### Квадрокоптер з оптичним потоком
```sh
make px4_sitl gazebo-classic_iris_opt_flow
```
### Квадрокоптер з камерою глибини
Ці моделі мають додану камеру глибини, змодельовану за зразком Intel® RealSense™ D455.
_Forward-facing depth camera:_
```sh
make px4_sitl gazebo-classic_iris_depth_camera
```
_Downward-facing depth camera:_
```sh
make px4_sitl gazebo-classic_iris_downward_depth_camera
```
### 3DR Solo (Квадрокоптер)
```sh
make px4_sitl gazebo-classic_solo
```
![3DR Solo in Gazebo Classic](../../assets/simulation/gazebo_classic/vehicles/solo.png)
### Typhoon H480 (Гексакоптер)
```sh
make px4_sitl gazebo-classic_typhoon_h480
```
![Typhoon H480 in Gazebo Classic](../../assets/simulation/gazebo_classic/vehicles/typhoon.jpg)
:::info
This target also supports [video streaming simulation](../sim_gazebo_classic/index.md#video-streaming).
:::
<a id="fixed_wing"></a>
## Літак/Фіксоване крило
### Стандартний літак
```sh
make px4_sitl gazebo-classic_plane
```
![Plane in Gazebo Classic](../../assets/simulation/gazebo_classic/vehicles/plane.png)
#### Стандартний літак із запуском з катапульти
```sh
make px4_sitl gazebo-classic_plane_catapult
```
This model simulates hand/catapult launch, which can be used for [fixed-wing takeoff](../flight_modes_fw/takeoff.md) in position mode, takeoff mode, or missions.
Літак буде автоматично запущено як тільки засіб буде в стані готовності.
## VTOL
### Standard VTOL
```sh
make px4_sitl gazebo-classic_standard_vtol
```
![Standard VTOL in Gazebo Classic](../../assets/simulation/gazebo_classic/vehicles/standard_vtol.png)
### Тейлсіттер
```sh
make px4_sitl gazebo-classic_tailsitter
```
![Tailsitter VTOL in Gazebo Classic](../../assets/simulation/gazebo_classic/vehicles/tailsitter.png)
<a id="ugv"></a>
## Безпілотний наземний засіб (Ровер/Автомобіль)
### Наземний засіб з трапецією Аккермана
```sh
make px4_sitl gazebo-classic_rover
```
![Rover in Gazebo Classic](../../assets/simulation/gazebo_classic/vehicles/rover.png)
### Наземний засіб з диференціалом
```sh
make px4_sitl gazebo-classic_r1_rover
```
![Rover in Gazebo Classic](../../assets/simulation/gazebo_classic/vehicles/r1_rover.png)
## Безпілотний підводний засіб(Підводний човен)
### HippoCampus TUHH
```sh
make px4_sitl gazebo-classic_uuv_hippocampus
```
![Submarine/UUV](../../assets/simulation/gazebo_classic/vehicles/hippocampus.png)
## Безпілотний надводний засіб (Човен)
<a id="usv_boat"></a>
### Човен
```sh
make px4_sitl gazebo-classic_boat
```
![Boat/USV](../../assets/simulation/gazebo_classic/vehicles/boat.png)
<a id="airship"></a>
## Дирижабль
### Cloudship
```sh
make px4_sitl gazebo-classic_cloudship
```
![Airship](../../assets/simulation/gazebo_classic/vehicles/airship.png)
+72
View File
@@ -0,0 +1,72 @@
# Світи Gazebo Classic
This topic provides imagery/information about the [Gazebo Classic](../sim_gazebo_classic/index.md) worlds supported by PX4.
The [empty.world](#empty_world) is spawned by default, though this may be overridden by a [model specific world](#model_specific_worlds).
Developers can also manually specify the world to load: [Gazebo Classic > Loading a Specific World](../sim_gazebo_classic/index.md#loading-a-specific-world).
The source code for supported worlds can be found on GitHub here: [PX4/PX4-SITL_gazebo-classic/tree/main/worlds](https://github.com/PX4/PX4-SITL_gazebo-classic/tree/main/worlds).
<a id="empty_world"></a>
## Порожній (за замовчуванням)
[PX4/PX4-SITL_gazebo-classic/tree/main/worlds/empty.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/empty.world)
![empty](../../assets/simulation/gazebo_classic/worlds/empty.png)
## Baylands
[PX4/PX4-SITL_gazebo-classic/tree/main/worlds/baylands.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/baylands.world)
![Baylands World](../../assets/simulation/gazebo_classic/worlds/baylands.jpg)
## Аеропорт KSQL
[PX4/PX4-SITL_gazebo-classic/tree/main/worlds/ksql_airport.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/ksql_airport.world)
![KSQL Airport World](../../assets/simulation/gazebo_classic/worlds/ksql_airport.jpg)
## Літовище McMillan
[PX4/PX4-SITL_gazebo-classic/tree/main/worlds/mcmillan_airfield.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/mcmillan_airfield.world)
![McMillan Airfield World](../../assets/simulation/gazebo_classic/worlds/mcmillan_airfield.jpg)
## Безпечна посадка
[PX4/PX4-SITL_gazebo-classic/tree/main/worlds/safe_landing.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/safe_landing.world)
![Safe Landing World](../../assets/simulation/gazebo_classic/worlds/safe_landing.png)
## Гоночна траса Sonoma
[PX4/PX4-SITL_gazebo-classic/tree/main/worlds/sonoma_raceway.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/sonoma_raceway.world)
![Sonoma\_Raceway](../../assets/simulation/gazebo_classic/worlds/sonoma_raceway.png)
## Склад
[PX4/PX4-SITL_gazebo-classic/tree/main/worlds/warehouse.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/warehouse.world)
![Warehouse](../../assets/simulation/gazebo_classic/worlds/warehouse.png)
## Yosemite
[PX4/PX4-SITL_gazebo-classic/tree/main/worlds/yosemite.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/yosemite.world)
![Yosemite](../../assets/simulation/gazebo_classic/worlds/yosemite.jpg)
<a id="model_specific_worlds"></a>
## Світи певний моделей
Some [vehicle models](../sim_gazebo_classic/vehicles.md) rely on the physics / plugins of a specific world.
The PX4 toolchain will automatically spawn a world that has the same name as the vehicle model if one exists (instead of the default **empty.world**):
Світи певних моделей:
- [boat.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/boat.world): Includes a surface to simulate buoyancy of the [boat](../sim_gazebo_classic/vehicles.md#unmanned-surface-vehicle-usv-boat).
- [uuv_hippocampus.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/uuv_hippocampus.world): An empty world used to simulate an underwater environment for the [HippoCampus UUV](../sim_gazebo_classic/vehicles.md#hippocampus-tuhh-uuv).
- [typhoon_h480.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/typhoon_h480.world): Used by [Typhoon H480 (Hexrotor)](../sim_gazebo_classic/vehicles.md#typhoon-h480-hexrotor) vehicle model and includes a video widget to enable / disable video streaming.
Цей світ включає плагін gazebo для симуляції камери.
- [iris_irlock.world](https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/worlds/iris_irlock.world): Includes a IR beacon for testing [precision landing](../advanced_features/precland.md).