Beispiel #1
0
# (async function () {
# // Reset uArm to its home position.
# await UArm.reset();
# await UArm.set_position({"x": 200, "y": 100, "z": 50});
# }());

#logger_init(logging.DEBUG)
#logger_init(logging.INFO)

import time
import numpy
from uf.wrapper.swift_api import SwiftAPI
from uf.utils.log import *

logger_init(logging.VERBOSE)
swift = SwiftAPI()
time.sleep(2)

positions = numpy.linspace(-200, 200, 5)
swift.set_gripper(True)

time.sleep(5)

swift.set_gripper(False)
Beispiel #2
0
H_max = 10
S_max = 255
V_max = 255

# could not open port 'COM4': PermissionError(13, 'Access is denied.', None, 5)
accessed = False
while not accessed:
    try:
        swift = SwiftAPI()
        accessed = True
    except Exception as e:
        time.sleep(0.2)

print('device info: ')
print(swift.get_device_info())
swift_r = swift.set_gripper(True)
swift.set_position(x=200, y=0, z=5, relative=False, speed=20000, wait=True)
swift_r = swift.send_cmd_sync("M204 P700 R700 T700\n")
swift.set_position(x=200, y=0, z=3, relative=False, speed=20000, wait=True)

for i in range(15):
    _, frame = cap.read()

#r = cv2.selectROI(frame)
#print(r)
#time.sleep(555)

if RESCALE_FACTOR == 0.5:
    r = (66, 21, 560, 270)
elif RESCALE_FACTOR == 1.0:
    r = (104, 36, 1136, 557)
Beispiel #3
0
class XYZSlider(QWidget):
    def __init__(self):
        print('here')
        self.a = QApplication(sys.argv)
        super().__init__()
        self.initUI()

    def show_ux(self):
        sys.exit(self.a.exec_())

    def initUI(self):

        self.setGeometry(10, 10, 1500, 500)

        self.addSliderZ()
        self.addSliderX()
        self.addSliderY()

        self.addGripperButton()

        self.connectButton = QPushButton('Connect', self)
        self.connectButton.clicked.connect(self.handleConnectButton)

        self.exitButton = QPushButton('Exit', self)
        self.exitButton.clicked.connect(self.handleExitButton)

        self.setGeometry(300, 300, 1500, 500)
        self.setWindowTitle('Control Sliders')

        self.sld1.setEnabled(False)
        self.sldX.setEnabled(False)
        self.sldY.setEnabled(False)
        self.gripperButton.setEnabled(False)
        self.mylayout()

        self.show()

    def mylayout(self):

        self.qwsld = QWidget()
        self.qwsld.setStyleSheet("Background-color: red")

        self.grid = QGridLayout(self.qwsld)
        self.setLayout(self.grid)

        self.subW = QWidget()
        self.grid.addWidget(self.subW, 1, 1)
        self.subGridW = QGridLayout(self.subW)
        self.setLayout(self.subGridW)

        self.dummyW = QWidget()

        connectButtonPos = {"r": 1, "c": 1}
        exitButtonPos = {"r": 1, "c": 2}
        gripperButtonPos = {"r": 2, "c": 1}
        self.grid.addWidget(self.dummyW, 2, 2)

        zSliderPos = {"r": 2, "c": 1}
        zLabelPos = {"r": zSliderPos['r'], "c": 2}

        xSliderPos = {"r": zSliderPos['r'] + 1, "c": zSliderPos['c']}
        xLabelPos = {"r": zLabelPos['r'] + 1, "c": zLabelPos['c']}

        ySliderPos = {"r": zSliderPos['r'] + 2, "c": zSliderPos['c']}
        yLabelPos = {"r": zLabelPos['r'] + 2, "c": zLabelPos['c']}

        print(connectButtonPos["r"], "  ", connectButtonPos["c"])

        self.subGridW.addWidget(self.connectButton, connectButtonPos["r"],
                                connectButtonPos["c"])

        self.subGridW.addWidget(self.exitButton, exitButtonPos["r"],
                                exitButtonPos["c"])

        self.subGridW.addWidget(self.gripperButton, gripperButtonPos["r"],
                                gripperButtonPos["c"])

        self.grid.addWidget(self.l1, zLabelPos["r"], zLabelPos["c"])

        self.grid.addWidget(self.sld1, zSliderPos["r"], zSliderPos["c"])

        self.grid.addWidget(self.lX, xLabelPos["r"], xLabelPos["c"])

        self.grid.addWidget(self.sldX, xSliderPos["r"], xSliderPos["c"])

        self.grid.addWidget(self.lY, yLabelPos["r"], yLabelPos["c"])

        self.grid.addWidget(self.sldY, ySliderPos["r"], ySliderPos["c"])

    def addGripperButton(self):
        self.gripper = True
        self.gripperButton = QPushButton('Gripper', self)
        self.gripperButton.clicked.connect(self.handleGripperButton)

    def handleConnectButton(self):
        print('In ConnectButton ')
        self.swift = SwiftAPI(dev_port='COM4')
        sleep(2)
        print(self.swift.get_device_info())
        print('set x=150, y=0, z=150')
        self.uarmZ = 150
        self.uarmX = 150
        self.uarmY = 0
        self.swift.set_position(x=self.uarmX,
                                y=self.uarmY,
                                z=self.uarmZ,
                                wait=True,
                                speed=2000)
        self.swift.set_gripper(self.gripper)

        self.sld1.setValue(self.uarmZ)
        self.sldX.setValue(self.uarmX)
        self.sldY.setValue(self.uarmY)
        self.sld1.setEnabled(True)
        self.sldX.setEnabled(True)
        self.sldY.setEnabled(True)
        self.gripperButton.setEnabled(True)

        self.connectButton.setEnabled(False)

    def handleGripperButton(self):
        self.gripper = False if self.gripper else True  #toggle
        self.swift.set_gripper(self.gripper)
        sleep(4)

    def handleExitButton(self):
        sys.exit()

