|
|
# Развертывание симуляции зоны ЧС в Unity
|
|
|
|
|
|
# 1. Установка UnityHub
|
|
|
|
|
|
Установка лаунчера подробно описано [на официальном сайте](https://docs.unity.com/en-us/hub/install-hub-linux#install-the-hub-on-an-ubuntu-linux-distribution). Дублирую информацию:
|
|
|
|
|
|
1.1 Проверяем наличие или устанавливаем при необходимости утилиту curl:
|
|
|
```
|
|
|
sudo apt install curl
|
|
|
```
|
|
|
1.2 Добавляем публичный ключ для подписи
|
|
|
```
|
|
|
sudo install -d /etc/apt/keyrings
|
|
|
curl -fsSL https://hub.unity3d.com/linux/keys/public | sudo gpg --dearmor -o /etc/apt/keyrings/unityhub.gpg
|
|
|
```
|
|
|
1.3 Добавляем репозиторий Unity Hub (только для x86_64/amd64)
|
|
|
```
|
|
|
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/unityhub.gpg] https://hub.unity3d.com/linux/repos/deb stable main" | sudo tee /etc/apt/sources.list.d/unityhub.list
|
|
|
```
|
|
|
1.4 Устанавливаем приложение
|
|
|
```
|
|
|
sudo apt update
|
|
|
sudo apt install unityhub
|
|
|
```
|
|
|
# 2. Установка Unity
|
|
|
|
|
|
Заходим в Unityhub и во вкладке `Installs` нажимаем `Install Editor`. В появившимся окне выбираем `Unity 6.0`, проверяем, достаточно ли свободного места на диске, никакие дополнительные модули не ставим и подтверждаем установку. При необходимости модули можно будет доставить потом.
|
|
|
|
|
|
# 3. Развертывание симуляции
|
|
|
|
|
|
1. Склонировать симуляцию из [Git‑репозитория](https://git.robofob.ru/sirius/sirius_unity_sim.git) в любую удобную папку на диске:
|
|
|
```bash
|
|
|
git clone --recurse-submodules https://git.robofob.ru/sirius/sirius_unity_sim.git
|
|
|
```
|
|
|
|
|
|
Если репозиторий уже был склонирован без модуля, то выполнить:
|
|
|
```bash
|
|
|
git submodule init
|
|
|
git submodule update
|
|
|
```
|
|
|
2. Скачиваем модели мира [Industrial_Zone_Modular_Pack](https://disk.yandex.ru/d/leNWr7JXhXlNJQ) и разархивируем ее в папку `Assets`. Должна получится струткура `Assets/Industrial_Zone_Modular_Pack`
|
|
|
3. В UnityHub добавляем проект `Add new project` и выбираем папку `sirius_unity_sim`.
|
|
|
4. Открываем проект и ждем процесса компиляции проекта. Unity не сможет скомпилировать некоторые скрипты и из-за этого предложит перейти в режим `Safe Mode`. Соглашаемся.
|
|
|
5. После открытия программы устанавливаемя дополнительные пакеты для организации свзяи ROS+Unity:
|
|
|
- Через меню `Window > Package manager` выбрать раздел `Unity Registry` и установить библиотеку `Mathematics`,`Burst`
|
|
|
- Через интерфейс "+" выбрать `Add package from git URL...` и ввести прикрепленные ниже ссылки
|
|
|
- [ROS-TCP-Connector](https://github.com/Unity-Technologies/ROS-TCP-Connector) - перессылка сообещинй из ROS в Unity и обратно
|
|
|
`https://github.com/Unity-Technologies/ROS-TCP-Connector.git?path=/com.unity.robotics.ros-tcp-connector`.
|
|
|
- Visualizations - визуализация данных ROS-сообщений в Unity в реальном времени
|
|
|
`https://github.com/Unity-Technologies/ROS-TCP-Connector.git?path=/com.unity.robotics.visualizations`
|
|
|
- [URDF-Importer](https://github.com/Unity-Technologies/URDF-Importer)
|
|
|
`https://github.com/Unity-Technologies/URDF-Importer.git?path=/com.unity.robotics.urdf-importer#v0.5.2`
|
|
|
6. Если не все ошибки были исправленны, то выходим из режима `Safe Mode > Exit Safe Mode`. Во вкладке `Robotics > ROS Settings` переключаем на протокол `ROS2` и ждем компиляции проекта. После компиляции оставшихся скриптов не должно возникнуть никаких критических ошибок. |