Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Системы и оборудование

Это приложение собирает использованные во всей книге встроенные модели времени, памяти, питания и актуаторов вместе с байтовыми раскладками протоколов, пересекающих границу предложения. Каждая граница зависит от конкретного устройства, рабочей нагрузки и рабочей огибающей; уравнения указывают, что должно быть измерено до того, как может быть заявлен физический предельный срок.

Как пользоваться этим приложением

Обращайтесь к этому приложению при диагностике узких мест систем, дрожания тайминга, нестабильности питающих шин или границ аппаратных интерфейсов в главах этой книги:

Когда встречается этот системный симптомОбратитесь кЗа этим количественным инструментом
Задача безопасности реального времени пропускает предельные сроки периодического исполнения«Таймеры реального времени, сторожевые таймеры и планируемость»Худшее время выполнения (WCET) и анализ времени отклика (RTA)
Взаимная блокировка программного обеспечения или паника ядра замораживают контуры управления актуаторов«Таймеры реального времени, сторожевые таймеры и планируемость»Обнаружение сторожевого таймера и отдельно измеренный отклик пути остановки
MOSFET моста инвертора перегорают или срабатывают защиты от перегрузки по току«Таймеры инверторов и управление затворами силовой электроники»Комплементарные ШИМ-таймеры микроконтроллера и вставка мертвого времени
Тяжелые всплески нейронного инференса вызывают сбросы по просадке питания вычислений«Индуктивная просадка и растяжение задержки вентилей»Индуктивная просадка () и задержка вентилей по альфа-степенному закону
Высокоскоростные DMA-потоки датчиков приводят к пропускам предельных сроков потоками безопасности«Конкуренция за DRAM и арбитраж межсоединений»Штрафы конфликтов банков DRAM и невытесняемая пакетная постановка в очередь
Потоки сенсорного слияния страдают от смещения временной привязки при движении«Синхронизация часов и сетевые метки времени»Аппаратные метки времени PTP и ограниченное преобразование часов
Очереди общей памяти между Linux и микроконтроллером безопасности (MCU) возвращают разорванные или устаревшие данные«Почтовые ящики гетерогенного SoC и барьеры памяти»Аппаратные почтовые ящики SoC, RPMSG и аппаратные барьеры памяти
Актуаторы шарниров не отслеживают внезапные реверсы момента, дребезжат или перегреваются«Электрическая и тепловая динамика актуаторов»Постоянные статора, тепловые ОДУ и пределы приведенного рывка ротора
Аварийное торможение поднимает напряжение шины постоянного тока и повреждает силовой кремний«Распределение энергии шины постоянного тока и ее поглощение»Всплески рекуперативной энергии конденсаторов и динамические тормозные чопперы
Общие последовательные шины испытывают задержки в очередях и дрожание сообщений«Полевые шины реального времени и синхронизация без блокировок»Блокировка приоритета CAN FD, бюджеты циклов EtherCAT и ограниченные seqlock-протоколы
Мононокулярные 3D-рамки искажаются, а ковариация глубины расходится«Проективная геометрия камеры и распространение ковариации»Внутренняя проекция отверстия, калибровка Чжана и ковариация метрической обратной проекции
Мобильная база нарушает буферы запаса хода при увлажнении поверхности«Кинематические огибающие остановки и запаздывание информации»Кинематические огибающие остановки, запаздывание информации и ограничения скорости
Протокол должен быть размещен в почтовом ящике или журнале фиксированного размера«Форматы передачи цепочки протоколов»Байтовые раскладки предложения и протоколов; порядки полей манифеста и регистров
Передача, испытание с внедрением отказа или ворота выпуска должны быть реализованы шаг за шагом«Форматы передачи цепочки протоколов»Протоколы передачи полномочий, внедрения отказов и ворот выпуска рядом с их протоколами
Нужны быстрые физические ориентиры порядка величин по времени, кинетике, теплу и рискам«Числа, которые нужно знать о физическом ИИ»Иерархия частот, пересчеты слепого хода, тепловые постоянные и стены наработки

Числа, которые нужно знать о физическом ИИ

Так же как «Latency Numbers Every Programmer Should Know» от Jeff Dean1 сформировали распределенные системы, а классические системы машинного обучения связали производительность программного обеспечения с пропускной способностью памяти и арифметической интенсивностью, инженерам систем физического ИИ требуется соответствующая количественная интуиция, охватывающая вычисления, кинетику, теплоотвод и функциональную безопасность. В физическом ИИ задержка программного обеспечения — не просто время ожидания; она превращается прямо в необратимый кинетический импульс, непроверенное перемещение и накопление термодинамического тепла в статорах двигателей и вычислительном кремнии.

Этот раздел собирает основополагающие числа порядка величин, законы масштабирования и инженерные эмпирические правила, управляющие проектированием киберфизических машин. Все числа взяты из одного источника — mlsysim. Запомните зависимости; конкретные числа используйте как проверку на здравый смысл.

Три важнейших физических числа

  • Кинетическая эквивалентность: (при ): При номинальной роботизированной скорости каждая отдельная миллисекунда задержки восприятия, инференса или полевой шины превращается ровно в слепого хода до того, как может быть приложен замедляющий момент. На скорости шоссе () каждая миллисекунда — это . В физических системах задержка программного обеспечения — не время ожидания, а физическое смещение.
  • Термическое расхождение: против : Переходы полупроводников нагреваются адиабатически за миллисекунды во время всплесков глубоких нейронных сетей, влекущих просадку напряжения или термический троттлинг раньше, чем среагируют радиаторы. Напротив, электромагнитные обмотки статора нагреваются за десятки–сотни секунд, перенося кратковременную перегрузку по току при агрессивных маневрах, но накапливая тепловую энергию, которая в итоге ограничивает длительно отдаваемый момент.
  • Стена наработки: : Доказательство сверхнизкой частоты катастрофических отказов (ISO 26262 ASIL D) требует часов работы без отказов по правилу трех Пуассона Hanley and Lippman-Hand, 1983. Статистическое эмпирическое тестирование обученных сквозных моделей не может преодолеть эту стену наработки без детерминированных огибающих разрешения времени выполнения и формальных фильтров безопасности.

Иерархия частот и задержек по уровням машины

Частоты управления в физическом ИИ круто возрастают от обдумывающего Мозга вниз к физическому Телу («Иерархия частот и задержек по уровням машины»). Обдумывающие мультимодальные модели (VLA) работают в масштабах человеческой реакции (). Модели фрагментации действий выдают точки будущих траекторий на . Под границей предложения путь разрешения принудительно обеспечивает барьеры безопасности на . На нижних уровнях токовые контуры силовой электроники и ШИМ-переключение работают на десятках–сотнях килогерц для поддержания электромагнитного потока и момента привода. Планируемость таймеров реального времени и анализ времени отклика см. в разделе «Таймеры реального времени, сторожевые таймеры и планируемость»; переключение затворов инвертора и моделирование мертвого времени см. в разделе «Таймеры инверторов и управление затворами силовой электроники».

Уровень машиныЧастотный диапазонПериод циклаСлепой ход при 1 м/сАрхитектурный механизм и граница
Мозг (обдумывание)1–5 Hz200–1 000 ms200–1 000 mmМультимодальные рассуждения VLA; ограничен памятью и вычислениями
Мозг (фрагментация действий)10–50 Hz20–100 ms20–100 mmДиффузионная/трансформерная декодировка фрагментов действий; амортизировано
Нервная система (разрешение)1 kHz1 ms1 mmСертификаты барьеров управления, огибающие остановки, сторожевой таймер аренды
Тело (контур тока)10–25 kHz40–100 µs40–100 µmВекторное управление током (FOC), слежение за моментом, поток статора
Тело (переключение инвертора)50–200 kHz5–20 µs5–20 µmУправление затворами силовых MOSFET, вставка мертвого времени (), индуктивная просадка

Иерархия частот и задержек по уровням машины: Охватывая пять частотных десятилетий — от субмикросекундного переключения затворов MOSFET до обдумывания фундаментальных моделей в секундном масштабе. Каждый частотный диапазон накладывает жесткий период цикла и непроверенное физическое расстояние перемещения при номинальной скорости ().

Кинетический перенос и безопасные огибающие остановки

Полный остановочный путь объединяет линейный слепой ход, накопленный за время вычислительной задержки, и квадратичный механический тормозной путь («Кинетический перенос между архетипами платформ»). По мере роста скорости платформы абсолютный слепой ход быстро растет, съедая целые запасы свободного расстояния до начала замедления. Многокоординатные кинематические цепи, траектории с ограниченным рывком и выводы запаздывания по возрасту информации см. в разделе «Кинематические огибающие остановки и запаздывание информации».

Архетип платформыНоминальная скорость Тормозное замедление Слепой ход ()Слепой ход ()Полная остановка ()
Гуманоид / квадрупед1 m/s (3.6 km/h)4 m/s² (0.41 g)50 mm200 mm325 mm (61.5%)
Складской мобильный манипулятор1.5 m/s (5.4 km/h)2 m/s² (0.20 g)75 mm300 mm863 mm (34.8%)
Городской робот-доставщик6 m/s (21.6 km/h)4.5 m/s² (0.46 g)300 mm1.2 m5.2 m (23.1%)
Автономное транспортное средство (шоссе)30 m/s (108 km/h)7 m/s² (0.71 g)1.5 m6 m70.3 m (8.5%)

Кинетический перенос между архетипами платформ: Задержка до торможения превращается в невозвратимое физическое перемещение до начала тормозной силы. Остановочный путь объединяет линейный слепой ход и квадратичный тормозной путь.

Пропускная способность памяти периферии и амортизация фрагментами действий

Большие мультимодальные фундаментальные модели на периферийных архитектурах системы на кристалле (SoC) при авторегрессионной генерации ограничены пропускной способностью памяти («Пропускная способность памяти периферии и фрагменты действий»). Потоковая передача модели с 7 миллиардами параметров через интерфейс LPDDR5 с устойчивыми ограничивает одношаговую генерацию величиной . Предсказание фрагментов действий длиной амортизирует потоковую передачу весов по множеству будущих шагов управления, поднимая эффективную полосу управления до сотен герц. Организация банков DRAM, штрафы конфликтов и арбитраж межсоединений при конкурирующем DMA-трафике см. в разделе «Конкуренция за DRAM и арбитраж межсоединений».

Модель и точностьПараметрыЗанимаемая памятьВремя чтения DRAM ()Максимальная частота одного шагаЧастота фрагментов ()
VLA-7B (FP16)7.0B14 GB100 ms10 Hz160 Hz эквивалент
VLA-7B (INT8)7.0B7 GB50 ms20 Hz320 Hz эквивалент
VLA-7B (INT4)7.0B3.5 GB25 ms40 Hz640 Hz эквивалент
VLA-14B (INT8)14.0B14 GB100 ms10 Hz160 Hz эквивалент

Пропускная способность памяти периферии и фрагменты действий: Авторегрессионное декодирование токенов на периферийных акселераторах (таких как Jetson AGX Orin при устойчивой пропускной способности DRAM ) ограничено пропускной способностью памяти. Предсказание фрагментов действий ( шагов) амортизирует передачу весов по множеству циклов исполнения, обеспечивая высокие эффективные частоты управления.

Тепловые постоянные времени вычислений и электромеханики

Теплоотвод следует экспоненциальному нарастанию с постоянными времени, охватывающими пять порядков величин («Тепловые постоянные времени подсистем»). Кремниевые переходы перегреваются за миллисекунды во время вычислительных всплесков, требуя DVFS в микросекундном масштабе и управления просадкой PDN. Напротив, электромагнитные обмотки статора нагреваются за минуты, допуская кратковременную перегрузку момента при ограничении тепловым сторожевым таймером . Тепловые дифференциальные уравнения первого порядка и пределы деградации обмоток статора см. в разделе «Электрическая и тепловая динамика актуаторов»; поглощение рекуперативной энергии на шинах постоянного тока см. в разделе «Распределение энергии шины постоянного тока и ее поглощение».

