ИИ обладает потенциалом устранить занудную сложность из процесса разработки печатных плат




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

JITX – это стартап, основанный командой инженеров от электроники и машиностроения из Калифорнийского университета в Беркли, создающий ИИ, который сможет помочь разрабатывать оптимизированные печатные платы за часы, а не за недели. В результате работа инженера переместится от ручного труда к надзору. Вы сообщаете системе на довольно высоком уровне, что вас волнует, а она разрабатывает работающую печатную плату, на которой всё, что вас не волнует, уже решено за вас. Ваш экспертный инженерный опыт концентрируется только на нужных вещах, а система выдаёт схемы печатных плат — только лучше, быстрее, и дешевле.

Главой JITX является Дункан Холдейн, автор «гиперактивного прыгающего робота на пружинках» по имени Salto-1P. Довольно серьёзная часть работы над Salto-1P (а также над другими роботами) была потрачена на разработку специального железа, включая и печатные платы. Холдейн с коллегами обнаружили, что каждый раз, когда они начинали делать что-то новое, им приходилось начинать всё с чистого листа. «Мы поняли, как мало времени мы тратим на основную свою деятельность – исследования, — говорит Холдейн. – Всё наше время уходило на низкоуровневую разработку железа. Трудозатраты на разработку специального железа – огромный барьер, стоящий на пути новых творческих систем».

Цель JITX – сделать разработку железа больше похожей на разработку софта. Это не первая компания, пытающаяся сделать что-то в этом направлении, и уже существует множество вспомогательных инструментов для разработки печатных плат. Тем не менее, JITX считает, что её более всеобъемлющий и целостный подход уникален. Компания пишет в пресс-релизе:

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

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

Вот ранняя демонстрация работы JITX, записанная Холдейном в ноябре прошлого года, чтобы вы могли представить, как это всё работает:


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

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


Три платы, разработанные ИИ от JITX

Пока что JITX использует инструменты, разработанные для внутреннего использования. Вы сообщаете им, что должна делать плата, и они привлекают инженеров, которым помогает ИИ, чтобы поработать над этой задачей, и выдать наиболее эффективную плату. В среднем JITX выдаёт печатные платы в 3 раза быстрее и на 25% дешевле, чем опытные инженеры, работающие без чьей-либо помощи. Конечная цель – ещё больше увеличить автоматизацию, расширить её за пределы простых печатных плат. Но пока что JITX присоединится к летнему семинару Y Combinator для выработки идей с небольшой внешней поддержкой.

Мы побеседовали с главой компании, Дунканом Холдейном, по электронной почте.

IEEE Spectrum: Можете ли вы описать типичный процесс разработки печатной платы, и что с ним не так?

Дункан Холдейн: сначала вам надо разобраться с тем, что должна делать плата. Какие актуаторы, какие сенсоры, как они общаются между собой, какая нужна обработка. А потом идёт тяжёлая работа.

Мы гуглим, находим вроде бы оптимальные наборы составных частей, роемся в спецификациях по сто страниц толщиной, чтобы понять, как это всё связать вместе. После этого мы моделируем все составные части в любимом CAD (вручную переписывая информацию из PDF), и рисуем схему. На схеме добавляем символы, обозначающие все части платы, пытаемся их красиво выстроить (на одной странице, или на пятидесяти, в зависимости от сложности схемы), вручную соединяем все контакты, рисуя линии, обозначающие провода. Надеемся, что при рисовании линий не было допущено ошибок. На этом этапе мы приглашаем других инженеров, которые будут пялиться в эту схему несколько часов, пытаясь найти ошибки, поскольку единственная ошибка будет означать, что ваша плата не будет работать (и может взорваться).

Когда у нас есть схема, можно разрабатывать саму плату. Цель – понять, где разместить все компоненты, чтобы можно было нарисовать все эти медные дорожки, соединяющие контакты. Нужно думать о куче разной физики, и для этого мы запускаем всякие симуляции, и вручную размечаем результаты на плате (рисуя медную дорожку правильной формы). Также в этот момент надо думать о том, как эту плату будут производить, собирать и проверять. Мы снова зовём других инженеров попялиться на дизайн платы несколько часов в попытках отыскать ошибки. Надеемся, что они найдут все ошибки, поскольку сейчас мы уже готовы платить за производство платы.

Что с этим не так? Да всё. Это худшее из того, что делает человек. Представьте, что вы всё это проделали, а потом для следующего проекта опять начинаете всё с нуля.

Почему никто ещё не сделал то, что сейчас делает JITX?

Это происходит сейчас потому, что индустрия в отчаянии. Разработка печатных плат стала таким тонким делом, что команды из людей рисуют все эти платы круглосуточно и посменно, чтобы успеть к дедлайнам. Более того, новые фабрики высоко автоматизированы, из-за чего узкое место между компаниями и рынком находится на этапе разработки. И эта срочность появилась тогда, когда ИИ просто размазывает по стенке лучшие из предыдущих методов. Мы объединяем новые результаты ИИ с этой углубляющейся проблемой рынка.

Какую часть разработки можно автоматизировать, и как это будет выглядеть для конечного пользователя?

