fix: Обработка параметров с учетом локали, позиционирование детали

This commit is contained in:
Леонид Титов 2024-12-27 17:16:45 +03:00
parent 64ced613dd
commit 9bac31c865
5 changed files with 52 additions and 263 deletions

View File

@ -1,306 +1,82 @@
{
"distance_h_start_1": [
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003
],
"distance_h_start_2": [
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005
0.003,
0.003
],
"distance_s_1": [
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001
],
"distance_s_2": [
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001,
0.001
],
"distance_l_1": [
0.02,
0.02,
0.02,
0.02,
0.02,
0.02,
0.02,
0.02,
0.02,
0.02,
0.02,
0.02,
0.02,
0.02
],
"distance_l_2": [
0.0275,
0.0255,
0.0242,
0.0245,
0.0228,
0.0236,
0.0229,
0.0248,
0.024,
0.0235,
0.025,
0.0276,
0.0234,
0.0215
0.02,
0.02
],
"distance_h_end1": [
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003,
0.003
],
"distance_h_end2": [
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005,
0.005
0.003,
0.003
],
"object_position": [
0.03,
0.03
],
"time_wielding": [
1.332,
1.644,
1.644,
1.428,
1.284,
1.308,
1.272,
1.38,
1.416,
1.392,
1.38,
1.404,
1.452,
1.452
1.644
],
"time_command": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"time_robot_movement": [
0.314,
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.5
0.331
],
"object_thickness": [
0.0045,
0.0045,
0.0045,
0.0045,
0.0045,
0.0045,
0.0045,
0.0045,
0.0045,
0.0045,
0.0045,
0.0045,
0.0045,
0.0045
],
"force_target": [
5000.0,
5000.0,
5000.0,
5000.0,
5000.0,
5000.0,
5000.0,
5000.0,
5000.0,
5000.0,
5000.0,
5000.0,
5000.0,
5000.0
],
"force_capture": [
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0
],
"Tesla closing": [
0.216,
0.228,
0.252,
0.216,
0.228,
0.216,
0.228,
0.228,
0.228,
0.216,
0.228,
0.216,
0.216,
0.216
0.228
],
"Tesla squeeze": [
0.276,
0.288,
0.264,
0.264,
0.276,
0.276,
0.312,
0.276,
0.24,
0.24,
0.24,
0.24,
0.24,
0.24
0.288
],
"Tesla welding": [
1.332,
1.644,
1.644,
1.428,
1.284,
1.308,
1.272,
1.38,
1.416,
1.392,
1.38,
1.404,
1.452,
1.452
1.644
],
"Tesla oncomming_relief": [
0.528,
0.528,
0.54,
0.636,
0.504,
0.468,
0.492,
0.54,
0.563,
0.588,
0.541,
0.564,
0.576,
0.507
0.528
],
"Tesla summary time": [
2.34,
2.652,
2.796,
2.4,
2.208,
2.34,
2.256,
2.544,
2.405,
2.405,
2.358,
2.37,
2.442,
1.908
2.652
]
}

View File

@ -6,22 +6,22 @@
1000.0
],
"a_max_1": [
7.96
10.0
],
"v_max_1": [
0.499
0.3
],
"a_max_2": [
35.81
10.0
],
"v_max_2": [
0.75
0.3
],
"mass_1": [
270.0
],
"mass_2": [
1.0
270.0
],
"k_hardness_1": [
2148570.0
@ -33,22 +33,22 @@
13.8
],
"torque_max_2": [
0.0
13.8
],
"transmission_ratio_1": [
0.00125
],
"transmission_ratio_2": [
1.0
0.00125
],
"contact_distance_1": [
0.02
0.0
],
"contact_distance_2": [
0.081
0.0
],
"k_prop": [
0.075
0.005
],
"time_capture": [
1000.0
@ -57,6 +57,6 @@
1000.0
],
"Range ME, mm": [
115.0
100.0
]
}

View File

