feat: Добавлен алгоритм 53
This commit is contained in:
parent
f3f4d00e37
commit
46d658f3f9
113
algorithm_53/body.puml
Normal file
113
algorithm_53/body.puml
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
|#696969|Оператор-наладчик|
|
||||||
|
:Выполнить программу для проверки калибровки.
|
||||||
|
По этой подпрограмме робот подводит сварочные клещи
|
||||||
|
к эталонной пластине и в предназначенном для выполнения
|
||||||
|
проверки калибровки месте сжимает клещи;
|
||||||
|
|
||||||
|
|#fc9738|Робот|
|
||||||
|
:Сигнал об успешном завершении работы
|
||||||
|
подпрограммы и выходе в точку для проверки;
|
||||||
|
|
||||||
|
:Запросить актуальные значения дальномеров и
|
||||||
|
координат точек на грани детали с камеры;
|
||||||
|
|
||||||
|
|#458ff7|ТСК|
|
||||||
|
:Обработать запрос на отправку в контроллер
|
||||||
|
робота значений датчиков сенсорной системы;
|
||||||
|
|
||||||
|
:Выполняет диагностику сенсорной системы;
|
||||||
|
note right: Алгоритм 51
|
||||||
|
|
||||||
|
if (Система исправна?) then (нет)
|
||||||
|
:Отправить код и описание ошибки;
|
||||||
|
|#fc9738|Робот|
|
||||||
|
:Отобразить принятые коды и описание ошибки
|
||||||
|
работы сенсорной системы;
|
||||||
|
end
|
||||||
|
else (да)
|
||||||
|
|#458ff7|ТСК|
|
||||||
|
:Применить калибровку для перевода значений
|
||||||
|
смещений из пикселей в миллиметры и
|
||||||
|
расчета угла наклона (для камеры), значения
|
||||||
|
с дальномеров получить как есть, без
|
||||||
|
применения калибровок;
|
||||||
|
|
||||||
|
:Отправить в контроллер робота значения
|
||||||
|
датчиков сенсорной системы, а также
|
||||||
|
значения порогов для последующего сравнения;
|
||||||
|
|
||||||
|
|#fc9738|Робот|
|
||||||
|
:Вывести в ЧМИ полученные значения;
|
||||||
|
|
||||||
|
if (Значения с дальномеров и камеры в диапазоне?) then (да)
|
||||||
|
end
|
||||||
|
else (нет)
|
||||||
|
:Сделать кнопку "Откалибровать" доступной
|
||||||
|
для нажатия оператором;
|
||||||
|
|
||||||
|
if (Кнопка нажата?) then (нет)
|
||||||
|
end
|
||||||
|
else (да)
|
||||||
|
|#458ff7|ТСК|
|
||||||
|
:Разжать клещи;
|
||||||
|
|
||||||
|
|#fc9738|Робот|
|
||||||
|
:Вывести робот в домашнее положение;
|
||||||
|
|
||||||
|
:Выдать сообщение "Установить оснастку
|
||||||
|
для калибровки камеры и дальномеров";
|
||||||
|
|
||||||
|
|#696969|Оператор-наладчик|
|
||||||
|
:Установить оснастку и подтвердить продолжение
|
||||||
|
калибровки;
|
||||||
|
|
||||||
|
|#fc9738|Робот|
|
||||||
|
if (Подтверждение получено?) then (нет)
|
||||||
|
end
|
||||||
|
else (да)
|
||||||
|
:Отправить сигнал "откалибровать дальномеры", если
|
||||||
|
было превышение порога по дальномерам,
|
||||||
|
"откалибровать камеру", если было превышение
|
||||||
|
по камере;
|
||||||
|
|
||||||
|
|#458ff7|ТСК|
|
||||||
|
:Получение сигнала;
|
||||||
|
|
||||||
|
split
|
||||||
|
:Обработать сигнал на калибровку дальномеров
|
||||||
|
из состава сенсорной системы;
|
||||||
|
|
||||||
|
:По каждому дальномеру принять текущее
|
||||||
|
значение как эталонное для перевода в
|
||||||
|
систему координат электрода;
|
||||||
|
|
||||||
|
split again
|
||||||
|
:Обработать сигнал на калибровку камеры
|
||||||
|
из состава сенсорной системы;
|
||||||
|
|
||||||
|
:Переключить профиль в ПО камеры (профиль
|
||||||
|
создается на заводе изготовителе);
|
||||||
|
|
||||||
|
:Получить данные с камеры;
|
||||||
|
|
||||||
|
:Выполнить расчет данных согласно
|
||||||
|
описанию алгоритма "Вычисление координат
|
||||||
|
ценра электрода";
|
||||||
|
end split
|
||||||
|
|
||||||
|
:Сохранить калибровку (Значения с дальномеров
|
||||||
|
и центр электрода);
|
||||||
|
|
||||||
|
:Отправить сигнал о завершении калибровки;
|
||||||
|
|
||||||
|
|#fc9738|Робот|
|
||||||
|
:Вывести в ЧМИ сообщение об успешном
|
||||||
|
завершении калибровки;
|
||||||
|
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
@enduml
|
3
algorithm_53/input.puml
Normal file
3
algorithm_53/input.puml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
@enduml
|
13
algorithm_53/main.puml
Normal file
13
algorithm_53/main.puml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
title
|
||||||
|
Алгоритм 53
|
||||||
|
Калибровка датчиков из состава сенсорной системы
|
||||||
|
end title
|
||||||
|
|
||||||
|
!include input.puml
|
||||||
|
!include body.puml
|
||||||
|
|
||||||
|
stop
|
||||||
|
|
||||||
|
@enduml
|
@ -1,7 +1,8 @@
|
|||||||
import argparse
|
import argparse
|
||||||
from os import path, mkdir
|
from os import path, mkdir
|
||||||
|
|
||||||
TEXT = "@startuml\n\nstart\n\n!include input.puml\n!include body.puml\n\nstop\n\n@enduml\n"
|
TEXT_MAIN = "@startuml\n\nstart\n\n!include input.puml\n!include body.puml\n\nstop\n\n@enduml\n"
|
||||||
|
TEXT_COMMON = "@startuml\n\n@enduml\n"
|
||||||
|
|
||||||
|
|
||||||
def create_directory(directory_name: str) -> bool:
|
def create_directory(directory_name: str) -> bool:
|
||||||
@ -17,8 +18,7 @@ def create_files(directory_name: str) -> None:
|
|||||||
|
|
||||||
for file in files:
|
for file in files:
|
||||||
f = open(path.join(directory_name, file), 'w')
|
f = open(path.join(directory_name, file), 'w')
|
||||||
if "main" in file:
|
f.write(TEXT_MAIN) if "main" in file else f.write(TEXT_COMMON)
|
||||||
f.write(TEXT)
|
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user