Компонент подсистемыФизический механизмТепловая постоянная времени Критический режим отказаМера обеспечения безопасности
Кремниевый переход (кристалл)Самонагрев канала транзистора1–10 msРастяжение задержки вентилей, просадка, тепловое срабатываниеБыстрое снижение частоты, развязка PDN
Радиатор / корпус SoCКонвективный теплоотвод радиатора10–60 sТепловое насыщение корпуса, длительное снижение частотыАктивная модуляция вентилятора, миграция нагрузки
Обмотки статора двигателяДжоулев резистивный нагрев меди ()30–180 sПробой изоляции (класс H ), короткое замыканиеТепловая защита , снижение номинала тока
Корпус двигателяТеплопроводность массивного металлического корпуса10–30 minДеформация конструкции, потеря смазки подшипниковЕстественная конвекция, пассивные охлаждающие ребра
Тяговый аккумуляторный блокВнутреннее сопротивление электрохимических элементов5–20 minТермический разгон (), пожарКонтур жидкостного охлаждения, отсечение заряда/разряда

Тепловые постоянные времени подсистем: Тепловая инерция охватывает пять порядков величин. Адиабатический нагрев полупроводниковых переходов вызывает быстрое термическое снижение частоты за миллисекунды, тогда как медные обмотки двигателя интегрируют электрическую энергию за десятки–сотни секунд.

Статистические границы безопасности и стены наработки

По правилу трех Пуассона Hanley and Lippman-Hand, 1983, доказательство того, что физическая система достигает целевой частоты катастрофических отказов с доверительной вероятностью 95 % без наблюдения единого отказа, требует испытаний в течение часов работы («Стандарты безопасности и стены наработки испытаний»). Достижение сверхнадежных порогов, которых требует автомобильная функциональная безопасность (ISO 26262 ASIL D, iso26262, 2018), требует 300 миллионов часов работы без отказов — масштаба, делающего сквозную статистическую валидацию «черным ящиком» математически невозможной без детерминированных огибающих разрешения времени выполнения. Форматы передачи предложений и манифестов, обслуживающие контракты безопасности времени выполнения, см. в разделе «Форматы передачи цепочки протоколов».

Стандарт / режим безопасностиЦелевая частота отказов Эквивалент в FIT ()Требуемые часы без отказов ()Инженерное следствие
ISO 26262 ASIL D ()Эмпирически непроверяемо одними испытаниями на флоте; требует формальных барьеров безопасности
IEC 61508 SIL 3 / PL e ()Двухканальная аппаратура синхронного исполнения, разнородный мониторинг программного обеспечения
Цель коммерческого роботакси ()Эквивалентность базовому уровню человеческого водителя ( погибший на миль)
Промышленный кобот (PL d) ()Ограничение силы и мощности, мониторинг скорости и разделения

Стандарты безопасности и стены наработки испытаний: Требуемые часы работы без отказов для установления целей безопасности с доверительной вероятностью 95 % по правилу трех (). Чисто статистическое сквозное тестирование не может доказать катастрофическую безопасность без детерминированных гарантий времени выполнения.

Задержки шин, дрожание и детерминизм

Шины связи обнаруживают резкие различия по задержкам и дрожанию («Задержки, дрожание и детерминизм шин связи»). Промышленные полевые шины, такие как EtherCAT, достигают субмикросекундного дрожания за счет выделенной аппаратной обработки на лету. Напротив, недетерминированный арбитраж и общие беспроводные каналы вносят хвостовые задержки, превышающие предельные сроки реакции высокоскоростных электромеханических машин. Границы аппаратных меток времени PTP по IEEE 1588 см. в разделе «Синхронизация часов и сетевые метки времени»; приоритетный арбитраж CAN-FD и бюджеты циклов EtherCAT см. в разделе «Полевые шины реального времени и синхронизация без блокировок».

Технология шины / сетиНоминальная задержка прохожденияХудшее дрожаниеМеханизм детерминизмаОсновная роль в машине
EtherCAT (ETG.1000)Аппаратная обработка кадров на летуСинхронные сервоприводы шарниров и обратная связь датчиков (Тело/Нервная)
CAN-FD (ISO 11898-1)Побитовый неразрушающий приоритетный арбитражРаспределенные датчики, унаследованные контроллеры актуаторов (Нервная/Тело)
TSN Ethernet (802.1Qbv)Формирователь с учетом времени и запланированными окнами передачиВысокополосный вход датчиков (лидар/камеры) в SoC (Граница)
Стандартный IP / UDP EthernetCSMA/CD с наилучшими усилиями; постановка в очередь FIFOАсинхронное журналирование, телеметрия между узлами (Мозг)
Wi-Fi 6 / 5G URLLC (RF fade)Повторная передача беспроводных пакетов, окно конкуренцииДиспетчеризация флота высокого уровня, облачные обновления миссий (Мир/Управление)

Задержки, дрожание и детерминизм шин связи: Сравнение бортовых полевых шин и беспроводных сетей. Управление жесткого реального времени требует субмикросекундного дрожания, тогда как беспроводная телеметрия демонстрирует многомиллисекундную хвостовую задержку, исключающую внеконтурное замкнутое вмешательство в целях безопасности.

Таймеры реального времени, сторожевые таймеры и планируемость

Во встроенных системах реального времени временная предсказуемость столь же важна, как вычислительная корректность. Запоздавшее управляющее действие не просто ухудшено; на физической аппаратуре оно неверно и потенциально разрушительно.

Планируемость задач реального времени и анализ времени отклика

Периодическая задача реального времени характеризуется худшим временем выполнения (WCET) , относительным предельным сроком и периодом . В одноядерной вытесняемой модели с фиксированными приоритетами, ограниченной блокировкой и без дрожания выпуска (такой как планирование с монотонными периодами Liu and Layland, 1973) планируемость проверяется по худшему времени отклика : где — максимальная длительность блокировки, создаваемая задачами с более низким приоритетом при доступе к общим ресурсам, а — помехи от задач с более высоким приоритетом. Время отклика вычисляется по рекуррентному соотношению с неподвижной точкой: начиная с и итерируя до неподвижной точки или до превышения предельного срока. Конечная неподвижная точка с для каждой задачи устанавливает планируемость при этих допущениях о планировании и помехах. WCET — одна из компонент времени отклика, а не сквозная задержка от датчика до актуатора.

Аппаратные сторожевые таймеры и отклик на отказ

Для обнаружения пропущенной контрольной точки исполнения встроенная конструкция может использовать аппаратный сторожевой таймер. Его часы и путь отклика должны быть достаточно независимы от наблюдаемой задачи для заявленного множества отказов; независимый кварц — одна из реализаций.

Таймер инициализируется пороговым значением . Потоки исполнения программного обеспечения должны периодически обновлять (или «подкармливать») регистр до того, как отсчет дойдет до нуля. Если обозначает отсчет регистра в физическое время , а программное обеспечение выполняет обновление в момент , регистр сбрасывается:2 Если программное обеспечение пропускает настроенное окно обновления, таймер истекает и поднимает настроенное прерывание, сброс или выход на внешний супервизор. Истечение лишь обнаруживает пропущенную контрольную точку. Кейс безопасности должен ограничить отклик от истечения до привода, смонтировать любое срабатывание по потере MCU независимо от отказавшего MCU и показать, что результирующие торможение или удержание, подобранные по состоянию, способны остановить объект управления в пределах его оставшегося запаса хода. Одна лишь команда сброса или безопасного снятия момента (STO) может оставить движущуюся нагрузку идти выбегом.

Таймеры инверторов и управление затворами силовой электроники

Двигательные приводы актуаторов используют трехфазные полумостовые инверторы для преобразования напряжения шины постоянного тока в переменные токи статора.

Вставка мертвого времени в таймерах микроконтроллера

Каждая фаза инвертора содержит силовой MOSFET верхнего плеча (или IGBT) и силовой MOSFET нижнего плеча, включенные через шину питания постоянного тока . Таймерная периферия микроконтроллера генерирует комплементарные сигналы управления с широтно-импульсной модуляцией (PWM) и аппаратно обеспечиваемой вставкой мертвого времени : где — максимальное время выключения силового ключа, — минимальное время включения, а — разброс задержек распространения между драйверами затворов.3

Для указанного устройства и задержек управления затворами достаточное мертвое время уменьшает перекрытие проводимости верхнего и нижнего плеч. Если оба ключа проводят одновременно, сквозной пробой создает низкоомный путь через шину постоянного тока; ток и повреждения зависят от сопротивления шины, защиты и длительности события.

Индуктивная просадка и растяжение задержки вентилей

Когда акселераторы глубоких нейронных сетей (такие как матричные движки с систолическими массивами) переходят из простоя в полное исполнение, потребляемый ток возрастает на десятки ампер за наносекунды.

Сопротивление сети электропитания и просадка шины

Каждая сеть электропитания (PDN) имеет конечную паразитную индуктивность контура и эквивалентное последовательное сопротивление по дорожкам печатной платы, шарикам корпуса и соединительным проводникам. Когда исполнение на акселераторе вызывает переходную ступень тока с временем нарастания (что дает скорость нарастания тока ), закон электромагнитной индукции Фарадея предписывает мгновенное падение напряжения : Если напряжение питания приближается к охарактеризованному минимальному рабочему напряжению устройства , запас тайминга может сократиться или может сработать защита от просадки.

Задержка вентилей цифровой логики и альфа-степенной закон

В субмикронном CMOS-кремнии задержка распространения логических вентилей подчиняется альфа-степенному закону Сакурая–Ньютона:4 где — емкость нагрузки вентиля, — пороговое напряжение транзистора, а — показатель насыщения скорости (в отличие от в теории длинных каналов).

Когда напряжение шины просаживается с до , задержка распространения растягивается согласно: В синхронном цифровом конвейере с периодом тактовой частоты , временем установки и перекосом тактов замыкание тайминга требует: Растяжение уменьшает запас установки. Сбой тайминга происходит лишь если измеренный путь пересекает свой предел запаса; сброс по просадке зависит от отдельно настроенного порога супервизора. Локальная развязка может уменьшить отклонение шины, в зависимости от ее сопротивления и размещения.

Конкуренция за DRAM и арбитраж межсоединений

На мультиядерных SoC-платформах с общей памятью передачи прямого доступа к памяти (DMA) и предвыборка зрения конкурируют с путем разрешения за очереди команд контроллера памяти и физические банки DRAM.

Организация банков DRAM и задержка конфликтов

Кристалл DRAM организован во множество независимых банков, каждый из которых имеет единственный буфер строки. Доступ к ячейкам памяти требует трех последовательных операций:

  1. Активация строки (): загружает строку ячеек памяти в буфер строки банка.
  2. Доступ к столбцу (): считывает или записывает данные из открытого буфера строки на шину данных.
  3. Предзаряд строки (): восстанавливает заряд на накопительных конденсаторах и закрывает активную строку.

Когда последовательные операции обращаются к разным строкам одного банка (конфликт банков), контроллеру может потребоваться предзарядить и активировать строку перед доступом к столбцу, добавляя примерно . Каждый банк может иметь собственную открытую строку. Штраф и число переключений зависят от отображения адресов и расписания контроллера.5

Кроссбары межсоединений и конкуренция пакетных передач

