Русский
Русский
English
Статистика
Реклама

Severstalitpeople

Как мы прокачали телеметрию крупного металлургического комбината

22.12.2020 16:08:30 | Автор: admin

Привет, Хабр! Я Ольга Пешина, эксперт по развитию новых технологий. Когда нашему производству огромной металлургической компании Северсталь требуется поиск, проработка и внедрение инновационных идей или прорывных информационных технологий, обращаются к нам.


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


Как сейчас: сбор данных по оптике


Для сбора информации с наиболее критичного оборудования мы используем оптическую сеть. У такого решения есть масса преимуществ. Это отличная среда передачи для сценария, где важны объёмы транслируемой информации и гарантии доставки с минимальными задержками.


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


В общем, кабель порой приходится прокладывать заново, что влечёт как финансовые затраты, так и производственные риски. Ведь ситуационный центр нашей службы мониторинга состояния оборудования (СМСО), который следит за состоянием агрегатов по стационарным системам мониторинга и, соответственно, предотвращает аварии на оборудовании, становится слепым на время восстановления.
image


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


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


Пилот на LoRaWAN


Мы рассматривали несколько вариантов, в том числе Private LTE и NB-IoT. Смотрели и в сторону проприетарных решений. Но в итоге остановились на LoRaWAN, на базе которого и развернули пилотный проект. Он показал неоспоримые плюсы.


Частотный диапазон


Главный плюс, пожалуй, заключается в том, что сеть LoRaWAN, в отличие от Wi-Fi, работает в частотном диапазоне до 1 ГГц (кстати, нелицензируемом) с возможностью изменения параметров передачи. Высокая проницаемость субгигагерцевых сигналов позволяет передавать данные даже из подвала, который находится под металлопрокатным станом. Именно этот результат вдохновил нас больше всего.


Производители оборудования LoRaWAN заявляют дальность связи до 5 км в сложных условиях. В ходе пилотного внедрения в условиях повсеместного металла удалось получить устойчивый сигнал в радиусе 2,5 км от базовой станции. Для этого проекта мы ставили условие потери не более 5 % пакетов при передаче, но в течение полугода эксплуатации потери не превышали 1 %. Наши расчёты показывают, что 9 базовыми станциями, установленными на высоких объектах завода (трубах и т. п.), мы покроем сетью всю территорию, при этом будем работать не на предельных расстояниях, а с запасом.


Стоимость технологии


Подсчёты показали, что развертывание сети LoRaWAN для решения нашей задачи более чем в 10 раз дешевле аналогичной оптической.


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


Открытый протокол


Но даже получив хорошие результаты в частотном диапазоне LoRaWAN, мы всё ещё смотрели и на проприетарные протоколы того же участка спектра, которые заявляют большую скорость передачи данных. Они действительно работают: передают более серьёзные объёмы информации или значительно уменьшают интервал дискретности передачи. Но зависимость от вендора в условиях нашего зоопарка технологий не лучшая идея. Да и с точки зрения конкурентоспособности мы не хотели бы замыкаться на конкретных производителях, когда есть классическая открытая LPWAN-система.


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


Автономность устройств


Автономность LoRa-устройств закрывает проблему невозможности монтажа проводных решений на некоторых узлах. Но при этом мы упираемся в энергопотребление. Если нет проводной сети, то, как правило, нет и электрического кабеля. Поэтому новый вопрос замена батарей, которые обеспечивают эту автономность. Обидно будет, если дешёвая технология сбора информации с датчиков существенно поднимет затраты на обслуживание, например на штат сотрудников, которые целыми днями будут ходить по предприятию и менять, менять, менять батарейки.


Устройства LoRaWAN, которые мы тестировали в рамках пилота, при передаче раз в 5 минут продержали заряд более 3 месяцев. А это как раз минимальный срок, который нас устраивает.
Конечно, кому бы не хотелось, чтобы батареи работали год? Но тут многое зависит от условий работы. Очевидно, что при частой отправке данных или при минусовых температурах (если датчики находятся на улице зимой) длительность автономной работы будет меньше. Но мы не оставляем надежд найти партнёров, которые будут производить более энергоэффективные устройства или использовать новые типы батарей.