@ -74,7 +74,7 @@ class PassportFormer(BasePointPassportFormer):
}
params_list = [operator_settings, system_settings]
cache_key = self._generate_cache_key(params_list)
if cache_key in self._ideal_data_cashe :
if cache_key in self._ideal_data_cashe and False:
ideal_data = self._ideal_data_cashe[cache_key]
else:
ideal_data = self._build_ideal_data(idealDataBuilder=idealDataBuilder, params=params_list)
@ -86,7 +86,7 @@ class PassportFormer(BasePointPassportFormer):
else:
point_timeframe, point_events = None, None
useful_p_data = {"thickness": operator_settings["object_thickness"],
"L2": operator_settings["distance_l_2"],
"L2": operator_settings["object_position"],
"force": operator_settings["force_target"]}
points_pocket.append([point_timeframe, ideal_data, point_events, useful_p_data])

View File

@ -19,6 +19,7 @@ class MainWindow(BaseMainWindow):
self._init_startUI()
self._init_dock_widgets()
self._init_menu()
# self.setLocale()
def _init_TabWidget(self) -> None:

View File

@ -1,3 +1,4 @@
import locale
from typing import Callable, Optional, Any
from PyQt5.QtWidgets import (QWidget, QPushButton,
QLineEdit, QHBoxLayout,
@ -5,6 +6,7 @@ from PyQt5.QtWidgets import (QWidget, QPushButton,
QTableWidget, QTableWidgetItem,
QStyledItemDelegate)
from PyQt5.QtGui import QIntValidator, QDoubleValidator
from PyQt5 import QtCore
from utils.json_tools import read_json, write_json
from utils import qt_settings as qts
@ -185,14 +187,14 @@ class SystemSettings(settingsWindow):
assosiated_names = {
"trace_storage_path": "Trace path",
"monitor_update_period": "Monitoring period",
"a_max_1": "Max lin accel FE, m/s^2",
"v_max_1": "Max lin speed FE, m/s",
"a_max_2":"Max lin accel ME, m/s^2",
"v_max_2": "Max lin speed FE, m/s",
"a_max_1": "Max linear acceleration FE, m/s^2",
"v_max_1": "Max linear speed FE, m/s",
"a_max_2":"Max linear acceleration ME, m/s^2",
"v_max_2": "Max linear speed ME, m/s",
"mass_1": "Mass FE, kg",
"mass_2": "Mass ME, kg",
"k_hardness_1": "Hardness coef FE, N/m",
"k_hardness_2": "Hardness coef ME, N/m",
"k_hardness_1": "Hardness coefficient FE, N/m",
"k_hardness_2": "Hardness coefficient ME, N/m",
"torque_max_1": "Max torque FE, N*m",
"torque_max_2": "Max torque ME, N*m",
"transmission_ratio_1": "Transmission ratio FE",
@ -215,8 +217,8 @@ class OperatorSettings(settingsWindow):
assosiated_names = {
"distance_h_start_1": "Closing start dist FE, m" ,
"distance_h_start_2": "Closing start dist ME, m",
"distance_s_1": "Rob movement start dist FE, m",
"distance_s_2": "Rob movement start dist ME, m",
"distance_s_1": "Robot movement start dist FE, m",
"distance_s_2": "Robot movement start dist ME, m",
"distance_l_1": "Max oncoming dist FE, m",
"distance_l_2": "Max oncoming dist ME, m",
"distance_h_end1": "Oncoming end dist FE, m",
@ -225,6 +227,7 @@ class OperatorSettings(settingsWindow):
"time_command": "Communication time compensator, sec",
"time_robot_movement": "Rob movement time, sec",
"object_thickness": "Workpiece thickness, m",
"object_position": "Workpiece position, m",
"force_target": "Target force, N",
"force_capture": "Capture force, N",
"Tesla closing": "Client closing time, sec",
@ -246,6 +249,8 @@ class ValidatorDelegate(QStyledItemDelegate):
elif self.data_type == 'float':
self.validator = QDoubleValidator()
self.validator.setNotation(QDoubleValidator.StandardNotation)
self.validator.setLocale(QtCore.QLocale("en_US"))
# locale
else:
self.validator = None
@ -253,9 +258,16 @@ class ValidatorDelegate(QStyledItemDelegate):
editor = QLineEdit(parent)
if self.validator:
editor.setValidator(self.validator)
# Добавляем обработчик для замены запятой на точку
editor.textChanged.connect(self.replace_comma_with_dot)
return editor
def replace_comma_with_dot(self, text):
# Заменяем запятую на точку
if ',' in text:
text = text.replace(',', '.')
# Устанавливаем измененный текст обратно в редактор
self.sender().setText(text)
if __name__ == '__main__':
import pyqtgraph as pg