init commit

This commit is contained in:
Андрей Скирченко 2024-08-05 18:00:41 +03:00
commit f3f4d00e37
8 changed files with 221 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.idea
/__pycache__

55
algorithm_12/body.puml Normal file
View File

@ -0,0 +1,55 @@
@startuml
if (Сенсорная система исправна?) then (да)
:__Контроллер ТСК__
Производит измерения и передает результаты;
else (нет)
end
endif
split
:__Контроллер ТСК__
Вычисляет толщину заготовок согласно описанию алгоритма
"Расчет толщины заготовок по данным с дальномеров";
:__Контроллер ТСК__
Сохраняет вычисленное значение толщины для точки
(для последующего формирования протокола);
split again
:__Контроллер ТСК__
Вычисляет угол наклона линии, характеризующей край свариваемой
детали в плоскости кадра согласно описанию алгоритма
"Расчет угла наклона линии края детали в плоскости кадра";
split
:__Сенсорная система__
Возвращает перпендикуляр от оси электродов
до края свариваемой заготовки;
split again
:__Сенсорная система__
Возвращает угол наклона линии,
характеризующей край свариваемой детали в
плоскости кадра;
end split
:__Контроллер ТСК__
Определяет оптимальную матрицу
между двумя наборами точек в пространстве,
и матрицу смещений согласно описанию алгоритма
"Точная корректировка системы координат робота
по фактическому положению";
:__Контроллер ТСК__
Передает вычисленные матрицы
смещения системы координат;
:__Контроллер робота__
Принимает матрицы
смещения системы координат;
end split
@enduml

0
algorithm_12/input.puml Normal file
View File

16
algorithm_12/main.puml Normal file
View File

@ -0,0 +1,16 @@
@startuml
title
Алгоритм 12
Рассчитывает и передает корректировку для всей траектории
на основе результатов измерений.
end title
start
!include input.puml
!include body.puml
stop
@enduml

82
algorithm_9/body.puml Normal file
View File

@ -0,0 +1,82 @@
@startuml
: __Контроллер ТСК__
Вычисляет начальную скорость и ускорения
перемещения нижнего и верхнего электрода;
:__Контроллер ТСК__
Передает скорости перемещения,
ускорения и целевые координаты
раскрытия, в которые нужно выйти.
Передает импульс запуска.;
split
:__ПЧ верхнего электрода__
Принимает скорость и ускорение перемещения
и целевые координаты раскрытия.;
:__ПЧ верхнего электрода__
Переводит ПЧ в контур управления по скорости
(в режим удержания) с нулевой скоростью;
'for understanding
detach
split again
:__ПЧ нижнего электрода__
Принимает скорость и ускорение перемещения
и целевые координаты раскрытия.;
:__ПЧ нижнего электрода__
ПЧ осуществляет втягивание электрода
до координат раскрытия с заданной скоростью и
ускорением, при этом измеряя уровень усилия;
repeat: Проверка усилия
if (Усилие меньше порога?) then (да)
:__Контроллер ТСК__
Передает импульс запуска
для ПЧ верхнего электрода;
break
else (нет)
if (Таймаут на снятие усилия сработал?) then (да)
:Аварийный останов с выводом
описания ошибки и ее кода на ПДУ;
end
else (нет)
endif
endif
repeat while (Усилие меньше порога?) not (да)
end split
:__ПЧ верхнего электрода__
ПЧ осуществляет втягивание электрода
до координат раскрытия с заданной скоростью и
ускорением, при этом измеряя уровень усилия;
if (Усилие отрицательное и меньше порога?) then (да)
if (Усилие превысило порог максимального усилия?) then (да)
:Аварийный останов с выводом
описания ошибки и ее кода на ПДУ;
end
else (нет)
:__Контроллер ТСК__
Формирует сигнал о превышении отрицательного
порога усилия при раскрытии;
:__Контроллер ТСК__
Принимает решение о необходимости
заточки колпачков;
endif
else (нет)
endif
'синхронное перемещение упразднено.
:__Контроллер ТСК__
После достижения координаты
минимального раскрытия включает
режим синхронного перемещения
электродов;
@enduml

13
algorithm_9/input.puml Normal file
View File

@ -0,0 +1,13 @@
@startuml
split
-[hidden]->
:A<
split again
-[hidden]->
:B<
split again
-[hidden]->
:C<
end split
@enduml

16
algorithm_9/main.puml Normal file
View File

@ -0,0 +1,16 @@
@startuml
title
Алгоритм 9
Выполняет разжатие заготовок,
контролирует усилие отрыва.
end title
start
!include input.puml
!include body.puml
stop
@enduml

37
creator.py Normal file
View File

@ -0,0 +1,37 @@
import argparse
from os import path, mkdir
TEXT = "@startuml\n\nstart\n\n!include input.puml\n!include body.puml\n\nstop\n\n@enduml\n"
def create_directory(directory_name: str) -> bool:
if not path.exists(directory_name):
mkdir(directory_name)
return True
else:
return False
def create_files(directory_name: str) -> None:
files = ("input.puml", "body.puml", "main.puml")
for file in files:
f = open(path.join(directory_name, file), 'w')
if "main" in file:
f.write(TEXT)
f.close()
def init_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="AlgorithmDigitalis")
parser.add_argument('-name', help="Algorythm name")
arguments = parser.parse_args()
return arguments
if __name__ == '__main__':
args = init_args()
dir_name = args.name
created = create_directory(directory_name=dir_name)
if created:
create_files(directory_name=dir_name)