Лаборатория роботехники и девушки в Сколково
Сколково в ноябре напоминает военно-воздушную базу Ванденберг — военное сооружение с космодромом, расположенное в США (округ Санта-Барбара штата Калифорния). Та же безблагодатная жухлая равнина под серым небом, на которой стоят коробки и призмы загадочных сооружений. Вот сравним несколько мест Сколково и базы Ванденберг (по первому я ходил, а вторую фотографировал из окна поезда):
Это Сколково:
А вот это Ванденберг:
Однако в Сколково за этой суровостью работают девушки той утонченной красоты, которая растет только рядом с высокими технологиями:
Я зашел в Сколково по приглашению Николая Суетина, главного сколковца, разбирающегося в электронике, преимущественно с физической стороны. То есть он не только директор по науке и технологиям в ИТ-кластере «Сколково», но еще и реальный ученый, автор более 20 патентов и более 200 научных публикаций в области физики, химии, наноматериалов и электронике:
Я побеседовал с Николаем Суетиным об опубликованных сделках Imagination Technologies с группой компаний «Элвис» и Байкал Электроникс. Как бывалый интеловец, Николай напомнил, что на рынке микросерверов ни Imagination, ни ARM так и не потеснили Интел. Я сослался на недавно выпущенный 64-битный Out-of-Order процессор MIPS P6600, но Николай отнесся к этому скептически, на что я не стал спорить — позиции интела на рынке серверов несомненны, посему там все непросто.
Дальше Николай представил меня джентльменам в Robotics Labs — Дмитрию Тетерюкову и Михаилу Матросову. Там же проходил руководитель робототехнического центра Альберт Ефимов, и на одном из фото вы можете увидеть Петра Левича, с которым я познакомился потом:
Михаил Матросов показал мне квадрокоптер с камерой, который распознает лица и вручает нечто человеку:
Для контроля моторов и сенсоров они используют классический AVR-ный Ардуино, для распознавания образов — компьютер на интеловском процессоре.
Я согласился, что простые встроенные системы вполне можно программировать в программной среде Ардуино, не заморачиваясь профессиональными средами, так как в среде Ардуино есть способы обработки прерываний, т.е. она достаточно гибкая для приложений требуемого типа. Однако у меня сразу возник вопрос, преподают ли в Сколтехе курсы по 1) профессиональному программированию микроконтроллеров и 2) использованию операционных систем реального времени (с введением таких концепций как tasks, event, mailbox, semaphore и т.д.)
Выяснилось — нет. Лаборатория роботехники в Сколтехе сделана по образу и подобию соответствующей лаборатории в MIT и других международных университетах, и ее цель — быть сфокусированными чисто на роботехнике, в не на технологиях, на которые опирается роботехника.
По этой же причине они как правило не проектируют свои платы (PCB), хотя у них есть специалист по проектированию плат.
То же самое относится и к программам распознования образов. Роботехнические сколковцы используют готовые open-source программы распознавая, скрепляя их с контролирующими камеры, сенсорами и активаторами сравнительно небольшим количеством glue кода.
Так как я сам 25 лет назад работал над программой распознавания, я согласился с товарищами, что это не должно делаться в лаборатории роботехники. Так как такие программы состоят из сотен алгоритмов (и общего назначения и ad hoc), и каждый алгоритм может быть темой целого исследования для одного исследователя (который потом публикует об этом статью) или целым многомесячным проектом для программиста-практика (который статьи не пишет, а довольствуется практическими результатами).
Однако тут встает интересный вопрос. Возьмем другие лаборатории роботехники, например вот я как-то заехал в подобную лабораторию в 4-х летнем инженерном колледже Harvey Mudd College рядом с Лос-Анжелесом. Выглядит он так:
Эта лаборатория в Harvey Mudd, как и у сколковцев, тоже фокусируется на конечных системах, а не на технологиях, на основе которых строятся компоненты этих систем. Однако в Harvey Mudd, как и в других вузах этого типа, в тех же зданиях, есть и курсы по технологиям компонент — основы цифровой логики, лабы с микроконтроллерами и ПЛИС-ами, введению во встроенные системы и т.д.
Посему и от сколковцев я бы ожидал наличия рядом экспертизы по данным вопросам. А также соответствующих курсов или в Сколтехе, или в сотрудничающих с ними других учебных учреждениях. Честно говоря, я так и не понял, как они решают эту проблему.
С одной стороны, в 2010 году в прессе муссировалось, что якобы сколковцы планировали ввезти всю такую экспертизу с Запада поскольку они хотели разорвать с традиционными российскими вузами которые были якобы 1) ретроградами 2) традиционно связанными с ВПК, что омрачало западных партнеров (вспомним что тогда даже Макфол участвовал в технотусовках).
С другой стороны понятно, что закон Ома и правила булевой алгебры не зависят от полушария Земли и степени восторженности при обсуждении Стива Джобса (это пункт, который мне приходится периодически разъяснять гуманитариям), поэтому было бы логично приспособить для нужд преподавания курсов по технолониям компонент традиционные российские кадры, т.е. создать смычку Сколкова с МИФИ, МГУ, МФТИ, МИЭТ, ИТМО и другими вузами такого типа.
Я думаю, что это в конечно итоге и произойдет, особенно учитывая, что традиционные российские вузы и сами не стоят на месте, а обновляют свои программы. Ибо ввозить в Россию профессоров из Америки или там Японии для преподавания основ цифровой логики, языков описания аппаратуры Verilog, программирования микроконтроллеров, создания RTOS-ов и других такого рода вещей — это не есть cost efficient.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Помимо осмотра сколковских лабораторий я предложил им попробовать некоторые продукты от нашей компании Imagination Technologies и наших партнеров. В частности платы на основе микроконтроллера Microchip PIC32MZ как альтернативный Ардуино и более мощный контролирующий компьютер. Платы на основе Microchip PIC32MZ могут программироваться как с помощью индустриальной среды MPLAB X, так и с помощью точного аналога среды Ардуино MPIDE.
Также сейчас Imagination спонсирует создание нового университетского курса по программированию микроконтроллеров Microchip PIC32MZ, причем этот курс включает RTOS-ы и новомодное соединение микроконтроллеров с облаком. Главный создатель курса — профессор Алекс Дин из Университета Северной Каролины, в комитет по созданию курса входят представители Imagination Technologies (в том числе я), Microchip Technology и Digilent (отделение National Instruments).
В ревью и бета-тестировании курса будут принимать участие и некоторые российские вузы. Микроконтроллер Microchip PIC32MZ как основа курса превосходит популярные альтернативы (STM32F3/4) тем, что несет в себе кэши и TLB MMU, что расширяет опции для обучения (даже позволяет запустить на PIC32MZ операционные системы Linux и BSD (Lite)).
Вот пару слайдов Алекса Дина на конференции Microchip Masters по поводу этого курса:
Хорошо, PIC32MZ годится для контроля. А как насчет встроенного компьютера средней производительности / высокой энергоэффективности, который можно было бы применить для более сложных алгоритмов, например для для распознавания образов?
Именно о таком компьютере был недавний пресс-релиз от Imagination. Плата MIPS Creator Ci40 — это общедоступная плата на основе SoC с микропроцессорным ядром MIPS interAptiv с поддержкой многопоточности на одном ядре — того, чего нет у конкурирующей с MIPS/Imagination компании ARM.
MIPS interAptiv использует для распознавания образов в частности компания MobilEye которая создала на его основе систему предотвращения столкновений автомобилей. Клиентами MobilEye являются более 20 компаний, в частности Audi, BMW, Fiat, Ford, General Motors, Honda, Nissan, Peugot, Citroen, Renault, Volvo и Tesla.
Пару лет назад я слелал слайды с объяснением преимуществ многопоточности на одном ядре по сравнению с многоядерной системой. Главное преимущество — повышение эффективности, производительности на милливатт, за счет более полной загрузки конвейера процессора. Пока один поток/тред долго чего-нибудь ждет, инструкции из других тредов могут проходить через конвейер процессора. Пример ожидания: загрузка данных из памяти, если этих данных нет в кэше, может занимать до 150 циклов и выше. Слайды основаны на ядре MIPS 34K, предшественнике MIPS interAptiv, но практически все что верно для 34K, верно и для interAptiv:
С технической частью все, теперь еще несколько фоток Сколкова. В нем есть например водоем:
Он совсем другой, чем ручей, который течет по Silicon Valley между офисами Imagination и Intel:
И наконец фотка меня со сколковскими карандашами. Архитекторы этого здания явно знакомы с оформителями офисов Гугла:
В заключение я могу сказать, что Сколково, как это не странно, полностью открыто для посещений. Хотя говорили, что оно якобы окружено колючей проволокой и вообще, но на самом деле туда трудно проехать только на автомобиле (серьезный контрольно-пропускной пункт). Если же хотите походить там пешком, то все что вам нужно — это приехать на парковку рядом со входом (либо на автобусе от метро, либо на машине), после чего сесть на шаттл и без всяких проверок проехать через этот самый КПП, после чего ходить и наслаждаться запахом осенней травы и ранним снегом вокруг сколковских зданий и водоемов (внутрь гиперкуба тоже можно пройти без проблем).
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.