Плитка акселератора разбивается на ограниченные шинные транзакции; это не одна атомарная AXI-пачка. Для иллюстративного FIFO-контроллера, допускающего все транзакций до запроса безопасности, без приоритетного обхода и новых поступлений, идеальная компонента передачи по шине равна Прибавьте штрафы переключения банков для реальной последовательности адресов, а затем собственные времена передачи и вычислений запроса безопасности. Это сконструированная модель планирования, а не переносимая граница худшего случая: регенерация, накладные расходы протокола, переупорядочивание контроллера и конкурирующий трафик могут увеличить задержку, тогда как квалифицированный QoS может обходить работу в очереди. Раздел «Конкуренция за общие ресурсы» приводит пересчитываемый случай. Локальный когерентно опубликованный снимок безопасности может обойти этот путь DDR, но емкость TCM сама по себе не дает снимок и не ограничивает время его передачи.

Синхронизация часов и сетевые метки времени

Распределенное восприятие должно преобразовывать метки времени датчиков в общую область часов с измеренной границей ошибки преобразования.

Обмен сообщениями протокола точного времени

Протокол точного времени IEEE 1588 (PTP) синхронизирует ведомые часы () с ведущими часами (), обмениваясь четырьмя физическими метками времени через канал связи:

  1. : ведущий передает кадр Sync, записывая свою локальную метку времени передачи.
  2. : ведомый принимает кадр Sync, записывая свою локальную метку времени прибытия.
  3. : ведомый передает кадр Delay_Req, записывая свою локальную метку времени передачи.
  4. : ведущий принимает кадр Delay_Req, записывая свою локальную метку времени прибытия.

Предполагая стабильные часы во время обмена и симметричную задержку распространения в прямом и обратном направлениях (), временные соотношения удовлетворяют: где — смещение часов ведомого относительно ведущего. При этих допущениях оцененное смещение равно: Односторонняя задержка распространения в сети равна: Ведомый оценивает отображение в область ведущего, вычитая . Асимметрия задержки пути, дрейф осциллятора между обменами и ошибка метки времени оставляют остаток, который должен быть ограничен для проверок возраста свидетельств.

Аппаратные метки времени физического уровня

Программные метки времени включают диспетчеризацию операционной системой и разброс очередей, которые должны быть измерены для выбранного сетевого стека.

Аппаратура с поддержкой PTP может ставить метки времени вблизи границы Ethernet PHY или уровня управления доступом к среде (MAC), уменьшая ошибку диспетчеризации хоста.6 Само по себе это не устанавливает субмикросекундную сквозную границу часов; должны быть охарактеризованы топология, асимметрия, интервал синхронизации, расположение меток времени и преобразование часов MCU.

Почтовые ящики гетерогенного SoC и барьеры памяти

Некоторые робототехнические SoC связывают прикладной процессор под Linux с ядром реального времени или микроконтроллером. Их контракт связи должен специфицировать владение памятью, поведение кеша, действительность сообщений и то, что делает сторона реального времени, когда новое сообщение не приходит.

Обмен сообщениями с удаленным процессором через общую SRAM

Иллюстративный почтовый ящик с общей памятью работает следующим образом:

  1. Ядро A записывает полезную нагрузку сообщения в фиксированный буфер в общей SRAM.
  2. Ядро A делает нагрузку видимой для ядра B, используя когерентное отображение платформы или явное обслуживание кеша и упорядочивание.
  3. Ядро A вызывает межпроцессорное прерывание (IPI), записывая в аппаратный регистр почтового ящика ядра B.
  4. Ядро B проверяет порядок публикации, целостность, возраст и разрешение до использования нагрузки.

Linux RPMsg — среда обмена сообщениями на основе virtio, которая может использовать общую память и специфичный для платформы сигнал запуска. Она не предписывает этот протокол с фиксированным буфером и не универсальную границу задержки.

Переупорядочивание конвейера процессора и барьеры памяти

Слабое упорядочение памяти и некогерентные кеши могут позволить получателю наблюдать уведомление без актуальной нагрузки, если только производитель и потребитель не следуют одному опубликованному протоколу:

// Core A (Application Processor); q_target and q_cmd are joint_target_t structs
shared_buffer->q_target = q_cmd; // Store 1: Payload (struct copy)
mailbox_doorbell = 1;            // Store 2: Interrupt trigger

Если процессор или межсоединение ставит Store 2 перед Store 1, ядро B получает прерывание до того, как новое задание шарниров зафиксировано в физической памяти, считывая устаревшие или недействительные данные.

Барьер памяти данных может упорядочить доступы в пределах выбранной им области совместного использования:7

shared_buffer->q_target = q_cmd; // Struct copy of the joint targets
__asm__ volatile("dmb ish" ::: "memory"); // Only if both peers share this domain
mailbox_doorbell = 1;

Барьер в этом примере достаточен лишь если оба ядра делят когерентную область внутреннего совместного использования, а колокольчик имеет заданное упорядочение памяти устройства. Он не сбрасывает некогерентный кеш и не делает данные видимыми для несвязанного DMA-мастера. В противном случае используйте подходящий барьер платформы и синхронизацию владения кешем при DMA, либо отобразите буфер когерентно, и проверьте acquire-сторону получателя. Читателю реального времени по-прежнему нужна ограниченная попытка валидации и резервирование, ограниченное арендой, на случай разорванной или устаревшей публикации.

Электрическая и тепловая динамика актуаторов

Актуаторы преобразуют электрическую энергию в механическую работу посредством электромагнитных сил Лоренца, подчиняясь связанным электрическим и тепловым ограничениям.

Электрическое время нарастания статора

Фазная обмотка бесщеточного двигателя постоянного тока (BLDC) имеет фазное сопротивление и фазную индуктивность . Приложение напряжения на зажимах против противо-ЭДС дает ОДУ первого порядка для тока статора: Для ступени напряжения, поданной из состояния покоя (), фазный ток нарастает экспоненциально: где — электрическая постоянная времени: в этой идеальной ступенчатой модели ток достигает примерно 63 % конечного значения за одну . Момент следует за этим током, лишь пока держатся магнитные допущения, допущения о напряжении и управления; команда — не мгновенное изменение момента.

Сосредоточенные тепловые сети и коэффициент заполнения

Ток, текущий через обмотки статора, рассеивает резистивный джоулев нагрев: где сопротивление меди растет линейно с температурой: с температурным коэффициентом для меди. В одноузловой сосредоточенной тепловой модели с тепловым сопротивлением к окружающей среде (в ) и теплоемкостью (в ) повышение температуры удовлетворяет:8 При постоянной мощности температура растет с тепловой постоянной времени : Длительная моментная способность ограничена максимально допустимой температурой обмотки : Момент выше длительного может допускаться кратковременно, если оценка температуры устройства и заданные пределы ток–время это позволяют. Интеграл — одна из возможных защитных мер, а не универсальный номинал двигателя.

Приведенная инерция ротора и пределы углового рывка

Электромагнитные актуаторы с редуктором усиливают отдаваемый момент двигателя, умножая инерцию ротора на выходе шарнира. Для передачи с передаточным отношением сохранение кинетической энергии предписывает приведенную инерцию, действующую на выходное звено: Эффективный момент инерции, видимый в координате шарнира , равен: Уравнение движения шарнира под электромагнитным моментом двигателя имеет вид: Дифференцирование по передаточному отношению при нулевой внешней нагрузке дает: Приравнивание дает соотношение согласования инерций . Когда , контринтуитивно, увеличение передаточного отношения уменьшает достигаемое ускорение шарнира, потому что двигатель тратит большую часть момента на разгон собственного ротора, а не звена.

Динамический угловой рывок и пределы скорости изменения момента

Угловой рывок измеряет скорость изменения ускорения шарнира во времени: Электромагнитный момент связан с квадратурным током статора через постоянную момента : . Из электрической динамики статора этого раздела скорость нарастания тока ограничена индуктивностью обмотки : При насыщении максимальным напряжением зажимов шины постоянного тока физическая верхняя граница отдаваемого углового рывка равна: Когда непривилегированная нейронная политика выдает ступенчатый разрыв момента между дискретными шагами, скомандированная производная не может быть мгновенно отдана физическим кремнием. Инвертор входит в жесткое насыщение по напряжению, вызывая крутое нарастание тока (), интенсивную тепловую нагрузку на силовые MOSFET и ударные нагрузки на контактных поверхностях зубьев (). Синхронные инвариантные фильтры предварительной обработки вычисляют численные производные момента , чтобы запрошенные действия оставались в допустимых огибающих рывка до защелкивания силовых ступеней.

Распределение энергии шины постоянного тока и ее поглощение

Сеть электропитания роботизированной платформы должна снабжать всплески ускорения и поглощать энергию рекуперативного торможения через конечную емкость шины и сопротивление жгута.

Индуктивная просадка и емкостная развязка

Когда разгоняются несколько актуаторов, сопротивление и индуктивность жгута препятствуют току источника, тогда как локальная емкость покрывает разницу. Для заданной формы волны резистивное и индуктивное слагаемые равны и ; разряд конденсатора подчиняется Эти слагаемые нельзя просто складывать как одновременные пики без модели цепи и формы волны. Если результирующее напряжение достаточно долго пересекает настроенный порог блокировки по пониженному напряжению (UVLO), источник может отключиться или сброситься; порог, фильтрация и последствие для объекта управления требуют измерения.

Всплески рекуперативного торможения и подбор чоппера

При управляемом рекуперативном замедлении часть механической кинетической энергии (поступательной) или (вращательной) может возвращаться через инвертор. Если аккумулятор не способен ее принять, а предполагаемая доля доходит до локального конденсатора шины прежде, чем сработает другой сток, идеальное соотношение для конденсатора имеет вид: Для реализации с активным тормозным чоппером резистор и ключ должны поглощать смоделированную пиковую мощность и энергию импульса, когда :9 Неравенство для резистора — лишь проверка подбора по пиковой мощности; минимальное сопротивление по току ключа, энергии импульса и тепловому восстановлению накладывают дополнительные ограничения.

Полевые шины реального времени и синхронизация без блокировок

Координация распределенных приводов требует измеренного сетевого расписания и ограниченного локального протокола публикации.

Сериализация полевой шины и планируемость

На общей последовательной шине приводов циклически передают телеметрию и принимают задания. Время сериализации зависит от полного кадра, физических скоростей передачи в битах и любого запаса на стаффинг или повторную передачу.

CAN FD использует неразрушающий приоритетный арбитраж на своей номинальной скорости в битах; победивший кадр затем передает свою фазу данных на настроенной скорости данных. Оценка сериализации без ошибок для кадра равна Эта оценка — не граница времени отклика. Кадр с более низким приоритетом, уже передающийся, может блокировать только что готовый кадр с высоким приоритетом до конца этой передачи; проигравшие арбитраж откладываются и повторяются без ошибки. Ограничьте задержки в очереди и дрожание выпуска каждого сообщения с учетом реального набора приоритетов, длин кадров, допущений об ошибках и нагрузки шины; описание CAN FD от Bosch различает фазы арбитража и данных.

EtherCAT обрабатывает данные по мере прохождения кадров через ведомые контроллеры. Для заданной топологии бюджет цикла включает сериализацию каждого настроенного кадра, пересылку ведущим и ведомыми, распространение по PHY и кабелю, обработку и запас на дрожание и восстановление после ошибок: Достижимый период цикла зависит от конфигурации; короткие заявленные периоды не устанавливают предельный срок для конкретной машины. Группа EtherCAT Technology Group описывает метод обработки и настраиваемые технологические данные.

Seqlock-протоколы без блокировок для многотактной общей памяти

Когда производитель обновляет многословное состояние, читаемое механизмом принуждения с предельным сроком, ожидание мьютекса, удерживаемого производителем, может нарушить предельный срок читателя. Однослотовый почтовый ящик в алгоритме ниже использует счетчик последовательности для обнаружения разорванного снимка.

