Exemplo n.º 1
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop = TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.logo = LogoWidget(self,
                               self.logoLayout.parent().width(),
                               self.logoLayout.parent().height())
        self.logoLayout.addWidget(self.logo)
        self.logo.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.playButton.setCheckable(True)
        #self.stopButton.clicked.connect(self.stopClicked)

        plannerList = [
            'RRTstar', 'SORRTstar', 'BITstar', 'FMTstar', 'InformedRRTstar',
            'PRMstar'
        ]
        self.plannerBox.addItems(plannerList)
Exemplo n.º 2
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop=TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.logo = LogoWidget(self, self.logoLayout.parent().width(), self.logoLayout.parent().height())
        self.logoLayout.addWidget(self.logo)
        self.logo.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.playButton.setCheckable(True)
        #self.stopButton.clicked.connect(self.stopClicked)

        plannerList = ['RRTstar', 'SORRTstar','BITstar', 'FMTstar', 'InformedRRTstar', 'PRMstar']
        self.plannerBox.addItems(plannerList)
        # objectiveList = ['PathClearance', 'PathLength', 'ThresholdPathLength', 'WeightedLengthAndClearanceCombo']
        # self.objectiveBox.addItems(objectiveList)
        self.liftDropButton.clicked.connect(self.liftDropExecute)
        self.liftDropButton.setCheckable(True)
        self.jointForce = 0
        self.pub = rospy.Publisher('amazon_warehouse_robot/joint_cmd', Float32, queue_size=10)

        self.gotoPointButton.clicked.connect(self.gotoPointExecute)
        self.gotoPointButton.setCheckable(True)
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop = TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.logo = LogoWidget(self,
                               self.logoLayout.parent().width(),
                               self.logoLayout.parent().height())
        self.logoLayout.addWidget(self.logo)
        self.logo.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.playButton.setCheckable(True)
        #self.stopButton.clicked.connect(self.stopClicked)

        # plannerList = ['RRTstar', 'SORRTstar','BITstar', 'FMTstar', 'InformedRRTstar', 'PRMstar']
        # self.plannerBox.addItems(plannerList)
        # objectiveList = ['PathClearance', 'PathLength', 'ThresholdPathLength', 'WeightedLengthAndClearanceCombo']
        # self.objectiveBox.addItems(objectiveList)
        self.liftDropButton.clicked.connect(self.liftDropExecute)
        self.liftDropButton.setCheckable(True)
        self.jointForce = 0
        self.node = rclpy.create_node('amazon_robot_joint_state')
        self.pub = self.node.create_publisher(
            Float64, 'amazon_robot/joint1_position_controller/command', 10)

        self.gotoPointButton.clicked.connect(self.gotoPointExecute)
        self.gotoPointButton.setCheckable(True)
Exemplo n.º 4
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop = TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.stopButton.clicked.connect(self.stopClicked)
Exemplo n.º 5
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop = TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.logo = LogoWidget(self,
                               self.logoLayout.parent().width(),
                               self.logoLayout.parent().height())
        self.logoLayout.addWidget(self.logo)
        self.logo.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.playButton.setCheckable(True)
Exemplo n.º 6
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop=TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.stopButton.clicked.connect(self.stopClicked)
Exemplo n.º 7
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop=TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.logo = LogoWidget(self, self.logoLayout.parent().width(), self.logoLayout.parent().height())
        self.logoLayout.addWidget(self.logo)
        self.logo.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.playButton.setCheckable(True)