Безопасность


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


Ложка дегтя


Безусловно, у LoRaWAN есть недостатки. Главный заключается в невозможности передавать большие объёмы информации у стандарта очень низкая пропускная способность. К тому же сигнал дискретен, то есть данные не льются онлайн. Сейчас устройства отправляют информацию раз в 5 минут минимально возможный промежуток времени между пакетами на нашем пилотном стенде. Это ограничивает сферу применения LoRa, но не заставляет нас полностью отказываться от дешёвого и удобного по многим показателям стандарта.


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


Боевой проект


Масштабное внедрение на промплощадке в Череповце только стартует. Активная фаза проекта запланирована на 2021 год.


Пока вопросов много, в том числе по помехам и ёмкости сети. Имея только теоретические расчёты на основе радиоразведки, мы не знаем, с чем столкнёмся на практике. Удастся ли нам разместить датчики так, как мы планируем? Будут ли они мешать работе оборудования? Не снесёт ли их первый же проезжающий мимо погрузчик? Не окажется ли потребность в передаче информации выше, чем мы проектировали, и не придётся ли нам срочно увеличивать запланированное количество базовых станций?


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


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


Не исключаю, что со временем у нас появятся и другие беспроводные промышленные решения, например Private LTE. Он может пригодиться там, где мы, с одной стороны, не можем протянуть провода, а с другой, всё же вынуждены передавать большие объёмы данных. Например, видеоданные с камер на удалённых площадках. Такой зоопарк решений это неплохо, когда каждое из них используется там, где это наиболее целесообразно.


Проект с LoRaWAN наверняка будет тиражироваться на других площадках Северстали. Уже сейчас нам поступает много запросов от коллег. А некоторые предприятия, оценив пилот, не стали дожидаться результатов нашего полномасштабного внедрения и запустили собственные проекты. Коллегам понравилась экономичность и уровень надёжности передачи данных с использованием этой технологии. Если мы в своих задачах отталкиваемся от мониторинга, то они решают с помощью LoRaWAN иные задачи, например контроль расходов электроэнергии и воды.


Хабравчане, а вы работали с LPWAN-решениями? Расскажите про свой опыт и кейсы применения.

Подробнее..

БудниDevOpscобираемgcc9.3.1подCentOS8

21.04.2021 16:08:09 | Автор: admin

В Северстали внедрены большие корпоративные системы, такие какSAPилиQMET,но есть и много разных задач, которые закрывает собственная разработка,и задачи у этой разработки редко бывают простыми. А значит, и требования к инструментам разработки бывают достаточно специфическими.Что делать, если вашим разработчикам потребовалсяgcc-9подCentOS,а его нет в общедоступных репозиториях? Конечно, засучить рукава исоздать требуемые пакеты. Вот только задача эта выглядит просто только на первый взгляд.

Если вам интересно, какие грабли разложены на пути к замене системного компилятора, и как мы с ними справились, добро пожаловать под кат.

Stage1.Собственно сборкаgcc

Здесь казалось бывсё просто: берёмgcc.specот пакетаgcc-8.3.1, меняем 8 на 9, запускаемrpmbuildbb,долго ждём? Да, но нет. Для начала придётся пересмотреть и поправить все патчи, а заодно ещё и поставитьbinutilsпосвежее,благо этонесложно. Потом, мы же не просто так компилятор меняем, нам же ещё какие-нибудьnvptx-toolsподавай, а это значит, что когда сборка закончитсяи начнется тестирование, тесты вlibgomp,завязанные на выгрузку кода, начнут виснуть и застревать в разных странных позах.

Решения тут может быть два:

  1. Консервативное: сказать разработчикам извините, нешмогла и отключитьnvptx-tools.

  1. Экспериментальное: предупредить разработчиков, чтоnvptxони используют на свой страх и риск, после чего запуститьrpmbuild, дождаться застревания в тестах и отстреливать их руками. Вы получите массовыеtestsfailedв результатах, но искомые пакеты будут собраны.

