Данный проект представляет собой виртуальную симуляцию робототехнической лаборатории, разработанную с использованием фреймворка ROS 2 Jazzy и симулятора Gazebo Harmonic.
Основная цель проекта — создание точной цифровой копии лабораторного пространства для тестирования алгоритмов управления мобильными роботами в безопасной и контролируемой среде.
- Изучение ROS 2: Отработка навыков работы с современным стандартом робототехники.
- Моделирование среды: Точное воспроизведение размеров и компонентов реальной лаборатории (
lab_world.sdf). - Интеграция робота: Интеграция модели Pioneer3AT, адаптированной под стандарт SDFormat 1.7.
- Управление: Реализация дифференциального привода через плагин
gz::sim::systems::DiffDrive.
- ✅ Высокая совместимость: Поддержка последних версий ПО (Ubuntu 24.04, ROS 2 Jazzy).
- ✅ Реалистичная физика: Настроенная инерция и коллизии для всех компонентов робота.
- ✅ ROS 2 Bridge: Прямое управление роботом через стандартные топики (
/model/robot/cmd_vel). - ✅ Готовый Pipeline: Автоматизированный запуск мира, загрузка робота и готовность к управлению.
Для корректной работы симулятора необходимо:
- ОС: Ubuntu 22.04 / 24.04
- ROS 2: Jazzy Jalisco
- Simulator: Gazebo Harmonic (gz-sim 8)
- Build Tool:
colcon
# Установка Gazebo Harmonic
sudo apt install gz-harmonic
# Установка ROS 2 Jazzy (если не установлен)
sudo apt install ros-jazzy-desktop# Клонирование проекта
git clone <URL_РЕПОЗИТОРИЯ> lab_simulator
cd lab_simulator/sim/ros2_ws
# Сборка рабочего пространства
colcon build
source install/setup.bashДля корректного отображения робота необходимо скопировать модель в папку моделей Gazebo:
mkdir -p ~/.gz/models/pioneer3at
cp -r src/lab_world/models/pioneer3at/* ~/.gz/models/pioneer3at/gz sim src/lab_world/worlds/lab_world.sdfВы можете отправлять команды движения в топик /model/robot/cmd_vel:
Вперед:
ros2 topic pub -r 10 /model/robot/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.5}, angular: {z: 0.0}}"Поворот:
ros2 topic pub -r 10 /model/robot/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.0}, angular: {z: 1.0}}".
├── sim/
│ ├── ros2_ws/ # Рабочее пространство ROS 2
│ │ └── src/
│ │ └── lab_world/ # Пакет с миром и моделями
│ │ ├── worlds/ # Файлы миров (.sdf)
│ │ └── models/ # 3D модели роботов и окружения
├── Медиаматериалы/ # Скриншоты и видео работы
└── README.md # Текущая документация
Робот



