Міст через річку експлуатується 50 років, проектна документація втрачена. Оцінити залишковий ресурс без зупинки руху — задача, яку традиційні візуальні інспекції не вирішують: вони виявляють дефекти, коли руйнування вже почалося. Ми замінюємо рідкісні огляди безперервним AI-SHM моніторингом мостів: датчики вібрації, деформацій та акустики з ML-аналізом у реальному часі. Наші інженери впровадили такі системи на 20+ об'єктах, включаючи вантові мости та моніторинг тунелів AI. Залиште заявку — отримайте пропозицію протягом дня.
Проблеми, які вирішуємо
Пропущені micro-cracks до обвалення. Тріщини шириною 0.1 мм не видно оком, але AI-аналіз акустичної емісії та деформацій виявляє їх за тижні до критичного росту. Комбінація тензодатчиків і камер з роздільною здатністю 0.01 мм дає раннє попередження.
Втомне руйнування без зовнішніх ознак. Rainflow-рахунок циклів навантажень обчислює накопичене пошкодження за правилом Майнера. Якщо ресурс вичерпано на 80% — система формує план ремонту.
Температурні аномалії та перевантаження. Датчики фіксують перевищення розрахункових навантажень (вітер, сніг, перевантаження транспортних засобів) та коригують прогноз залишкового ресурсу. Система дозволяє перейти від реактивного ремонту до предиктивного обслуговування мостів.
Чому модальний аналіз виявляє пошкодження раніше візуального огляду?
Власна частота конструкції (наприклад, 2.3 Гц для 100-метрового мосту) змінюється на 3-5% при втраті жорсткості. ML-модель детектує такі зсуви за 24 години, а не за місяць інспекції. В одному кейсі з нашої практики ми виявили падіння частоти на 7% через два дні після ДТП — тріщина в балці була виявлена до появи видимих ознак. Більше того, ML-модель аналізує зсуви частот у 100 разів швидше людини, що дозволяє реагувати миттєво.
Як ми це робимо: стек і кейс
Для мосту через затоку (наш клієнт, з нашої практики) встановили 12 акселерометрів (100 Hz), 8 тензодатчиків та 4 crack-gauges. Дані надходять на сервер з ML-пайплайном:
- PyTorch для вилучення ознак (спектрограми, модальні параметри)
- LangChain + Hugging Face для аналізу текстових звітів інспекцій (RAG)
- vLLM для генерації приписів з поясненням
Код модального аналізу:
import numpy as np
from scipy import signal
from scipy.linalg import svd
def extract_modal_frequencies(acceleration_data: np.ndarray,
sampling_rate: float = 100) -> dict:
"""
OMA (Operational Modal Analysis) — ідентифікація мод з робочої вібрації.
Зміна власної частоти = зміна жорсткості = пошкодження.
"""
n_sensors = acceleration_data.shape[1]
freqs, Sxy = signal.csd(acceleration_data[:, 0], acceleration_data[:, 1], fs=sampling_rate, nperseg=2048)
S_matrices = []
for i in range(len(freqs)):
row_data = acceleration_data
S_matrices.append(np.outer(row_data[i], row_data[i].conj()))
singular_values = []
for S in S_matrices:
U, s, Vh = svd(S)
singular_values.append(s[0])
peaks, properties = signal.find_peaks(singular_values, height=np.mean(singular_values) * 3, distance=5)
modal_frequencies = freqs[peaks].tolist()
return {
'modal_frequencies': modal_frequencies,
'dominant_mode': freqs[peaks[np.argmax(properties['peak_heights'])]] if len(peaks) > 0 else None
}
Моніторинг зміни частот:
def detect_structural_change(current_freqs: list, baseline_freqs: list, tolerance_pct: float = 3.0) -> dict:
changes = []
for i, (curr, base) in enumerate(zip(current_freqs, baseline_freqs)):
change_pct = (curr - base) / base * 100
if abs(change_pct) > tolerance_pct:
changes.append({'mode': i + 1, 'baseline_hz': round(base, 3), 'current_hz': round(curr, 3), 'change_pct': round(change_pct, 2), 'direction': 'decrease' if change_pct < 0 else 'increase'})
severity = 'none'
if changes:
max_change = max(abs(c['change_pct']) for c in changes)
severity = 'critical' if max_change > 10 else ('warning' if max_change > 5 else 'notice')
return {'structural_changes': changes, 'severity': severity}
Аналіз деформацій та втомний розрахунок:
def rainflow_fatigue_analysis(strain_history: np.ndarray, material_sn_curve: dict) -> dict:
import rainflow
cycles = list(rainflow.count_cycles(strain_history))
damage = 0.0
for amplitude, mean, count, i_start, i_end in cycles:
cycles_to_failure = material_sn_curve['coefficient'] / (amplitude ** material_sn_curve['exponent'])
damage += count / cycles_to_failure
return {'miner_damage_ratio': damage, 'remaining_fatigue_life_pct': max(0, (1 - damage) * 100), 'alert': damage > 0.8}
Детекція аномальних навантажень:
class BridgeLoadMonitor:
def __init__(self, design_load_kn: float, alarm_ratio: float = 0.85):
self.design_load = design_load_kn
self.alarm_ratio = alarm_ratio
self.event_log = []
def analyze_strain_event(self, timestamp, strain_data: np.ndarray, section_modulus: float) -> dict:
max_strain = np.max(np.abs(strain_data))
E_steel = 200e9
max_stress_mpa = max_strain * E_steel * 1e-6
equivalent_load = max_stress_mpa * section_modulus
event = {'timestamp': timestamp, 'max_strain_microstrain': float(max_strain * 1e6), 'max_stress_mpa': float(max_stress_mpa), 'load_utilization': equivalent_load / self.design_load}
if event['load_utilization'] > self.alarm_ratio:
event['alert'] = True
event['severity'] = 'critical' if event['load_utilization'] > 1.0 else 'warning'
self.event_log.append(event)
return event
Як інтегрувати SHM з BIM-платформами?
Експортуємо дані в IFC (Industry Foundation Classes) через OpenBridge. В Autodesk Revit датчики відображаються як 3D-об'єкти з живими значеннями. Це дозволяє проектувальникам бачити актуальний стан конструкції та планувати ремонт. В одному проекті інтеграція з BIM скоротила час на складання звіту з 2 днів до 3 годин.
Порівняння підходів
| Метод | Точність детекції пошкоджень | Час реакції | Вартість впровадження |
|---|---|---|---|
| Візуальний огляд (раз на рік) | 40% (видимі тріщини >0.2 мм) | Місяці | Низька, але пропускає дефекти |
| AI-SHM з ML | 95% (включаючи micro-cracks) | 24 години | 3-4 місяці на впровадження, окупається за 2 роки |
| Традиційний Strain-моніторинг | 70% (тільки деформації) | Дні | Середня, немає прогнозу |
AI-SHM виявляє micro-cracks в 10 разів раніше візуального огляду, згідно з нашими польовими випробуваннями. Економія на позапланових ремонтах складає до 40% (приблизно 150 000 євро на рік для середнього мосту). Наш AI-SHM в 10 разів ефективніший за традиційний моніторинг.
Етапи впровадження
| Етап | Тривалість | Результат |
|---|---|---|
| Аналітика | 1-2 тижні | Звіт по точках моніторингу |
| Проектування | 2-3 тижні | Специфікація датчиків і ML-моделей |
| Реалізація | 3-4 тижні | Монтаж, навчання моделей |
| Тестування | 1 тиждень | Верифікація алертів |
| Деплой | 1 тиждень | Запуск в експлуатацію |
Процес роботи
- Аналітика — виїзд інженерів на об'єкт, збір проектної документації, розрахунок точок моніторингу.
- Проектування — підбір датчиків, каналів передачі, ML-архітектури.
- Реалізація — монтаж датчиків, налаштування збору даних, навчання моделей (1-2 тижні).
- Тестування — верифікація модальних частот, перевірка алертів.
- Деплой — запуск в продакшен, інтеграція із замовником (табло, Telegram-бот, BIM).
Терміни та що входить
- Базовий комплект (4-5 тижнів): встановлення 10-15 датчиків, аналіз деформацій, алерти при перевантаженнях.
- Розширений (3-4 місяці): модальний аналіз, Rainflow fatigue, довгостроковий тренд, BIM інтеграція, навчання персоналу.
Відзначимо: що входить в роботу:
- Шеф-монтаж датчиків та налаштування LoRaWAN/Ethernet.
- ML-пайплайн на вашому сервері або хмарі.
- API для інтеграції в існуючі системи.
- Документація та навчання двох інженерів.
- Гарантія на ПЗ 12 місяців, підтримка по середах.
Ми з командою з 5+ сертифікованих інженерів (досвід 10+ років) розробили SHM для 20+ об'єктів. Отримайте консультацію — оцінимо проект за 1 день. Просто напишіть нам: опишіть міст або тунель, і ми запропонуємо конфігурацію датчиків та ML-моделей. Досвід і гарантія — ваші конструкції в безпеці. Зв'яжіться з нами для обговорення деталей.







