Commit fa14d006 authored by Gallacchi Mattia's avatar Gallacchi Mattia
Browse files

Add jog to UI

parent 616276bf
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ void setup()

    // Wait acknowledge
    while(!Serial.available()) {
		Serial.println("Wait");
		DBG.println("Remove standstill");
		delay(250);
	}
@@ -92,6 +93,7 @@ void setup()
	motor3.setMaxSpeed(15 * k);
	motor3.setAcceleration(30 * k);
	delay(1000);
	Serial.println("Ready");
}

bool parse_data(String data, float* values)
+23 −48
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ void setup()
	motor3.setAcceleration(200);

	delay(1000); // Standstill for automatic tuning
	delay(100000); // Standstill to remove the Support Blocks
	delay(20000); // Standstill to remove the Support Blocks

	//----------------------------------Move to the Home-----------------------

@@ -93,33 +93,8 @@ void setup()
	delay(1000);
}

bool parse_data(String data, float* values)
{
	bool ret = true;
	int count = 0;
	// data.indexOf()

	while (count < 3) {
		int index = data.indexOf(",");
		values[count++] = data.substring(0, index).toFloat();
		data = data.substring(index + 1);
	}

	return ret;
}

void loop()
{

	float new_pos[3] = {0.0};

	if (Serial.available()) {
		String data = Serial.readStringUntil('\n');
		if (!parse_data(data, new_pos)) {
			goto send_current_pos;
		}
	}

	if (Serial.available()) {  // check for incoming serial data
		String RpiData = Serial.readStringUntil('\n');  // read command from serial port
		// get first target position
@@ -217,12 +192,18 @@ void loop()
	float xactual3 = posa3 / 10.0; //motor2.getCurrentPosition()*50.0;
	float xactual4 = posa4 / 10.0; //motor3.getCurrentPosition()*50.0;
	float xactual5 = 0.0;
	
	if (isnan(xactual1))
		xactual1 = xactualold1;
	if (isnan(xactual2)) xactual2 = xactualold2;
	if (isnan(xactual3)) xactual3 = xactualold3;
	if (isnan(xactual4)) xactual4 = xactualold4;
	if (isnan(xactual5)) xactual5 = xactualold5;
	if (isnan(xactual2))
		xactual2 = xactualold2;
	if (isnan(xactual3))
		xactual3 = xactualold3;
	if (isnan(xactual4))
		xactual4 = xactualold4;
	if (isnan(xactual5)) 
		xactual5 = xactualold5;

	xactualold1 = xactual1;
	xactualold2 = xactual2;
	xactualold3 = xactual3;
@@ -233,11 +214,16 @@ void loop()
	float vactual3 = motor2.getCurrentSpeed();
	float vactual4 = motor3.getCurrentSpeed();
	float vactual5 = 0.0;
	if (isnan(vactual1)) vactual1 = vactualold1;
	if (isnan(vactual2)) vactual2 = vactualold2;
	if (isnan(vactual3)) vactual3 = vactualold3;
	if (isnan(vactual4)) vactual4 = vactualold4;
	if (isnan(vactual5)) vactual5 = vactualold5;
	if (isnan(vactual1))
		vactual1 = vactualold1;
	if (isnan(vactual2))
		vactual2 = vactualold2;
	if (isnan(vactual3))
		vactual3 = vactualold3;
	if (isnan(vactual4))
		vactual4 = vactualold4;
	if (isnan(vactual5))
		vactual5 = vactualold5;
	vactualold1 = vactual1;
	vactualold2 = vactual2;
	vactualold3 = vactual3;
@@ -256,15 +242,4 @@ void loop()
	Serial.print("v");
	Serial.print((abs(vactual1) + abs(vactual2) + abs(vactual3) + abs(vactual4) + abs(vactual5)) / (5 * 1000), 2);
	Serial.println("x");

send_current_pos:

	float current_pos[3] = {
		motor1.getCurrentPosition(),
		motor2.getCurrentPosition(),
		motor3.getCurrentPosition()
	};



}
 No newline at end of file
+62 −12
Original line number Diff line number Diff line
@@ -9,11 +9,21 @@ from PyQt6.QtWidgets import (
from PyQt6.QtGui import QCloseEvent, QImage, QPixmap
from PyQt6.QtCore import QObject, Qt, QThread, pyqtSignal
import time, sys
from functools import partial
from enum import Enum

POS_DEFAULT = 0.0
VEL_DEFAULT = 12.0
ACC_DEFAULT = 18.0

class JOG(Enum):
    RZ_NEG = 0
    RZ_POS = 1
    RY_NEG = 2
    RY_POS = 3
    RZ1_NEG = 4
    RZ1_POS = 5

class CommThread(QThread):

    update_positions = pyqtSignal(list)
@@ -45,38 +55,78 @@ class Window(QMainWindow, Ui_MainWindow):
        self.robot = CommThread("/dev/ttyACM0")
        self.__setup_signals()
        self.robot.start()
        time.sleep(0.5)
        self.step_size_cb.addItems(["1", "5", "10", "50"])
        self.current_pos = None
        self.store()

    def __setup_signals(self):

        # UI
        self.move_pb.pressed.connect(self.send_pos)
        self.move_pb.pressed.connect(self.move_pb_callback)
        self.home_pb.pressed.connect(self.home)
        self.store_pb.pressed.connect(self.store)
        self.step_size_cb.currentIndexChanged.connect(self.__update_spinbox_step_size)
        self.jog_rz_neg_pb.pressed.connect(partial(self.jog_callback, JOG.RZ_NEG))
        self.jog_rz_pos_pb.pressed.connect(partial(self.jog_callback, JOG.RZ_POS))
        self.jog_ry_neg_pb.pressed.connect(partial(self.jog_callback, JOG.RY_NEG))
        self.jog_ry_pos_pb.pressed.connect(partial(self.jog_callback, JOG.RY_POS))
        self.jog_rz1_neg_pb.pressed.connect(partial(self.jog_callback, JOG.RZ1_NEG))
        self.jog_rz1_pos_pb.pressed.connect(partial(self.jog_callback, JOG.RZ1_POS))

        # Thread
        self.robot.update_positions.connect(self.update_position)

    def home(self):
    def __update_spinbox_step_size(self):

        move = WorldPosition(0.0, 0.0, 0.0)
        self.robot.send_pos(move)
        self.update_sb(move)
        self.move_rx_sb.setSingleStep(int(self.step_size_cb.currentText()))
        self.move_ry_sb.setSingleStep(int(self.step_size_cb.currentText()))
        self.move_rz_sb.setSingleStep(int(self.step_size_cb.currentText()))

    def store(self):
        move = WorldPosition(-60.0, 0.0, 0.0)
        self.robot.send_pos(move)
        self.update_sb(move)
    def home(self):
        self.move(WorldPosition(0.0, 0.0, 0.0))

    def send_pos(self):
    def store(self):
        self.move(WorldPosition(-60.0, 0.0, 0.0))

    def jog_callback(self, jog: JOG):

        new_pos = self.current_pos
        step = int(self.step_size_cb.currentText())
        match jog:
            case JOG.RZ_NEG:
                new_pos.rz -= step
            case JOG.RZ_POS:
                new_pos.rz += step
            case JOG.RY_NEG:
                new_pos.ry -= step
            case JOG.RY_POS:
                new_pos.ry += step
            case JOG.RZ1_NEG:
                new_pos.rz1 -= step
            case JOG.RZ1_POS:
                new_pos.rz1 += step

        self.move(new_pos)

    def move_pb_callback(self):

        move = WorldPosition(
            float(self.move_rx_sb.value()),
            float(self.move_ry_sb.value()),
            float(self.move_rz_sb.value())
        )
        self.robot.send_pos(move)
        self.move(move)

    def move(self, new_pos: WorldPosition):

        self.current_pos = new_pos
        self.update_spinboxes(new_pos)
        self.robot.send_pos(new_pos)

        print(self.current_pos)

    def update_sb(self, pos : WorldPosition):
    def update_spinboxes(self, pos : WorldPosition):

        self.move_rx_sb.setValue(int(pos.rz))
        self.move_ry_sb.setValue(int(pos.ry))
+137 −69
Original line number Diff line number Diff line
@@ -6,8 +6,8 @@
   <rect>
    <x>0</x>
    <y>0</y>
    <width>437</width>
    <height>206</height>
    <width>503</width>
    <height>218</height>
   </rect>
  </property>
  <property name="windowTitle">
@@ -19,13 +19,61 @@
     <rect>
      <x>10</x>
      <y>10</y>
      <width>411</width>
      <height>149</height>
      <width>481</width>
      <height>152</height>
     </rect>
    </property>
    <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1">
     <item row="1" column="2">
      <widget class="QSpinBox" name="move_rx_sb">
    <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1">
     <item row="0" column="0">
      <spacer name="horizontalSpacer">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
       </property>
       <property name="sizeHint" stdset="0">
        <size>
         <width>40</width>
         <height>20</height>
        </size>
       </property>
      </spacer>
     </item>
     <item row="1" column="0">
      <widget class="QLabel" name="label_3">
       <property name="text">
        <string>Rz</string>
       </property>
      </widget>
     </item>
     <item row="0" column="1">
      <widget class="QLabel" name="label_2">
       <property name="text">
        <string>Current postion</string>
       </property>
      </widget>
     </item>
     <item row="3" column="0">
      <widget class="QLabel" name="label_6">
       <property name="text">
        <string>Rz'</string>
       </property>
      </widget>
     </item>
     <item row="2" column="0">
      <widget class="QLabel" name="label_5">
       <property name="text">
        <string>Ry</string>
       </property>
      </widget>
     </item>
     <item row="4" column="1">
      <widget class="QPushButton" name="home_pb">
       <property name="text">
        <string>Home</string>
       </property>
      </widget>
     </item>
     <item row="3" column="2">
      <widget class="QSpinBox" name="move_rz_sb">
       <property name="minimum">
        <number>-180</number>
       </property>
@@ -34,10 +82,24 @@
       </property>
      </widget>
     </item>
     <item row="0" column="2">
      <widget class="QLabel" name="label_4">
     <item row="4" column="2">
      <widget class="QPushButton" name="move_pb">
       <property name="text">
        <string>Move to</string>
        <string>Move</string>
       </property>
      </widget>
     </item>
     <item row="2" column="1">
      <widget class="QLineEdit" name="current_ry_le">
       <property name="enabled">
        <bool>false</bool>
       </property>
      </widget>
     </item>
     <item row="4" column="0">
      <widget class="QPushButton" name="store_pb">
       <property name="text">
        <string>Store</string>
       </property>
      </widget>
     </item>
@@ -51,13 +113,6 @@
       </property>
      </widget>
     </item>
     <item row="0" column="1">
      <widget class="QLabel" name="label_2">
       <property name="text">
        <string>Current postion</string>
       </property>
      </widget>
     </item>
     <item row="1" column="1">
      <widget class="QLineEdit" name="current_rx_le">
       <property name="enabled">
@@ -65,10 +120,20 @@
       </property>
      </widget>
     </item>
     <item row="2" column="1">
      <widget class="QLineEdit" name="current_ry_le">
       <property name="enabled">
        <bool>false</bool>
     <item row="1" column="2">
      <widget class="QSpinBox" name="move_rx_sb">
       <property name="minimum">
        <number>-180</number>
       </property>
       <property name="maximum">
        <number>180</number>
       </property>
      </widget>
     </item>
     <item row="0" column="2">
      <widget class="QLabel" name="label_4">
       <property name="text">
        <string>Move to</string>
       </property>
      </widget>
     </item>
@@ -79,72 +144,75 @@
       </property>
      </widget>
     </item>
     <item row="3" column="0">
      <widget class="QLabel" name="label_6">
     <item row="0" column="3">
      <widget class="QLabel" name="label">
       <property name="text">
        <string>Rz'</string>
        <string>Jog</string>
       </property>
      </widget>
     </item>
     <item row="2" column="0">
      <widget class="QLabel" name="label_5">
       <property name="text">
        <string>Ry</string>
     <item row="4" column="3">
      <widget class="QComboBox" name="step_size_cb">
       <property name="currentText">
        <string/>
       </property>
      </widget>
     </item>
     <item row="1" column="0">
      <widget class="QLabel" name="label_3">
     <item row="1" column="3">
      <layout class="QHBoxLayout" name="horizontalLayout">
       <item>
        <widget class="QPushButton" name="jog_rz_neg_pb">
         <property name="text">
        <string>Rz</string>
          <string>-</string>
         </property>
        </widget>
       </item>
     <item row="3" column="2">
      <widget class="QSpinBox" name="move_rz_sb">
       <property name="minimum">
        <number>-45</number>
       </property>
       <property name="maximum">
        <number>45</number>
       <item>
        <widget class="QPushButton" name="jog_rz_pos_pb">
         <property name="text">
          <string>+</string>
         </property>
        </widget>
       </item>
     <item row="0" column="0">
      <spacer name="horizontalSpacer">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
       </property>
       <property name="sizeHint" stdset="0">
        <size>
         <width>40</width>
         <height>20</height>
        </size>
      </layout>
     </item>
     <item row="2" column="3">
      <layout class="QHBoxLayout" name="horizontalLayout_2">
       <item>
        <widget class="QPushButton" name="jog_ry_neg_pb">
         <property name="text">
          <string>-</string>
         </property>
      </spacer>
        </widget>
       </item>
     <item row="4" column="2">
      <widget class="QPushButton" name="move_pb">
       <item>
        <widget class="QPushButton" name="jog_ry_pos_pb">
         <property name="text">
        <string>Move</string>
          <string>+</string>
         </property>
        </widget>
       </item>
     <item row="4" column="1">
      <widget class="QPushButton" name="home_pb">
      </layout>
     </item>
     <item row="3" column="3">
      <layout class="QHBoxLayout" name="horizontalLayout_3">
       <item>
        <widget class="QPushButton" name="jog_rz1_neg_pb">
         <property name="text">
        <string>Home</string>
          <string>-</string>
         </property>
        </widget>
       </item>
     <item row="4" column="0">
      <widget class="QPushButton" name="store_pb">
       <item>
        <widget class="QPushButton" name="jog_rz1_pos_pb">
         <property name="text">
        <string>Store</string>
          <string>+</string>
         </property>
        </widget>
       </item>
      </layout>
     </item>
    </layout>
   </widget>
  </widget>
  <widget class="QMenuBar" name="menubar">
@@ -152,7 +220,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
     <width>437</width>
     <width>503</width>
     <height>22</height>
    </rect>
   </property>
+83 −41
Original line number Diff line number Diff line
@@ -12,74 +12,109 @@ from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(437, 206)
        MainWindow.resize(503, 218)
        self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayoutWidget = QtWidgets.QWidget(parent=self.centralwidget)
        self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 411, 149))
        self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 481, 152))
        self.gridLayoutWidget.setObjectName("gridLayoutWidget")
        self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setObjectName("gridLayout")
        self.move_rx_sb = QtWidgets.QSpinBox(parent=self.gridLayoutWidget)
        self.move_rx_sb.setMinimum(-180)
        self.move_rx_sb.setMaximum(180)
        self.move_rx_sb.setObjectName("move_rx_sb")
        self.gridLayout.addWidget(self.move_rx_sb, 1, 2, 1, 1)
        self.label_4 = QtWidgets.QLabel(parent=self.gridLayoutWidget)
        self.label_4.setObjectName("label_4")
        self.gridLayout.addWidget(self.label_4, 0, 2, 1, 1)
        self.move_ry_sb = QtWidgets.QSpinBox(parent=self.gridLayoutWidget)
        self.move_ry_sb.setMinimum(-180)
        self.move_ry_sb.setMaximum(180)
        self.move_ry_sb.setObjectName("move_ry_sb")
        self.gridLayout.addWidget(self.move_ry_sb, 2, 2, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
        self.gridLayout.addItem(spacerItem, 0, 0, 1, 1)
        self.label_3 = QtWidgets.QLabel(parent=self.gridLayoutWidget)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
        self.label_2 = QtWidgets.QLabel(parent=self.gridLayoutWidget)
        self.label_2.setObjectName("label_2")
        self.gridLayout.addWidget(self.label_2, 0, 1, 1, 1)
        self.current_rx_le = QtWidgets.QLineEdit(parent=self.gridLayoutWidget)
        self.current_rx_le.setEnabled(False)
        self.current_rx_le.setObjectName("current_rx_le")
        self.gridLayout.addWidget(self.current_rx_le, 1, 1, 1, 1)
        self.current_ry_le = QtWidgets.QLineEdit(parent=self.gridLayoutWidget)
        self.current_ry_le.setEnabled(False)
        self.current_ry_le.setObjectName("current_ry_le")
        self.gridLayout.addWidget(self.current_ry_le, 2, 1, 1, 1)
        self.current_rz_le = QtWidgets.QLineEdit(parent=self.gridLayoutWidget)
        self.current_rz_le.setEnabled(False)
        self.current_rz_le.setObjectName("current_rz_le")
        self.gridLayout.addWidget(self.current_rz_le, 3, 1, 1, 1)
        self.label_6 = QtWidgets.QLabel(parent=self.gridLayoutWidget)
        self.label_6.setObjectName("label_6")
        self.gridLayout.addWidget(self.label_6, 3, 0, 1, 1)
        self.label_5 = QtWidgets.QLabel(parent=self.gridLayoutWidget)
        self.label_5.setObjectName("label_5")
        self.gridLayout.addWidget(self.label_5, 2, 0, 1, 1)
        self.label_3 = QtWidgets.QLabel(parent=self.gridLayoutWidget)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
        self.home_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.home_pb.setObjectName("home_pb")
        self.gridLayout.addWidget(self.home_pb, 4, 1, 1, 1)
        self.move_rz_sb = QtWidgets.QSpinBox(parent=self.gridLayoutWidget)
        self.move_rz_sb.setMinimum(-45)
        self.move_rz_sb.setMaximum(45)
        self.move_rz_sb.setMinimum(-180)
        self.move_rz_sb.setMaximum(180)
        self.move_rz_sb.setObjectName("move_rz_sb")
        self.gridLayout.addWidget(self.move_rz_sb, 3, 2, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
        self.gridLayout.addItem(spacerItem, 0, 0, 1, 1)
        self.move_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.move_pb.setObjectName("move_pb")
        self.gridLayout.addWidget(self.move_pb, 4, 2, 1, 1)
        self.home_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.home_pb.setObjectName("home_pb")
        self.gridLayout.addWidget(self.home_pb, 4, 1, 1, 1)
        self.current_ry_le = QtWidgets.QLineEdit(parent=self.gridLayoutWidget)
        self.current_ry_le.setEnabled(False)
        self.current_ry_le.setObjectName("current_ry_le")
        self.gridLayout.addWidget(self.current_ry_le, 2, 1, 1, 1)
        self.store_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.store_pb.setObjectName("store_pb")
        self.gridLayout.addWidget(self.store_pb, 4, 0, 1, 1)
        self.move_ry_sb = QtWidgets.QSpinBox(parent=self.gridLayoutWidget)
        self.move_ry_sb.setMinimum(-180)
        self.move_ry_sb.setMaximum(180)
        self.move_ry_sb.setObjectName("move_ry_sb")
        self.gridLayout.addWidget(self.move_ry_sb, 2, 2, 1, 1)
        self.current_rx_le = QtWidgets.QLineEdit(parent=self.gridLayoutWidget)
        self.current_rx_le.setEnabled(False)
        self.current_rx_le.setObjectName("current_rx_le")
        self.gridLayout.addWidget(self.current_rx_le, 1, 1, 1, 1)
        self.move_rx_sb = QtWidgets.QSpinBox(parent=self.gridLayoutWidget)
        self.move_rx_sb.setMinimum(-180)
        self.move_rx_sb.setMaximum(180)
        self.move_rx_sb.setObjectName("move_rx_sb")
        self.gridLayout.addWidget(self.move_rx_sb, 1, 2, 1, 1)
        self.label_4 = QtWidgets.QLabel(parent=self.gridLayoutWidget)
        self.label_4.setObjectName("label_4")
        self.gridLayout.addWidget(self.label_4, 0, 2, 1, 1)
        self.current_rz_le = QtWidgets.QLineEdit(parent=self.gridLayoutWidget)
        self.current_rz_le.setEnabled(False)
        self.current_rz_le.setObjectName("current_rz_le")
        self.gridLayout.addWidget(self.current_rz_le, 3, 1, 1, 1)
        self.label = QtWidgets.QLabel(parent=self.gridLayoutWidget)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 0, 3, 1, 1)
        self.step_size_cb = QtWidgets.QComboBox(parent=self.gridLayoutWidget)
        self.step_size_cb.setCurrentText("")
        self.step_size_cb.setObjectName("step_size_cb")
        self.gridLayout.addWidget(self.step_size_cb, 4, 3, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.jog_rz_neg_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.jog_rz_neg_pb.setObjectName("jog_rz_neg_pb")
        self.horizontalLayout.addWidget(self.jog_rz_neg_pb)
        self.jog_rz_pos_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.jog_rz_pos_pb.setObjectName("jog_rz_pos_pb")
        self.horizontalLayout.addWidget(self.jog_rz_pos_pb)
        self.gridLayout.addLayout(self.horizontalLayout, 1, 3, 1, 1)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.jog_ry_neg_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.jog_ry_neg_pb.setObjectName("jog_ry_neg_pb")
        self.horizontalLayout_2.addWidget(self.jog_ry_neg_pb)
        self.jog_ry_pos_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.jog_ry_pos_pb.setObjectName("jog_ry_pos_pb")
        self.horizontalLayout_2.addWidget(self.jog_ry_pos_pb)
        self.gridLayout.addLayout(self.horizontalLayout_2, 2, 3, 1, 1)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.jog_rz1_neg_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.jog_rz1_neg_pb.setObjectName("jog_rz1_neg_pb")
        self.horizontalLayout_3.addWidget(self.jog_rz1_neg_pb)
        self.jog_rz1_pos_pb = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
        self.jog_rz1_pos_pb.setObjectName("jog_rz1_pos_pb")
        self.horizontalLayout_3.addWidget(self.jog_rz1_pos_pb)
        self.gridLayout.addLayout(self.horizontalLayout_3, 3, 3, 1, 1)
        self.gridLayout.setColumnStretch(0, 1)
        self.gridLayout.setColumnStretch(1, 1)
        self.gridLayout.setColumnStretch(2, 1)
        self.gridLayout.setColumnStretch(3, 1)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 437, 22))
        self.menubar.setGeometry(QtCore.QRect(0, 0, 503, 22))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(parent=MainWindow)
