Ваша задача - реализовать систему планирования траектории и управления для автономного автомобиля Formula Student. Система должна обеспечивать безопасное и эффективное движение по заданной трассе с конусами.
- Планирование траектории - построение оптимального пути между конусами
- Контроллер управления - система управления скоростью и рулевым углом
- Избегание препятствий - динамическое перепланирование при обнаружении препятствий
- Оптимизация производительности - минимизация времени прохождения трассы
control_planning_test_task/
├── data/ # Данные трассы и симуляции
│ ├── track_layout.json # Описание трассы
│ ├── waypoints.csv # Опорные точки трассы
│ ├── obstacles.json # Динамические препятствия
│ └── vehicle_params.json # Параметры автомобиля
├── src/ # Исходный код
│ ├── path_planning.py # Планирование траектории
│ ├── controller.py # Контроллер управления
│ ├── vehicle_model.py # Модель динамики автомобиля
│ ├── obstacle_avoidance.py # Избегание препятствий
│ ├── optimization.py # Оптимизация траектории
│ └── simulation.py # Симуляция движения
├── tests/ # Тесты
│ ├── test_path_planning.py
│ ├── test_controller.py
│ └── test_integration.py
├── results/ # Результаты симуляции
├── requirements.txt # Зависимости
└── README.md # Данный файл
Реализуйте алгоритм построения траектории, который:
- Анализирует расположение конусов и строит оптимальный путь
- Учитывает динамические ограничения автомобиля (радиус поворота, максимальная скорость)
- Минимизирует время прохождения трассы
- Обеспечивает плавность траектории для комфортного управления
Алгоритмы на выбор:
- Триангуляция Делоне
- A* с учетом динамики
- Hybrid A* для автомобилей
- Pure Pursuit с оптимизацией
- Многое другое на ваш выбор
Создайте систему управления, включающую:
- Поперечный контроллер (рулевое управление) - Pure Pursuit, Stanley, или MPC
- Продольный контроллер (управление скоростью) - PID, MPC
- Координацию контроллеров - совместная работа продольного и поперечного управления
Реализуйте систему:
- Детекции препятствий на трассе
- Динамического перепланирования при обнаружении препятствий
- Безопасного маневрирования вокруг препятствий
Оптимизируйте систему для:
- Минимального времени прохождения трассы
- Максимальной скорости в поворотах
- Плавности управления (минимизация рывков (n-ые производные скорости))
- Конусы расположены по бокам трассы
- Ширина трассы: 3.5 метра
- Длина трассы: ~200 метров
- Типы поворотов: 90°, 180° (hairpin), S-образные
- Максимальная скорость: 15 м/с (54 км/ч)
- Максимальное ускорение: 8 м/с²
- Максимальное замедление: 12 м/с²
- Минимальный радиус поворота: 3 метра
- База автомобиля: 1.6 метра
- Код должен быть разделен на логические модули
- Каждый модуль должен иметь четкий интерфейс
- Возможность независимого тестирования компонентов
- Алгоритмы должны работать в реальном времени
- Время планирования траектории < 100 мс
- Частота управления > 50 Гц
- Обработка граничных случаев
- Fallback стратегии при сбоях
- Валидация входных данных
- Документация всех алгоритмов
- Объяснение выбора параметров
- Анализ производительности
- Рабочая система планирования и управления
- Симуляция прохождения трассы с визуализацией
- Метрики производительности:
- Время прохождения трассы
- Максимальная достигнутая скорость
- Плавность траектории (jerk)
- Точность следования траектории
- Анализ результатов и рекомендации по улучшению
- Функциональность (40%): Работает ли система планирования и управления
- Качество алгоритмов (30%): Оптимальность и эффективность решений
- Качество кода (20%): Структура, документация, тестирование
- Производительность (10%): Скорость работы и оптимизация
- Адаптивное планирование - учет состояния покрытия трассы
- Мультиагентное планирование - учет других участников
- Машинное обучение - оптимизация параметров через RL
- 3D планирование - учет профиля трассы
Удачи!