dev: добавлена отрисовка этапа "перемещение"

This commit is contained in:
Andrew 2024-12-02 12:09:31 +03:00
parent dcb05aad76
commit 40767d813a
17 changed files with 23 additions and 8 deletions

View File

@ -8,7 +8,7 @@
"dist_close_end_1": 0.005,
"dist_close_end_2": 0.005,
"time_wielding": 1,
"time_command": 0.06,
"time_command": 0.0,
"time_robot_movement": 0.2,
"object_thickness": 0.0045,
"force_target": 5000,

Binary file not shown.

View File

@ -19,7 +19,7 @@ class idealDataBuilder(BaseIdealDataBuilder):
def get_openingDF(self) -> pd.DataFrame:
return self._get_data(self.getMarkOpen(), self.calcPhaseOpen)
def get_tmovementDF(self) -> pd.DataFrame:
def get_oncomingDF(self) -> pd.DataFrame:
return self._get_data(self.Ts['tmovement'], self.calcPhaseMovement)
def get_weldingDF(self) -> pd.DataFrame:
@ -31,7 +31,7 @@ class idealDataBuilder(BaseIdealDataBuilder):
def get_ideal_timings(self) -> list[float, float, float, float]:
data = self.Ts
ideal_timings = [data['tclose'], data['tgrow'], self.welding_time, self.getMarkOpen()]
ideal_timings = [data['tclose'], data['tgrow'], self.welding_time, self.getMarkOpen()] # TODO: add data['tmovement'], Oncoming не учитывается в производительности
return ideal_timings
@ -127,7 +127,17 @@ class PlotWidget(BasePlotWidget):
ideal_plot = self._create_curve_ideal(stage, signal, start_timestamp, finish_timestamp)
if ideal_plot:
plot_widget.addItem(ideal_plot)
end_timestamp = time_axis[len(time_axis) - 1]
region = self._create_stage_region("Oncoming", finish_timestamp, end_timestamp)
if region:
plot_widget.addItem(region)
for signal in description["Ideal_signals"]:
ideal_plot = self._create_curve_ideal("Oncoming", signal, finish_timestamp, end_timestamp)
if ideal_plot:
plot_widget.addItem(ideal_plot)
if settings["performance"] and all([stage in dataframe_headers for stage in self._stages]):
delta_timestamp = 0
for stage in self._stages:

View File

@ -104,17 +104,18 @@ class BasePlotWidget:
self._mediator = mediator
self._stages = [
"Relief",
"Closing",
"Squeeze",
"Welding"
"Welding",
"Relief"
]
self._stage_colors = {
"Closing": [208, 28, 31, 100],
"Squeeze": [45, 51, 89, 150],
"Welding": [247, 183, 24, 100],
"Relief": [0, 134, 88, 100]
"Relief": [0, 134, 88, 100],
"Oncoming": [222, 184, 135, 100]
}
self._plt_channels = {
"Electrode Force, N & Welding Current, kA": {
@ -208,7 +209,8 @@ class BasePlotWidget:
"Closing": self._opt.get_closingDF(),
"Squeeze": self._opt.get_compressionDF(),
"Welding": self._opt.get_weldingDF(),
"Relief": self._opt.get_openingDF()
"Relief": self._opt.get_openingDF(),
"Oncoming": self._opt.get_oncomingDF()
}
@property
def mediator(self) -> BaseMediator:
@ -271,6 +273,9 @@ class BaseIdealDataBuilder(OptAlgorithm):
def get_weldingDF(self) -> pd.DataFrame:
...
def get_oncomingDF(self) -> pd.DataFrame:
...
def get_ideal_timings(self) -> list[float, float, float, float]:
...