diff --git a/params/operator_params.json b/params/operator_params.json index 37687f7..f24c230 100644 --- a/params/operator_params.json +++ b/params/operator_params.json @@ -34,7 +34,7 @@ "distance_s_1": [ 0.001, 0.001, - 0.003, + 0.001, 0.001, 0.001, 0.001, @@ -64,7 +64,7 @@ 0.001 ], "distance_l_1": [ - 0.0105, + 0.005, 0.005, 0.005, 0.005, @@ -129,7 +129,7 @@ ], "object_position": [ 0.02743, - 0.016, + 0.0249, 0.024, 0.02425, 0.0225, @@ -176,27 +176,27 @@ 0.0 ], "time_robot_movement": [ - 0.5, - 0.331, - 0.356, - 0.428, - 0.418, - 0.454, - 0.458, - 0.44, - 0.49, - 0.47, - 0.44, - 0.425, - 0.464, - 0.2 + 0.283, + 0.362, + 0.335, + 0.444, + 0.303, + 0.37, + 0.375, + 0.447, + 0.362, + 0.433, + 0.37, + 0.457, + 0.487, + 0.5 ], "object_thickness": [ 0.0045, 0.0045, 0.0045, 0.0045, - 0.0085, + 0.0045, 0.0045, 0.0045, 0.0045, @@ -213,9 +213,9 @@ 5000.0, 5000.0, 5000.0, - 7000.0, 5000.0, - 2000.0, + 5000.0, + 5000.0, 5000.0, 5000.0, 5000.0, diff --git a/params/system_params.json b/params/system_params.json index f69a783..332939d 100644 --- a/params/system_params.json +++ b/params/system_params.json @@ -6,16 +6,16 @@ 1000.0 ], "a_max_1": [ - 0.7 + 7.96 ], "v_max_1": [ - 10.0 + 0.499 ], "a_max_2": [ - 100.0 + 35.81 ], "v_max_2": [ - 0.2 + 0.75 ], "mass_1": [ 270.0 @@ -48,7 +48,7 @@ 0.0 ], "k_prop": [ - 0.0075 + 0.005 ], "time_capture": [ 1000.0 diff --git a/src/controller/passportFormer.py b/src/controller/passportFormer.py index 78d5a42..b47264a 100644 --- a/src/controller/passportFormer.py +++ b/src/controller/passportFormer.py @@ -45,12 +45,16 @@ class PassportFormer(BasePointPassportFormer): return_data = [] finally: self._mediator.notify(self, return_data) - + + + def _get_time_value(self, dataframe: pd.DataFrame): + return dataframe['time'] if 'time' in dataframe else dataframe['Time'] + def _build_passports_pocket(self, dataframe: pd.DataFrame) -> list[pd.DataFrame, dict, int]: if dataframe is not None: - events, point_quantity = self._filter_events(dataframe["time"], dataframe) + events, point_quantity = self._filter_events(self._get_time_value(dataframe), dataframe) if point_quantity == 0: return [] idx_shift = True if events[self._stages[-1]][0][0] == 0 else False diff --git a/src/gui/plotter.py b/src/gui/plotter.py index f4082b2..7af49d0 100644 --- a/src/gui/plotter.py +++ b/src/gui/plotter.py @@ -31,7 +31,7 @@ class PlotWidget(BasePlotWidget): """ if start_timestamp is not None and finish_timestamp is not None: return pg.PlotDataItem( - x=start_timestamp + ideal_data["time"], + x=start_timestamp + self._get_time_value(ideal_data), y=ideal_data[signal["name"]], pen=signal["pen"] ) @@ -142,7 +142,7 @@ class PlotWidget(BasePlotWidget): dataframe_headers = dataframe.columns.tolist() for signal in real_signals: if signal["name"] in dataframe_headers: - plot = plot_item.plot(dataframe["time"], dataframe[signal["name"]], pen=signal["pen"], fast=True) + plot = plot_item.plot(self._get_time_value(dataframe), dataframe[signal["name"]], pen=signal["pen"], fast=True) plot.setZValue(0) legend.addItem(plot, signal["name"]) curve_items["real"].setdefault(signal["name"], {}) @@ -186,6 +186,10 @@ class PlotWidget(BasePlotWidget): qt_items["real to ideal performance"] = kdip_label + def _get_time_value(self, dataframe: pd.DataFrame): + return dataframe['time'] if 'time' in dataframe else dataframe['Time'] + + def _build_widget(self, data: list[Any]) -> QWidget: """ Собирает графический виджет для одного набора данных. @@ -250,7 +254,7 @@ class PlotWidget(BasePlotWidget): if False and settings["force compensation FE"] and not dat_is_none: force = useful_p_data["force"] F_comp = - force/k_hardness - point_idxs = dataframe[(dataframe["time"] >= point_timeframe[0]) & (dataframe["time"] <= point_timeframe[1])].index + point_idxs = dataframe[(self._get_time_value(dataframe) >= point_timeframe[0]) & (self._get_time_value(dataframe) <= point_timeframe[1])].index dataframe.loc[point_idxs] = self._shift_data("FE", description["Real_signals"], dataframe.loc[point_idxs], F_comp)