Open Hardware компания Elphel

Ольга Филиппова



В коротком выступлении вряд ли удастся успеть рассказать о технических особенностях камер Elphel, поэтому я расскажу о нашей компании и ее месте среди других Open hardware проектов, что нам удалось и с какими проблемами мы столкнулись.


Касательно же технических подробностей наших камер - добро пожаловать на Elphel Wiki, нашу рассылку, IRC и страницу на Sourceforge, который мы используем как для распространения программных разработок для пользователей, так и в качестве репозитория кода, который мы разрабатываем пока "для себя". Вряд ли он в сыром виде будет особенно полезным кому-то еще, но мы стараемся не решать этот вопрос за других.


Наверное, мы все-таки можем считаться успешной комапнией, ведь Elphel существует уже более девяти лет. Всего за несколько месяцев до основания компании, Андрей Филиппов, её основатель , еще не знал слова "Линукс" - он тогда работал на фирме Cordin и наблюдал как его коллеги (и соотечественники) пытались решить вроде-бы несложную задачу - подключить к одному встраиваемому компьютеру несколько цифровых камер (чем больше, тем лучше, но хотя бы штуки 4-8), чтобы каждая одновременно зарегистрировала по одному кадру. Начали они с привычных им Windows CE. Хотя компьютер был какой-то нестандартный, система на него установилась за несколько дней и они смогли подключить одну камеру. И все - подключить желаемые 4-8, чтобы с них одновременно регистрировалось по кадру не получилось - даже с платной поддержкой уважаемой корпорации.


Аналогичная история повторилась и с "Embedded NT" (XP в те времена еще не было) - стандартное применение (с одной камерой) получилось быстро, но дальше - как бетонная стена.


Потом они месяц колдовали с чем-то, что никак не удавалось запустить на новом "железе", но в конце концов на компьютере запустилась система с красной закорючкой в середине белого экрана. И вот тут-то и началось главное - через несколько дней они запустили сначала 4, а потом и 8 камер, хотя им и пришлось написать для этого "строк 15 кода"


На Андрея это произвело очень большое впечатление и он загорелся идеей создания камеры на основе Линукса о существовании которого он только что узнал. Этот путь ему показался максимально похожим на устройство современной науки (в отличии от проприетарной алхимии), где можно "стоять на плечах гиганта" и знания, добытые одной лабораторией после публикации становятся доступными для ученых во всем мире, которые могут двигаться дальше, и никому не приходится "изобретать велосипед".



Одержимый такой идеей, и понимая, что на фирме где он работал такая идея октрытых разработок вряд ли будет оценена, Андрей сообщил своему начальству, что после завершения текущего проекта (а у него последние полгода ушло на реализацию SCSI интерфейса для CCD камеры на Ассемблере) он собирается уволиться и заняться разработкой Линукс-камеры. При этом у него была несколько утопическая идея, что удастся сохранить хорошие отношения и вместо работника стать субподрядчиком, поставляя им стробируемые камеры с МКП-усилителями, которые Cordin использовал в своих скоростных фоторегистраторах.


Фирму в США, конечно, было организовать легко, что мы и сделали, предварительно найдя подходящее название, для которого ".com" еще не был занят. Разработка первой камеры Elphel оказалась тоже не слишком длительным процессом - через 3 месяца первый прототип уже был способен выдавать JPEG-картинки черз встроенный веб-сервер - ведь большинство необходимых программ уже были написаны кем-то еще. Да и стробируемый усилитель яркости удалось добавить за пару месяцев. Но вот дальше все оказалось гораздо сложнее - отношения с бывшим работодателем испортились, а пробиться на рынке с достаточно специфическими продуктами, будучи никому не известной компанией очень сложно.


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


Сейчас мы видим, что ориентация на высоко-квалифицированных клиентов возможна (и разрабатывать такие устройства очень интересно), хотя осуществить такой подход оказалось гораздо труднее, чем мы надеялись. Ведь разработка высокопроизводительных устройств стоит дорого, исправление "багов" в железе помимо собственно их обнаружания и исправления на прототипе (когда это возможно) требует недешевого изготовления нового набора печатных плат, приобретения компонетов, сборки. Не имея больших финансовых средств мы старались вести такие разработки, которые, сохраняя максимальную производительность, позволяли бы быстро (и недорого) "перепрограммировать" камеры под различные применения, напрмер, - различные сенсоры, в том числе такие, которые появились уже после выпуска самих камер. Для таких применений комбинация процессора под управлением GNU/Linuх и перепрограммируемой FPGA на наш взгляд, наиболее подходящая, и мы используем такую схему во всех наших камерах.


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


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


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


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

В камере NC323L используется 11 Мегапиксельный CCD сенсор от Кодак, подключенный к двум системным платам, две - для ускорения скачивания картинок. В данном случае пригодилась гибкость дизайна и разработка на основе уже существующей камеры заняла немного времени.

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

Помимо качества изображения нашему заказчику была неоходима высокая скорость скачивания и надежный цыфровой затвор.

Коллективно, модель камеры 323 сделала несколько миллиардов фотографий высокого разрешения.




Следующим заказом от компании Google были модули камеры Elphel для проекта Streetview.

Как сказано в Википедии “...Recently, high quality images are based on open source hardware cameras from Elphel”




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


Большинство наших клиентов - университеты, научные лаборатории, start-up(ы), т.е. новые инновационные компании, и для них открытость совмещенная с передовыми технологиями является необходимым условием успеха их деятельности.


Мы, в свою очередь, также заботимся об удобстве и легкости осуществления модификаций. В дополнение к системным языкам програмирования C, C++, мы используем наиболее широко применяемые языки веб-програмирования, HTML, Javascript, PHP, для удобства как можно более широкого круга пользователей-разработчиков.

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


К примеру можно привести такие проекты на базе камер Elphel, как проэкт SCINI - подводный робот, созданный научной морской лабораторией Moss Landing Marine Lab, для наблюдения за живыми организмами, подо льдами, у берегов Антарктиды.


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


Другой интересный пример использования камер Elphel - это сьемки из около-космического пространства. Камера была встроена в научное оборудование, и установлена на беспилотный самолет NASA Global Hawk, для наблюдения, в частности, за состоянием полярных льдов. Самолет летел на высоте 20 км и находился в воздухе до 36 часов.


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


И последний пример:

Необычный проект - Apertus - открытая кинематография.

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


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

Ими разработано дополнительное оборудование (надстройки), в прямом смысле "hardware", и также открытое software для управления сьемкой.

Недавно этот проект был отмечен заметкой в Slashdot.


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


Эти качества обеспечили присутствие камер Elphel на всех 7 континентах, включая Антарктиду.


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


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


Одновременно мы разрабатываем следующую модель камеры, на базе более мощного процессора DaVinci и следующего FPGA, Xilinx Spartan 6.


Текст распространяется по условиям лицензии GNU FDL 1.3


© 2010 Elphel, Inc.