![]() |
|
в статье хочется поделится знаниями про технологии позволяющие создавать высокоэффективные машины, способные заменить человека. Машины, конечно, гражданского применения, потому что создавать военные машины просто страшно. Но если вас заинтересуют подобные решения, мы готовы спроектировать и наладить производство электроники для человекоподобных машин.
Можно сделать робота с одним глазом, можно с двумя. Один глаз позволяет видеть плоскую картинку, второй позволяет выделять объем и третью координату.
Ещё некторое дополнение к глазу - лазерный прицел. Прицел может быть выполнен в виде линии, может сканировать объект, выделяя тем самым форму объекта. Чтобы эффективно выделять расстояние до объекта, лазер должен светить не из глаза, а с под углом, с плеча, тогда, зная угол и плечо, по абсолютному положению лазерного пятна на изображении можно расчитать расстоянии до цели. Нужно уметь модулировать изображение лазера, желательно шифрованной цифровой последовательностью, чтобы нашего робота было не сбить с толку, ни вспышкой ни другим таким же лазером.
Современная технология полупровдников предлагает использование наравне с ПЗС матрицами, цифровые КМОП матрицы (CMOS Image Sensors). Цифровые матрицы получили широкое применение в мобильных телефонах и цифровых фотоапаратах.
Чтобы создать на основе матрицы глаз, успешно конкурирующий с глазами человека, нужно, чтобы глаз быстро двигался, опережая повороты головы, выделял фрагмент из всей картинки, ловил малейшие движения боковым зрением.
Мы выделили матрицы Micron со скоростью оцифровки изображения до 90 кадров в сек. Матрицы выпускаются с разрешением 3-5М пикселя. При этом можно снимать изображение с заданым шагом, т.е пропускать точки, например считывать только каждый 8 пиксель по горизонтали или каждую 8-ю строчку по вертикали - так можно на большой скорости распознавать движение. Чтобы следить и рассматривать объект не надо перемещать объектив, можно выделить фрагмент изображения, например 640х480, и перемещать прямоугольник окна по матрице вслед за объектом. Так можно получить высокую скорость сканирования и не тратить силы на перемещение "головы".
Конечно, сама по себе матрица ничего не значит без матиматического аппарата позволяющего на полной скорости выделять и распознавать изображения. Последовательность обработки такова: данные с матрицы снимаются со скоростью до 100Мбайт/сек. Это большой поток данных, которые надо ещё постараться обработать налету. Данные после обработки не сохраняются, потому что с такой скоростью можно за минуты заполнить любой мобильный носитель. Робот может, конечно, сохранять и передавать изображения на базу, но основная функция - распознавание, выделение объекта, обучение, сравнение и хранение объектов.
Технология распознования образов, не абсолютна и не совершенна. Мы берем простую схему, которая позволяет выделять классифицированные объекты. Скажем, вилку от ложки он сможет отличить. Задача в том чтобы робот мог с некоторой достоверностью выделить и классифицировать объект, определить его координаты в пространстве и принять решение, что с этим объектом делать. Например, при гражданском применении, робот на конвейере может выделять бракованные детали или перекладывать из одной кучки в другую. Может заниматься позиционированием детали, сборкой. В военном применении, робот могбы ... понятное дело уничтожать всё, что подходит под классификацию.
Немного подробностей по реализации. Последовательность распознавания образов: цифровая фильтрация изображения, растровая обработка, уменьшение объема данных, выделяются только те фрагменты, которые информативны для алгоритма распознавания, выделение пятен и контуров, векторизация изображения, сравнение и анализ изображений в векторном виде. Самая ресурсоемкая операция - это цифровая фиьтрация и всё что выполняется на потоке данных. В самом простом случае мы насчитали около 30-40 операций типа умножения, которые надо производить налету по каждму пикселю изобажения. Это означает, что средняя производительность процессора обработки изображений должна составлять 3-4Гига операции в сек. Вряд ли можно такую производительность ожидать от современных процессоров. Что это за глаз, если к нему прилагается вычислительный кластер. На самом деле проблема ещё и в том, что ни один современный процессор не способен обеспечивать синхронную обработку "налету" из-за конвейерной архитектуры процессора. Вывод простой- невозможно.
Мы располагаем технологией проектирования процессоров цифровой обработки сигналов на основе реконфигурируемых микросхем FPGA, на которых мы умеем реализовывать аппаратную обработку данных. Т.е. вся таже самая задача, 30-40 умножений делаются за один такт на потоке данных. Энергопотребление прототипа платы не превышает одного ватта, не требует охлаждения. Плата имеет габарит от 40х40мм, глаз располагается на обратной стороне печатной платы. Кроме всего прочего на плате стоит процессор с пиковой производительностью до 1000MIPS и 32 Мбайта памяти, что позволяет эффективно решать задачи сравнения векторных изображений. Такой вот монстр может поместиться в мобильном телефоне. Себестоимость при серийном производстве может быть доведена до уровня цен на мобильные телефоны.
Если робот боевой или промышленный, глаз - это только датчик позволяющий принять решение насколько скорректировать движение и выполнять ли действие. Поэтому мы выделяем функцию переферийного устройства. На запрос от центрального процессора глаз должен сказать что он видит и как. Сама по себе видео информация не нужна. Надо понимать что для боевого робота процессор глаза может на несколько порядков превосходить по производительности центральный процессор, который башней крутит. Глаз с такими характеристиками позволяет выбирать сотни целей в секунду. Точность распознавания образов при субпиксельной обработке позволяет определять координаты объекта с точностью несколько десятых миллиметра с растояния в метр.
Нос у нас тоже не простой получился. Нос представляет из себя капилярную трубку подсвеченную ультрафиолетовым светом. Любая органика под ультрафилолетом светится и дает свой уникальный спектр люминесценции (вторичного излучения). В качестве датчика регистрации спектра используется ПЗС линейка. Например ПЗС линейки hammamatsu, позволяют получать в диапазоне длин волн от 200-1500нм. ПЗС линейки могут комплектоваться элементами термоконтроля, что позволяет снизить уровень шума и повысить достоверность измерений. Скорость обработки спектров может быть от 100 спектров в секунду до 2500. Можно и медленне дышать. Скорость 100 спектров в сек позволяет обрабатывать объем в 5-10см/с - это примерно как человек. Методика спектрального анализа широко применяется в биологии, а вот в робототехнику без нашей помощи не пройдет. Представьте себе секретаря президента, робота, который нюхает почту президента. Или можно себе представить песика, который обнюхивает багаж в аэропорту на предмет взрывчатых веществ.
Запахи распространяются в виде эфирных масел или в виде частичек вещества в составе эфирных масел. Это и позволяет выделять и классифицировать отдельные запахи. Человеческий нос в сравнении с этой технологией весьма приметивен. Нос человека можно заменить тремя-четырьмя датчиками, также как и обмануть можно смешивая три четыре инградиента в разных пропорциях. Знание спектра дает гораздо более точную информацию, в том числе о химическом составе вещества. Человек никогда не полагается на одни орган, принятие решения строится на достоверности инофорамции собранной с различных органов чувств. Объект, который распознается как палка и пахнет порохом, может выстрелить. А палка которая пахнет хвоей наверняка дерево. Если на винтовку повесить освежитель воздуха, то каким бы эффективным не был освежитель, при достаточной производительности датчика, датчик будет регистрировать три типа запахов: порох, хвою и неопознанную смесь запахов. Которая может быть распознана, как сумма двух в определенной пропорции. Поскольку люменисциенция происходит от молекул и соответствует собственным частотам колебаний молекулы, а спектры излучения просто складываются, можно вделять раскладывать сумму запахов на составляющие.
Уши могут использоваться для ориентации в пространстве. Если при этом ещё что-то говорится, то на слух можно выделять окружающие предметы. Можно сделать радар на ултразвуке и это тоже будет ухо. Для нашего датчика ухо, нужно для характеризации окружающего пространства. Например, про стену можно сказать из какого материала она сделана. Постучать и послушать как оно звучит. Или по тому как от этого предмета отражается звук.
Технически уши представляют из себя от двух до четырех пьезо датчиков и звуковой сопроцессор обрабатывающий сигналы, спектры и фазы сигнала от всех датчиков. Конечно, сигнальный процессор мы делаем сами аппаратно.
Для принятия решения нам понадобиться распознавать тип материала из которого сделан наблюдаемый объект и соответствие его акустических свойств геометрическим размерам. Отраженный звук меняет спектр и фазы именно это и анализируется. Габариты печатной платы сравнимы с размером датчиков. Энергопотребление не превышает 200 мВатт.
Надо превзойти человека в точности движений и в скорости реакции! Можно. Попробуем абстрагироваться от типа приводов. Это может быть серво мотор, это может быть шаговый или трехфазный двигатель, это может быть что-то на гидравлике или пневматике, в любом случае управление током или управление напряжением исполнительного устройства, в крайнем случае частотная модуляция. На самом деле если устройство силовое, управление в любом случае строится на частотной модуляции управляющих сигналов.
Тут наше знание опять сводится к использованию аппратных решений на микросхемах CPLD (программируемые логические микросхемы). Мы предлагаем аппаратно реализованный алгоритм управления модуляцией напряжения, позволяющий производить и быстрое перемещение и точное позиционирование. Напряжение нужно уметь выствалять быстро и с любой немыслимой точностью. Оговорка только одна, чем дольше прицеливается глаз тем точнее наводится механика. Принцип работы алгоритмов - компенсация ошибки округления, причем компенсация происходит за счет фазовой модуляции сигнала. Точность позиционирования, которой можно достичь при тактовой частоте 100МГц будет 10-6 от величины шага двигателя или от величины управляющего напряжения. На плече в 50см, с шаговым приводом это бы означало перемещение на 10-50 мкм и в тоже время несколько десятков полных оборотов в секунду.
Если наш боевой робот сотню лет до списания стоит на дежурстве и держит палец на курке страшной пушки, пушка не должа стрелять без команды, никакая электромагнитная буря или любое проявление вирусной болезни робота, окончание гарантийного срока, попадание влаги или прогнившая изоляция не должны приводить к тотальному истреблению всего что движется. Даже если роботу оторвали голову или руку вместе с пушкой, никакие внешние воздейтвия не должны приводить к ложному срабатыванию исполнительного механизма.
Достигается это путем защиты протоколов обмена данными между сознательными, подсознательными и исполнительными компонентами робота. Залог безопасности в контроле целостности данных на каждом уровне обработки данных, в частности должна контролироваться целостность при передаче данных по линиям связи. Мы также встраиваем проверку целостности данных при передаче данных между микросхемами. Применение микросхем программируемой логики в задачах управления исполнительными механизмами позволяет встраивать логику контроля целостности данных непосредственно в алгоритмы управления.
Это датчики: индукционные, магнитные, емкостные, оптические, пьезорезистивные, какие угодно. Есть ряд требований, которые накладываются на реализацию. Все датчики подключаются по цифровому интерфейсу, каждый датчик или группа датчиков обрабатывается своим контроллером. Длина аналоговых линий должна быть минимизирована до нуля. Габарит платы датчика можно минимизировать до размеров самого датчика, например 12х12 мм и меньше. На сегодняшний день мы применяем RS485 с собственными протоколами обмена с контролем целостности данных, можем также применять LIN и CAN. RS485 в качестве нервных соединений на небольших растояниях (в пределах 50-100м) может иметь производительность до 25Мбит/с и позволяет параллельное подключение до 32 разумных датчиков. Разумный датчик подключается по четырем проводам (питание и сигнальная пара). Датчики должны иметь возможность подключаться и отключаться от системы без нарушения работоспособности. Как правило контроллер датчика занимается предварительнорй математической обработкой, которая позволяет повысить точность и достоверность измерений, а также разгрузить центральную нервную систему. Система должна допускать горячую замену датчиков и реконфигурацию датчиков не линии без нарушения работы.
Нервная система робота может быть очень разветвленной, мы её габариты никак не ограничиваем. Мы предлагаем решение задачи при любой постановке. Скажем боевой робот может занимать своими компонентами площадь как три Франции а может уложиться в одну микросхему. Для создания нервной системы робота мы можем использовать сетевые технологии TCP/IP поверх витой пары или оптических коммуникаций. Можем использовать сигнализацию BusLVDS, на растояних до нескольких метров. Можем перейти на беспроводную технологию, но одно остается неизменным, мы закладывам принцип вложенности протокола обмена по невной системе в пакеты транспортного протокола. Это позволяет создавать иерархические сети с маршрутизацией запросов без усложенения логики оконечных устройств и без усложенения логики работы мозга.
Для реализации иерархической системы обработки запросов мы предлагаем использование контроллеров сбора данных. Задача контроллера опрос оконечных устройств-датчиков и представление информации для обработки. Контроллеры сбора данных, минимальный габарит контроллера 40х40мм. В этом объеме мы можем реализовать 512 Мбайт/флеш памяти, для хранения базы данных по результатам измерений. два-три .. восемь-шестнадцать линий или расширить до несколько сотен интерфейсов сбора данных на основе RS485. Связь с обрабатывающим центром (Мозгом) можно заложить по интерфейсу Ethernet 100Мбит или BusLVDS.
С мозгом одна проблема, его можно выключить. В нашей концепции, мозга может быть много, он может дублироваться и голова может обладать свойством горячей замены. Голов может быть несколько, головы могут быть специализированные, каждая на свою задачу. Кратковременная потеря управления не должна нарушать работу системы в целом.