Stage 2. Packagelibgcc.i686 has inferiorarchitecture

Итак,мыскладываемвсеэтизамечательныеgcc-9.3.1-3.el8.x86_64.rpm, gcc-offload-nvptx-9.3.1-3.el8.x86_64.rpmит.д.ит.п.вотдельныйрепозиторий,индексируемего,подключаемв/etc/yum.repos.d,говоримdnfupdateиНет, ну вы правда думали, что он возьмёт и сразупоставится? Как бы не так. Как известно, 64-разрядные дистрибутивы семействDebianиRedHatдля семейств процессоровx86 в глубине души немножечко 32-разрядные (то есть, по умолчанию существуют в режимеmultilib), и поэтому вам потребуется илиобъявитьmultilibпережитком прошлогои снести 32-разрядные библиотеки системного компилятора, или создать соответствующие пакеты (libgcc.i686,libgfortran.i686,libgomp.i686,libquadmath.i686 иlibstdc++.i686) для новой версии. Как ни забавно, но решения тут тоже может быть два:

  1. Рекомендованное производителем: поставитьmockи выполнитьполнуюсборку дляi686, наступив на все сопутствующие грабли (nvptx,например, лучше сразу выключить).

  1. Ленивое на скорую руку: дело в том, что 32-битные версии библиотек на самом деле собираются вместе с 64-битными,ноникудав итогене попадают. В стандартной версииgcc.specони вообще тупо удаляются, но это как раз недолго изакомментировать. А потом скопироватьgcc.specвlibgcc-i686.spec, вымарать из него всю секцию %build, а в %installнаписать примерно следующее:

%install rm -rf %{buildroot} mkdir -p %{buildroot} tar cf - -C %{_buildrootdir}/%{name}-%{version}-%{release}.x86_64 usr | tar xf - -C %{buildroot}  FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}  # fix some things mkdir -p %{buildroot}/%{_lib} mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1 chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1 ln -sf libgcc_s-%{gcc_major}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1  mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++*gdb.py* \       %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ pushd %{name}-%{version}-%{DATE}/libstdc++-v3/python  for i in `find . -name \*.py`; do   touch -r $i %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/$i done touch -r hook.in %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc++*gdb.py popd  for f in `find %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/ \        %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ -name \*.py`; do   r=${f/$RPM_BUILD_ROOT/}   %{__python3} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'   %{__python3} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")' done  rm -rf %{buildroot}%{_prefix}/%{_lib}/%{name} 

Теперь достаточно сказатьrpmbuildbblibgcc-i686.specгде-то в соседнем терминале, покаgccразвлекается своимtorture,ивуаля, наши32-битные пакеты у нас в кармане (в смысле, в $RPM_BUILD_ROOT/RPMS/i686).Мы копируем их в наш репозиторий, индексируем его, запускаемdnfmakecacherepogcc-9 &&dnfupdateи Нет, обновить компилятор всё ещё нельзя.

Stage3.Annobinиlibtool

Те, кто внимательно смотрит на параметры сборкина линуксах линеекRHELиCentOS, могли заметить, что по умолчанию вgccподключен плагинannobin.У этого плагина есть неприятная привычка привязываться к версии компилятора, поэтому его придется пересобрать. Детали в принципе изложены в самомannobin.specв комментариях, поэтому отметим только, что пересобрать его придётся минимум дважды: сперва, используя ещё системныйgcc8.3.1,поправить требование к версииgcc,чтобыgcc< %{gcc_next}превратилось вgcc<=%{gcc_next}, потом, уже заменивgcc,пересобрать заново, вернув требованиеgcc< %{gcc_next}ираскомментировавстроку%undefine_annotated_build иначе вообще ничего собираться не будет. Ну и для чистоты можно пересобрать в третий раз, вернув_annotated_buildна место, а предыдущие две версии пакетов (переходную и без аннотациибинарей) из репозитория удалить.