Счетчик последовательности помечает идущую публикацию единственного писателя нечетным значением, а завершенную публикацию — четным:

  1. Протокол писателя:
    • Опубликуйте нечетное значение последовательности, запишите нагрузку и сделайте ее видимой через когерентный или поддерживаемый обслуживанием кеша контракт памяти платформы.
    • Опубликуйте следующее четное значение с упорядочением release.
  2. Протокол читателя:
    • Считайте с упорядочением acquire. Если оно нечетно, отклоните эту публикацию, не ожидая.
    • Выполните одну ограниченную копию в буфер-черновик с требуемым платформой упорядочением загрузок, затем считайте .
    • Примите только если и оба четны, а скопированный кадр проходит проверки целостности, метки времени и аренды. В противном случае сохраняйте последнюю проверенную локальную команду лишь пока позволяют ее аренда и запас остановки; затем перейдите в резервирование, подобранное по состоянию.

Время исполнения одной попытки читателя может быть ограничено на целевой аппаратуре; вероятность успеха зависит от расписания писателя и не выводится из одного лишь размера нагрузки. Обычные читатели seqlock в Linux могут повторять попытки, как показывает документация ядра, но контур разрешения реального времени не может использовать неограниченный цикл повторов.


\begin{algorithm}
\caption{Однослотовый базовый вариант seqlock для траектории}
\begin{algorithmic}
\Require предложение $P$ (заголовок предложения с $\text{sequence\_id}$, $\text{t\_evidence\_ns}$, $\text{sync\_error\_ns}$, $\text{t\_expire\_ns}$; точки $\mathbf{w}_{1..K}$; $\text{crc32}$), буфер-черновик $B_{\text{scratch}}$ и ранее проверенный активный сплайн $B_{\text{active}}$ в статической SRAM, общий SRAM-почтовый ящик $(c_{\text{seq}}, \text{Slot}_{\text{shared}})$, текущее время $t_{\text{now}}$ и бюджет возраста свидетельств $t_{\text{age,max}}$ (наибольшее допустимое $t_{\text{age}}$), оба — по часам микроконтроллера безопасности
\Ensure фрагмент, возведенный после проверки, в $B_{\text{active}}$ либо отклонение при неизменном $B_{\text{active}}$
\Statex
\Function{PublishActionChunk}{$P$}
    \State $c_{\text{curr}} \gets \Call{AtomicLoadExplicit}{c_{\text{seq}}, \text{memory\_order\_relaxed}}$
    \State $\Call{AtomicStoreExplicit}{c_{\text{seq}}, c_{\text{curr}} + 1, \text{memory\_order\_relaxed}}$ \Comment{пометить нечетным: запись идет}
    \State $\Call{HardwareMemoryBarrier}{\text{DMB\_OSHST}}$ \Comment{барьер записи с внешним совместным использованием проталкивает счетчик}
    \State $\Call{CopyMemory}{\text{Slot}_{\text{shared}}.\text{payload}, P, \text{sizeof}(P)}$ \Comment{копирование многословной траектории}
    \State $\Call{HardwareMemoryBarrier}{\text{DMB\_OSH}}$ \Comment{полный барьер с внешним совместным использованием: нагрузка видима}
    \State $\Call{AtomicStoreExplicit}{c_{\text{seq}}, c_{\text{curr}} + 2, \text{memory\_order\_release}}$ \Comment{пометить четным: публикация зафиксирована}
\EndFunction
\Statex
\Function{LatchLatestActionChunk}{$B_{\text{scratch}}, B_{\text{active}}, t_{\text{now}}$}
    \State $c_{\text{start}} \gets \Call{AtomicLoadExplicit}{c_{\text{seq}}, \text{memory\_order\_acquire}}$ \Comment{загрузить начальный счетчик (ARM LDAR, acquire)}
    \If{$c_{\text{start}}$ нечетно}
        \State \Return $\text{STATUS\_WRITER\_ACTIVE}$ \Comment{писатель активен; сохранить прежний сплайн}
    \EndIf
    \State $\Call{HardwareMemoryBarrier}{\text{DMB\_OSHLD}}$ \Comment{явный барьер: не дать чтениям нагрузки подняться выше счетчика}
    \State $\Call{CopyMemory}{B_{\text{scratch}}, \text{Slot}_{\text{shared}}.\text{payload}, \text{sizeof}(\text{Payload})}$ \Comment{предварительная копия; активный сплайн не изменяется}
    \State $\Call{HardwareMemoryBarrier}{\text{DMB\_OSHLD}}$ \Comment{LDAR не может удержать предыдущие чтения от опускания; DMB заставляет чтения нагрузки идти до $c_{\text{end}}$}
    \State $c_{\text{end}} \gets \Call{AtomicLoadExplicit}{c_{\text{seq}}, \text{memory\_order\_acquire}}$ \Comment{перечитать счетчик последовательности}
    \If{$c_{\text{start}} \ne c_{\text{end}}$}
        \State \Return $\text{STATUS\_TORN\_READ}$ \Comment{обнаружена одновременная запись}
    \EndIf
    \If{$\Call{ComputeCrc32}{B_{\text{scratch}}} \ne B_{\text{scratch}}.\text{crc32}$}
        \State \Return $\text{STATUS\_CHECKSUM\_INVALID}$
    \EndIf
    \If{$t_{\text{now}} \ge B_{\text{scratch}}.\text{t\_expire\_ns}$}
        \State \Return $\text{STATUS\_LEASE\_EXPIRED}$ \Comment{истечение абсолютно; читатель может его лишь сократить}
    \EndIf
    \If{$t_{\text{now}} - B_{\text{scratch}}.\text{t\_evidence\_ns} + B_{\text{scratch}}.\text{sync\_error\_ns} > t_{\text{age,max}}$}
        \State \Return $\text{STATUS\_EVIDENCE\_STALE}$ \Comment{ошибка преобразования прибавляется к каждому возрасту}
    \EndIf
    \State $B_{\text{active}} \gets B_{\text{scratch}}$ \Comment{возводить лишь после проверок последовательности, CRC, истечения и возраста свидетельств}
    \State \Return $\text{STATUS\_VALID\_LATCHED}$
\EndFunction
\end{algorithmic}
\end{algorithm}

Раздел «Многотактные ритмы» обменивается заголовком предложения и его нагрузкой фрагмента через этот почтовый ящик; раздел «Заголовок предложения и нагрузка фрагмента» дает их байтовую раскладку.

Проективная геометрия камеры и распространение ковариации

Конвейеры восприятия отображают непрерывные евклидовы 3D-сцены на дискретные 2D-сетки фотоэлементов камеры.

Матрица внутренней проекции и радиальные искажения

В стандартной модели камеры-отверстия 3D-точка в координатах камеры проецируется в пиксельные координаты через матрицу внутренней калибровки :10 где — фокусные расстояния в пиксельных единицах, а — главная точка. Нелинейные радиальные искажения объектива моделируются коэффициентами искажений : где — нормализованные координаты изображения.

Метрическая обратная проекция и распространение пространственной ковариации

При обратной проекции 2D-пиксельного наблюдения с измеренной глубиной в 3D-координаты камеры шум измерения фотоэлементов распространяется через якобиан обратной проекции : Преобразование этой 3D-точки в систему координат тела робота через жесткое внешнее преобразование дает пространственную ковариацию тела: где моделирует независимую внешнюю неопределенность в этом приближении первого порядка; корреляции требуют соответствующих перекрестных слагаемых. Вероятностный буфер свободного расстояния может масштабироваться с при заявленном хвостовом риске. Детерминированная проверка разрешения вместо этого нуждается в обоснованной огибающей ограниченной ошибки; одна ковариация не дает границы худшего случая.

Планарная гомография Чжана и калибровка камеры

Техника калибровки Чжана вычисляет матрицу внутренних параметров камеры по наблюдению планарного калибровочного узла (например, шахматного узора) в различных ориентациях Zhang, 2000. Без ограничения общности предположим, что модельная плоскость лежит на в мировых координатах. 3D-модельная точка отображается в 2D-точку изображения через матрицу планарной гомографии , : где с произвольным ненулевым скаляром .

Ортогональные ограничения на абсолютную конику

Поскольку векторы поворота и — ортонормированные столбцы матрицы ( и ), инвертирование дает: Наложение ортонормированности на и задает два фундаментальных алгебраических ограничения на каждую гомографию: Симметричная матрица представляет образ абсолютной коники (IAC): Задав 6-вектор , каждый квадратичный член можно переписать как линейное скалярное произведение , где: Два ограничения на каждую наблюдаемую ориентацию становятся линейной системой: Складывание изображений образует однородную систему , где . Правый сингулярный вектор , соответствующий наименьшему сингулярному значению, дает с точностью до множителя масштаба. Внутренние параметры и скошение затем однозначно извлекаются через разложение Холецкого матрицы . Это линейное решение в замкнутой форме инициализирует нелинейную оптимизацию Левенберга–Марквардта, минимизирующую невязки репроекции по всем наблюдаемым опорным углам.

Кинематические огибающие остановки и запаздывание информации

Остановка воплощенной машины, транспортирующей массу со скоростью , требует баланса между свежестью сенсомоторной информации и механическим тормозным замедлением.

Возраст сенсомоторной информации и расстояние запаздывания

Для заданного детектора опасности и пути остановки пусть ограничивает время от физического состояния, представленного свидетельствами, до начала проверенного тормозного замедления: где:

  • преобразует метку времени свидетельств в часы контроллера и включает экспозицию/считывание и ошибку часов.
  • ограничивает распознавание или обнаружение истечения аренды.
  • — допущенное решение об остановке, включая любую требуемую передачу входа.
  • ограничивает диспетчеризацию команды и постановку в очередь в сети.
  • заканчивается, когда измеренный актуатор начинает отдавать заданное замедление, а не когда записывается регистр команды.

При явном упрощающем допущении, что скорость не может расти до начала торможения, слепой ход ограничен величиной . Если движитель или уклон могут увеличить скорость, вместо этого используйте проверенную границу ускорения для этого интервала.

Динамика торможения и пределы трения

Трение шин о пол и момент актуатора накладывают верхние пределы на достижимое замедление; не устанавливает, какое торможение выдаст машина. Пусть — проверенная нижняя граница достигаемого замедления на протяжении всей остановки для заявленных нагрузки, температуры, уклона, состояния тормозов и поверхности. Обоснованный минимум трения может поддерживать эту границу, но не заменяет тормозные испытания. При постоянном или более сильном торможении после начала, границе локализации , фиксированном защитном запасе и границе ошибки слежения , Движение допускается только когда , где принимается как проверенная нижняя граница доступного свободного расстояния по пути. Это остановочный путь с врезкой, который защищает раздел «Огибающие остановки». Дискретизированный контроллер должен зарезервировать перемещение между отсчетами и остановку, подобранную по состоянию, до того, как будет потеряна область осуществимости.

Снижение номинала кинетической энергии и обвал трения

В идеальной модели, ограниченной трением, снижение с до положительного меняет отношение тормозных путей на . Это отношение иллюстративно; фактическое замедление может ограничиваться также тормозной аппаратурой или управлением. Если трение поверхности не считывается вовремя, выведите из контролируемого состояния поверхности и графика осмотров, исключите деградировавшие поверхности или воздержитесь от движения. Для приведенной выше модели постоянной скорости до торможения решение неравенства по свободному расстоянию дает Это ограничение действует лишь когда превышает три фиксированные накладные величины, выполняются нижние границы торможения и тайминга, а ограничение скорости принудительно обеспечивается до входа в коридор опасности. Положительного ограничения не следует, если доступный минимум замедления неизвестен или равен нулю.