Exemplo n.º 8
0
class MainWindow(QMainWindow, Ui_MainWindow):
    
    getPathSig = QtCore.pyqtSignal()
    updGUI = QtCore.pyqtSignal()
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop=TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.stopButton.clicked.connect(self.stopClicked)
      
    def setSensor(self, sensor):
        self.sensor = sensor
           
    def getSensor(self):
        return self.sensor

    def getMotors(self):
        return self.motors

    def setMotors(self,motors):
        self.motors=motors

    def setAlgorithm(self, algorithm ):
        self.algorithm=algorithm

    def setVelocity(self, vel):
        self.vel = vel

    def getVelocity(self):
        return self.vel

    def getAlgorithm(self):
        return self.algorithm
    
    def setGrid(self, grid):
        self.grid = grid
        self.grid.setMap(self.map.map)

    def updateGUI(self):
        self.map.updateMap(self.grid)
    
    def width(self):
        return self.map.width

    def height(self):
        return self.map.height

    def worldWidth(self):
        return self.map.worldWidth

    def worldHeight(self):
        return self.map.worldHeight

    def origX(self):
        return self.map.originX

    def origY(self):
        return self.map.originY

    def mapAngle(self):
        return self.map.mapAngle

    def getPathClicked(self):
        self.getPathSig.emit()

    def playClicked(self):
        print("Play clicked")
        self.algorithm.play()
    
    def stopClicked(self):
        print("Stop clicked")
        self.algorithm.stop()
        self.setXYValues(0, 0)
        self.teleop.stopSIG.emit()

    def setXYValues(self,newW,newV):
        self.WValue.setText(str(newW))
        self.VValue.setText(str(-newV))
        myW = newW * self.vel.getMaxW()
        myV = -newV * self.vel.getMaxV()
        self.vel.setV(myV)
        self.vel.setW(myW)
Exemplo n.º 9
0
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):

    getPathSig = QtCore.pyqtSignal()
    updGUI = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop = TeleopWidget(self)
        self.colorFilterWidget = ColorFilterWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.stopButton.clicked.connect(self.stopClicked)
        self.colorFilter.stateChanged.connect(self.showColorFilterWidget)

    def setSensor(self, sensor):
        self.sensor = sensor

    def getSensor(self):
        return self.sensor

    def setGrid(self, grid):
        self.grid = grid
        self.grid.setMap(self.map.map)

    def updateGUI(self):
        self.map.updateMap(self.grid)
        self.colorFilterWidget.imageUpdate.emit()

    def width(self):
        return self.map.width

    def height(self):
        return self.map.height

    def getPathClicked(self):
        self.getPathSig.emit()

    def playClicked(self):
        print "play clicked"
        self.sensor.setPlayButton(True)

    def stopClicked(self):
        print "Stop clicked"
        self.sensor.setPlayButton(False)
        self.sensor.stop()
        self.setXYValues(0, 0)
        self.teleop.stopSIG.emit()

    def setXYValues(self, newW, newV):
        self.WValue.setText(unicode(newW))
        self.VValue.setText(unicode(-newV))
        self.sensor.setV(-newV)
        self.sensor.setW(newW)

    def closeColorFilterWidget(self):
        self.colorFilter.setChecked(False)

    def showColorFilterWidget(self, state):
        if state == QtCore.Qt.Checked:
            self.colorFilterWidget.show()
        else:
            self.colorFilterWidget.close()