Остаетсяlibtool.Этот джентльмен тоже жёстко привязывается к версииgcc,но к счастью, зависимость эта односторонняя, поэтомуlibtoolможно просто удалить перед заменойgcc,затем собрать его заново новымgccи добавить соответствующий пакет в наш репозиторийgcc-9.

Как ни странно, на этом всё. У нас есть отдельный репозиторий, подключив который, можно поставить требуемую версию компилятора, а при необходимости вернуть обратно системную версию (командойdnfdowngradegcc),хотя необходимости такой у нас не возникало.

Хабравчане-девопсы, а какие у вас бывали нестандартные запросы от разработчиков?

Подробнее..

Обучение, удалённая экспертиза и другие сферы применения ARVR в металлургической промышленности

27.01.2021 18:04:51 | Автор: admin

Привет, меня зовут Денис Колупаев, я возглавляю команду AR/VR-разработчиков в компании Северсталь. В нашей компании технологии виртуальной и дополненной реальности начали внедрять по инициативе экспертов управления по развитию новых технологий нашего центра R&D в IT. Было непросто объяснить начальству, зачем это здесь, на металлургическом производстве, нужно Сначала наши эксперименты с геймерскими девайсами и игровыми движками воспринимали с определённым скептицизмом, но после первых пилотов сомнения в профпригодности AR/VR развеялись. Хочу поделиться опытом внедрения этих технологий, рассказать о наших кейсах и сделанных выводах. Если вам интересно, зачем сотрудникам Северстали AR-очки и VR-тренажёры, добро пожаловать под кат.


image


Как всё начиналось


Промышленность не первый год осваивает AR/VR. В качестве примера можно вспомнить производственный центр компании Ford, где VR-технологии уже давно помогают обучать сотрудников, выявлять потенциально опасные операции и оптимизировать рабочие процессы ещё до запуска новых конвейеров. Россия не отстаёт: по данным прошлогоднего исследования, охватившего 100 крупнейших отечественных предприятий, AR/VR-технологии использует 21 % компаний. 40 % из них в IT-секторе, 33 % в металлургии, по 25 % в телекоммуникационной и нефтегазовой сферах.


Это неудивительно: технология достаточно зрелая. Но если первые виртуальные шлемы, очки, контроллеры и ПО к ним разрабатывались в основном для игровой индустрии, то сейчас создатели VR-решений всё чаще ориентируются на корпоративный сегмент.


Поначалу я был единственным сотрудником Северсталь-инфокома, занимавшимся AR/VR. Постепенно команда разрасталась, и в апреле 2019-го нас отделили от R&D, сформировав отдельное направление. Сейчас в команде более 10 человек: разработчики, 3D-дизайнеры и другие специалисты по AR/VR.


Первый пилот стартовал в январе 2018 года, это были интерактивные инструкции по разборке и дефектовке насосного оборудования. Идея основывалась на использовании дополненной реальности и не требовала применения каких-либо дополнительных девайсов, кроме смартфона: с помощью мобильного приложения сотрудник считывает QR-код на оборудовании, после чего у него на экране отображается 3D-модель соответствующего насоса. Её можно поэтапно разбирать и собирать, используя экран телефона как инструкцию по реальной сборке-разборке.


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


image


Понять процесс и создать эффект погружения


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


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


Кроме того, в виртуальном пространстве появляется отличная возможность имитировать какие-то нештатные происшествия: пожар, аварийную остановку оборудования. Один из наших тренажёров на сегодняшний день их 13 предназначен для шахтных рабочих, в нём обыгрываются ситуации с обвалами, задымлением. Мы можем посмотреть, как поведёт себя человек в случае ЧП, отработать технику безопасности, не подвергая его риску.


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


Главное из преимуществ обучения на VR-тренажёре погружение в процесс. Если мы слушаем лекцию или смотрим обучающие ролики, велик соблазн отвлечься на телефон, какие-то параллельные занятия. Наши тренажёры такой возможности не дают: мы максимально сконцентрированы на материале, находясь в виртуальном пространстве. Поэтому обучение идёт быстрее, и вся необходимая информация запоминается гораздо лучше. Но для этого нужно всё делать правдоподобно, реалистично.


