diff --git a/app.log b/app.log index 6a038f5..6f0a66f 100644 --- a/app.log +++ b/app.log @@ -61818,3 +61818,95 @@ Joint 5 - Position: 2.6324369751913186e-19, Velocity: -1.7044130180708233e-30 - 2024-10-29 15:50:18,366 - logger - INFO - not_connected - robot.py - 52 2024-10-29 15:50:19,367 - logger - INFO - SHARED_MEMORY - client_socket.py - 56 2024-10-29 15:50:19,368 - logger - INFO - Connect to 0 by SHARED_MEMORY - client_socket.py - 67 +2024-10-29 16:01:21,596 - logger - INFO - not_connected - robot.py - 52 +2024-10-29 16:01:22,598 - logger - INFO - SHARED_MEMORY - client_socket.py - 56 +2024-10-29 16:01:22,598 - logger - INFO - Connect to 0 by SHARED_MEMORY - client_socket.py - 67 +2024-10-29 16:01:23,758 - logger - INFO - not_connected - robot.py - 52 +2024-10-29 16:01:25,119 - logger - INFO - connected - robot.py - 52 +2024-10-29 16:01:25,664 - logger - INFO - UPDATE - client_socket.py - 132 +2024-10-29 16:01:25,665 - logger - INFO - Координаты осей [-60.0, 40.0, -10.0, -60.0, -75.0, 0.0] - client_socket.py - 207 +2024-10-29 16:01:26,165 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:01:26,889 - logger - INFO - Мировые координаты [643.622, -1289.604, 254.682, 124.7, 24.209, -58.492] - client_socket.py - 207 +2024-10-29 16:01:27,473 - logger - INFO - convrt to joint (-0.9626918861742209, 1.3721460268621974, 1.415694673539136, -0.3148171545363295, -0.02321139496616466, 0.000456579550924834) - client_socket.py - 202 +2024-10-29 16:01:27,473 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:01:28,370 - logger - INFO - Команд в очереди ['ok'] - client_socket.py - 207 +2024-10-29 16:02:31,251 - logger - INFO - not_connected - robot.py - 52 +2024-10-29 16:02:32,252 - logger - INFO - SHARED_MEMORY - client_socket.py - 56 +2024-10-29 16:02:32,252 - logger - INFO - Connect to 0 by SHARED_MEMORY - client_socket.py - 67 +2024-10-29 16:02:32,257 - logger - INFO - not_connected - robot.py - 52 +2024-10-29 16:02:33,073 - logger - INFO - not_connected - robot.py - 52 +2024-10-29 16:02:34,431 - logger - INFO - connected - robot.py - 52 +2024-10-29 16:02:35,579 - logger - INFO - UPDATE - client_socket.py - 132 +2024-10-29 16:02:35,580 - logger - INFO - Координаты осей [-60.0, 40.0, -10.0, -60.0, -75.0, 0.0] - client_socket.py - 207 +2024-10-29 16:02:36,081 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:02:36,764 - logger - INFO - Мировые координаты [643.622, -1289.604, 254.682, 124.7, 24.209, -58.492] - client_socket.py - 207 +2024-10-29 16:02:37,271 - logger - INFO - convrt to joint (-0.9641667182472826, 1.3811043496197122, 1.4620132818630056, -0.3190459026699363, -0.016212773660530755, 0.0006844177502805399) - client_socket.py - 202 +2024-10-29 16:02:37,272 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:02:38,098 - logger - INFO - Команд в очереди ['ok'] - client_socket.py - 207 +2024-10-29 16:03:37,644 - logger - INFO - not_connected - robot.py - 52 +2024-10-29 16:03:38,646 - logger - INFO - SHARED_MEMORY - client_socket.py - 56 +2024-10-29 16:03:38,646 - logger - INFO - Connect to 0 by SHARED_MEMORY - client_socket.py - 67 +2024-10-29 16:03:39,151 - logger - INFO - not_connected - robot.py - 52 +2024-10-29 16:03:40,509 - logger - INFO - connected - robot.py - 52 +2024-10-29 16:03:41,428 - logger - INFO - UPDATE - client_socket.py - 132 +2024-10-29 16:03:41,428 - logger - INFO - Координаты осей [-60.0, 40.0, -10.0, -60.0, -75.0, 0.0] - client_socket.py - 207 +2024-10-29 16:03:41,929 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:03:42,611 - logger - INFO - Мировые координаты [643.622, -1289.604, 254.682, 124.7, 24.209, -58.492] - client_socket.py - 207 +2024-10-29 16:03:43,118 - logger - INFO - convrt to joint (-0.9641667182472826, 1.3811043496197122, 1.4620132818630056, -0.3190459026699363, -0.016212773660530755, 0.0006844177502805399) - client_socket.py - 202 +2024-10-29 16:03:43,119 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:03:43,944 - logger - INFO - Команд в очереди ['ok'] - client_socket.py - 207 +2024-10-29 16:03:46,090 - logger - INFO - convrt to joint (-0.9666863947327957, 1.3953586432611862, 1.5256569673473557, -0.3208506394772072, -0.006659772054381867, 0.0006893106236166456) - client_socket.py - 202 +2024-10-29 16:03:46,090 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:03:47,967 - logger - INFO - convrt to joint (-0.9655761927845171, 1.330434656012269, 1.5163082184419039, -0.3208127237626723, -0.007997765611559965, 0.0006888446163204292) - client_socket.py - 202 +2024-10-29 16:03:47,968 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:03:49,796 - logger - INFO - convrt to joint (-0.963458059078039, 1.2646241911683254, 1.4947027672428463, -0.3208135966574147, -0.011156772431351124, 0.000688914594147151) - client_socket.py - 202 +2024-10-29 16:03:49,796 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:03:51,677 - logger - INFO - convrt to joint (-0.9043810734702598, 1.276657183546565, 1.5093037755539638, -0.32081356987867693, -0.008987784828597427, 0.0006890558511496756) - client_socket.py - 202 +2024-10-29 16:03:51,679 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:03:53,448 - logger - INFO - convrt to joint (-0.8486226426703141, 1.287078867266526, 1.5154167874382696, -0.3207987858425582, -0.008083747534327241, 0.000686531991791943) - client_socket.py - 202 +2024-10-29 16:03:53,449 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:03:55,185 - logger - INFO - convrt to joint (-0.85029070360159, 1.349176334892764, 1.5356769873862217, -0.32078820617551257, -0.005104239252277206, 0.0006869285856752426) - client_socket.py - 202 +2024-10-29 16:03:55,186 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:03:56,997 - logger - INFO - convrt to joint (-0.8512684825055614, 1.411374640494623, 1.5493910515139788, -0.32078850636594086, -0.0030955715657669117, 0.0006870182138966142) - client_socket.py - 202 +2024-10-29 16:03:56,997 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:03:58,828 - logger - INFO - convrt to joint (-0.9072782081250974, 1.4045981071507634, 1.5432113612050762, -0.3207885004954305, -0.0040223961225567696, 0.0006869754355840838) - client_socket.py - 202 +2024-10-29 16:03:58,829 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:04:00,696 - logger - INFO - convrt to joint (-0.9673025346370323, 1.398962973819866, 1.5411140780170827, -0.3208063899344908, -0.004333399342580556, 0.000692690918965242) - client_socket.py - 202 +2024-10-29 16:04:00,697 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:04:58,778 - logger - INFO - robot_app еще не инициализирован. - main.py - 99 +2024-10-29 16:04:58,778 - logger - INFO - None - robot.py - 52 +2024-10-29 16:04:58,778 - logger - INFO - robot_app еще не инициализирован. - main.py - 99 +2024-10-29 16:04:58,778 - logger - INFO - robot_app еще не инициализирован. - main.py - 99 +2024-10-29 16:04:58,778 - logger - INFO - robot_app еще не инициализирован. - main.py - 99 +2024-10-29 16:04:58,778 - logger - INFO - robot_app еще не инициализирован. - main.py - 99 +2024-10-29 16:04:58,779 - logger - INFO - robot_app еще не инициализирован. - main.py - 99 +2024-10-29 16:04:58,779 - logger - INFO - robot_app еще не инициализирован. - main.py - 99 +2024-10-29 16:04:59,780 - logger - INFO - SHARED_MEMORY - client_socket.py - 56 +2024-10-29 16:04:59,780 - logger - INFO - Connect to 0 by SHARED_MEMORY - client_socket.py - 67 +2024-10-29 16:05:01,228 - logger - INFO - not_connected - robot.py - 52 +2024-10-29 16:05:02,586 - logger - INFO - connected - robot.py - 52 +2024-10-29 16:05:03,506 - logger - INFO - UPDATE - client_socket.py - 132 +2024-10-29 16:05:03,506 - logger - INFO - Координаты осей [-60.0, 40.0, -10.0, -60.0, -75.0, 0.0] - client_socket.py - 207 +2024-10-29 16:05:04,007 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:04,690 - logger - INFO - Мировые координаты [643.622, -1289.604, 254.682, 124.7, 24.209, -58.492] - client_socket.py - 207 +2024-10-29 16:05:05,194 - logger - INFO - convrt to joint (-0.9641667182472826, 1.3811043496197122, 1.4620132818630056, -0.3190459026699363, -0.016212773660530755, 0.0006844177502805399) - client_socket.py - 202 +2024-10-29 16:05:05,195 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:06,019 - logger - INFO - Команд в очереди ['ok'] - client_socket.py - 207 +2024-10-29 16:05:08,261 - logger - INFO - convrt to joint (-0.9668476164601421, 1.395394850959572, 1.5256792176393126, -0.3205077394838258, -0.006660233541967512, 0.0006886903231214401) - client_socket.py - 202 +2024-10-29 16:05:08,261 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:10,132 - logger - INFO - convrt to joint (-0.9657218286693046, 1.330416502240556, 1.5160653743511086, -0.3204714665115629, -0.008038495360159792, 0.0006882252825520606) - client_socket.py - 202 +2024-10-29 16:05:10,133 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:11,962 - logger - INFO - convrt to joint (-0.9635828245189926, 1.2645708493099896, 1.4942465604389596, -0.3204724009172911, -0.011230736532491882, 0.0006883084868597115) - client_socket.py - 202 +2024-10-29 16:05:11,963 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:13,753 - logger - INFO - convrt to joint (-0.9045153902735552, 1.2766133486217581, 1.5089264646457607, -0.32047237096098735, -0.0090488383902598, 0.0006884625058309392) - client_socket.py - 202 +2024-10-29 16:05:13,754 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:15,562 - logger - INFO - convrt to joint (-0.8487647504135029, 1.2870510470097611, 1.5151236832133197, -0.32045578945829767, -0.00813175494641641, 0.0006840417903321016) - client_socket.py - 202 +2024-10-29 16:05:15,563 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:17,432 - logger - INFO - convrt to joint (-0.8504451688081045, 1.3491565847362337, 1.5354741630246926, -0.3204409904849415, -0.005137231409737459, 0.0006803794079834788) - client_socket.py - 202 +2024-10-29 16:05:17,433 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:19,273 - logger - INFO - convrt to joint (-0.8514286369880932, 1.4113612280430716, 1.549257617281522, -0.3204414162470644, -0.0031170959368438133, 0.0006806281091210865) - client_socket.py - 202 +2024-10-29 16:05:19,274 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:21,060 - logger - INFO - convrt to joint (-0.9074379196624537, 1.4045912401787348, 1.5430901399023609, -0.32044140699574736, -0.004042699975548731, 0.0006805716207858401) - client_socket.py - 202 +2024-10-29 16:05:21,061 - logger - INFO - set joints - client_socket.py - 210 +2024-10-29 16:05:22,890 - logger - INFO - convrt to joint (-0.9674616052393168, 1.3989550465650193, 1.540982375350098, -0.3204591416278889, -0.004355469626419479, 0.0006860526939048857) - client_socket.py - 202 +2024-10-29 16:05:22,891 - logger - INFO - set joints - client_socket.py - 210 diff --git a/gui/command.py b/gui/command.py new file mode 100644 index 0000000..05b7303 --- /dev/null +++ b/gui/command.py @@ -0,0 +1,42 @@ +from PyQt5.QtWidgets import QWidget, QLabel, QVBoxLayout, QPushButton +from PyQt5.QtCore import QTimer, Qt +import time +from logger import logger + + +class Command(QWidget): + def __init__(self, startCommand, command_data): + super().__init__() + + self.command_data = command_data + self.startCommand = startCommand + + self.initUI() + + self.timer = QTimer() + self.timer.timeout.connect(self.updateState) + self.timer.start(int(100)) + + def initUI(self): + self.layout = QVBoxLayout() + self.setLayout(self.layout) + + self.stepLabel = QLabel() + + for l in [self.stepLabel]: + l.setWordWrap(True) + self.layout.addWidget(l) + + self.updButton = QPushButton("Запустить single cycle") + self.updButton.clicked.connect(self.startCommand) + self.layout.addWidget(self.updButton) + + def paintEvent(self, event): + # Установка цвета фона + self.setAutoFillBackground(True) + p = self.palette() + p.setColor(self.backgroundRole(), Qt.GlobalColor.lightGray) + self.setPalette(p) + + def updateState(self): + self.stepLabel.setText(f"{self.command_data()}") \ No newline at end of file diff --git a/main.py b/main.py index 60f1292..22853e2 100644 --- a/main.py +++ b/main.py @@ -46,6 +46,10 @@ class MyApp: "startImitate": self.imitate_wrapper, "imitate_point": self.get_imitate_point, }, + commandPanel={ + "startImitate": self.imitate_wrapper, + "imitate_point": self.get_imitate_point, + }, visPanel={ "get_pybullet_image": self.get_pybullet_image_wrapper, }, @@ -86,49 +90,52 @@ class MyApp: ) self.robot_app.start_loop(selected_robot["urdf"]) - # Функции-обертки - def get_status(self): - if self.robot_app: - return self.robot_app.get_status() - else: - return "not_connected" - - def get_world_coordinates(self): - if self.robot_app: - return self.robot_app.get_world_coordinates() - return None # Или любое значение по умолчанию - - def get_axis_coordinates(self): - if self.robot_app: - return self.robot_app.get_axis_coordinates() - return None # Или любое значение по умолчанию - - def get_command_count(self): - if self.robot_app: - return self.robot_app.get_command_count() - return 0 # Или любое значение по умолчанию - def get_imitate_point(self): - if self.robot_app: - return self.robot_app.get_imitate_point() - return 0 # Или любое значение по умолчанию - - def imitate_wrapper(self): - if self.robot_app: - self.robot_app.imitate() - else: - print("robot_app еще не инициализирован.") + def check_robot_app(func): + def wrapper(self): + if self.robot_app: + return func(self) + else: + logger.info("robot_app еще не инициализирован.") + return None # Или любое значение по умолчанию - def update_data_wrapper(self): - if self.robot_app: - self.robot_app.upd_model() - else: - print("robot_app еще не инициализирован.") + return wrapper + + @check_robot_app + def get_status(self): + return self.robot_app.get_status() + @check_robot_app + def get_world_coordinates(self): + return self.robot_app.get_world_coordinates() + + @check_robot_app + def get_axis_coordinates(self): + return self.robot_app.get_axis_coordinates() + + @check_robot_app + def get_command_count(self): + return self.robot_app.get_command_count() + + @check_robot_app + def get_imitate_point(self): + return self.robot_app.get_imitate_point() + + @check_robot_app + def command_wrapper(self): + return self.robot_app.cycle_start() + + @check_robot_app + def imitate_wrapper(self): + return self.robot_app.imitate() + + @check_robot_app + def update_data_wrapper(self): + return self.robot_app.upd_model() + + @check_robot_app def get_pybullet_image_wrapper(self): - if self.robot_app: - return self.robot_app.get_pybullet_image() - return (None, 0, 0) # Или любое значение по умолчанию + return self.robot_app.get_pybullet_image() if __name__ == "__main__":