Exemplo n.º 10
0
class MainWindow(QMainWindow, Ui_MainWindow):

    getPathSig = QtCore.pyqtSignal(list)
    updGUI = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop = TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.logo = LogoWidget(self,
                               self.logoLayout.parent().width(),
                               self.logoLayout.parent().height())
        self.logoLayout.addWidget(self.logo)
        self.logo.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.playButton.setCheckable(True)
        #self.stopButton.clicked.connect(self.stopClicked)

        plannerList = [
            'RRTstar', 'SORRTstar', 'BITstar', 'FMTstar', 'InformedRRTstar',
            'PRMstar'
        ]
        self.plannerBox.addItems(plannerList)
        # objectiveList = ['PathClearance', 'PathLength', 'ThresholdPathLength', 'WeightedLengthAndClearanceCombo']
        # self.objectiveBox.addItems(objectiveList)

    def setSensor(self, sensor):
        self.sensor = sensor

    def getSensor(self):
        return self.sensor

    def getMotors(self):
        return self.motors

    def setMotors(self, motors):
        self.motors = motors

    def setAlgorithm(self, algorithm):
        self.algorithm = algorithm

    def setVelocity(self, vel):
        self.vel = vel

    def getVelocity(self):
        return self.vel

    def getAlgorithm(self):
        return self.algorithm

    def setGrid(self, grid):
        self.grid = grid
        self.grid.setMap(self.map.map)

    def updateGUI(self):
        self.map.updateMap(self.grid)

    def width(self):
        return self.map.width

    def height(self):
        return self.map.height

    def worldWidth(self):
        return self.map.worldWidth

    def worldHeight(self):
        return self.map.worldHeight

    def origX(self):
        return self.map.originX

    def origY(self):
        return self.map.originY

    def mapAngle(self):
        return self.map.mapAngle

    def getPathClicked(self):
        pList = []
        pList.append(self.getPlanner())
        #pList.append(self.getObjective())
        pList.append(self.getRunTime())
        self.getPathSig.emit(pList)

    def playClicked(self):
        if self.playButton.isChecked():
            icon = QtGui.QIcon()
            self.playButton.setText("Stop Code")
            self.playButton.setStyleSheet("background-color: #ec7063")
            icon.addPixmap(QtGui.QPixmap(":/images/stop.png"),
                           QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.playButton.setIcon(icon)
            self.algorithm.play()
        else:
            icon = QtGui.QIcon()
            self.playButton.setStyleSheet("background-color: #7dcea0")
            icon.addPixmap(QtGui.QPixmap(":/images/play.png"),
                           QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.playButton.setIcon(icon)
            self.playButton.setText("Play Code")
            self.algorithm.stop()
            self.setXYValues(0, 0)
            self.teleop.stopSIG.emit()

    def setXYValues(self, newW, newV):
        self.WValue.setText(str(newW))
        self.VValue.setText(str(-newV))
        myW = newW * self.vel.getMaxW()
        myV = -newV * self.vel.getMaxV()
        self.vel.setV(myV)
        self.vel.setW(myW)

    def getPlanner(self):
        planner = self.plannerBox.currentText()
        return planner

    def getObjective(self):
        objective = self.objectiveBox.currentText()
        return objective

    def getRunTime(self):
        runtime = str(self.runtimeBox.value())
        return runtime
Exemplo n.º 11
0
class MainWindow(QMainWindow, Ui_MainWindow):

    getPathSig = QtCore.pyqtSignal()
    updGUI = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop = TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.logo = LogoWidget(self,
                               self.logoLayout.parent().width(),
                               self.logoLayout.parent().height())
        self.logoLayout.addWidget(self.logo)
        self.logo.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.playButton.setCheckable(True)
        #self.stopButton.clicked.connect(self.stopClicked)

    def setSensor(self, sensor):
        self.sensor = sensor

    def getSensor(self):
        return self.sensor

    def getMotors(self):
        return self.motors

    def setMotors(self, motors):
        self.motors = motors

    def setAlgorithm(self, algorithm):
        self.algorithm = algorithm

    def setVelocity(self, vel):
        self.vel = vel

    def getVelocity(self):
        return self.vel

    def getAlgorithm(self):
        return self.algorithm

    def setGrid(self, grid):
        self.grid = grid
        self.grid.setMap(self.map.map)

    def updateGUI(self):
        self.map.updateMap(self.grid)

    def width(self):
        return self.map.width

    def height(self):
        return self.map.height

    def worldWidth(self):
        return self.map.worldWidth

    def worldHeight(self):
        return self.map.worldHeight

    def origX(self):
        return self.map.originX

    def origY(self):
        return self.map.originY

    def mapAngle(self):
        return self.map.mapAngle

    def getPathClicked(self):
        self.getPathSig.emit()

    def playClicked(self):
        if self.playButton.isChecked():
            icon = QtGui.QIcon()
            self.playButton.setText("Stop Code")
            self.playButton.setStyleSheet("background-color: #ec7063")
            icon.addPixmap(QtGui.QPixmap(":/images/stop.png"),
                           QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.playButton.setIcon(icon)
            self.algorithm.play()
        else:
            icon = QtGui.QIcon()
            self.playButton.setStyleSheet("background-color: #7dcea0")
            icon.addPixmap(QtGui.QPixmap(":/images/play.png"),
                           QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.playButton.setIcon(icon)
            self.playButton.setText("Play Code")
            self.algorithm.stop()
            self.setXYValues(0, 0)
            self.teleop.stopSIG.emit()

    def setXYValues(self, newW, newV):
        self.WValue.setText(str(newW))
        self.VValue.setText(str(-newV))
        myW = newW * self.vel.getMaxW()
        myV = -newV * self.vel.getMaxV()
        self.vel.setV(myV)
        self.vel.setW(myW)
Exemplo n.º 12
0
class MainWindow(QMainWindow, Ui_MainWindow):

    getPathSig = QtCore.pyqtSignal(list)
    updGUI = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop = TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.logo = LogoWidget(self,
                               self.logoLayout.parent().width(),
                               self.logoLayout.parent().height())
        self.logoLayout.addWidget(self.logo)
        self.logo.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.playButton.setCheckable(True)
        #self.stopButton.clicked.connect(self.stopClicked)

        # plannerList = ['RRTstar', 'SORRTstar','BITstar', 'FMTstar', 'InformedRRTstar', 'PRMstar']
        # self.plannerBox.addItems(plannerList)
        # objectiveList = ['PathClearance', 'PathLength', 'ThresholdPathLength', 'WeightedLengthAndClearanceCombo']
        # self.objectiveBox.addItems(objectiveList)
        self.liftDropButton.clicked.connect(self.liftDropExecute)
        self.liftDropButton.setCheckable(True)
        self.jointForce = 0
        self.pub = rospy.Publisher('amazon_warehouse_robot/joint_cmd',
                                   Float32,
                                   queue_size=10)

        self.gotoPointButton.clicked.connect(self.gotoPointExecute)
        self.gotoPointButton.setCheckable(True)

    def setSensor(self, sensor):
        self.sensor = sensor

    def getSensor(self):
        return self.sensor

    def getMotors(self):
        return self.motors

    def setMotors(self, motors):
        self.motors = motors

    def setAlgorithm(self, algorithm):
        self.algorithm = algorithm

    def setVelocity(self, vel):
        self.vel = vel

    def getVelocity(self):
        return self.vel

    def getAlgorithm(self):
        return self.algorithm

    def setGrid(self, grid):
        self.grid = grid
        self.grid.setMap(self.map.map)

    def updateGUI(self):
        self.map.updateMap(self.grid)

    def width(self):
        return self.map.width

    def height(self):
        return self.map.height

    def worldWidth(self):
        return self.map.worldWidth

    def worldHeight(self):
        return self.map.worldHeight

    def origX(self):
        return self.map.originX

    def origY(self):
        return self.map.originY

    def mapAngle(self):
        return self.map.mapAngle

    def getPathClicked(self):
        pList = []
        # pList.append(self.getPlanner())
        #pList.append(self.getObjective())
        # pList.append(self.getRunTime())
        self.getPathSig.emit(pList)

    def playClicked(self):
        if self.playButton.isChecked():
            icon = QtGui.QIcon()
            self.playButton.setText("Stop Code")
            self.playButton.setStyleSheet("background-color: #ec7063")
            icon.addPixmap(QtGui.QPixmap(":/images/stop.png"),
                           QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.playButton.setIcon(icon)
            self.algorithm.play()
        else:
            icon = QtGui.QIcon()
            self.playButton.setStyleSheet("background-color: #7dcea0")
            icon.addPixmap(QtGui.QPixmap(":/images/play.png"),
                           QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.playButton.setIcon(icon)
            self.playButton.setText("Play Code")
            self.algorithm.stop()
            self.setXYValues(0, 0)
            self.teleop.stopSIG.emit()

    def setXYValues(self, newW, newV):
        # self.WValue.setText(str(newW))
        # self.VValue.setText(str(-newV))
        myW = newW * self.vel.getMaxW()
        myV = -newV * self.vel.getMaxV()
        self.vel.setV(myV)
        self.vel.setW(myW)

    def getPlanner(self):
        planner = self.plannerBox.currentText()
        return planner

    def getObjective(self):
        objective = self.objectiveBox.currentText()
        return objective

    def getRunTime(self):
        runtime = str(self.runtimeBox.value())
        return runtime

    def liftDropExecute(self):
        #print ('Lift/Drop Button Clicked')
        if self.jointForce != 25:
            self.jointForce = 25
            self.pub.publish(self.jointForce)
            self.liftDropButton.setText("Drop")
            print('Platform Lifted!')
        else:
            self.jointForce = 0
            self.pub.publish(self.jointForce)
            self.liftDropButton.setText("Lift")
            print('Platform Dropped!')

    def gotoPointExecute(self):
        self.algorithm.setNewPalletFlag(self.playButton.isChecked())

    def setDestinyXYValues(self, newX, newY):
        self.XValue.setText(str(newX))
        self.YValue.setText(str(newY))

    def setPositionXYValues(self, newX, newY):
        self.VValue.setText(str(newX))
        self.WValue.setText(str(newY))
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
    
    getPathSig = QtCore.pyqtSignal()
    updGUI=QtCore.pyqtSignal()
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop=TeleopWidget(self)
        self.colorFilterWidget=ColorFilterWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.stopButton.clicked.connect(self.stopClicked)
        self.colorFilter.stateChanged.connect(self.showColorFilterWidget)
      
    def setSensor(self,sensor):
        self.sensor=sensor
           
    def getSensor(self):
        return self.sensor
    
    def setGrid(self, grid):
        self.grid = grid
        self.grid.setMap(self.map.map)

    def updateGUI(self):
        self.map.updateMap(self.grid)
        self.colorFilterWidget.imageUpdate.emit()
    
    def width(self):
        return self.map.width

    def height(self):
        return self.map.height

    def getPathClicked(self):
        self.getPathSig.emit()

    def playClicked(self):
        print "play clicked"
        self.sensor.setPlayButton(True)
    
    def stopClicked(self):
        print "Stop clicked"
        self.sensor.setPlayButton(False)
        self.sensor.stop()
        self.setXYValues(0, 0)
        self.teleop.stopSIG.emit()

    def setXYValues(self,newW,newV):
        self.WValue.setText(unicode(newW))
        self.VValue.setText(unicode(-newV))
        self.sensor.setV(-newV)
        self.sensor.setW(newW)

    def closeColorFilterWidget(self):
        self.colorFilter.setChecked(False)

    def showColorFilterWidget(self, state):
        if state == QtCore.Qt.Checked:
            self.colorFilterWidget.show()
        else:
            self.colorFilterWidget.close()
Exemplo n.º 14
0
class MainWindow(QMainWindow, Ui_MainWindow):

    getPathSig = QtCore.pyqtSignal()
    updGUI = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop = TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.stopButton.clicked.connect(self.stopClicked)

    def setSensor(self, sensor):
        self.sensor = sensor

    def getSensor(self):
        return self.sensor

    def getMotors(self):
        return self.motors

    def setMotors(self, motors):
        self.motors = motors

    def setAlgorithm(self, algorithm):
        self.algorithm = algorithm

    def setVelocity(self, vel):
        self.vel = vel

    def getVelocity(self):
        return self.vel

    def getAlgorithm(self):
        return self.algorithm

    def setGrid(self, grid):
        self.grid = grid
        self.grid.setMap(self.map.map)

    def updateGUI(self):
        self.map.updateMap(self.grid)

    def width(self):
        return self.map.width

    def height(self):
        return self.map.height

    def worldWidth(self):
        return self.map.worldWidth

    def worldHeight(self):
        return self.map.worldHeight

    def origX(self):
        return self.map.originX

    def origY(self):
        return self.map.originY

    def mapAngle(self):
        return self.map.mapAngle

    def getPathClicked(self):
        self.getPathSig.emit()

    def playClicked(self):
        print("Play clicked")
        self.algorithm.play()

    def stopClicked(self):
        print("Stop clicked")
        self.algorithm.stop()
        self.setXYValues(0, 0)
        self.teleop.stopSIG.emit()

    def setXYValues(self, newW, newV):
        self.WValue.setText(str(newW))
        self.VValue.setText(str(-newV))
        myW = newW * self.vel.getMaxW()
        myV = -newV * self.vel.getMaxV()
        self.vel.setV(myV)
        self.vel.setW(myW)
Exemplo n.º 15
0
class MainWindow(QMainWindow, Ui_MainWindow):
    
    getPathSig = QtCore.pyqtSignal()
    updGUI = QtCore.pyqtSignal()
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.teleop=TeleopWidget(self)
        self.tlLayout.addWidget(self.teleop)
        self.map = Map(self)
        self.mapLayout.addWidget(self.map)
        self.teleop.setVisible(True)

        self.logo = LogoWidget(self, self.logoLayout.parent().width(), self.logoLayout.parent().height())
        self.logoLayout.addWidget(self.logo)
        self.logo.setVisible(True)

        self.updGUI.connect(self.updateGUI)
        self.getPathButton.clicked.connect(self.getPathClicked)
        self.playButton.clicked.connect(self.playClicked)
        self.playButton.setCheckable(True)
        #self.stopButton.clicked.connect(self.stopClicked)
      
    def setSensor(self, sensor):
        self.sensor = sensor
           
    def getSensor(self):
        return self.sensor

    def getMotors(self):
        return self.motors

    def setMotors(self,motors):
        self.motors=motors

    def setAlgorithm(self, algorithm ):
        self.algorithm=algorithm

    def setVelocity(self, vel):
        self.vel = vel

    def getVelocity(self):
        return self.vel

    def getAlgorithm(self):
        return self.algorithm
    
    def setGrid(self, grid):
        self.grid = grid
        self.grid.setMap(self.map.map)

    def updateGUI(self):
        self.map.updateMap(self.grid)
    
    def width(self):
        return self.map.width

    def height(self):
        return self.map.height

    def worldWidth(self):
        return self.map.worldWidth

    def worldHeight(self):
        return self.map.worldHeight

    def origX(self):
        return self.map.originX

    def origY(self):
        return self.map.originY

    def mapAngle(self):
        return self.map.mapAngle

    def getPathClicked(self):
        self.getPathSig.emit()

    def playClicked(self):
        if self.playButton.isChecked():
            icon = QtGui.QIcon()
            self.playButton.setText("Stop Code")
            self.playButton.setStyleSheet("background-color: #ec7063")
            icon.addPixmap(QtGui.QPixmap(":/images/stop.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.playButton.setIcon(icon)
            self.algorithm.play()
        else:
            icon = QtGui.QIcon()
            self.playButton.setStyleSheet("background-color: #7dcea0")
            icon.addPixmap(QtGui.QPixmap(":/images/play.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.playButton.setIcon(icon)
            self.playButton.setText("Play Code")
            self.algorithm.stop()
            self.setXYValues(0, 0)
            self.teleop.stopSIG.emit()

    def setXYValues(self,newW,newV):
        self.WValue.setText(str(newW))
        self.VValue.setText(str(-newV))
        myW = newW * self.vel.getMaxW()
        myV = -newV * self.vel.getMaxV()
        self.vel.setV(myV)
        self.vel.setW(myW)