@@ -92,11 +127,18 @@ class Ui_MainWindow(object):
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_4.setText(_translate("MainWindow", "Move to"))
        self.label_3.setText(_translate("MainWindow", "Rz"))
        self.label_2.setText(_translate("MainWindow", "Current postion"))
        self.label_6.setText(_translate("MainWindow", "Rz\'"))
        self.label_5.setText(_translate("MainWindow", "Ry"))
        self.label_3.setText(_translate("MainWindow", "Rz"))
        self.move_pb.setText(_translate("MainWindow", "Move"))
        self.home_pb.setText(_translate("MainWindow", "Home"))
        self.move_pb.setText(_translate("MainWindow", "Move"))
        self.store_pb.setText(_translate("MainWindow", "Store"))
        self.label_4.setText(_translate("MainWindow", "Move to"))
        self.label.setText(_translate("MainWindow", "Jog"))
        self.jog_rz_neg_pb.setText(_translate("MainWindow", "-"))
        self.jog_rz_pos_pb.setText(_translate("MainWindow", "+"))
        self.jog_ry_neg_pb.setText(_translate("MainWindow", "-"))
        self.jog_ry_pos_pb.setText(_translate("MainWindow", "+"))
        self.jog_rz1_neg_pb.setText(_translate("MainWindow", "-"))
        self.jog_rz1_pos_pb.setText(_translate("MainWindow", "+"))
Loading