Разработать на базе Path модуль технологической подготовки #106

Open
opened 2023-08-04 14:41:13 +03:00 by ius.mark.alex · 11 comments
ius.mark.alex commented 2023-08-04 14:41:13 +03:00 (Migrated from gitlab.com)

Необходимо разработать реалистичный способ указания производственных процессов.
Текущий генератор pddl подразумевает, что у нас используется одна технологическая операция (3д-печать), однако различные детали могут требовать различные последовательности операций, которые необходимо определять и автоматически учитывать это при генерации плана.

Вижу задачу так:

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

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

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

  2. На основе списка операций и списка возможностей станка сгенерировать детальный план, учитывающий (каким-то образом) длительности операций. Сделать это можно было бы, отправляя детали в какой-либо модуль CAM (напр, слайсер или path). Возможно, на основе промежуточных результатов работы этого модуля можно было бы создавать артефакты (3д-модели, изображения, эскизы и тд), которые позволят роботу распознавать полуфабрикаты.

  3. Всю полученную информацию заносить в план PDDL и сгенерировать точный план.

Дополнения, возражения и идеи приветствуются

Необходимо разработать реалистичный способ указания производственных процессов. Текущий генератор pddl подразумевает, что у нас используется одна технологическая операция (3д-печать), однако различные детали могут требовать различные последовательности операций, которые необходимо определять и автоматически учитывать это при генерации плана. Вижу задачу так: 1. Проработать способ указания всех состояний (технологические операции и промежуточные геометрические состояния, напр. необработаная деталь выглядит существенно иначе, чем готовая, а так же может иметь иные физические свойства) 1.1. Создать модуль, который позволил бы автоматически генерировать список операций, которые тело должно пройти, чтобы стать деталью. Мы можем руководствоваться материалами и геометрией, а так же, возможно, каким-то образом указывать стартовое состояние детали. Однако, создать такую систему может быть крайне сложно, проще всего прописать некое план-задание, в котором указать наименования технологических операций, через которые должно пройти тело (сверловка, печать, фрезеровка и т.д.) 2. Проработать способ увязывания всех возможных технологических операций с оборудованием. В принципе, это уже большей частью реализовано в модуле техподготовки, но теперь нужно увязать область имеющихся действий с требуемыми для тела операциями 3. На основе списка операций и списка возможностей станка сгенерировать детальный план, учитывающий (каким-то образом) длительности операций. Сделать это можно было бы, отправляя детали в какой-либо модуль CAM (напр, слайсер или path). Возможно, на основе промежуточных результатов работы этого модуля можно было бы создавать артефакты (3д-модели, изображения, эскизы и тд), которые позволят роботу распознавать полуфабрикаты. 4. Всю полученную информацию заносить в план PDDL и сгенерировать точный план. Дополнения, возражения и идеи приветствуются
ius.mark.alex commented 2023-08-04 14:41:13 +03:00 (Migrated from gitlab.com)

assigned to @ius.mark.alex

assigned to @ius.mark.alex
ius.mark.alex commented 2023-08-04 14:41:35 +03:00 (Migrated from gitlab.com)

changed the description

changed the description
ius.mark.alex commented 2023-08-04 14:45:03 +03:00 (Migrated from gitlab.com)

Получается, основная цель в том, чтобы научить систему работать не с одним станком, а с несколькими совершенно различными и в произвольном порядке

Получается, основная цель в том, чтобы научить систему работать не с одним станком, а с несколькими совершенно различными и в произвольном порядке
ius.mark.alex commented 2023-08-04 15:13:41 +03:00 (Migrated from gitlab.com)

Через FreeCAD Path можно создавать траектории движения для любых 2.5d (и некоторых 3d, напр. 3д-принтеры (экспериментально)) станков.

Выглядит это примерно так:
image

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

Полученную симуляцию возможно проиграть и получить визуализацию производственного процесса:
image

Данный результат можно экспортировать, причем, не только в виде gcode или dxf, но и в виде, например stl или step. Экспортировал визуализацию полуфабриката и открыл ее в Куре:
image

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

Через FreeCAD Path можно создавать траектории движения для любых 2.5d (и некоторых 3d, напр. 3д-принтеры (экспериментально)) станков. Выглядит это примерно так: ![image](/uploads/68b256069dacbd75cf01b2a81220e5e7/image.png) Можно отметить, что каждая отдельная операция создается как отдельная позиция в дереве построения. Это дает хороший способ решения поставленной задачи. Полученную симуляцию возможно проиграть и получить визуализацию производственного процесса: ![image](/uploads/1c9dc13a338a72a78bac23263715010d/image.png) Данный результат можно экспортировать, причем, не только в виде gcode или dxf, но и в виде, например stl или step. Экспортировал визуализацию полуфабриката и открыл ее в Куре: ![image](/uploads/dc7f6eb2a667c2782d1d01f6ccef8f12/image.png) Экспортируя модели на каждой технологической операции, можно создавать ассеты для обучения машинного зрения и тренировать робота хватать эти изделия. Так же можно производить визуальный технологический контроль
ius.mark.alex commented 2023-08-04 15:15:08 +03:00 (Migrated from gitlab.com)

Таким образом, достоверно уверен в том, что лучше всего для решения поставленной задачи подходит активное использование возможностей модуля path

Таким образом, достоверно уверен в том, что лучше всего для решения поставленной задачи подходит активное использование возможностей модуля path
ius.mark.alex commented 2023-08-04 15:20:21 +03:00 (Migrated from gitlab.com)

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

Помимо этого, в операциях Path можно указывать интересующие нас виды станков, а значит - можно ссылаться на них при составлении плана действий
movefasta commented 2023-08-06 16:02:56 +03:00 (Migrated from gitlab.com)

changed title from Разработать {-способ создания-} технологическ{-их процессов-} to Разработать {+на базе Path модуль+} технологическ{+ой подготовки+}

changed title from **Разработать {-способ создания-} технологическ{-их процессов-}** to **Разработать {+на базе Path модуль+} технологическ{+ой подготовки+}**
movefasta commented 2023-08-06 16:03:08 +03:00 (Migrated from gitlab.com)

changed due date to August 10, 2023

changed due date to August 10, 2023
ius.mark.alex commented 2023-08-29 13:18:55 +03:00 (Migrated from gitlab.com)

Загрузил ветку path2pddl, в которой частично функционал реализован. Пока что не уверен, как реализовать дальнейший функционал, буду решать более срочные задачи

Загрузил ветку path2pddl, в которой частично функционал реализован. Пока что не уверен, как реализовать дальнейший функционал, буду решать более срочные задачи
movefasta commented 2023-11-02 17:15:47 +03:00 (Migrated from gitlab.com)

removed due date August 10, 2023

removed due date August 10, 2023
ius.mark.alex commented 2023-12-13 10:51:09 +03:00 (Migrated from gitlab.com)

created branch 106-path to address this issue

created branch [`106-path`](/robossembler/framework/-/compare/master...106-path) to address this issue
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: robossembler/framework#106
No description provided.