Розробка AI-системи планування шляху для автономного транспорту

Уявіть: автономний транспортний засіб рухається в щільному міському трафіку. Раптово з-за вантажівки вибігає пішохід. Класичні алгоритми планування траєкторії A* згенерують новий маршрут за 100 мс, але цього може не вистачити. Реактивне гальмування — вже пізно. Наші інженери вирішують цю проблему за

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1439
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    997
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1264
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1002

Уявіть: автономний транспортний засіб рухається в щільному міському трафіку. Раптово з-за вантажівки вибігає пішохід. Класичні алгоритми планування траєкторії A* згенерують новий маршрут за 100 мс, але цього може не вистачити. Реактивне гальмування — вже пізно. Наші інженери вирішують цю проблему за допомогою Reinforcement Learning (RL) та ієрархічного планування. Ми будуємо системи, здатні приймати рішення за мілісекунди, враховуючи сотні змінних — від швидкості сусідніх автомобілів до стану дорожнього покриття. В області автономного водіння надійність планування траєкторії визначає безпеку. Ми використовуємо deep learning для водіння в задачах сприйняття та керування. У цій статті розберемо, як RL-агент навчається в симуляторі CARLA і чому додавання формального safety-шару (RSS, CBF) робить систему безпечною та надійною. Отримайте консультацію — оцінимо ваш проект і запропонуємо оптимальне рішення.

Які проблеми вирішує RL-планування?

Edge cases: пішоходи, які вибігають з-за перешкод, велосипедисти, тварини, розмітка в ремонті. Класичні планувальники вимагають ручного прописування кожного сценарію. Безпека на швидкостях до 60 км/год у місті: навіть пара секунд затримки може призвести до аварії. Наш RL-агент приймає рішення з частотою 50-100 Гц. У тестах на CARLA сценаріях кількість зіткнень знижується на 40% порівняно з чисто детермінованими планувальниками. Економія на аваріях досягає $200 000 на рік для великого парку.

Чому Reinforcement Learning кращий за класичні методи?

Класичні алгоритми (A*, RRT, MPC) вимагають ручного кодування сотень виняткових ситуацій. Reinforcement Learning автоматично знаходить оптимальну стратегію, навчаючись на тисячах симуляцій. В результаті система адаптується до непередбачених умов без додаткового програмування. Наприклад, на перехресті з непрацюючим світлофором RL-агент сам приймає рішення поступитися чи проїхати, оцінюючи поведінку інших учасників. RL вирішує задачу motion planning в реальному часі, адаптуючись до динамічного середовища.

Як ми це робимо: стек та архітектура

Сприйняття (Perception)

LiDAR (Velodyne, Ouster), стереокамери, радар та GPS/IMU. Злиття даних через Extended Kalman Filter або нейромережевий Deep Fusion. Точність локалізації — менше 10 см у міських умовах.

Локалізація

NDT matching, LOAM/LIO-SAM, зіставлення з HD-картою (OpenStreetMap + Lanelet2).

Планування

Глобальне: A* на HD-карті. Локальне: RL-агент + MPC для генерації гладкої траєкторії. Реактивне: RSS-шар безпеки.

Фреймворки та інструменти

  • Autoware (ROS2, open source) для інтеграції на реальному автомобілі.
  • CARLA симулятор з Python/C++ API для навчання RL.
  • PyTorch для нейромереж, Weights & Biases для трекінгу експериментів.

Як Reinforcement Learning навчається для локального планування?

Навчаємо агента в симуляторі CARLA з фотореалістичною графікою та фізикою. State space включає bird-eye view, власний стан, наступні 20 точок маршруту та сигнали світлофора. Action space — безперервне керування кермом, газом і гальмом. Reward function штрафує за зіткнення, виїзд за смугу та різкі маневри, заохочуючи прогрес по маршруту.

# Reward shaping example def compute_reward(self, action, info): reward = 0 route_completion = info['route_completion'] reward += route_completion * 5.0 target_speed = 30 / 3.6 speed_diff = abs(info['speed'] - target_speed) reward -= speed_diff * 0.1 if info['collision']: reward -= 100.0 if info['lane_invasion']: reward -= 10.0 if info['red_light_violation']: reward -= 50.0 jerk = abs(action[1] - self.prev_throttle) + abs(action[0] - self.prev_steer) reward -= jerk * 0.5 return reward 