Автоматизировать можно всё, нужно только найти правильный подход. Для конечного пользователя это будет выглядеть практически так, как работают наши инструменты и сегодня. Пользователь говорит, что ему важно, а не как это сделать. К примеру, мы заказываем плату с системой BLE и микрофоном (это «что»), а наше ПО выбирает соответствующие ключевые компоненты из библиотеки, решает вопросы с питанием и значениями компонентов, назначает контакты, планирует расположение, размечает дорожки, и выдаёт плату и схему (это «как»). Если вам важна форма платы, добавьте это ограничение, если вам важно расположение компонента, добавьте это ограничение, если вы знаете, какой BLE-чип вам нужен, добавьте это. Инструменты разработки должны быть достаточно умными для того, чтобы разобраться со всем миллионом деталей, до которых вам нет дела, и оптимизировать вашу схему для того, что вам важно.

Какие ограничения будут у системы, над которой вы работаете?

Самое большое ограничение – разработчики жертвуют контролем над мелочами ради автоматизации, правильности и скорости. Это очень большая разница по сравнению с сегодняшними инструментами.

Над чем вы работаете вместе с DARPA?

Мы работаем в рамках инициативы возрождения электроники (Electronics Resurgence Initiative, ERI), массивной совместной попытки заново изобрести процесс создания электроники. Конкретно мы участвуем в программе IDEA, согласно которой разработка электроники будет вестись без участия человека. Для этого мы работаем над компаниями, производящими полупроводники и компоненты, чтобы создать обширную библиотеку электронных компонентов, создаём ПО, превращающее высокоуровневые цели проекта в реальные схемы плат, и инструменты для оптимизации, находящие наилучшие версии для нужных вам плат.

Каким вы видите далёкое будущее, и как в него вписывается ваша текущая работа?

В будущем мы хотим масштабировать технологию автоматической разработки печатных плат, чтобы дать больше творческой свободы разработчикам железа. Все получают разработанные на заказ печатные платы, и мы гарантируем, что задача остаётся решённой. Потом мы хотим вернуться в электромеханическую разработку. При разработке печатной платы много проблем возникает во время споров с инженером-механиком по поводу того, как получить ещё полмиллиметра дополнительного пространства, чтобы впихнуть ещё один компонент. Роботы – это электромеханические устройства, и мы работаем над тем, чтобы когда-нибудь наше ПО смогло разрабатывать улучшенных роботов, которые смогли бы собирать следующее поколение роботов ещё лучшего качества, выполнять код на улучшенных печатных платах, и так далее.

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

Комментарии (10)


  1. AnotherReality
    22.08.2018 10:37
    +1

    Как по мне, не лучшее начало подобной статьи в стиле «ваша работа вообще фигня, ее любой может делать, а вы такие плохие набиваете себе цену». Не, конечно занятное дело, но в комментариях к оригинальной статье уже написали, что учесть все изменения рынка нереально, как и 1000 и 1 внешний фактор.
    Чаще всего создаются нетривиальные решения, например у меня круглая плата, 64 светодиода двух типов в полярной СК и драйвер. Я в голове быстрее переберу варианты расстановки и свапанья, чем автоплейсер, и результат будет лаконичнее.
    И если на то пошло, то искусственным интеллектом можно будет (в далеком будущем) все заменить. И зачем тогда искусственному интеллекту нужен будет человек?)


  1. amartology
    22.08.2018 10:53
    +2

    В разработке микросхем автотрассировка без особого шума повсеместно применяется еще с тех пор, когда термин «искусственный интеллект» можно было услышать только относительно героев фильма «Терминатор».


  1. NordicEnergy
    22.08.2018 13:15

    Пример разводки платы говорит сам за себя. В ближайшие годы конструктора, даже самые криворукие, не останутся без работы, т.к. этот ИИ выдает полнейшее гуано на уровне школьника-ардуинщика.


    1. vassabi
      22.08.2018 13:53

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


    1. svitoglad
      22.08.2018 21:59

      Может его обучить как-то нужно?!!! :)


  1. AVI-crak
    22.08.2018 14:55

    Мне кажется без полной переработки библиотек — этот ии будет делать фигню. Ну можно за вечер назначить правила применения и свойства контактов для десятка компонентов, но это-ж рехнуться можно — их там миллионы. А без этого — ии будет просто красиво рисовать линии, без разбора на цифру, аналог, и силу.
    Чую следующая статья будет про ии умеющий обновлять библиотеки…
    А ещё ему нужно уметь читать электрическую схему. Не просто находить точки контактов — а осмысленно группировать компоненты в комнаты. А для этого опять необходимы дополнительные сведения о типе и функции компонента на блочном уровне.
    Это-ж сколько инфы придётся впечатывать в таблицы…


    1. amartology
      22.08.2018 16:43

      И все это давно и весьма успешно делается для рисования цифровых интегральных микросхем из сотен миллионов библиотечных элементов. С аналогом так не получается, кстати говоря, все равно все руками делается.

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


  1. keylase
    22.08.2018 20:51

    Покажите им автотрассировщик topor))


  1. mikelavr
    23.08.2018 12:39

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

    Но ребята замахнулись на большее — они хотят, чтобы им ИИ изготовил в том числе и схемотехнику! Вот этого точно ни у кого пока нет.


    1. amartology
      23.08.2018 12:50

      Описывать плату и схему текстом? Внутри себя делайте как хотите, но пользователю для ввода информации должен быть графический интерфейс.
      Разработчики микросхем тоже так говорили, а потом как миленькие начали писать на Verilog.