#----------------------Z----------------

    def changeValueSld1(self):
        txt = "Z: " + str(self.sld1.value())
        self.l1.setText(txt)
        #print('changeValue slider is: ', self.sld1.value())

    def sliderReleaseSld1(self):
        print('sliderreleased slider is: ', self.sld1.value())
        self.uarmZ = self.sld1.value()
        self.swift.set_position(z=self.uarmZ, wait=True, speed=2000)

    def addSliderZ(self):
        self.sld1 = QSlider(Qt.Horizontal, self)
        p = self.sld1.palette()
        p.setColor(self.sld1.backgroundRole(), Qt.red)
        self.sld1.setPalette(p)
        self.sld1.setFocusPolicy(Qt.NoFocus)
        self.sld1.setGeometry(30, 40, 1000, 30)
        self.sld1.setMaximum(150)
        self.sld1.setMinimum(0)
        self.sld1.setTickPosition(QSlider.TicksBelow)
        self.sld1.setTickInterval(5)
        self.sld1.sliderReleased.connect(self.sliderReleaseSld1)
        self.sld1.valueChanged.connect(self.changeValueSld1)
        self.l1 = QLabel(self)
        self.l1.setForegroundRole(QPalette.Dark)
        self.l1.setText('Z:')

#-----------x-----------------------------------------------

    def addSliderX(self):
        self.sldX = QSlider(Qt.Horizontal, self)
        p = self.sldX.palette()
        p.setColor(self.sldX.backgroundRole(), Qt.red)
        self.sldX.setPalette(p)
        self.sldX.setFocusPolicy(Qt.NoFocus)
        self.sldX.setGeometry(30, 40, 1000, 30)
        self.sldX.setMaximum(350)
        self.sldX.setMinimum(100)
        self.sldX.setTickPosition(QSlider.TicksBelow)
        self.sldX.setTickInterval(5)
        self.sldX.sliderReleased.connect(self.sliderReleaseSldX)
        self.sldX.valueChanged.connect(self.changeValueSldX)

        self.lX = QLabel(self)
        self.lX.setForegroundRole(QPalette.Dark)
        self.lX.setText('X:')

    def changeValueSldX(self):
        txt = "X: " + str(self.sldX.value())
        self.lX.setText(txt)
        #print('changeValue slider is: ', self.sld1.value())

    def sliderReleaseSldX(self):
        print('sliderreleased X slider : ', self.sldY.value())
        self.uarmX = self.sldX.value()
        self.swift.set_position(x=self.uarmX, wait=True, speed=2000)

#-----------Y-----------------------------------------------

    def addSliderY(self):
        self.sldY = QSlider(Qt.Horizontal, self)
        p = self.sldY.palette()
        p.setColor(self.sldY.backgroundRole(), Qt.red)
        self.sldY.setPalette(p)
        self.sldY.setFocusPolicy(Qt.NoFocus)
        self.sldY.setGeometry(30, 40, 1000, 30)
        self.sldY.setMaximum(100)
        self.sldY.setMinimum(-100)
        self.sldY.setTickPosition(QSlider.TicksBelow)
        self.sldY.setTickInterval(5)
        self.sldY.sliderReleased.connect(self.sliderReleaseSldY)
        self.sldY.valueChanged.connect(self.changeValueSldY)

        self.lY = QLabel(self)
        self.lY.setForegroundRole(QPalette.Dark)
        self.lY.setText('Y:')

    def changeValueSldY(self):
        txt = "Y: " + str(self.sldY.value())
        self.lY.setText(txt)
        #print('changeValue slider is: ', self.sld1.value())

    def sliderReleaseSldY(self):
        print('sliderreleased Y slider : ', self.sldY.value())
        self.uarmY = self.sldY.value()
        self.swift.set_position(y=self.uarmY, wait=True, speed=2000)
Beispiel #4
0
            swift.set_wrist(w, wait=True)
            print('R rechts')

        if event.code == 'ABS_RY' and event.state < -20000:
            swift.set_position(z=-1, speed=20000, relative=True, wait=True)
            print('R unten')

        if event.code == 'ABS_RY' and event.state > 10000:
            swift.set_position(z=+1, speed=20000, relative=True, wait=True)
            print('R oben')

        if event.code == 'BTN_SOUTH' and event.state == 1:
            swift.set_pump(False)
            print('A Button')
        if event.code == 'BTN_WEST' and event.state == 1:
            swift.set_gripper(True, timeout=10)
            print('X Button - Start Position')
        if event.code == 'BTN_EAST' and event.state == 1:
            swift.set_gripper(False, timeout=10)
            print('B Button')
        if event.code == 'BTN_NORTH' and event.state == 1:
            swift.set_pump(True)
            print('Y Button')

        if event.code == 'BTN_START' and event.state == 1:
            print('Back Button')
        if event.code == 'BTN_SELECT' and event.state == 1:
            swift.set_position(150, 0, 150, speed=20000, timeout=20)
            swift.set_wrist(90, wait=True)  # lang
            print('Start Button')