Форматы передачи цепочки протоколов

Главы называют поля каждого протокола по смыслу и указывают инвариант, который протокол обеспечивает. Этот раздел дает байтовые раскладки протоколов, которые должны помещаться в почтовый ящик или журнал фиксированного размера, и канонический порядок полей для офлайн-протоколов, которые хранятся и связываются дайджестом. Каждое абсолютное время — беззнаковый 64-битный отсчет наносекунд по монотонным часам микроконтроллера безопасности, каждая длительность — беззнаковый отсчет наносекунд, а sync_error_ns несет границу преобразования для свидетельств, захваченных на других часах. Сами политики часов и целостности принадлежат разделу «Многотактные ритмы»; раскладки здесь фиксируют алгоритм для каждой задачи целостности. Обнаружение порчи использует CRC-32 (IEEE 802.3) по заголовку и нагрузке, происхождение — дайджест SHA-256 потребляемого протокола, а полномочия — HMAC-SHA-256 на командах оператора, ключевую хеш-цепочку на криминалистическом журнале и подписи Ed25519 на протоколах отказов и артефактах выпуска. За протоколами полномочий, отказов и выпуска следует протокол, который их пишет или проверяет.

Фиксированные раскладки используют прямой порядок байтов (little-endian) и упакованы в указанном порядке. Смещения — шестнадцатеричные байтовые позиции от начала протокола, и каждое многобайтовое поле располагается на своем естественном выравнивании, так что ни одно поле не требует скрытого заполнения. Поле, чья длина зависит от счетчика, идет после всех фиксированных полей, и его смещение записывается через этот счетчик. Сам протокол несет точек, командных шарниров, ограничений барьеров и каналов приближения; статический манифест полномочий фиксирует компонент команды и компонент состояния. Офлайн-протоколы (размещения, отказов, выпуска) идентифицируются дайджестом SHA-256 их канонического кодирования, а протокол, который один из них потребляет, сохраняет этот дайджест под именем потребляемого протокола.

Заголовок предложения и нагрузка фрагмента

Каждое предложение, пересекающее границу предложения, начинается с одинакового заголовка, а payload_kind выбирает нагрузку, следующую на 0x50. Таблица «Заголовок предложения и нагрузка фрагмента» размечает заголовок с минимальной нагрузкой фрагмента раздела «Многотактные ритмы». Фрагмент несет только кинематические задания. Момент вычисляется на стороне разрешения, где трекер выводит его из допущенной ссылки, поэтому обученное предложение никогда не называет момент двигателя.

СмещениеПолеСкалярный типЕдиницаИнвариант и проверка
0x00sequence_iduint64_tбезразмерноеСтрого возрастающий на каждого производителя; запись не новее последней принятой отклоняется.
0x08t_evidence_nsuint64_tнс, часы разрешенияМомент захвата старейших свидетельств, на которых опирается предложение, преобразованный в часы микроконтроллера безопасности.
0x10t_issue_nsuint64_tнс, часы разрешенияВремя, когда производитель опубликовал запись.
0x18t_expire_nsuint64_tнс, часы разрешенияЗапрошенное абсолютное истечение, не позже, чем позволяет аренда фрагмента; путь разрешения может его лишь сократить.
0x20frame_iduint64_tбезразмерноеКлюч дерева преобразований и ревизия калибровки системы координат заданий.
0x28parent_digestuint8_t[32]SHA-256Дайджест протокола, от которого выведено это предложение; устанавливает происхождение, ничего не аутентифицирует.
0x48sync_error_nsuint32_tнсГраница ошибки преобразования времени свидетельств; прибавляется к каждому возрасту, который проверяет читатель.
0x4Cpayload_kinduint16_tперечислениеCHUNK для этой нагрузки; INTENT, TRAJECTORY и OPERATOR выбирают остальные нагрузки.
0x4Epayload_lenuint16_tбайтыДлина нагрузки; ограничивает парсер до чтения любого байта нагрузки.
0x50num_waypointsuint16_tсчетчикГоризонт фрагмента ; счетчик вне настроенного диапазона отклоняется.
0x52num_jointsuint8_tсчетчикКомандные шарниры ; должен равняться настроенному счетчику, а payload_len должен равняться .
0x53reserveduint8_t—Ноль.
0x54joint_positionsfloat32[K][N_j]радКомандные углы шарниров в пределах досягаемости ().
0x54 + joint_velocitiesfloat32[K][N_j]рад/сКомандные скорости шарниров в пределах сертифицированных потолков ().
0x50 + payload_lencrc32uint32_tконтрольная суммаПоследнее поле; CRC-32 по IEEE 802.3 над всеми предыдущими байтами.

Заголовок предложения и нагрузка фрагмента: Смещения полей, скалярные типы, единицы и инварианты для предложения фрагмента, обмениваемого через seqlock-почтовый ящик (см. алгоритм выше). Заголовок занимает 0x00–0x4F в каждом предложении; остальные раскладки нагрузок этого раздела начинаются с 0x50.

Полезная нагрузка намерения

Аренда намерения из раздела «Аренда намерения» следует под заголовком предложения с payload_kind, установленным в INTENT («Полезная нагрузка намерения»). Три поля заголовка приобретают специфические значения. t_evidence_ns — это эпоха свидетельств родительского протокола оценки состояния, никогда не эпоха его оценки; parent_digest — дайджест этого протокола оценки, который путь разрешения сверяет с сохраненной записью; а t_expire_ns — запрошенное истечение, которое путь разрешения сокращает до наименьшего из горизонта свидетельств, своего настроенного потолка аренды и предельного срока остановки. Шесть значений bounds — это три консервативные огибающие ошибки положения и три допуска задачи в системе координат основания, названной frame_id. Это не кодирование ковариации, и производитель обязан обосновать любое преобразование из своей оценки ковариации, включая смещение калибровки и заявленный хвостовой риск.

СмещениеПолеСкалярный типЕдиницаИнвариант и проверка
0x00–0x4Fзаголовок предложениякак вышекак выше«Заголовок предложения и нагрузка фрагмента» с payload_kind = INTENT.
0x50target_posefloat64[7]м; единичный кватернионПоложение и ориентация в системе координат основания; конечные значения, нормализованный кватернион, предфильтр рабочей области.
0x88boundsfloat32[6]мОгибающая ошибки , затем допуск задачи ; , каждый проверяется по утвержденному профилю задачи.
0xA0wrench_requestfloat32[6]Н; Н·мТри запрошенные силы и три момента; ограничиваются или отклоняются по независимым пределам задачи и актуаторов.
0xB8terminal_requestuint32_tперечислениеЗапрошенный конечный режим; путь разрешения выбирает осуществимый утвержденный отклик по текущим нагрузке и состоянию контакта.
0xBCcrc32uint32_tконтрольная суммаCRC-32 по IEEE 802.3 над всеми предыдущими байтами.

Полезная нагрузка намерения: Аренда намерения как нагрузка заголовка предложения. Допуски ориентации и правила режимов контакта приходят из независимо утвержденного профиля задачи; кватернион — лишь предлагаемая ориентация.

Полезная нагрузка траектории

Протокол траектории из раздела «Контракт траектории» заменяет фрагмент на работающей машине и следует под тем же заголовком предложения с payload_kind, установленным в TRAJECTORY, и parent_digest, установленным в дайджест активной аренды намерения («Полезная нагрузка траектории»). t_expire_ns заголовка несет аренду фрагмента; собственное истечение намерения приходит из аренды, которую идентифицирует parent_digest. Отсчеты заданий и приложение допущений следуют вне этой фиксированной части. Путь разрешения проверяет sidecar_digest по обоим, валидирует полного кандидата в промежуточной памяти и защелкивает допущенные задания и стоп-суффикс в защищенной памяти до начала слежения.

СмещениеПолеСкалярный типЕдиницаИнвариант и проверка
0x00–0x4Fзаголовок предложениякак вышекак выше«Заголовок предложения и нагрузка фрагмента» с payload_kind = TRAJECTORY.
0x50sample_period_nsuint32_tнсРитм заданий ; должен совпадать с настроенным декодером.
0x54num_samplesuint16_tсчетчикНоминальные задания в нагрузке отсчетов, связываемой дайджестом; ограничивает ее размер.
0x56num_jointsuint8_tсчетчикКомандные шарниры ; должен равняться настроенному счетчику.
0x57payload_versionuint8_tперечислениеВерсия декодера; неизвестная версия отклоняется.
0x58t_start_nsuint64_tнс, часы разрешенияПервый номинальный отсчет.
0x60t_commit_nsuint64_tнс, часы разрешенияСамый поздний вход в подобранный стоп-суффикс; .
0x68t_plan_exp_nsuint64_tнс, часы разрешенияКонец номинальных заданий.
0x70t_stop_end_nsuint64_tнс, часы разрешенияЗавершение защищенной остановки; .
0x78sidecar_digestuint8_t[32]SHA-256Дайджест по отсчетам заданий и приложению допущений; связывает содержимое.
0x98seam_statefloat32[3][N_j]рад; рад/с; рад/с²Входное состояние каждого шарнира.
0x98 + stop_suffixfloat32[6][N_j]квинтичные коэффициентыОдна квинтическая остановка на шарнир; должна быть резидентной и выполнимой из каждого состояния, достижимого до .
0x98 + crc32uint32_tконтрольная суммаCRC-32 по IEEE 802.3 над всеми предыдущими байтами.

Полезная нагрузка траектории: Протокол траектории как нагрузка заголовка предложения. Четыре предельных срока — абсолютные времена по часам микроконтроллера безопасности; переменные по длине отсчеты заданий и приложение допущений связываются sidecar_digest и валидируются до активации.

Протокол принудительного обеспечения

Протокол принудительного обеспечения из раздела «Протокол принудительного обеспечения» — это конфигурация, а не предложение, поэтому он не несет заголовка предложения («Протокол принудительного обеспечения»). Три дайджеста называют то, на чем опирается протокол: протокол оценки, протоколы пределов за огибающей остановки и область действительности. Каждый порог называет ступень лестницы резервирования, которую выбирает не пройденная проверка. Там, где ступень зависит от того, движется ли тело, строка называет обе: STOP в движении и HOLD в покое. Отклоненное предложение, пока действует активная аренда, не выбирает ступени, ибо уже допущенные задания остаются в силе до истечения этой аренды.

