Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
На прошедшей конференции Tech•Ed 2011 мы продемонстрировали интеграцию Microsoft Dynamics AX 2012 c Kinect. Идея позаимствована с международных конференций по Microsoft Dynamics. В данном случае мы справились своими местными силами – интеграцию выполнили Вадим Корепин и Сергей Мазуркин (данная статья подготовлена на основе предоставленной ими информации).
Опубликованный Майкрософтом SDK для Kinect позволил сосредоточиться на бизнес-задаче, не углубляясь в низкоуровневое программирование. А публичный проект Kinect Mouse Cursor позволил преобразовывать движения скелетной модели человека в движения курсора на экране. Поэтому, благодаря готовым библиотекам Microsoft, не нужно было делать ничего фундаментально сложного, достаточно было просто развернуть Kinect SDK и подключить управление мышью.
На Tech•Ed 2011 показали, как Kinect-технология работает в Dynamics AX 2012 на примере стандартной формы, которая управляет канбан-производством. Человек перетаскивал карточки производственных заданий в стиле футуристических фильмов.
При подготовке к Tech•Ed 2011 использовалась первая бета версия майкрософтовского SDK. Использовался публичный проект, который превращает движение правой руки в движение мыши (проект Kinect Mouse Cursor). За несколько дней до Tech•Ed 2011 вышла вторая бета версия SDK , в которой была улучшена поддержка 64 битных платформ, проведены улучшения в распознавании скелетной модели и т.п. Мы попробовали использовать новую библиотеку, но из-за проблем совместимости, оставили библиотеку первой версии.
Вот ряд выводов по ходу настройки.
1. Обычно все демонстрации проводятся на виртуальных машинах. Но USB-устройство Kinect не транслируется в вирутальную машину. Поэтому с виртуалкой не получилось.
2. Kinect требователен к ресурсам. Один процессор занимает полностью, а память почти полностью. Поэтому на двухпроцессорном ноутбуке с 4гб памяти с SQL и Dynamics AX работать было уже невозможно. Пришлось поставить на 4х процессорный 64битный «сервер» и 14Гб памяти.
3. Kinect – чувствительный сенсор. Мелкие движения руки превращались в мелкие движения мыши, которые сбивали обычное мышиное «Point-n-click». Были попытки реализовать «замедлялки мыши» но опять же из-за недостатка времени до конца не получилось.
4. Не успели разобраться, как изобразить double-click при помощи кинекта. Мелкие и быстрые движения должны сглаживаться и превращаться в одно. А слишком долгий интервал в double-click начинает превращать нормальные клики в двойные.
Ну и ряд выводов на будущее.
1. Можно пользоваться более продвинутыми проектами - была идея взять проект с жестами, обучить и передать их Dynamics AX. Нужно время.
2. Чтобы полноценно использовать Kinect в бизнес-приложениях, нужно адаптировать интерфейс. В текущем windows интерфейсе работать с Kinect предсказуемо неудобно: – нужно замедление движений, нужно что-то делать с drag-n-drop (чрезвычайно легкое действие мышкой, но очень сложно выразимое движение телом), нужно что-то делать с double-click (которое легко выполнить кнопкой мыши и сложно выполнить руками). Кроме того, нужно отображать полупрозрачный силуэт человека на экране, чтобы можно было контролировать свои движения.
Как использовать Kinect с бизнес-приложениями? Наверное, возможен примерно следующий сценарий: склад, камера на стене, система распознает жесты кладовщиков и выполняет соответствующие операции. Что-то подобное как раз и показывали наши корпоративные коллеги - разработчики.
Общий вывод - реализуется все достаточно просто, что лишний раз наглядно демонстрирует мощные возможности технологий Microsoft.