Алексей Фатеев, технический директор, и Дмитрий Шмонов, инженер-программист компании АИОМ, рассказывают об успешном опыте применения модуля C3D Vision в системе проектирования горных работ PAZL:TAKT.
Около пяти лет назад, еще работая в известной компании Dassault Systèmes и внедряя горно-геологические информационные системы, команда столкнулась с большим количеством рекламаций на программное обеспечение. Это заставило задуматься о создании собственного продукта — современного и удобного инструмента для планирования горных работ, максимально ориентированного на потребности отрасли. Когда Dassault Systèmes покинула российский рынок, появилась возможность реализовать эту идею. Так был организован собственный стартап.
Была поставлена цель — разработать сквозную систему планирования горных работ, охватывающую весь цикл: от стратегического планирования до оперативного управления с передачей заданий на уровень оборудования (рис. 1). Результатом должно было стать интегрированное решение с поддержкой связи с системой диспетчеризации и высокоточного позиционирования. Планы горных работ должны создаваться с помощью современных оптимизаторов, а результаты применяются в качестве управляющих параметров для выполнения плана в системе диспетчеризации. Ход выполнения горных работ в режиме реального времени автоматически учитывается при планировании на следующий период, способствуя ритмичному достижению целей по объему и качеству.
Несмотря на наличие на рынке систем класса APS, применяемых в производственном планировании, специфика горнодобывающей отрасли требует иного подхода. Планирование горных работ включает не только разработку графиков работ, но и объемное планирование, обеспечивающее добычу необходимого объема руды с заданными характеристиками качества.
Важную мысль выразил один из коллег: «Рудник — это не супермаркет. Нельзя взять то, что хочется, — можно взять только то, что возможно». Горное планирование представляет собой пространственную задачу, где необходимо определить точное местоположение и объемы добычи с учетом конечных целей — например, обеспечения стабильной работы обогатительной фабрики. В отличие от классических APS-систем, которые решают задачи перемещения деталей между станками, здесь важно логически увязать пространство, объемы и технологические требования.
3D-представление планов горных работ стало для нас ключевым элементом всей системы: горный инженер должен сразу видеть, где и что он планирует. Поэтому одним из центральных компонентов платформы стало 3D-окружение, позволяющее не только визуализировать, но и настраивать планы работ непосредственно в пространственной модели без необходимости обращаться к диаграммам Ганта (рис. 2).
Кроме 3D-визуализации, система решает и другие задачи, включая оптимизацию, однако в данном случае упор делался именно на пространственное представление. Мы создали интерфейс, в котором инженер получает одновременный доступ к 3D-модели, объектам оборудования, их свойствам и конфигурации, а также к интерактивной диаграмме Ганта, где все действия синхронизированы.
Для реализации такого решения потребовался подходящий 3D-компонент. Наш предыдущий опыт работы в Dassault подсказывал, что потребуется сторонний движок. Однако среди российских решений мы не нашли готового инструмента, который бы нас устроил — все качественные движки оказались иностранными. Тогда мы обратили внимание на опыт компании «3В Сервис», которая решала схожие задачи в строительной отрасли и уже перешла с решений Dassault на C3D Vision. Мы связались с разработчиками геометрического ядра C3D, и они очень быстро включились в диалог, проявив проактивность и гибкость.
Ключевым фактором стало и то, что C3D Labs предложила специальную программу для стартапов, что позволило нам минимизировать затраты. Мы не были готовы вкладываться в доработку open-source-решений с неопределенным результатом, а здесь получили и готовый инструмент, и поддержку. В результате мы выбрали C3D Vision в качестве основного визуального компонента и начали его интеграцию.
Разработка решения PAZL:TAKT ведется на платформе .NET WPF, что значительно осложняет выбор подходящего 3D-ядра. Однако использование C3D Vision позволило реализовать необходимые функции. В рамках одного сценария может отображаться несколько карьеров, каждый из которых содержит рудные тела, представленные множеством визуализированных атомарных блоков, — их число может достигать десятков и сотен тысяч (рис. 3). Для каждого блока предусмотрена возможность настройки визуальных параметров: изменение цвета, вращение отдельных элементов, регулировка прозрачности (рис. 4).
Для удобства взаимодействия с пользователем блоки объединяются в логические группы (сегменты сцены), в рамках которых и осуществляется управление. Каждый блок представлен как MathGroupItem, к которому можно применить изменение параметров. При необходимости поворота пересчитывается его матрица, при изменении цвета — параметр SpecialMaterialColor. Для скрытия элементов используется привязка параметров визуализации к элементам интерфейса, например флажкам, что позволяет управлять отображением целых сегментов сцены.
Система визуализирует три категории объектов: основные объекты, пользовательские настройки и параметры сценариев (рис. 5). Основные элементы включают добычные и перерабатывающие объекты, а также оборудование, все они представлены в формате OBJ. Поверхности карьеров также загружаются в этом формате и могут быть импортированы пользователем в любой момент. Реализована поддержка специфической триангуляции: пользователь загружает два файла — с координатами точек и с треугольниками, построенными по номерам этих точек. Благодаря геометрическому ядру C3D визуализация происходит эффективно — треугольники загружаются, вычисляются нормали, затем формируется сетка с учетом рассчитанных нормалей. Это требует лишь нескольких строк кода. Пользовательские настройки позволяют изменять параметры подписей объектов: цвет, высоту, шрифт. Эти изменения выполняются динамически и легко реализуются средствами 3D-настроек.
Настройка сценария в данном случае реализована как управление очередностью добычи. Каждая стрелка в системе представлена объектом класса Visual 3D Model, который вращается с помощью курсора мыши и передает угол поворота для пересчета и перекраски блоков. Окно 4D визуализирует расчеты сценария, разбитого на логические периоды. Каждый период соответствует сегменту сцены, в который загружаются экскаваторы с координатами, определяющими их положение в конкретный момент времени. В нужный момент соответствующий сегмент сцены включается или выключается, создавая эффект движения и обеспечивая наглядную визуализацию.
В итоге удалось реализовать окно, близкое к изначальной концепции. Интеграция геометрического ядра C3D в систему PAZL:TAKT дала мощный инструмент для визуализации сложных задач с большим числом объектов и процессов. Благодаря использованию C3D повысилась наглядность: пользователь получает подробную картинку с интуитивно понятными элементами. Улучшилась интерактивность — сценарий можно корректировать и анализировать прямо в процессе работы. Это также обеспечило оптимизацию: визуализация помогает выявлять узкие места, анализировать загрузку техники и корректировать планы добычи. Развитие PAZL:TAKT с использованием геометрического ядра C3D открывает возможности для создания более эффективных и удобных инструментов для специалистов по горному планированию.
Технический директор
АИОМ
Инженер-программист компании
АИОМ