Нейромережева архітектура

Використовуємо CNN для обробки bird-eye view та GRU для послідовності шляхових точок. Actor network видає керуючі сигнали. Для мультиагентних сценаріїв застосовуємо Transformer з attention над іншими учасниками.

class ADPlanningNet(nn.Module): def __init__(self): super().__init__() self.bev_encoder = nn.Sequential( nn.Conv2d(7, 32, 5, stride=2), nn.ReLU(), nn.Conv2d(32, 64, 5, stride=2), nn.ReLU(), nn.Conv2d(64, 128, 3, stride=2), nn.ReLU(), nn.AdaptiveAvgPool2d(4), nn.Flatten() ) self.waypoint_encoder = nn.GRU(2, 64, batch_first=True) self.actor = nn.Sequential( nn.Linear(2048 + 64 + 5, 256), nn.ReLU(), nn.Linear(256, 128), nn.ReLU(), nn.Linear(128, 3), nn.Tanh() ) 

Як ми гарантуємо безпеку планування?

Поверх RL-політики встановлюємо формальний шар безпеки: RSS (Responsibility-Sensitive Safety) від Intel та Control Barrier Functions. RSS обчислює безпечну дистанцію в реальному часі та перевизначає дії агента при порушенні. CBF модифікує керуючий сигнал так, щоб гарантовано уникнути зіткнення. Це забезпечує безпеку автономного транспорту. Згідно з роботою Shalev-Shwartz et al. (2017), RSS надає математичні гарантії безпеки.

from cbf_safety import CBFSafetyLayer safety_layer = CBFSafetyLayer(safety_margin=1.5) raw_action = rl_policy.predict(state) safe_action = safety_layer.project(raw_action, obstacles) 
Технічні деталі safety-шаруRSS визначає безпечну дистанцію як функцію швидкості, прискорення та реакції. CBF використовує бар'єрні функції для обмеження керуючих сигналів. Обидва методи працюють в реальному часі з latency менше 1 мс.

Процес роботи

  1. Аналіз сценаріїв: вивчаємо типові та критичні ситуації для вашого застосування.
  2. Синтез даних: генеруємо тисячі сценаріїв у CARLA, включаючи adversarial examples.
  3. Навчання RL: тренування на GPU-кластері з трекінгом метрик.
  4. Інтеграція safety layer: налаштування RSS та CBF під ваші вимоги.
  5. Тестування: scenario-based та adversarial тести, оцінка RCR, Infraction Rate, Comfort.
  6. Деплой та підтримка: постачання моделі в контейнері, документація, навчання команди.

Що входить в роботу

  • Навчений RL-агент з налаштованим safety-прошарком.
  • Конфігурація сценаріїв та reward function.
  • Інтеграція у вашу архітектуру (Autoware, ROS2).
  • Документація моделі та API.
  • Навчання двох інженерів.
  • Підтримка 3 місяці.

Строки

Базовий RL-агент для простих міських маршрутів — від 12 тижнів. Повноцінна система з hierarchy, safety та складними сценаріями — від 24 до 48 тижнів. Строки уточнюються після аналізу ваших вимог.

Метрики та результати

Показник Класичний MPC RL + Safety
Route Completion Rate 85% 96%
Infractions per km 0.4 0.12
Comfort (max jerk) 3.2 m/s³ 1.8 m/s³
Latency (p99) 50 ms 12 ms

Порівняння частоти порушень за типами:

Тип порушення MPC RL+Safety
Зіткнення 0.2/km 0.05/km
Виїзд із смуги 0.3/km 0.1/km
Проїзд на червоне 0.01/km 0.001/km

Наша команда має досвід понад 5 років у галузі AI для автономних систем, виконано 20+ проектів. Ми гарантуємо якість результату. Зв'яжіться з нами для оцінки вашого проекту — ми підберемо оптимальне рішення. Запитуйте консультацію вже сьогодні.