Если какая-то операция выполняется с помощником создаём виртуальных персонажей, которые выглядят и двигаются естественно. Добавляем качественную графику и достоверную механику и добиваемся максимального погружения. Мы убеждены, что механика тренажёра должна повторять некий жизненный опыт, чтобы можно было не просто нажать на инструмент и применить его, а, например, открутить что-то гаечным ключом и т. п. Некоторые считают такое внимание к деталям неоправданным, но у нас другая позиция: такой подход как минимум тренирует мышечную память у обучающегося.


image


Пандемия внесла коррективы: 3D-режим и AR-проекты


В этом году в связи с пандемией мы начали добавлять в наши тренажёры дополнительный режим возможность пройти курс в 3D. Всё выглядит как обычная компьютерная игра: для обучения не требуется VR-шлем или другое специальное оборудование, только обычный компьютер с мышью, клавиатурой и монитором. Конечно, в этом случае теряется эффект погружения. Но для тех, кто может обучаться только дистанционно, такой вариант всё равно лучше чтения теории или просмотра видео. Тем более что можно сначала изучить курс дома на 3D-тренажёре, а затем перепройти виртуальную версию и закрепить материал в наших специальных VR-кабинетах для обучения.


Главная проблема при создании этих домашних версий заставить 3D-тренажёр работать на обычных пользовательских устройствах вроде портативных ПК без дискретной видеокарты, на встроенной графике. Нам это удалось: недавно мы выпустили второй тренажёр, в котором есть и VR, и 3D.


Удалённый помощник ещё один проект, связанный с карантинной ситуацией этого года. Сценарий такой: сотрудник в смарт-очках звонит со своего рабочего места на производстве эксперту, который может находиться где угодно, главное, чтобы у него был интернет. Изображение с очков транслируется в смартфон или компьютер эксперта. Тот, в свою очередь, может указать на проблемные места прямо на картинке и сотрудник увидит указку в дополненной реальности очков. У сотрудника на производстве, помимо прочего, при таком решении остаются свободными руки. Мы попробовали несколько вариантов и пока остановились смартфонах и смарт-очках RealWear с Microsoft Teams: такое решение оптимально по стоимости и соответствует нашей политике безопасности.


Другой интересный проект, который находится в стадии разработки, дополненная реальность для навигации на складе. Суть в том, что человек идёт по заранее просчитанному оптимальному маршруту, комплектует заказ, а затем подтверждает его в смартфоне или в очках. Пока получилось создать трёхмерную карту склада и приложение, которое просчитывает маршруты. А с трекингом проблема. Попробовали Spatial Mapping, облако точек не подошло. Экспериментировали с Bluetooth-маячками слишком большая погрешность, разброс метров до пяти. Продолжаем искать: изучаем опыт коллег, общаемся с ребятами из других компаний, которые занимаются подобными вещами.


Примерно 80 % из того, что мы внедряем, это VR. Дополненную реальность в основном исследуем.



Из чего делается другая реальность: оборудование и ПО


Оборудование у нас, по сути, такое же, как и в игровой индустрии. Мы используем преимущественно шлемы HTC Vive Pro и HTC Cosmos, но недавно начали экспериментировать с мобильными шлемами Oculus Quest, которые уже не привязаны к ПК. Кроме того, нам понравилась новая система трекинга, которая не использует контроллеры: движения рук захватывают камеры, расположенные на шлеме. Такой подход имеет свои минусы, например нельзя ставить руку ребром к камере в таком положении она не распознаётся. И, разумеется, руки нужно держать в поле обзора.


Бесконтроллерная технология идеально подходит для случаев вроде тренажёра машиниста коксовых машин, когда обучающийся постоянно сидит в кресле и держит руки перед собой на виртуальной панели управления. Пока для этой цели мы пользуемся контроллером Leap Motion, который захватывает движения рук и переносит их в виртуальную реальность. Пробовали несколько вариантов перчаток, но тут есть некоторые ограничения по масштабируемости: перчатки могут стоить не меньше, а то и больше иного шлема.


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


