В последние годы исследования в области робототехники претерпели значительные изменения. Во-первых, все больший научный интерес вызывают всенаправленные камеры, которые обеспечивают 360-градусный обзор и, следовательно, могут обрабатывать большой объем данных, полученных из окружающей среды. Мобильные роботы, оборудованные такими камерами, способны взаимодействовать с визуальными ориентирами гораздо дольше, чем в случае с обычными камерами, повышая тем самым скорость и эффективность задач, выполняемых роботом. Во-вторых, научный интерес в большей степени проявляется к разработке автономных мобильных роботов [1–3]. При разработке алгоритмов управления необходимо избегать ошибок, которые могут привести к экономическим и человеческим потерям. В связи с этим актуальны снижение времени на тестирование программ, а также прогнозирование риска возникновения аварийных ситуаций.
В силу названных проблем возникает необ-ходимость поиска среды, в которой можно было бы испытать работоспособность роботов, прежде чем они перейдут к выполнению определенной задачи в реальных условиях. В ее качестве может выступать виртуальная среда, в которой моделируются события, встречающиеся в реальных условиях. В виртуальной среде становится возможным более глубокий анализ стабильности и надежности проектируемых систем, позволяя таким образом тестировать алгоритмы управления и испытывать различные аварийные режимы, определяя при этом работоспособность системы в целом.
Фотореализм современных игровых платформ, например Unity, открывает новый путь для разработки и оценки методов решения разнообразных задач компьютерного зрения, которые в конечном итоге будут подобны реальному миру. Данный подход позволяет разрабатывать новые и реалистичные симуляторы. Также следует отметить, что эти симуляторы приближаются не только к фотореализму, но и к реалистичному физическому моделированию, которое поддерживается в Unity, тем самым сокращая разрыв между моделируемыми приложениями и реальным миром.
В статье представлен полнофункциональный настраиваемый симулятор, построенный на базе Unity. Это первый полноценный симулятор, включающий в свой состав всенаправленную камеру. Он обеспечивает доступ как к визуальным данным, полученным с камер (RGB-изображения), установленных в моделируемой среде, так и к семантической информации, которая может быть использована для обучения нейронных сетей. Например, симулятор предусматривает такие режимы, как карта глубины и семантическая сегментация.
Обзор литературы
Виртуальная среда изначально находила свое применение в компьютерных играх и консолях, в последнее время виртуальные среды стали также использоваться для моделирования различных приложений в области робототехники. Исследования в данной области свидетельствуют о положительном влиянии симуляторов и на образовательный процесс [4]. Подробный обзор всех симуляторов из области робототехники выходит за рамки данной статьи, поэтому назовем несколько недавних работ, наиболее близких к рассматриваемой. Для получения фотореалистичных изображений, сформированных при помощи всенаправленной камеры, в ряде работ рассматривался Blender [5, 6]. Это набор инструментов с открытым исходным кодом для 3D-моделирования, рендеринга и анимации. Однако данная платформа не подходит для задач программирования и коммуникации с другими программами, что ограничивает ее использование в определенных случаях. Большую гибкость в разработке приложений способны обеспечить такие игровые платформы, как Unity, UNIGINE, CRYENGINE и Unreal Engine 4. Воспользовавшись преимуществами современных игровых платформ, P. Bourke [7] выпустил общедоступное расширение, имитирующее всенаправленную камеру с настраиваемым полем зрения (180o, 210o, 240o), камера была смоделирована в Unity. За счет этого пользователи, знакомые с платформой Unity, способны захватывать всенаправленные изображения своих 3D-сцен. Также следует отметить, что процесс разработки новой сцены занимает много времени и требует определенных навыков работы в Unity. Таким образом, в данной статье предлагается симулятор, ориентированный на изучение всенаправленной системы компьютерного зрения в условиях закрытых помещений. Он не требует особых навыков в программировании и подобно видеоигре может быть просто установлен на такие операционные системы, как Windows, macOS и Linux. В отличие от Blender представленный симулятор поддерживает коммуникационный интерфейс, который может быть использован со сторонними программами, поддерживающими TCP.
Актуальность разработки
Формулировка проблемы в общем виде. В ряде случаев материально-техническая база вузов не позволяет дать необходимые знания о мобильных роботах в силу их дороговизны, сложной технической оснастки и больших массогабаритных параметров. В результате нет возможности проведения экспериментов и исследований, а значит, уменьшается компетентность студентов в области робототехники. В связи с этим актуален поиск новых, экономически оправданных путей решения проблемы.
Также следует отметить, что в условиях пандемии различные образовательные учреждения, в частности университеты, столкнулись с резким прерыванием учебного процесса в результате принятия необходимых мер для сдерживания развития нынешней ситуации. Это отрицательно сказывается на обучении студентов технических специальностей, которые лишились возможности проводить практические и лабораторные занятия, являющиеся основой в изучении инженерных предметов. Поэтому необходимо оперативно решать проблемы удаленного инженерного образования.
Таким образом, сегодня актуальна разработка имитационной среды, специализированных виртуальных лабораторий, в которых студенты могут проводить широкий спектр экспериментов, максимально приближенных к реальности. Важным фактором также является обеспечение безопасности как студентов, так и оборудования. Эти проблемы позволяет решить предложенный в данной статье виртуальный учебный комплекс.
Назначение симулятора. Одной из главных целей разрабатываемой виртуальной среды является предоставление исследователям и инженерам, работающим с системами всенаправленного зрения, больших возможностей в плане тестирования теорий и алгоритмов. Например, при наличии ПО может отсутствовать аппаратное оснащение. Имея симулятор, можно решить данную проблему.
Отдельного внимания в области робототехники заслуживают такие направления, как SLAM, планирование пути, семантическая сегментация и т.д. Однако в реальных ситуациях присутствует погрешность экспериментов, определяемая классом точности прибора измерения. Преимуществом предлагаемого симулятора является то, что виртуальная лаборатория позволяет проводить эксперименты в идеальных условиях, за счет чего становятся возможными оценка погрешностей и анализ взаимосвязи между исследуемыми параметрами, а также прогнозирование влияния внешних или внутренних возмущений на поведение системы в целом. Симулятор работает быстрее реальных роботов и удобнее в использовании, чем физические эксперименты. Возможности симулятора открывают новые методы оценки эффективности различного вида экспериментов.
Обзор симулятора
Индивидуальные особенности. Предлагаемый симулятор может быть установлен и сконфигурирован на операционных системах Windows, macOS, а также Linux. Он обеспечивает полную интегрированную систему, которая сочетает в себе три основные возможности: взаимодействие со сценами и объектами, входящими в виртуальную среду, связь с другими программами посредством TCP, подробное руководство пользователя и техническую поддержку. Все эти особенности позволяют конфигурировать экспериментальные условия, тестировать теории и улучшать алгоритмы работы системы. При разработке симулятора отдельный упор делался на создание сцен, приближенных к реальности, используя такие возможности рендеринга, как источники света, отражение от поверхности, падающие тени и т.д. На рисунке 1 показан снимок, сделанный симулятором, который отображает возможности рендеринга. Симулятор включает в свой состав три экрана: главный экран Simulation, экран калибровки Calibration и экран измерительного устройства Measurement tool. Следует также отметить, что предлагаемый симулятор и сопроводительная документация доступны онлайн [8, 9]. Рассмотрим каждый из них.
На главном экране проводятся экспери-менты. iLabit OmViSys является первым симу-лятором, в состав которого был добавлен источник структурированного света, расположенный на мобильном роботе. Проекция красного луча на сцену позволяет рассчитать расстояние от мобильного робота до окружающих его объектов. На левой панели главного экрана располагается секция Laser Plane, которая отвечает за конфигурирование источника структурированного света. Таким образом, у пользователя появляется возможность варьировать расположением источника, его ориентацией и масштабом в пространстве. Основным преимуществом использования структурированного света является его простой механизм обнаружения на изображении и извлечения для последующей обработки.
Система компьютерного зрения для навигации внутри помещения, состоящая из всенаправленной камеры в сочетании со структурированным светом, получила широкое применение благодаря большому рабочему диапазону и высокой эффективности измерений [10–12]. Однако следует отметить, что для получения достоверных результатов измерений необходима предварительная калибровка системы компьютерного зрения [13–15]. В связи с этим симулятор предусматривает наиболее популярные средства калибровки системы, за которые отвечают секции Cube и Checkerboards. При активации данных секций у пользовате-лей появляется возможность взаимодействия с калибровочными мишенями (рис. 2) и их настройки требуемым образом.
Основная задача системы компьютерного зрения состоит в правильном определении расстояний до препятствий. Следовательно, посредством секции Obstacles могут быть добавлены препятствия (рис. 3) для оценки точности откалибровки системы.
Правая панель главного экрана состоит из трех секций: Camera, Robot и Effects. Секция Camera отвечает за настройки всенаправленной камеры, изменениям поддаются такие параметры, как ориентация в пространстве, поле зрения (180o, 210o, 240o), качество рендера, разрешение изображения, расширение изображения (.jpg или .png).
Далее располагается секция Robot. В ней отдельного внимания заслуживает контроль мобильного робота. Первый вариант управления – при помощи клавиш клавиатуры w/a/s/d в случае с установленной галочкой поля Use (рис. 4). Второй вариант – ручной ввод позиции и ориентации робота. Такой подход может быть полезен для экспериментов с точным позиционированием мобильного робота, галочка в поле Use в этом случае неактивна.
Последняя секция – Effects. Достижения в области обучения нейронных сетей требуют большого объема данных для обучения, генерация которых в ряде случаев затруднительна, например, ручная маркировка изображений для обучения сетей семантической сегментации. Проблема с ручной маркировкой в том, что сам процесс занимает много времени, так как изображения могут содержать широкий спектр элементов, что еще более актуально в случае с изображениями со всенаправленных камер. Одним из преимуществ разработанного симулятора является то, что он может обеспечивать автоматическую маркировку основных элементов сцены (рис. 5), а также позволяет генерировать карту глубины, которая может быть использована для обучения нейронных сетей.
Экран калибровки камеры позволяет собрать данные для процесса калибровки внутренних параметров камеры. Он содержит всенаправленную камеру и шаблон с известной геометрией в виде шахматной доски. Камера не отличается от расположенной на главном экране и содержит схожие настройки. Единственным отличием является дополнительный способ управления ею. В случае с установленной галочкой в поле Motion (рис. 6) управление осуществляется при помощи клавиш клавиатуры w/a/s/d и мышки. Второй вариант управления – ручной ввод позиции и ориентации камеры. Такой подход может быть полезен для экспериментов с точным позиционированием камеры, галочка в поле Motion в этом случае неактивна.
Экран дополнительных измерений. Экран измерительного устройства Measurement tool позволяет измерить расстояние от камеры до элементов, не представленных на главном экране. На рисунке 7 измерительное устройство обозначено желтым контуром. При перемещении данного устройства на панели слева отображается расстояние от центра камеры до измерительного устройства по осям X, Y и Z. На рисунке отображается расстояние до лазерного луча, пересекающегося с диваном.
Заключение
В данной статье рассмотрен симулятор, который может быть использован для широкого набора приложений, охватывающих различные области компьютерного зрения. iLabit OmViSys – это первый полноценный симулятор на базе всенаправленной камеры, к тому же включающий в свой состав структурированный свет. Виртуальная среда не только генерирует синтетические данные, но и включает в себя полный набор инструментов для оценки и изучения новых условий окружающей среды, которые нелегко, а в ряде случаев невозможно контролировать или воспроизводить в реальном мире. ПО сохранило простой, но мощный интерфейс, который, помимо взаимодействия с симулятором, поддерживает обмен данными со сторонними программами по протоколу TCP. Автор надеется, что этот симулятор станет ценным инструментом для исследователей, а также будет полезен тем, кто не располагает дорогостоящим оборудованием на проведение экспериментов.
В последующих работах будут подробно рассмотрены проблемы, косвенно означенные в данной статье. Посредством симулятора будут разработаны новые методы калибровки системы компьютерного зрения совместно с методами реконструкции помещения за счет информации со всенаправленной камеры в комбинации со структурированным светом.
Литература
1. Andaluz V.H., Lopez E., Manobanda D., Guamushig F., Chicaiza F., Sanchez J.S., Rivas D. et al. Nonlinear controller of quadcopters for agricultural monitoring. In: Advances in Visual Computing, 2015, pp. 476–487. DOI: 10.1007/978-3-319-27857-5_43.
2. Andaluz V.H., Chicaiza F.A., Meythaler A., Rivas D.R., Chuchico C.P. Construction of a quadcopter for autonomous and tele-operated navigation. Proc. DCIS, 2015, pp. 1–6. DOI: 10.1109/DCIS.2015.7388600.
3. Andaluz V.H., Canseco P., Varela J., Flavio R., Carelli R. Robust control with dynamic compensation for human wheelchair system. Proc. ICIRA, 2014, pp. 376–389.
4. Bazarov S.E., Kholodilin I.Y., Nesterov A.S., Sokhina, A.V. Applying augmented reality in practical classes for engineering students. Proc. IOP Conf. Ser.: Earth Environ. Sci., 2017, vol. 87, art. 032004. DOI: 10.1088/1755-1315/87/3/032004.
5. Won C., Ryu J., Lim J. SweepNet: Wide-baseline omnidirectional depth estimation. Proc. ICRA, 2019, pp. 6073–6079. DOI: 10.1109/ICRA.2019.8793823.
6. Zhang Z., Rebecq H., Forster C., Scaramuzza D. Benefit of large field-of-view cameras for visual odometry. Proc. ICRA, 2016, pp. 801–808. DOI: 10.1109/ICRA.2016.7487210.
7. Bourke P. Creating fisheye image sequences with Unity3D. 2015. URL: https://www.researchgate.net/publication/279963195_Creating_fisheye_image_sequences_with_Unity3D (дата обращения: 08.06.2020).
8. ILabit OmViSys. Virtual Laboratory. URL: https://www.ilabit.org/omvisys (дата обращения: 11.01.2021).
9. Холодилин И.Ю., Савостеенко Н.В., Нестеров А.С., Киселева А.А., Панов К.Э., Дудкин М.М. Программа по изучению курса компьютерное зрение «iLabit OmViSys»: ПрЭВМ № 2019667285. Рос. Федерация, 2019.
10. Gu Z., Liu H., Zhang G. Real-time indoor localization of service robots using fisheye camera and laser pointers. Proc. IEEE ROBIO, 2014, pp. 1410–1414. DOI: 10.1109/ROBIO.2014.7090531.
11. Son Y., Yoon S., Oh S., and Han S. A lightweight cost-effective 3D omnidirectional depth sensor based on laser triangulation. IEEE Access, 2019, vol. 7, pp. 58740–58750. DOI: 10.1109/ACCESS.2019.2914220.
12. De Ruvo P., De Ruvo G., Distante A., Nitti M., Stella E., Marino F. An Omnidirectional range sensor for environmental 3-D reconstruction. Proc. IEEE ISIE, 2010, pp. 396–401. DOI: 10.1109/ISIE.2010.5637870.
13. Zhang G., Wei Z. A novel calibration approach to structured light 3D vision inspection. Optics and Laser Technology, 2002, vol. 34, no. 5, pp. 373–380. DOI: 10.1016/S0030-3992(02)00031-2.
14. Zexiao X., Weitong Z., Zhiwei Z., Ming J. A novel approach for the field calibration of line structured-light sensors. Measurement, 2010, vol. 43, pp. 190–196. DOI: 10.1016/j.measurement.2009.09.008.
15. Liu Z., Li X., Li F., Zhang G. Calibration method for linestructured light vision sensor based on a single ball target. Optics and Lasers in Engineering, 2015, vol. 69, pp. 20–28. DOI: 10.1016/j.optlaseng.2015.01.008.
References
- Andaluz V.H., Lopez E., Manobanda D., Guamushig F., Chicaiza F., Sanchez J.S., Rivas D. et al. Nonlinear controller of quadcopters for agricultural monitoring. In: Advances in Visual Computing, 2015,
pp. 476–487. DOI: 10.1007/978-3-319-27857-5_43.
- Andaluz V.H., Chicaiza F.A., Meythaler A., Rivas D.R., Chuchico C.P. Construction of a quadcopter for autonomous and tele-operated navigation. Proc. DCIS, 2015, pp. 1–6. DOI: 10.1109/DCIS.2015.7388600.
- Andaluz V.H., Canseco P., Varela J., Flavio R., Carelli R. Robust control with dynamic compensation for human wheelchair system. Proc. ICIRA, 2014, pp. 376–389.
- Bazarov S.E., Kholodilin I.Y., Nesterov A.S., Sokhina, A.V. Applying augmented reality in practical classes for engineering students. Proc. IOP Conf. Ser.: Earth Environ. Sci., 2017, vol. 87, art. 032004. DOI: 10.1088/1755-1315/87/3/032004.
- Won C., Ryu J., Lim J. SweepNet: Wide-baseline omnidirectional depth estimation. Proc. ICRA, 2019, pp. 6073–6079. DOI: 10.1109/ICRA.2019.87938239.
- Zhang Z., Rebecq H., Forster C., Scaramuzza D. Benefit of large field-of-view cameras for visual odometry. Proc. ICRA, 2016, pp. 801–808. DOI: 10.1109/ICRA.2016.7487210.
- Bourke P. Creating Fisheye Image Sequences with Unity3D. 2015. Available at: https://www.researchgate.net/publication/279963195_Creating_fisheye_image_sequences_with_Unity3D (accessed June 08, 2020).
- ILabit OmViSys. Virtual Laboratory. Available at: https://www.ilabit.org/omvisys (accessed January 11, 2021).
- Kholodilin I.Yu., Savosteenko N.V., Nesterov A.S., Kiseleva A.A., Panov K.E., Dudkin M.M. Program for Studying the Course Computer Vision “iLabit OmViSys”. Patent RF, no. 2019667285, 2019.
- Gu Z., Liu H., Zhang G. Real-time indoor localization of service robots using fisheye camera and laser pointers. Proc. IEEE ROBIO, 2014, pp. 1410–1414. DOI: 10.1109/ROBIO.2014.7090531.
- Son Y., Yoon S., Oh S., and Han S. A lightweight cost-effective 3D omnidirectional depth sensor based on laser triangulation. IEEE Access, 2019, vol. 7, pp. 58740–58750. DOI: 10.1109/ACCESS.2019.2914220.
- De Ruvo P., De Ruvo G., Distante A., Nitti M., Stella E., Marino F. An Omnidirectional range sensor for environmental 3-D reconstruction. Proc. IEEE ISIE, 2010, pp. 396–401. DOI: 10.1109/ISIE.2010.5637870.
- Zhang G., Wei Z. A novel calibration approach to structured light 3D vision inspection. Optics and Laser Technology, 2002, vol. 34, no. 5, pp. 373–380. DOI: 10.1016/S0030-3992(02)00031-2.
- Zexiao X., Weitong Z., Zhiwei Z., Ming J. A novel approach for the field calibration of line structured-light sensors. Measurement, 2010, vol. 43, pp. 190–196. DOI: 10.1016/j.measurement.2009.09.008.
- Liu Z., Li X., Li F., Zhang G. Calibration method for linestructured light vision sensor based on a single ball target. Optics and Lasers in Engineering, 2015, vol. 69, pp. 20–28. DOI: 10.1016/j.optlaseng.2015.01.008.