СмещениеПолеСкалярный типЕдиницаПроверка и ступень, которую выбирает отказ
0x00evaluation_record_digestuint8_t[32]SHA-256Протокол оценки, чьи спецификации мониторов времени выполнения становятся каналами мониторов этого протокола.
0x20limit_record_digestuint8_t[32]SHA-256Канонический список протоколов пределов, чьи тормозные пределы, пределы начала и пределы актуаторов параметризуют .
0x40validity_region_digestuint8_t[32]SHA-256validity_region — границы параметров объекта управления, на которых покоятся пороги. На мобильном манипуляторе она покрывает руку у двери, где совпадает с целевой ODD, и станцию упаковки — через захват кружки и подход к передаче. Каждая конфигурация базы, обычная или ограниченная, загружается как собственный протокол принудительного обеспечения, поэтому это поле несет дайджест области этой конфигурации и ее предпосылку о трении. Живое состояние вне ее, которое наблюдает машина, выбирает STOP.
0x60loop_period_nsuint32_tнсПериод контура разрешения ; nominal_period_ns протокола размещения должен ему равняться.
0x64deadline_nsuint32_tнсПредельный срок пути разрешения внутри такта; цикл, рискующий его превысить, выбирает HOLD.
0x68evidence_age_ceiling_nsuint32_tнсПорог отказа проверки эпохи свидетельств: запланированный возраст наблюдения плюс граница преобразования часов. Предложение, чей верхний возраст свидетельств его превышает, отклоняется, а путь разрешения сокращает t_expire_ns до величины не более t_evidence_ns плюс потолок минус sync_error_ns. Предложение, чей sequence_id не новее, отклоняется; истекшая аренда выбирает STOP в движении и HOLD в покое.
0x6Cwatchdog_timeout_nsuint32_tнсСторожевой таймер подкармливается лишь после завершенного такта; истечение запрашивает INHIBIT через независимо смонтированное срабатывание.
0x70t_stop_nsuint32_tнсГраница времени остановки от максимально допущенной скорости; ссылка, оставляющая меньше свободного расстояния, чем , выбирает STOP.
0x74pos_tracking_boundfloat32м; STOP выше нее.
0x78pos_critical_boundfloat32м с ; STOP выше нее.
0x7Cvel_ceiling_limitfloat32рад/с; PROJECT (QP-ограничение).
0x80torque_slew_ceilingfloat32Н·м/с; PROJECT (ограничитель скорости изменения).
0x84actuator_curr_limitfloat32А; STOP.
0x88dc_bus_overvolt_threshfloat32В; STOP, при этом тормозной чоппер поглощает возвращенную энергию.
0x8Cnum_barriersuint16_tсчетчикОграничения барьеров ; должен равняться настроенному счетчику.
0x8Enum_approach_channelsuint16_tсчетчикКаналы приближения ; должен равняться настроенному счетчику.
0x90cbf_barrier_paramsfloat32[K_b][2]нормализованное расстояние; Запас и скорость класса , , каждого барьера; , иначе PROJECT, либо STOP, когда не остается осуществимого входа.
0x90 + approach_channel_idsuint32_t[K_a]перечислениеЗона и условие активации каждого канала, взятые из области действительности, например рабочая точка внутри зоны двери или удерживаемый accept_item.
0x90 + approach_ceilingsfloat32[K_a]м/сПотолок скорости приближения рабочей точки, пока ее канал активен; более быстрое предложение получает PROJECT (QP-ограничение), а ограничивший его канал журналируется.
0x90 + crc32uint32_tконтрольная суммаCRC-32 по IEEE 802.3 над всеми предыдущими байтами; несовпадение отклоняет сохраненную запись, и движение не допускается, пока не загрузится действительная копия.

Протокол принудительного обеспечения: Пороги пути разрешения со ступенью лестницы резервирования, которую выбирает каждая не пройденная проверка, и дайджесты протокола оценки, протоколов пределов и области действительности, на которых покоятся пороги. Протокол — это конфигурация и телеметрия; он не добавляет ни одного пакета в поток предложений.

Протокол размещения

Протокол размещения из раздела «Распределение аппаратных ресурсов» — офлайн-свидетельство с фиксированным заголовком и связанным журналом испытаний («Заголовок протокола размещения»). Он не несет собственной подписи; подписанный манифест выпуска связывает его через placement_record_digest. enforcement_record_digest называет протокол принудительного обеспечения, чей deadline_ns испытывался, а test_ledger_digest идентифицирует внешний журнал, который указывает заявленное худшее время выполнения, не превышаемое загруженным испытанием, вместе с распределениями, числом выборок, условиями испытаний, мерами устранения и непроверенными состояниями. Не измеренный максимум хранится как все единицы, никогда как ноль, — то же соглашение о недоступном значении, которым пользуется протокол отказа.

СмещениеПолеСкалярный типЕдиницаИнвариант и проверка
0x00execution_domain_iduint64_tперечислениеДолжен совпадать с заявленной топологией (прикладной процессор, NPU, GPU, MCU, контроллер синхронного исполнения).
0x08privilege_and_ringuint64_tуровень привилегийИнициатор на EL0; механизм принуждения на EL1 или выше, либо в защищенной среде.
0x10nominal_period_nsuint32_tнсТакт механизма принуждения; равен loop_period_ns протокола принудительного обеспечения.
0x14hard_deadline_nsuint32_tнсПредельный срок пути разрешения внутри такта; равен deadline_ns протокола принудительного обеспечения.
0x18unloaded_observed_max_nsuint64_tнсНаибольший отклик, наблюдавшийся без конкурирующей нагрузки; выборочный максимум, а не WCET.
0x20loaded_observed_max_nsuint64_tнсНаибольший отклик под заявленной нагрузкой; все единицы, пока не выполнено испытание под нагрузкой. Независимость держится, лишь пока он не превышает заявленный WCET.
0x28shared_axi_channel_qosuint64_tнастроенный QoSПриоритет арбитража для каждого претендента; семантика контроллера проверяется захватом регистров и стресс-испытанием.
0x30max_pdn_droop_thermal_tripuint32_t[2]мВ; м°CНастроенные пороги просадки шины и теплового срабатывания; журнал фиксирует испытания за ними.
0x38hardware_mitigation_flagsuint8_t[32]битовая маскаАктивные меры, такие как снимок TCM, разбиение памяти или изолированная шина; блокируются регистром после загрузки.
0x58enforcement_record_digestuint8_t[32]SHA-256Протокол принудительного обеспечения, чьи loop_period_ns и deadline_ns испытывает этот протокол.
0x78test_ledger_digestuint8_t[32]SHA-256Внешний журнал испытаний, включая дайджесты модели и прошивки, находящиеся на испытании.

Заголовок протокола размещения: Конфигурационные значения и наблюдаемые максимумы с дайджестами, связывающими испытанный протокол принудительного обеспечения и внешний журнал испытаний. Один заголовок не устанавливает свободу от помех.

Протокол полномочий и полезная нагрузка оператора

Протокол полномочий из раздела «Журнал полномочий» имеет две раскладки времени выполнения. Команда сетевого оператора — это нагрузка заголовка предложения («Полезная нагрузка оператора»), и это единственное предложение, чья идентичность отправителя наделяет полномочиями, поэтому оно несет метку HMAC-SHA-256 под ключом роли оператора. Статический манифест полномочий фиксирует выдачу каналов каждой роли, счетчик компонент команды, порядок и единицы, а также хранение ключей.

СмещениеПолеСкалярный типЕдиницаИнвариант и проверка
0x00–0x4Fзаголовок предложениякак вышекак выше«Заголовок предложения и нагрузка фрагмента» с payload_kind = OPERATOR.
0x50nonceuint64_t—Никогда не повторяется в течение срока жизни ключа; повторный nonce отклоняется как повтор.
0x58requested_channel_maskuint16_tбитовая маскаЗапрошенные каналы; должны находиться в пределах выдачи роли в статическом манифесте.
0x5Aoperator_role_iduint8_tперечислениеРоль, чей ключ произвел mac.
0x5Breserveduint8_t—Ноль.
0x5Ccommandfloat32[N_c]по манифестуЗапрошенные компоненты команды в порядке манифеста, допускаемые как любое другое предложение.
0x5C + macuint8_t[32]HMAC-SHA-256Метка над всеми предыдущими байтами; недействительная метка блокирует канал.
0x7C + crc32uint32_tконтрольная суммаCRC-32 по IEEE 802.3 над всеми предыдущими байтами.

Полезная нагрузка оператора: Команда сетевого оператора под заголовком предложения. Метка аутентифицирует роль; путь разрешения тем не менее допускает команду по ее содержимому.

Криминалистический протокол полномочий («Протокол полномочий для расследования») — журнал, записываемый один раз за такт, а не пакет. Его время — по часам микроконтроллера безопасности; отображение, связывающее его с PTP и календарным временем, с границей ошибки, живет в статическом манифесте вместе с длинами векторов, единицами и порядком компонент. chain_link каждой записи — HMAC-SHA-256 под ключом журнала по ссылке предыдущей записи и предыдущим полям этой записи, так что измененная или удаленная запись разрывает каждую более позднюю ссылку.

СмещениеПолеСкалярный типЕдиницаЗаписываемые свидетельства и предел
0x00t_mcu_nsuint64_tнс, часы разрешенияВремя события решения этого такта.
0x08actuator_channel_maskuint16_tбитовая маскаКаналы, к которым применяется это решение; разрешения шины и DMA принудительно ограничивают область записи.
0x0Apreempt_trigger_codeuint16_tперечислениеПричина: запрос, тайм-аут, потеря разрешающего устройства или защитный вход.
0x0Cauthority_stateuint8_tперечислениеAUTO, PEND, BLEND, MAN, FALLBACK или PROTECTIVE.
0x0Dfallback_runguint8_tперечислениеPROJECT, HOLD, STOP или INHIBIT, когда состояние FALLBACK; иначе NONE.
0x0Eoperator_role_iduint8_tперечислениеАутентифицированная роль источника, интерпретируемая по статическому манифесту.
0x0Freserveduint8_t—Ноль.
0x10blend_factor_alphafloat32безразмерноеПрогресс в профиля смешивания, принадлежащего механизму принуждения.
0x14policy_proposed_cmdfloat32[N_c]по манифестуКомпоненты команды до разрешения; не запись в двигатель.
0x14 + enforcer_clamped_cmdfloat32[N_c]по манифестуКомпоненты, допущенные после текущей проверки ограничений.
0x14 + actuator_delivered_cmdfloat32[N_c]по манифестуДиспетчеризованные компоненты задания; доставка на привод требует отдельных свидетельств.
0x14 + measured_plant_statefloat32[N_s]по манифестуОтсчитанные компоненты состояния с временем датчиков в манифесте.
0x14 + chain_linkuint8_t[32]HMAC-SHA-256Ключевая ссылка по предыдущей ссылке и предыдущим полям этой записи; свидетельство вмешательства, лишь пока ключ и якорь остаются под охраной.

Протокол полномочий для расследования: Одна запись на такт контура разрешения. Отсутствующая запись — пробел в цепочке, никогда не подразумеваемое одобрение, и запись — это выборочная трассировка решения, а не доказательство отданной силы или контакта.

Протокол передачи полномочий

Используется в разделах «Переходы полномочий» и «Передача без разрыва». Протокол выполняется в контуре механизма принуждения на микроконтроллере безопасности, где четырехфазное рукопожатие, предсмещение интегратора и квинтическое смешивание становятся одной последовательностью шагов по состояниям. Каждый такт пишет криминалистический протокол полномочий из таблицы «Протокол полномочий для расследования» под именами состояний, используемыми ниже.

Ритм и инварианты.

  • Ритм исполнения: периодическое таймерное прерывание жесткого реального времени (, период , аппаратное дрожание тайминга ).
  • Инвариант памяти: нулевое динамическое выделение кучи (malloc/free запрещены; все переменные состояния, почтовые ящики и кольцевые буферы журнала статически предварительно выделены в DTCM SRAM).
  • Аппаратные полномочия: исключительная запись допущенных заданий, подготовленных для следующего кадра EtherCAT, к приводам, и аппаратных отсечек безопасного снятия момента (STO).