На Unity всё ещё работаем, делаем приложения для AR. Они получаются легче, к тому же необходимое там оборудование, такое как очки от Microsoft HoloLens, охотнее дружит с C# языком Unity. А для приложений на Unreal Engine 4 можно вообще не пользоваться кодом: Blueprints внутренний нодовый редактор, полностью графический, позволяет сделать всё с помощью мышки. Но мы пользуемся им только для прототипирования, финальные проекты пишем на C++.


Процесс программирования, который затрагивает механику взаимодействия с виртуальным миром, поведение объектов во время взрывов и других нештатных ситуаций это достаточно сложно. Но и трёхмерное моделирование сложный процесс: сначала создаём геометрию, затем развёртки, текстурирование, анимацию и пр. Для моделирования мы используем 3ds Max, Blender, а также пакеты для текстурирования Substance Painter и Substance Designer, которые позволяют рисовать сразу по мешу. Для создания и персонализации персонажей-ботов, захвата движений, анимации iClone и Character Creator 3.


image


Что дальше: платформа, мультиплеер и VR под заказ


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


Лаунчер наподобие игровых, как Steam, ставится на компьютер сотрудника. После входа под логином и паролем открываются доступные для прохождения курсы. Платформа позволяет сразу запустить и пройти 3D-версию, а для виртуальной версии нужно зарегистрироваться на свободное время для посещения VR-класса. Здесь можно будет найти справочную информацию, описание элементов управления, помощь по прохождению.


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


В планах на следующий год реализовать мультиплеерный режим. Для чего он нужен? Например, в нашу компанию входит предприятие Северсталь-Метиз, фабрики которого находятся в Волгограде и Череповце. На каждой из фабрик есть волочильный стан оборудование для изготовления проволоки. Мы сделали такой VR-тренажёр, Волочильщик проволоки, и было бы интересно, чтобы коллеги из разных локаций могли соревноваться между собой или совместно проходить обучение в режиме мультиплеера.


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


Как стать AR/VR-разработчиком и каковы перспективы этой технологии


Все члены нашей команды молодые ребята, обучавшиеся с нуля, со стажёрских позиций. Во-первых, так уж повелось в нашей команде: кадры мы привыкли растить сами. Во-вторых, готовых AR/VR-специалистов найти сегодня достаточно сложно или дорого: разработка под игровые движки узкая специализация. В процессе ковки кадров мы смотрим, кому какое направление ближе: 3D-моделирование, программирование базовых сервисов или работа с движками. И предлагаем углубиться в ту область, которая больше нравится.


Проблема в том, что наши вузы практически не выпускают VR-программистов или геймдевов. Зато есть огромное количество различных обучающих платформ, таких как Skillbox или Яндекс, которые помогут на базовом уровне освоить Unity, Unreal Engine или 3D-моделирование. Можно пойти на любой из этих курсов или обучаться самостоятельно. Тот же YouTube поможет освоить какие-то базовые вещи.


Как я уже говорил, у Unity немного ниже порог вхождения: комьюнити большое, информации много. Но зато специалистов по Unreal Engine сложнее найти, поэтому они больше ценятся.
Стационарное оборудование всё ещё достаточно дорогое, громоздкое и требует мощного компьютера, а мобильные VR-устройства пока проигрывают в качестве картинки. При этом перспективы AR/VR-технологий сомнений не вызывают: рынок будет расти по мере решения указанных проблем. Когда устройства типа смарт-очков начнут повсеместно использоваться вместо смартфонов, вокруг нас станет гораздо больше виртуальной и дополненной реальности.


Мы к этому уже готовы, за последние пару лет AR/VR-технологии вошли в жизнь нашей компании довольно плотно. В виртуальной реальности сотрудники не только обучаются, но и соревнуются: кто быстрее выполнит задание, выйдет из шахты и т. д. А цеха нашего предприятия круглосуточно открыты для виртуальных экскурсий: любой желающий может совершить тур по Череповецкому металлургическому комбинату, начиная с центральной проходной.


На этом пока всё. Буду рад ответить на ваши вопросы в комментариях. Спасибо за внимание!

