Евгений Юрьев – Кинематика рассвета: линия защиты (страница 3)
Анна записала в планшет: «Выйти на ЗАСЛОН, запросить БРЛС РЕЗЕЦ».
— А пока, — продолжил Рощин, — займёмся тем, что есть. Семён, готовь оснастку для сегментов. Анна — материал. Завтра привезут пробную партию титана с нитиноловыми вставками. И не забудьте про программиста. Как его зовут?
— Алексей. Фамилию пока не скажу. Пусть сам представится.
Рощин кивнул.
— Будем ждать.
Глава 3. Искусственная мышца
Алексей Комаров появился ровно в восемь утра. Анна ждала его у входа в мастерскую Рощина. Она сразу заметила, что программист приехал не с пустыми руками: из багажника своего старого электромобиля он выгрузил три объёмистых кофра с оборудованием и потёртый рюкзак, из которого торчал угол ноутбука.
— Докладываю, — сказал он вместо приветствия. — Я не спал всю ночь. Изучал твою задачу. Двести степеней свободы, неструктурированная среда, работа вслепую. Это не задача, это вызов богу робототехники.
— И каков вердикт? — спросила Анна.
— Вердикт такой: стандартные алгоритмы планирования пути здесь не годятся. Мы имеем дело с так называемой задачей гиперредундантного манипулятора. Шестьдесят четыре сегмента — это шестьдесят четыре избыточных степени свободы. Для достижения одной и той же точки в пространстве существует бесконечное количество возможных конфигураций. «Змея» должна выбирать оптимальную из них, а оптимальность — это не только кратчайший путь, но и минимизация нагрузок, устойчивость, экономия энергии. Нужен новый подход.
В мастерской их уже ждали. Рощин сидел за верстаком и слушал. Семён Петрович возился с сорок вторым сегментом, который действительно подклинивал — микронный зазор был забит окалиной.
Алексей подошёл к Рощину и представился:
— Алексей Комаров. Программист. Специализация — машинное обучение и планирование движений.
Рощин кивнул и протянул руку. Они обменялись рукопожатием.
— Рассказывайте, Алексей. Только без терминов. Я старый аналоговый человек, мне бы попроще.
— Попробую, — Алексей открыл ноутбук и развернул трёхмерную модель. — Классический подход — метод потенциальных полей. Цель задаёт силу притяжения, препятствия — силы отталкивания, робот движется по градиенту. Для шести степеней свободы это работает. Для шестидесяти четырёх — нет. Слишком сложное поле, алгоритм застревает в локальных минимумах.
— И как вы предлагаете решить проблему?
— Обратная кинематика с обучением. Мы не будем просчитывать каждое движение. Мы обучим нейросеть на миллионах симуляций. Она запомнит, какие конфигурации работают в каких условиях, а в реальной трещине будет мгновенно выбирать похожий сценарий и адаптировать его.
Рощин задумался.
— А если геометрия трещины окажется такой, какой не было в симуляциях?
— Тогда включается второй контур — медленный, но точный. Он просчитывает оптимальный путь классическими методами, пока нейросеть не накопит достаточно данных. Чем дольше «Змея» работает — тем умнее она становится.
— Это неплохо. Но где взять реалистичную модель трещины? Она не труба, у неё нет правильной геометрии.
Алексей улыбнулся.
— Анна скинула мне данные с ультразвукового сканера. Я построил цифрового двойника той трещины, которую вы лечили позавчера. А потом нагенерировал тысячу вариаций: глубина, ширина, изгибы, шероховатость стенок. Нейросеть предварительно обучена, и уже есть результаты.
Он нажал клавишу. На экране «Змея» поползла в виртуальную трещину. Движения были плавными, без рывков. Сегменты изгибались, огибая острые выступы.
— Время прохождения — четыре минуты двенадцать секунд. Ручное управление давало десять минут. Прирост скорости в два с половиной раза.
Рощин снял очки.
— Покажите ещё раз.
Алексей перезапустил симуляцию. Рощин надел тактильную перчатку и держал руку над экраном, «ощупывая» движения модели. Через минуту он произнёс:
— Хорошо. Правдоподобно. Но симуляция — это одно, а реальный металл — другое.
— Поэтому нам нужны натурные испытания, — сказала Анна. — Глеб Ефимович, сколько времени займёт доработка «Змеи» до серийного прототипа?
— С новым программистом — неделя. Может, дней десять.
— Тогда работаем.
Дни в мастерской слились в один непрерывный поток. Утро начиналось с того, что Анна привозила кофе, и они вчетвером садились за верстак обсуждать план на день. Потом расходились по задачам и собирались только вечером.
Семён Петрович доводил до ума механическую часть. Сорок второй сегмент был переточен, все люфты выбраны, каждый шарнир проверен под микроскопом. Анна занималась материалом: ездила в Институт полимеров, контролировала синтез, проверяла каждую партию на стенде.
Алексей почти не вылезал из ноутбука. Он писал код нейросети, запускал симуляции, снова правил код и снова запускал. Иногда бормотал под нос нецензурное, и тогда Рощин говорил: «Лёша, спокойнее. Алгоритм слышит твои ругательства и обижается».
Рощин делал главное: собирал и осмысливал результаты. Каждый вечер, выслушав отчёты, он вносил коррективы. Где-то изменить угол изгиба сегмента, чтобы лучше вписываться в повороты. Где-то увеличить мощность мышц. Где-то добавить датчик давления.
Особая история была с системой подачи полимера. Анна привезла опытную партию материала — густую, маслянистую жидкость, пахнущую растворителем. Они собрали стенд: стальной блок с искусственной трещиной. Подключили «Змею». Запустили цикл.
«Змея» вошла в трещину, добралась до дна, выпустила полимер. Но когда включилось электрическое поле и полимер начал схватываться, материал повёл себя неожиданно: он расширился сильнее расчётного, и давление на стенки превысило допустимый порог. Блок треснул.
— Отлично, — мрачно сказала Анна. — Мы разрушили то, что должны были починить.
— Нет, не отлично, но полезно, — возразил Рощин. — Теперь мы знаем: полимер расширяется на семь процентов вместо расчётных трёх. Надо уменьшить дозу или изменить частоту активационного поля.
— А если менять частоту прямо во время схватывания? — предложил Алексей. — Сделать обратную связь по давлению. Датчик фиксирует напряжение в стенках трещины, нейросеть корректирует частоту в реальном времени.
— Разумно. Но нужен быстродействующий датчик давления.
— Я сделаю, — отозвался Семён Петрович из своего угла. — Есть задумка.
Через три дня датчик был готов. Миниатюрный тензопреобразователь, встроенный в головной сегмент «Змеи». Он измерял напряжение в стенках трещины и передавал данные нейросети с частотой тысяча раз в секунду. Второй тест провели на новом стальном блоке. На этот раз полимер схватился ровно. Трещина закрылась, напряжения пришли в норму, прочность выросла почти на треть. Анна записала в протокол: «Испытание № 7 успешно».
— Семь попыток, — сказал Рощин. — Неплохо. Но до серии нужна надёжность в девяносто девять процентов.
— А до ста? — спросил Алексей.
— Сто не бывает. Инженер тем и отличается от фантазёра, что знает: идеального не существует. Но девяносто девять — это та цель, к которой нужно стремиться.
На восьмой день случилось событие, которого Анна ждала и боялась одновременно.
Утром, когда она подъезжала к мастерской, коммуникатор разразился тревожным сигналом. Звонил Кравцов:
— Анна Игоревна, авария на втором «Голиафе»! Трещина в коленном шарнире. Лопнула накладка. Гидравлика наружу.
— Когда?
— Полчаса назад. Хорошо, никого не задело. Но манипулятор стоит. Линия стоит. Берг уже здесь.
Анна резко затормозила. Сердце заколотилось. Вот он — момент, когда теория должна встретиться с практикой. Не на лабораторном блоке, а на реальном манипуляторе. Под нагрузкой. С Бергом, глядящим через плечо.
Она развернула машину и набрала Рощина:
— Глеб Ефимович, берите «Змею» и всё оборудование. Семёна Петровича тоже. Алексей, ты с ноутбуком. Встречаемся у цеха номер три. Срочно. Второй «Голиаф» лопнул по колену.
Рощин выругался.
Через час вся команда была на месте. В цеху номер три царил хаос. Манипулятор замер с поднятой стрелой, гидравлическое масло растеклось по полу, вокруг лужи уже выставили ограждение. Берг стоял у пульта и отдавал распоряжения. Увидев Анну, он резко повернулся:
— Ну что, Анна Игоревна, вот и проверка вашей технологии. Завтра по плану сварка титановой рамы. Срыв контракта — миллиардные штрафы.
— Запустимся, — спокойно произнесла Анна. — Глеб Ефимович, сколько нужно времени?
Рощин уже вёл рукой в перчатке над трещиной.
— Глубже той. Пять сантиметров. Идёт под углом, но геометрия простая. «Змея» справится. Нужен час.
— Слышите, Игнат Викторович? Час — и манипулятор в строю.
Берг скептически поджал губы:
— Я буду наблюдать.