Протокол исполнения.

  1. Отберите и провалидируйте состояние объекта управления, доступный резерв остановки, независимые защитные входы и текущую аренду полномочий. Независимый защитный вход выбирает свой проверенный путь остановки, подобранный по состоянию, из раздела «Лестница резервирования».
  2. В AUTO ручной запрос или запрос передачи политике переходит в PEND; политика может предлагать, лишь пока действует ее существующее разрешение. Установите на меньшее из потолка протокола и предельного срока, выводимого из свободного расстояния. Не позже последнего такта разрешения до передайте управление резервированию, подобранному по состоянию. Недействительный сетевой пакет отклоняется и журналируется, а не интерпретируется как запрос остановки.
  3. В PEND проверьте учетные данные оператора, nonce, разрешающий вход, свежесть цели, пределы актуаторов и полный запас передачи плюс остановки. По ACK на следующем квалифицированном такте Commit отзовите токен исполнения политики на маскированных каналах, защелкните как ее последнюю допущенную команду, защелкните проверенную человеческую цель и установите BLEND. Механизм принуждения остается единственным писателем актуаторов. Если допуск не удался, сохраните или перейдите в независимо проверенное резервирование.
  4. В BLEND вычислите и . Механизм принуждения предлагает , затем проверяет этого кандидата по текущему состоянию, моменту и скорости изменения и пределам остановки до диспетчеризации. Это защелкнутые конечные точки, а не одновременные живые потоки политики и человеческого актуатора. Если аренда, свободное расстояние или допущение слежения не выполняются, используйте резервирование, подобранное по состоянию. При с действующей ручной арендой установите MAN и подтвердите это состояние оператору.
  5. В MAN механизм принуждения проверяет каждое живое человеческое предложение. Истечение аренды или потеря разрешающего устройства отзывает ручные предложения и передает управление проверенному резервированию. Отдельно журналируйте запрос, ACK, фиксацию, кандидата, допущенную команду, измеренный отклик и неопределенность часов; ограниченная высокочастотная запись не должна блокировать такт управления.

Протокол отказа

Протокол отказа из раздела «Манифест отказов» — офлайн-свидетельство, фиксированный заголовок, подписанный Ed25519, который связывается с сохраненным пакетом свидетельств по дайджесту («Заголовок протокола отказа»). Корень журнала отказов, который связывает манифест выпуска, вычисляется по каноническим кодированиям этих заголовков. envelope_point имеет свое определение для каждой машины в версионированном манифесте классов отказов; для мобильного манипулятора его четыре значения — скорость в проходе (м/с), нагрузка (кг), коэффициент трения пола и температура окружающей среды (K).

СмещениеПолеСкалярный типЕдиницаНазначение и интерпретация
0x00trial_iduint64_t—Уникальный идентификатор испытания в версионированном журнале.
0x08claim_ref_iduint32_tиндексПредварительно зафиксированное физическое утверждение и его единицы.
0x0Cenvelope_pointfloat32[4]по манифестуЗаявленная рабочая точка испытания.
0x1Cfault_injection_modeuint16_tперечислениеВнедренный класс отказа.
0x1Einjection_target_nodeuint16_tперечислениеАппаратная граница, принимающая внедрение.
0x20fault_magnitudefloat32по классу отказаАмплитуда внедрения; ее единица фиксируется манифестом классов отказов.
0x24t_det_nsuint32_tнсОт триггера отказа до срабатывания детектора.
0x28t_takeover_nsuint32_tнсОт триггера отказа до измеренного перехвата; вычтите t_det_ns для интервала после обнаружения.
0x2Cstl_robustness_rhofloat32единица утвержденияНеобработанный знаковый запас для claim_ref_id; запасы остальных предикатов остаются в пакете.
0x30verdict_statusuint8_tперечислениеPASS, FAIL, INVALID или UNOBSERVABLE.
0x31reserveduint8_t[3]—Ноль.
0x34oracle_digestuint8_t[32]SHA-256Неизменяемые предикат и конфигурация оракула.
0x54evidence_digestuint8_t[32]SHA-256Отдельно сохраненный пакет свидетельств испытания.
0x74signatureuint8_t[64]Ed25519Подпись над всеми предыдущими байтами; идентификатор ключа — в версионированном манифесте.

Заголовок протокола отказа: Фиксированная часть одного испытания с внедрением отказа. Связанный пакет свидетельств несет длительность отказа, идентификаторы сборок аппаратуры и программного обеспечения, ссылки на необработанные трассировки и области часов, идентичность детектора, каждое значение запаса и его масштаб, измеренный физический исход, вторичные аномалии и частичные трассировки для вердиктов, отличных от успешных.

Для испытания, прерванного до внедрения, время детектора, время перехвата и запас робастности недоступны, а не равны нулю. Раскладка хранит все единицы (0xFFFFFFFF) в недоступном временном слоте uint32_t и канонический тихий NaN в недоступном слоте запаса float32, а подписанный пакет свидетельств записывает флаг действительности для каждого измеренного поля и причину его отсутствия. Оракул проверяет эти флаги и вердикт до выполнения арифметики и исключает недоступные слоты из счетчиков успеха и из статистик задержек или запасов. Версионированный манифест фиксирует битовый шаблон NaN, чтобы хеширование оставалось воспроизводимым.

Протокол внедрения отказов

Используется в разделе «Внедрение отказов на аппаратуре». Протокол выполняет одно испытание с аппаратурой в контуре на целевом кремнии, от аудита предусловий до подписанного заголовка из таблицы «Заголовок протокола отказа», и каждый выход, который он берет, устанавливает одно значение verdict_status этого заголовка.

Подложка и инварианты.

  • Подложка исполнения: стенд объекта управления на программируемой вентильной матрице (FPGA) жесткого реального времени и оркестратор испытательного стенда (, дрожание аппаратных меток времени ).
  • Инвариант памяти: предварительно выделенные статические DMA-буферы в хост-оркестраторе испытаний; нулевое динамическое выделение кучи во время выполнения на микроконтроллере безопасности.
  • Полномочия защитной блокировки: независимые оптические или лазерные эталонные датчики, подключенные к аппаратным реле-шунтам (crowbar), способным обесточить целевой актуатор в пределах после нарушения физической огибающей.

Протокол исполнения.

  1. Аудит предусловий (стадия 1). Отберите базовые датчики окружающей среды через (температуру, напряжение шины и скорость колеса). Сопоставьте каждое измерение с его заявленным допуском в тех же единицах; не берите одну норму по кельвинам, вольтам и метрам в секунду. Если какое-либо предусловие не выполнено, запишите ERR_PRECONDITION_OUT_OF_SPEC, установите вердикт INVALID и прервите.

  2. Синхронизация и взведение стационарного режима (стадия 2). Взведите симулятор объекта управления на FPGA, запитайте целевую двухпроцессорную систему и запустите периодический контур управления (). Установите синхронизированные опорные часы для логического анализатора, объекта на FPGA и эталонных преобразователей через часы PXI . Дайте физическому состоянию объекта стабилизироваться в номинальной рабочей огибающей в течение . Если базовая ошибка слежения , поднимите ERR_BENCH_INSTABILITY, установите вердикт INVALID и прервите.

  3. Триггер внедрения отказа (стадия 3). В монотонный момент испытания аппаратный оркестратор испытаний поднимает линию триггера к встроенному стенду внедрения:

    • Зависание инициатора (F1): оркестратор убивает задачу политики фрагментов через один такт после продления аренды.
    • Задержка или смещение датчика (F2): перехватчик на FPGA защелкивает кадр навигационной камеры или удерживает устаревшую нагрузку энкодера, сохраняя его действительную аппаратную метку времени.
    • Потеря кадров (F3): узел возмущения полевой шины теряет или портит кадры EtherCAT на ведомом порту привода.
    • Просадка управляющей шины (F4a): программируемая электронная нагрузка снимает переходный процесс F4a из таблицы «Классы аппаратных и киберфизических отказов» с общей управляющей шины в точке разряженного аккумулятора в течение , пока независимый преобразователь записывает шину разрешения и сигнал живости пути разрешения.
    • Потеря питания шины разрешения (F4b): твердотельный ключ разрывает питание шины разрешения в момент начала резидентной остановки с потолка обследованного пола.
    • Механическое заклинивание актуатора: четырехквадрантный динамометр прикладывает ступень противодействующего момента .

    Запишите метку времени внедрения в наносекундах по опорным часам.

  4. Отклик механизма принуждения и аудит перехвата (стадия 4). Наблюдайте через изолированный логический анализатор выводы механизма принуждения безопасности целевого MCU, телеметрию шины CAN и ШИМ-линии драйверов затворов:

    • Обнаружьте срабатывание немаскируемого прерывания (NMI) или диагностического флага: .
    • Обнаружьте аппаратное вытеснение мультиплексором драйвера двигателя: .
    • Обнаружьте переход физического объекта управления в безопасный ограниченный режим: .

    Если внешний стенд сдерживания срабатывает на нарушении конструктивной огибающей, аппаратный шунт обесточивает актуатор; поднимите ERR_PHYSICAL_BREACH и доведите испытание до стадии 5, где нарушенный предикат сдерживания возвращает FAIL.

  5. Оценка робастности и сериализация в журнал (стадия 5). Считайте эталонную траекторию от независимой измерительной аппаратуры в пределах заявленного окна испытания. Если требуемые эталонные кадры отсутствуют, установите вердикт UNOBSERVABLE и сохраните частичную трассировку. Для наблюдаемого испытания вычислите знаковый запас каждого предварительно зафиксированного предиката в его собственной единице, как его определяет STL-робастность из раздела «Сигнальная временная логика и непрерывная робастность». Возвращайте PASS только когда каждый требуемый запас неотрицателен и оба измеренных времени — от отказа до обнаружения и от отказа до перехвата привода — удовлетворяют своим заявленным границам; иначе возвращайте FAIL. Безразмерный агрегат может вычисляться лишь после предварительно объявленной нормировки по каждому предикату. Свяжите фиксированный заголовок протокола отказа с пакетом свидетельств переменной длины по дайджесту, подпишите заголовок по указанной схеме хранения и сохраните оба.

Манифест выпуска

Манифест выпуска из раздела «Манифест выпуска» — подписанный офлайн-артефакт, а не запись почтового ящика, поэтому он имеет каноническое кодирование вместо фиксированных смещений. Поля идут в порядке, который перечисляет таблица «Манифест выпуска», каждое поле переменной длины несет префикс длины, а подпись арбитра Ed25519 покрывает кодирование каждого предыдущего поля. Каждый дайджест — SHA-256. Истечение — единственное календарное время в цепочке протоколов, и оно проверяется по защищенным от несанкционированного доступа часам реального времени, а не по монотонным часам микроконтроллера безопасности.

ПолеКодированиеСвязываетПроверка перед разрешением
claim_manifest_iduint8_t[16] UUIDУтверждение безопасности верхнего уровняСвязан с корневым узлом подписанного графа аргументов.
argument_digestuint8_t[32]Полный граф утверждение–аргумент–свидетельствоСовпадает с графом, который рассматривал арбитр.
policy_weights_digestuint8_t[32]Веса обученной моделиНесовпадение отказывает в выпуске.
enforcer_bitstream_digestuint8_t[32]Образ логики механизма принужденияНесовпадение отказывает в выпуске.
rtos_kernel_digestuint8_t[32]Образ ядра реального времени и драйверыПроверяется аппаратным корнем доверия при включении питания.
calib_trace_pointersсписок подписанных ссылок на свидетельства с префиксом длиныСертификаты калибровкиОтсутствующие или устаревшие свидетельства отказывают, если их не покрывает отдельно подписанный ограниченный вариант.
fault_ledger_rootuint8_t[32]Подписанные заголовки протоколов отказов («Протокол отказа»)Отсутствующий, неаутентифицированный или несовпадающий журнал отказывает.
authority_record_digestuint8_t[32]Статический манифест полномочий и начальный якорь цепочки криминалистического журнала («Протокол полномочий и полезная нагрузка оператора»)Несовпадение отказывает в выпуске.
placement_record_digestuint8_t[32]Протокол размещения («Протокол размещения»)Несовпадение отказывает в выпуске.
evaluation_record_digestuint8_t[32]Протокол оценкиНесовпадение отказывает в выпуске.
verdict_classificationперечисление uint8_tUNCOND, COND или REFUSEВыбирает разрешенную рабочую огибающую.
standing_conditionsмассив с префиксом длины из (предпосылка, темп проверки, срабатывание)Физические предпосылки, проверяемые в эксплуатацииПроверяются на каждом такте разрешения; неизвестная предпосылка берет оцененную остановку.
telemetry_drift_budgetспецифичные для задачи пределы и триггеры с префиксом длиныДрейф слежения и таймингаНарушение границы отзывает; тенденция побуждает к осмотру.
verdict_expiryкалендарное время UTC (ISO 8601)Период действительности вердиктаПоказание часов реального времени после истечения аннулирует разрешение.
lifecycle_budgetuint64_t[2] (часы, циклы)Допуск износаПревышенный бюджет или недействительный счетчик отказывает в движении.
adjudicator_signatureидентификатор ключа плюс подпись uint8_t[64] Ed25519Весь манифестПроверяется авторизованным, неотозванным ключом арбитра.