Подробнее..

Немного Web Speech API для современных веб-приложений

13.01.2021 14:06:06 | Автор: admin

Ниже речь пойдет о технологиях работы с голосом в вебе, таких как распознавание и синтез речи. В статье не будет примеров кода или сложного технического описания, моя цель показать вам возможности этих технологий и уровень их зрелости на примере простого приложения, которое было разработано в рамках изучения данной темы. Ознакомиться с кодом этого приложения вы можете на GitHub: https://github.com/mosharov/speech-api-example


Что нам дает Web Speech API


Многие согласятся со мной, что адрес на картах и длинные поисковые запросы в телефоне проще вводить голосом. Часто на наши запросы отвечает голосовой помощник. Эти технологии используют многие мобильные приложения, но часто ли вы встречаете подобное на сайтах?
Выгода для пользователей мобильных девайсов очевидна, но не только для них. Web Speech API повышает доступность веб-приложения для людей с ограниченными возможностями и детей. В некоторых случаях технология может быть полезна также пользователям десктопов, например, в веб-чатах.


Попробуйте открыть ссылку на пример работы Web Speech API в вашем Google Chrome (о причинах, по которым я рекомендую именно этот браузер, расскажу позже). Страница, которую вы открыли, разделена на две части:


  1. Генерация речи попробуйте ввести фразу на выбранном языке и нажать PLAY.
  2. Распознавание речи нажмите START, разрешите доступ к микрофону и начните говорить.

Ниже вы увидите, как страница преобразует вашу речь в текст.


Проверили? Отлично, переходим к мыслям о том, где это все можно применить в наших веб-приложениях.


Поиск идеального пациента


Внедрить поддержку Speech API можно по всему приложению, но будут ли этим пользоваться? Для распознавания речи, например, хороший вариант поля для ввода большого количества текста.


В Северстали, несмотря на большое количество сервисов, мы смогли выделить лишь несколько из них, где распознавание речи было бы действительно полезно:


  • Поиск на внутреннем портале
  • Страница заявки в техническую поддержку
  • Чат-боты

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


Сложности внедрения


Выше, давая ссылку на страницу с примером, я рекомендовал открывать ее в Google Chrome. Дело в том, что данный пример отлично работает в Chrome на десктопах и сносно в мобильной версии, но другие браузеры не отличаются хорошей поддержкой этого API. Если генерация речи работает в основных браузерах, то поддержка распознавания речи крайне ограничена.


Подробнее о поддержке браузерами: https://caniuse.com/?search=speech


Так как демо сделано на коленке, оно не будет идеально работать (а может быть, и вообще не будет работать) с теми браузерами, которые поддерживают Web Speech API лишь частично или требуют для этого написания дополнительного кода. Попробовав запустить его в Firefox, Edge или Safari, вы поймете, что технология очень сырая, и использовать её как есть не самая хорошая идея.


Обходные пути


Окей, мы решили внедрять технологию, но столкнулись с проблемами ее поддержки, как быть?
Для начала стоить понять, будете ли вы использовать Web Speech API в тех браузерах, где это работает, или полностью откажетесь от него. Для себя мы решили, что внедрять API, которое имеет слабую поддержку и может измениться не лучшая идея, поэтому начали поиски альтернатив.


Pocketsphinx и Tensorflow. Если вы хотите, чтобы распознавание речи работало в ваших PWA (Progressive Web Application) приложениях оффлайн это отличный выбор, но могут возникнуть проблемы с распознаванием некоторых языков.


Облачные сервисы. API для работы с речью есть у многих облачных сервисов. При выборе этого варианта мы получаем прекрасное распознавание речи и абонентскую плату впридачу =)


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


Что и когда использовать решать вам, я бы рекомендовал начать с облачных сервисов для быстрого старта ваших прекрасных веб-приложений. Также, если вы захотите поиграть с Web Speech API, вы можете использовать мой код в любых целях.
Спасибо.


Ссылки:
Web Speech API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API
Демо приложение: https://github.com/mosharov/speech-api-example

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru