Мост через реку эксплуатируется 50 лет, проектная документация утеряна. Оценить остаточный ресурс без остановки движения — задача, которую традиционные визуальные инспекции не решают: они выявляют дефекты, когда разрушение уже началось. Мы заменяем редкие осмотры непрерывным AI-мониторингом: датчики вибрации, деформаций и акустики с ML-анализом в реальном времени. Наши инженеры внедрили такие системы на 20+ объектах, включая вантовые мосты и метротоннели. Оставьте заявку — получите предложение в течение дня.
Проблемы, которые решаем
Пропущенные 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% по сравнению с традиционными методами.
Этапы внедрения
| Этап | Длительность | Результат |
|---|---|---|
| Аналитика | 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-моделей. Опыт и гарантия — ваши конструкции в безопасности. Свяжитесь с нами для обсуждения деталей.