Манифест выпуска: Канонический порядок полей подписанного артефакта выпуска. Новая подписанная версия может заменить манифест лишь после проверки текущих физических условий, а аппаратный корень закрепляет ключи, а не хранит изменяемые дайджесты.

Протокол ворот выпуска

Используется в разделе «Манифест выпуска». Прежде чем силовые ступени двигателей получат питание, ворота выпуска свидетельствуют состояние кремния, проверяют манифест из таблицы «Манифест выпуска» и дайджесты его образов и аудируют постоянные условия в указанном ниже порядке.

Подложка и подпись. Аппаратный корень доверия закрепляет авторизованную, отзывную цепочку ключей проверки арбитра. Защищенное хранилище держит подписанный манифест и подписанный граф свидетельств. Подпись покрывает каждое версионированное поле манифеста, включая идентичность подписывающего ключа, а проверяющий сверяет цепочку ключей и ее состояние отзыва до доверия подписи. Индивидуально подписанные протоколы отказов из раздела «Протокол отказа» входят в манифест как один дайджест по полному журналу в его заявленном порядке. Проверяющий сверяет подпись каждой записи, упорядоченность, полноту и этот корень с рассмотренным индексом свидетельств. Один дайджест не устанавливает ни действительности записи, ни достаточности испытаний.

Авторизация с отказом в сторону блокировки. Начните с Permit_gate = 0 и физического объекта управления в его оцененном нерабочем состоянии. Все возвращаемые решения используют подписанный перечислимый тип UNCOND, COND или REFUSE; реализация может отдельно журналировать код причины.

  1. Проверьте цепочку ключей арбитра и состояние отзыва, подпись манифеста, истечение, подписанные бюджеты рабочих часов и циклов и каждый активный дайджест образа. Любая недействительная, отсутствующая или истекшая позиция возвращает REFUSE. Другой программный банк требует собственного подписанного варианта и новой проверки физических условий.
  2. Аутентифицируйте полный журнал отказов и ссылки на калибровку по подписанному графу. Отсутствующий журнал, плохая подпись записи или несовпадение корня возвращает REFUSE, даже если манифест говорит UNCOND. Устаревшая калибровка также возвращает REFUSE в полном варианте. Она может поддерживать COND лишь когда отдельно подписанный ограниченный вариант явно покрывает это состояние калибровки и все его свидетельства и пределы по-прежнему валидны.
  3. Проверьте зависящие от состояния постоянные условия, включая тормозное испытание, разделение, базу времени и здоровье мониторинга. И KNOWN_FALSE и UNKNOWN возвращают REFUSE, сохраняя различные журналируемые причины. Примените утвержденные остановку или удержание, подобранные по состоянию, из раздела «Лестница резервирования».
  4. Если все проверки пройдены и подписанный вердикт UNCOND, загрузите подписанную полную огибающую и верните UNCOND. Если все ограниченные условия выполняются в подписанном варианте COND, загрузите его подписанную сокращенную огибающую и верните COND. Подписанный вариант REFUSE или любое другое состояние возвращает REFUSE. В обоих режимах работа обученная политика лишь предлагает действия; независимый механизм принуждения проверяет каждого кандидата и контролирует разрешение актуаторов. Пороги срабатывания по силе должны включать измеренный запас обнаружения и отклика ниже контактного критерия.

Реестр остаточных утверждений

Реестр остаточных утверждений из раздела «Реестр остаточных утверждений» отслеживает каждую физическую предпосылку, на которой покоится выпуск, но которую он не наблюдает, так что открытое утверждение переносится через развертывания программного обеспечения и ревизии аппаратуры. Как и манифест выпуска, это офлайн-артефакт, чьи обязательные поля («Эпистемический реестр остаточных утверждений») следуют каноническому порядку, а не фиксированным смещениям.

Категория манифестаПолеФизическая единицаИнвариант и эксплуатационный контракт
Заголовок манифестаsystem_identifier—Уникальный идентификатор воплощенной платформы (например, WMM-AISLE-01)
Заголовок манифестаhardware_build_rev—Ревизия целевого кремния и шасси (HW-REV-3.2)
Заголовок манифестаsoftware_digest—Дайджест выпущенного бинарного файла
Заголовок манифестаvalidity_limit_hoursчасыНастроенное рабочее окно до пересмотра
Остаточные утвержденияentry_id—Уникальная метка утверждения (например, CLAIM-FRIC-001)
Остаточные утвержденияtarget_safety_claim—Явный инвариант безопасности ()
Остаточные утвержденияmissing_observableединицы СИНеизмеренное физическое состояние (например, трение поверхности )
Физическая опасностьgoverning_law—Ньютон–Эйлер, Навье–Стокс, джоулев нагрев
Физическая опасностьtime_to_harmсекундыВремя от неучтенного перехода до необратимого разрушения
Эксплуатационное сдерживаниеcontainment_type—FIRMWARE_PARAM_CLAMP, PASSIVE_MECHANICAL или OPERATING_RESTRICTION; провалидируйте выбранный предел
Эксплуатационное сдерживаниеauthority_limitЖесткий числовой потолок задания ()
Эксплуатационное сдерживаниеkinetic_energy_ceilingМаксимально допустимая кинетическая энергия при отказе ()
Обеспечение и осмотрproof_test_intervalчасыЗапланированный интервал испытаний; свидетельства между испытаниями по-прежнему зависят от эксплуатационного ограничения
Предварительно объявленное закрытиеclosure_modality—Требуемая технология преобразователя или формальный метод
Предварительно объявленное закрытиеsample_trialsсчетчикСпецифичная для варианта независимая наработка, размер которой задает правило нулевых отказов из раздела «Испытания без отказов и стена наработки» для заявленной границы частоты пропусков
Предварительно объявленное закрытиеconfidence_level—Заявленный односторонний уровень доверия этой границы

Эпистемический реестр остаточных утверждений: Канонический порядок полей реестра. Заголовок связывает его с одной платформой, сборкой и рабочим окном; каждая запись должна нести свое утверждение, недостающее наблюдение, опасность и время до вреда, сдерживание, действующее в ожидании, и предварительно объявленное испытание, которое закрыло бы его.

Для дальнейшего чтения

Для более глубокого основополагающего понимания встроенных архитектур, операционных систем реального времени и силовой электроники обратитесь к следующим авторитетным источникам:

  • Computer Organization and Design: The Hardware/Software Interface Hennessy and Patterson, 2019 дает исчерпающее изложение архитектур процессоров, иерархий кеша и компромиссов подсистем памяти.
  • Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment Liu and Layland, 1973 устанавливает математические основы планирования с монотонными периодами и планируемости задач реального времени.
  • Modern Operating Systems авторов Andrew S. Tanenbaum и Herbert Bos дает исчерпающий охват межпроцессорного взаимодействия, синхронизации без блокировок и управления памятью.
  • Real-Time Systems автора Jane W. S. Liu дает авторитетную математическую формулировку алгоритмов планирования реального времени, инверсии приоритетов и анализа времени отклика.

  1. Jeff Dean: Google Senior Fellow и системный архитектор. Его числа задержек, впервые представленные вместе с Peter Norvig около 2010 года, установили каноническую иерархию задержек между уровнями хранения, памяти и сети Scott, 2012. Физический ИИ распространяет эту иерархию вниз, на электромеханические актуаторы, кинематику остановки и тепловые постоянные времени. ↩

  2. Аппаратные сторожевые таймеры с обратным отсчетом: Настроенный сторожевой таймер истекает, когда ожидаемое обслуживание не происходит. Его осциллятор, тайм-аут, коммутация выхода и отклик объекта управления различаются от устройства к устройству. Простая подкормка из несвязанного прерывания не доказывает, что наблюдаемое вычисление управления продвигалось; сброс, питаемый прошивкой, также не обязан подавать сигнал приводу. Поведение сброса см. в Linux watchdog API, а выбор остановки — в разделе «Лестница резервирования». ↩

  3. Вставка мертвого времени в инверторе: Мертвое время таймера выбирается по временным характеристикам ключей и драйверов в диапазоне температур и нагрузок, затем проверяется по фактическим волнам затворов. Перекрытие может создать разрушительное короткое замыкание шины; численный исход по току или предохранителю требует сопротивления цепи и отклика защиты. ↩

  4. Моделирование задержки по Сакураю–Ньютону: Альфа-степенной закон моделирует зависящую от напряжения задержку вентиля; его параметры зависят от технологии. Модель предсказывает уменьшение запаса установки при просадке, тогда как пропуск предельного срока, ошибка регистра или сброс должны устанавливаться по измеренному запасу пути и порогам устройства. ↩

  5. Штрафы конфликтов банков DRAM: Смена строки в одном банке может добавить время предзаряда и активации. Видео-DMA также может ставить транзакции в очередь перед чтением безопасности. Результирующая задержка должна быть ограничена для конкретного отображения адресов, политики арбитража и рабочей нагрузки; фиксированный штраф за запрос обычно не обоснован. ↩

  6. Аппаратные метки времени: Совместимый PHY или MAC ставит метки на кадры ближе к линии, чем программный обработчик прерываний. Аппаратные метки времени устраняют один источник разброса диспетчеризации, тогда как асимметрия пути и преобразование часов остаются. Неопределенность метки времени принадлежит физическому протоколу оценки состояния и бюджету разрешения. ↩

  7. Аппаратные барьеры памяти: Барьеры упорядочивают доступы только в пределах своего заданного контракта совместного использования и атрибутов памяти. На некогерентном маршруте также требуются операции очистки/инвалидации кеша или когерентные отображения. Руководство Arm по упорядочению памяти отличает упорядочение от когерентности. ↩

  8. Тепловые постоянные времени статора: Резистивный джоулев нагрев повышает температуру фазных обмоток двигателя при длительных маневрах с высоким моментом. Поскольку удельное электрическое сопротивление меди растет линейно с температурой, горячие обмотки имеют большее сопротивление, уменьшая отдачу момента при насыщении напряжения на зажимах. Превышение пределов температуры изоляции обмоток разрушает диэлектрические покрытия, вызывая межвитковые короткие замыкания и необратимое разрушение актуатора. ↩

  9. Тормозные чопперы динамического торможения: Квалифицированный чоппер способен рассеивать возвращенную энергию, когда аккумулятор недоступен как сток. Его порог, номиналы ключа и резистора, длительность импульса и тепловое восстановление должны быть испытаны. Рекуперация и работа чоппера не присущи каждой аварийной остановке; безопасное снятие момента может вместо этого оставить двигатель идти выбегом. ↩

  10. Внутренняя проекция отверстия: Модель отверстия проецирует 3D-точки на 2D-датчик через откалиброванные внутренние параметры. При фиксированном шуме пикселей боковая дисперсия после обратной проекции по глубине растет с квадратом расстояния; слагаемые ошибки глубины и калибровки подчиняются собственным моделям. Некалиброванные внутренние параметры могут смещать оценку свободного расстояния и должны входить в ее огибающую ошибки. ↩