class MainWindow(QMainWindow, Ui_MainWindow): updGUI = pyqtSignal() def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.teleop = TeleopWidget(self) self.tlLayout.addWidget(self.teleop) self.teleop.setVisible(True) self.updGUI.connect(self.updateGUI) self.cameraWidget = CameraWidget(self) self.cameraCommunicator = Communicator() self.trackingCommunicator = Communicator() def setCamera(self, camera): self.camera = camera self.cameraWidget.show() def getCamera(self): return self.camera def setMotors(self, motors): self.motors = motors def getMotors(self): return self.motors def updateGUI(self): self.cameraWidget.imageUpdate.emit() def setXYValues(self, newX, newY): self.XValue.setText(str(newX)) self.YValue.setText(str(newY)) myW=-newX*self.motors.getMaxW() myV=-newY*self.motors.getMaxV() self.motors.setV(myV) self.motors.setW(myW) self.motors.sendVelocities()
class MainWindow(QMainWindow, Ui_MainWindow): updGUI = pyqtSignal() def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.teleop = TeleopWidget(self) self.tlLayout.addWidget(self.teleop) self.teleop.setVisible(True) self.updGUI.connect(self.updateGUI) self.cameraWidget = CameraWidget(self) self.cameraCommunicator = Communicator() self.trackingCommunicator = Communicator() def setCamera(self, camera): self.camera = camera self.cameraWidget.show() def getCamera(self): return self.camera def setMotors(self, motors): self.motors = motors def getMotors(self): return self.motors def updateGUI(self): self.cameraWidget.imageUpdate.emit() def setXYValues(self, newX, newY): self.XValue.setText(str(newX)) self.YValue.setText(str(newY)) myW = -newX * self.motors.getMaxW() myV = -newY * self.motors.getMaxV() self.motors.setV(myV) self.motors.setW(myW) self.motors.sendVelocities()
class MainWindow(QMainWindow, Ui_MainWindow): updGUI = pyqtSignal() def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.teleop = TeleopWidget(self) self.tlLayout.addWidget(self.teleop) 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.sensorsCheck.stateChanged.connect(self.showSensorsWidget) self.rotationDial.valueChanged.connect(self.rotationChange) self.altdSlider.valueChanged.connect(self.altitudeChange) self.cameraWidget = ColorFilterWidget(self) self.sensorsWidget = SensorsWidget(self) self.changeCamButton.clicked.connect(self.changeCamera) self.trackingCommunicator = Communicator() self.pushButton.clicked.connect(self.pushClicked) self.pushButton.setCheckable(True) self.resetButton.clicked.connect(self.resetClicked) self.takeoffButton.clicked.connect(self.takeOffClicked) self.camera1 = CameraWidget(self) self.takeoff = False self.reset = False self.record = False def getDrone(self): return self.drone def setDrone(self, drone): self.drone = drone def setAlgorithm(self, algorithm): self.algorithm = algorithm def getAlgorithm(self): return self.algorithm def updateGUI(self): self.camera1.updateImage() self.sensorsWidget.sensorsUpdate.emit() def pushClicked(self): if self.pushButton.isChecked(): icon = QtGui.QIcon() self.pushButton.setText('Stop Code') self.pushButton.setStyleSheet("background-color: #ec7063") icon.addPixmap(QtGui.QPixmap(":/images/stop.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pushButton.setIcon(icon) self.algorithm.play() else: icon = QtGui.QIcon() self.pushButton.setText('Play Code') self.pushButton.setStyleSheet("background-color: #7dcea0") icon.addPixmap(QtGui.QPixmap(":/images/play.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pushButton.setIcon(icon) self.algorithm.stop() self.rotationDial.setValue(self.altdSlider.maximum() / 2) self.altdSlider.setValue(self.altdSlider.maximum() / 2) self.drone.sendCMDVel(0, 0, 0, 0, 0, 0) self.teleop.stopSIG.emit() def takeOffClicked(self): if (self.takeoff == True): self.takeoffButton.setText("Take Off") self.drone.land() self.takeoff = False else: self.takeoffButton.setText("Land") self.drone.takeoff() self.takeoff = True def resetClicked(self): if self.reset == True: self.resetButton.setText("Reset") self.drone.reset() self.reset = False else: self.resetButton.setText("Unreset") self.drone.reset() self.reset = True self.rotationDial.setValue(self.altdSlider.maximum() / 2) self.altdSlider.setValue(self.altdSlider.maximum() / 2) self.drone.sendCMDVel(0, 0, 0, 0, 0, 0) self.teleop.stopSIG.emit() def changeCamera(self): self.drone.toggleCam() def showSensorsWidget(self, state): if state == Qt.Checked: self.sensorsWidget.show() else: self.sensorsWidget.close() def closeSensorsWidget(self): self.sensorsCheck.setChecked(False) def rotationChange(self, value): value = (1.0 / (self.rotationDial.maximum() / 2)) * ( value - (self.rotationDial.maximum() / 2)) self.rotValue.setText('%.2f' % value) self.drone.setYaw(value) self.drone.sendVelocities() def altitudeChange(self, value): value = (1.0 / (self.altdSlider.maximum() / 2)) * ( value - (self.altdSlider.maximum() / 2)) self.altdValue.setText('%.2f' % value) self.drone.setVZ(value) self.drone.sendVelocities() def setXYValues(self, newX, newY): self.XValue.setText('%.2f' % newX) self.YValue.setText('%.2f' % newY) self.drone.setVX(-newY) self.drone.setVY(-newX) self.drone.sendVelocities() def closeEvent(self, event): self.algorithm.kill() self.drone.__camera.stop() #self.navdata.stop() self.drone.__pose.stop() event.accept()
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()
class MainWindow(QMainWindow, Ui_MainWindow): updGUI=pyqtSignal() def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.teleop=TeleopWidget(self) self.tlLayout.addWidget(self.teleop) self.teleop.setVisible(True) self.record = False self.updGUI.connect(self.updateGUI) self.cameraCheck.stateChanged.connect(self.showCameraWidget) self.sensorsCheck.stateChanged.connect(self.showSensorsWidget) self.colorFilterCheck.stateChanged.connect(self.showColorFilterWidget) self.rotationDial.valueChanged.connect(self.rotationChange) self.altdSlider.valueChanged.connect(self.altitudeChange) self.cameraWidget=CameraWidget(self) self.sensorsWidget=SensorsWidget(self) self.colorFilterWidget=ColorFilterWidget(self) self.cameraCommunicator=Communicator() self.colorFilterCommunicator=Communicator() self.trackingCommunicator = Communicator() self.stopButton.clicked.connect(self.stopClicked) self.playButton.clicked.connect(self.playClicked) self.resetButton.clicked.connect(self.resetClicked) self.takeoffButton.clicked.connect(self.takeOffClicked) self.takeoff=False self.reset=False def getCamera(self): return self.camera def setCamera(self,camera): self.camera = camera def getNavData(self): return self.navdata def setNavData(self,navdata): self.navdata = navdata def getPose3D(self): return self.pose def setPose3D(self,pose): self.pose = pose def getCMDVel(self): return self.cmdvel def setCMDVel(self,cmdvel): self.cmdvel = cmdvel def getExtra(self): return self.extra def setExtra(self,extra): self.extra = extra def setAlgorithm(self, algorithm ): self.algorithm=algorithm def getAlgorithm(self): return self.algorithm def updateGUI(self): self.cameraWidget.imageUpdate.emit() self.sensorsWidget.sensorsUpdate.emit() self.colorFilterWidget.imageUpdate.emit() def playClicked(self): if self.record == True: self.extra.record(True) self.algorithm.play() def stopClicked(self): if self.record == True: self.extra.record(False) self.algorithm.stop() self.rotationDial.setValue(self.altdSlider.maximum()/2) self.altdSlider.setValue(self.altdSlider.maximum()/2) self.cmdvel.sendCMDVel(0,0,0,0,0,0) self.teleop.stopSIG.emit() def takeOffClicked(self): if(self.takeoff==True): self.takeoffButton.setText("Take Off") self.extra.land() self.takeoff=False else: self.takeoffButton.setText("Land") self.extra.takeoff() self.takeoff=True def resetClicked(self): if self.reset == True: self.resetButton.setText("Reset") self.extra.reset() self.reset=False else: self.resetButton.setText("Unreset") self.extra.reset() self.reset=True def showCameraWidget(self,state): if state == Qt.Checked: self.cameraWidget.show() else: self.cameraWidget.close() def closeCameraWidget(self): self.cameraCheck.setChecked(False) def showColorFilterWidget(self,state): if state == Qt.Checked: self.colorFilterWidget.show() else: self.colorFilterWidget.close() def closeColorFilterWidget(self): self.colorFilterCheck.setChecked(False) def showSensorsWidget(self,state): if state == Qt.Checked: self.sensorsWidget.show() else: self.sensorsWidget.close() def closeSensorsWidget(self): self.sensorsCheck.setChecked(False) def rotationChange(self,value): value=(1.0/(self.rotationDial.maximum()/2))*(value - (self.rotationDial.maximum()/2)) self.rotValue.setText('%.2f' % value) self.cmdvel.setYaw(value) self.cmdvel.sendVelocities() def altitudeChange(self,value): value=(1.0/(self.altdSlider.maximum()/2))*(value - (self.altdSlider.maximum()/2)) self.rotValue.setText('%.2f' % value) self.cmdvel.setVZ(value) self.cmdvel.sendVelocities() def setXYValues(self,newX,newY): self.XValue.setText('%.2f' % newX) self.YValue.setText('%.2f' % newY) self.cmdvel.setVX(-newY) self.cmdvel.setVY(-newX) self.cmdvel.sendVelocities() def closeEvent(self, event): self.algorithm.kill() self.camera.client.stop() self.navdata.stop() self.pose.stop() event.accept()
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
class MainWindow(QMainWindow, Ui_MainWindow): updGUI = pyqtSignal() def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.teleop = TeleopWidget(self) self.tlLayout.addWidget(self.teleop) 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.record = False self.updGUI.connect(self.updateGUI) self.segmentCheck.stateChanged.connect(self.showSegmentWidget) self.segmentWidget = SegmentWidget(self) self.segmentCommunicator = Communicator() self.trackingCommunicator = Communicator() #self.stopButton.clicked.connect(self.stopClicked) self.playButton.clicked.connect(self.playClicked) self.playButton.setCheckable(True) self.resetButton.clicked.connect(self.resetClicked) self.takeoff = False self.reset = False def setCamera(self, camera): self.camera = camera #self.cameraWidget.show() #uncomment if wanted to see the image of the #camera whenever you start the execution def getCamera(self): return self.camera def setMotors(self, motors): self.motors = motors def getMotors(self): return self.motors def setAlgorithm(self, algorithm): self.algorithm = algorithm def getAlgorithm(self): return self.algorithm def updateGUI(self): self.segmentWidget.imageUpdate.emit() def playClicked(self): if self.playButton.isChecked(): self.segmentWidget.show() self.segmentCheck.setChecked(True) 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.teleop.stopSIG.emit() #def stopClicked(self): # self.algorithm.stop() # self.teleop.stopSIG.emit() # ponerrrrr: self.teleop.returnToOrigin() def resetClicked(self): if self.reset == True: self.resetButton.setText("Reset") self.reset = False else: self.resetButton.setText("Unreset") self.reset = True def showSegmentWidget(self, state): if state == Qt.Checked: self.segmentWidget.show() else: self.segmentWidget.close() def closeSegmentWidget(self): self.segmentCheck.setChecked(False) def setXYValues(self, newX, newY): limits = self.motors.getLimits() pan = newX * limits.maxPan tilt = -newY * limits.maxTilt self.YValue.setText(str(tilt)) self.XValue.setText(str(pan)) #self.YValue.setText("{:.0f}".format(tilt)) #self.XValue.setText("{:.0f}".format(pan)) if (self.motors): self.motors.setPTMotorsData(pan, tilt, limits.maxPanSpeed, limits.maxTiltSpeed) def closeEvent(self, event): self.algorithm.kill() self.camera.client.stop() self.closeSegmentWidget() event.accept()
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)
class MainWindow(QMainWindow, Ui_MainWindow): updGUI = pyqtSignal() def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.teleop = TeleopWidget(self, 0) self.teleop1 = TeleopWidget(self, 1) self.tlLayout.addWidget(self.teleop) self.tlLayout_1.addWidget(self.teleop1) self.teleop.setVisible(True) self.record = False self.updGUI.connect(self.updateGUI) self.cameraCheck.stateChanged.connect(self.showCameraWidget) self.sensorsCheck.stateChanged.connect(self.showSensorsWidget) self.cameraWidget = CameraWidget(self) self.sensorsWidget = SensorsWidget(self) self.cameraCommunicator = Communicator() self.trackingCommunicator = Communicator() self.stopButton.clicked.connect(self.stopClicked) self.resetButton.clicked.connect(self.resetClicked) self.takeoffButton.clicked.connect(self.takeOffClicked) self.takeoff = False self.reset = False def getCamera(self): return self.camera def setCamera(self, camera): self.camera = camera def getNavData(self): return self.navdata def setNavData(self, navdata): self.navdata = navdata def getPose3D(self): return self.pose def setPose3D(self, pose): self.pose = pose def getCMDVel(self): return self.cmdvel def setCMDVel(self, cmdvel): self.cmdvel = cmdvel def getExtra(self): return self.extra def setExtra(self, extra): self.extra = extra def updateGUI(self): self.cameraWidget.imageUpdate.emit() self.sensorsWidget.sensorsUpdate.emit() def stopClicked(self): if self.record == True: self.extra.record(False) self.cmdvel.sendCMDVel(0, 0, 0, 0, 0, 0) self.teleop.stopSIG.emit() self.teleop1.stopSIG.emit() def takeOffClicked(self): if (self.takeoff == True): self.takeoffButton.setText("Take Off") self.extra.land() self.takeoff = False else: self.takeoffButton.setText("Land") self.extra.takeoff() self.takeoff = True def resetClicked(self): if self.reset == True: self.resetButton.setText("Reset") self.extra.reset() self.reset = False else: self.resetButton.setText("Unreset") self.extra.reset() self.reset = True def showCameraWidget(self, state): if state == Qt.Checked: self.cameraWidget.show() else: self.cameraWidget.close() def closeCameraWidget(self): self.cameraCheck.setChecked(False) def showSensorsWidget(self, state): if state == Qt.Checked: self.sensorsWidget.show() else: self.sensorsWidget.close() def closeSensorsWidget(self): self.sensorsCheck.setChecked(False) def setXYValues(self, newX, newY): self.XValue.setText('%.2f' % newX) self.YValue.setText('%.2f' % -newY) self.cmdvel.setVX(-newY) self.cmdvel.setVY(-newX) self.cmdvel.sendVelocities() def setZYawValues(self, newZ, newYaw): self.altdValue.setText('%.2f' % -newZ) self.rotValue.setText('%.2f' % newYaw) self.cmdvel.setVZ(-newZ) self.cmdvel.setYaw(newYaw) self.cmdvel.sendVelocities() def closeEvent(self, event): self.camera.stop() self.navdata.stop() self.pose.stop() event.accept()
class MainWindow(QtGui.QMainWindow, Ui_MainWindow): 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.teleop.setVisible(True) self.record = False self.updGUI.connect(self.updateGUI) self.cameraCheck.stateChanged.connect(self.showCameraWidget) self.sensorsCheck.stateChanged.connect(self.showSensorsWidget) self.colorFilterCheck.stateChanged.connect(self.showColorFilterWidget) self.rotationDial.valueChanged.connect(self.rotationChange) self.altdSlider.valueChanged.connect(self.altitudeChange) self.cameraWidget=CameraWidget(self) self.sensorsWidget=SensorsWidget(self) self.colorFilterWidget=ColorFilterWidget(self) self.cameraCommunicator=Communicator() self.colorFilterCommunicator=Communicator() self.stopButton.clicked.connect(self.stopClicked) self.playButton.clicked.connect(self.playClicked) self.takeoffButton.clicked.connect(self.takeOffClicked) self.takeoff=False def setSensor(self,sensor): self.sensor=sensor def getSensor(self): return self.sensor def updateGUI(self): self.cameraWidget.imageUpdate.emit() self.colorFilterWidget.imageUpdate.emit() self.sensorsWidget.sensorsUpdate.emit() def playClicked(self): if self.record == True: self.sensor.record(True) self.sensor.setPlayButton(True) def stopClicked(self): if self.record == True: self.sensor.record(False) self.sensor.setPlayButton(False) self.rotationDial.setValue(self.altdSlider.maximum()/2) self.altdSlider.setValue(self.altdSlider.maximum()/2) self.teleop.stopSIG.emit() def takeOffClicked(self): if(self.takeoff==True): self.takeoffButton.setText("Take Off") self.sensor.land() self.takeoff=False else: self.takeoffButton.setText("Land") self.sensor.takeoff() self.takeoff=True def showCameraWidget(self,state): if state == QtCore.Qt.Checked: self.cameraWidget.show() else: self.cameraWidget.close() def closeCameraWidget(self): self.cameraCheck.setChecked(False) def showColorFilterWidget(self,state): if state == QtCore.Qt.Checked: self.colorFilterWidget.show() else: self.colorFilterWidget.close() def closeColorFilterWidget(self): self.colorFilterCheck.setChecked(False) def showSensorsWidget(self,state): if state == QtCore.Qt.Checked: self.sensorsWidget.show() else: self.sensorsWidget.close() def closeSensorsWidget(self): self.sensorsCheck.setChecked(False) def rotationChange(self,value): value=(1.0/(self.rotationDial.maximum()/2))*(value - (self.rotationDial.maximum()/2)) self.rotValue.setText(unicode(value)) self.sensor.setYaw(value) self.sensor.sendVelocities() def altitudeChange(self,value): value=(1.0/(self.altdSlider.maximum()/2))*(value - (self.altdSlider.maximum()/2)) self.altdValue.setText(unicode(value)) self.sensor.setVZ(value) self.sensor.sendVelocities() def setXYValues(self,newX,newY): self.XValue.setText(unicode(newX)) self.YValue.setText(unicode(newY)) if not self.sensor.isVirtual(): self.sensor.setVX(-newY/10.0) self.sensor.setVY(-newX/10.0) else: self.sensor.setVX(-newY) self.sensor.setVY(-newX) self.sensor.sendVelocities()
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()
class MainWindow(QMainWindow, Ui_MainWindow): updGUI=pyqtSignal() def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.teleop=TeleopWidget(self) self.tlLayout.addWidget(self.teleop) 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.record = False self.updGUI.connect(self.updateGUI) self.segmentCheck.stateChanged.connect(self.showSegmentWidget) self.segmentWidget=SegmentWidget(self) self.segmentCommunicator=Communicator() self.trackingCommunicator = Communicator() #self.stopButton.clicked.connect(self.stopClicked) self.playButton.clicked.connect(self.playClicked) self.playButton.setCheckable(True) self.resetButton.clicked.connect(self.resetClicked) self.takeoff=False self.reset=False def setCamera(self, camera): self.camera = camera #self.cameraWidget.show() #uncomment if wanted to see the image of the #camera whenever you start the execution def getCamera(self): return self.camera def setMotors(self, motors): self.motors = motors def getMotors(self): return self.motors def setAlgorithm(self, algorithm ): self.algorithm=algorithm def getAlgorithm(self): return self.algorithm def updateGUI(self): self.segmentWidget.imageUpdate.emit() def playClicked(self): if self.playButton.isChecked(): self.segmentWidget.show() self.segmentCheck.setChecked(True) 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.teleop.stopSIG.emit() #def stopClicked(self): # self.algorithm.stop() # self.teleop.stopSIG.emit() # ponerrrrr: self.teleop.returnToOrigin() def resetClicked(self): if self.reset == True: self.resetButton.setText("Reset") self.reset=False else: self.resetButton.setText("Unreset") self.reset=True def showSegmentWidget(self,state): if state == Qt.Checked: self.segmentWidget.show() else: self.segmentWidget.close() def closeSegmentWidget(self): self.segmentCheck.setChecked(False) def setXYValues(self, newX, newY): limits = self.motors.getLimits() pan = newX*limits.maxPan tilt = - newY*limits.maxTilt self.YValue.setText(str(tilt)) self.XValue.setText(str(pan)) #self.YValue.setText("{:.0f}".format(tilt)) #self.XValue.setText("{:.0f}".format(pan)) if (self.motors): self.motors.setPTMotorsData(pan, tilt, limits.maxPanSpeed, limits.maxTiltSpeed) def closeEvent(self, event): self.algorithm.kill() self.camera.client.stop() self.closeSegmentWidget() event.accept()
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)
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)
class MainWindow(QMainWindow, Ui_MainWindow): updGUI = pyqtSignal() def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.teleop = TeleopWidget(self) self.tlLayout.addWidget(self.teleop) 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.record = False self.updGUI.connect(self.updateGUI) self.cameraCheck.stateChanged.connect(self.showCameraWidget) self.sensorsCheck.stateChanged.connect(self.showSensorsWidget) self.colorFilterCheck.stateChanged.connect(self.showColorFilterWidget) self.rotationDial.valueChanged.connect(self.rotationChange) self.altdSlider.valueChanged.connect(self.altitudeChange) self.cameraWidget = CameraWidget(self) self.sensorsWidget = SensorsWidget(self) self.colorFilterWidget = ColorFilterWidget(self) self.cameraCommunicator = Communicator() self.colorFilterCommunicator = Communicator() self.trackingCommunicator = Communicator() # self.stopButton.clicked.connect(self.stopClicked) self.playstopButton.clicked.connect(self.playstopClicked) self.resetButton.clicked.connect(self.resetClicked) self.takeoffButton.clicked.connect(self.takeOffClicked) self.takeoff = False self.reset = False def getCamera(self): return self.camera def setCamera(self, camera): self.camera = camera def getNavData(self): return self.navdata def setNavData(self, navdata): self.navdata = navdata def getPose3D(self): return self.pose def setPose3D(self, pose): self.pose = pose def getCMDVel(self): return self.cmdvel def setCMDVel(self, cmdvel): self.cmdvel = cmdvel def getExtra(self): return self.extra def setExtra(self, extra): self.extra = extra def setAlgorithm(self, algorithm): self.algorithm = algorithm def getAlgorithm(self): return self.algorithm def updateGUI(self): self.cameraWidget.imageUpdate.emit() self.sensorsWidget.sensorsUpdate.emit() self.colorFilterWidget.imageUpdate.emit() def playstopClicked(self): if self.playstopButton.isChecked(): if self.record == True: self.extra.record(True) self.playstopButton.setText("Stop code") self.playstopButton.setStyleSheet("background-color: #ec7063") self.playstopButton.setIcon(self.icon1) self.algorithm.play() else: if self.record == True: self.extra.record(False) self.algorithm.stop() self.playstopButton.setStyleSheet("background-color: #7dcea0") self.playstopButton.setText("Play code") self.playstopButton.setIcon(self.icon) self.rotationDial.setValue(self.altdSlider.maximum() / 2) self.altdSlider.setValue(self.altdSlider.maximum() / 2) self.cmdvel.sendCMDVel(0, 0, 0, 0, 0, 0) self.teleop.stopSIG.emit() def takeOffClicked(self): if (self.takeoff == True): self.takeoffButton.setText("Take Off") self.extra.land() self.takeoff = False else: self.takeoffButton.setText("Land") self.extra.takeoff() self.takeoff = True def resetClicked(self): if self.reset == True: self.resetButton.setText("Reset") self.extra.reset() self.reset = False else: self.resetButton.setText("Unreset") self.extra.reset() self.reset = True def showCameraWidget(self, state): if state == Qt.Checked: self.cameraWidget.show() else: self.cameraWidget.close() def closeCameraWidget(self): self.cameraCheck.setChecked(False) def showColorFilterWidget(self, state): if state == Qt.Checked: self.colorFilterWidget.show() else: self.colorFilterWidget.close() def closeColorFilterWidget(self): self.colorFilterCheck.setChecked(False) def showSensorsWidget(self, state): if state == Qt.Checked: self.sensorsWidget.show() else: self.sensorsWidget.close() def closeSensorsWidget(self): self.sensorsCheck.setChecked(False) def rotationChange(self, value): value = (1.0 / (self.rotationDial.maximum() / 2)) * ( value - (self.rotationDial.maximum() / 2)) self.rotValue.setText('%.2f' % value) self.cmdvel.setYaw(value) self.cmdvel.sendVelocities() def altitudeChange(self, value): value = (1.0 / (self.altdSlider.maximum() / 2)) * ( value - (self.altdSlider.maximum() / 2)) self.rotValue.setText('%.2f' % value) self.cmdvel.setVZ(value) self.cmdvel.sendVelocities() def setXYValues(self, newX, newY): self.XValue.setText('%.2f' % newX) self.YValue.setText('%.2f' % newY) self.cmdvel.setVX(-newY) self.cmdvel.setVY(-newX) self.cmdvel.sendVelocities() def closeEvent(self, event): self.algorithm.kill() self.camera.client.stop() self.navdata.stop() self.pose.stop() event.accept()
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(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)
class MainWindow(QMainWindow, Ui_MainWindow): updGUI=pyqtSignal() def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.teleop=TeleopWidget(self) self.tlLayout.addWidget(self.teleop) 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.sensorsCheck.stateChanged.connect(self.showSensorsWidget) self.sensorsWidget=SensorsWidget(self) self.rotationDial.valueChanged.connect(self.rotationChange) self.altdSlider.valueChanged.connect(self.altitudeChange) self.changeCamButton.clicked.connect(self.changeCamera) self.pushButton.clicked.connect(self.pushClicked) self.pushButton.setCheckable(True) self.resetButton.clicked.connect(self.resetClicked) self.takeoffButton.clicked.connect(self.takeOffClicked) self.camera1=CameraWidget(self) self.record = False self.takeoff=False self.reset=False def getCamera(self): return self.camera def setCamera(self,camera): self.camera = camera def getNavData(self): return self.navdata def setNavData(self,navdata): self.navdata = navdata def getPose3D(self): return self.pose def setPose3D(self,pose): self.pose = pose def getCMDVel(self): return self.cmdvel def setCMDVel(self,cmdvel): self.cmdvel = cmdvel def getExtra(self): return self.extra def setExtra(self,extra): self.extra = extra def setAlgorithm(self, algorithm ): self.algorithm=algorithm def getAlgorithm(self): return self.algorithm def updateGUI(self): self.camera1.updateImage() self.sensorsWidget.sensorsUpdate.emit() def pushClicked(self): if self.pushButton.isChecked(): icon = QtGui.QIcon() self.pushButton.setText('Stop Code') self.pushButton.setStyleSheet("background-color: #ec7063") icon.addPixmap(QtGui.QPixmap(":/images/stop.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pushButton.setIcon(icon) self.algorithm.play() else: icon = QtGui.QIcon() self.pushButton.setText('Play Code') self.pushButton.setStyleSheet("background-color: #7dcea0") icon.addPixmap(QtGui.QPixmap(":/images/play.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pushButton.setIcon(icon) self.algorithm.stop() def resetClicked(self): if self.reset == True: self.resetButton.setText("Reset") self.extra.reset() self.reset=False else: self.resetButton.setText("Unreset") self.extra.reset() self.reset=True def takeOffClicked(self): if(self.takeoff==True): self.takeoffButton.setText("Take Off") self.extra.land() self.takeoff=False else: self.takeoffButton.setText("Land") self.extra.takeoff() self.takeoff=True def resetClicked(self): if self.reset == True: self.resetButton.setText("Reset") self.extra.reset() self.reset=False else: self.resetButton.setText("Unreset") self.extra.reset() self.reset=True def changeCamera(self): self.extra.toggleCam() def showSensorsWidget(self,state): if state == Qt.Checked: self.sensorsWidget.show() else: self.sensorsWidget.close() def closeSensorsWidget(self): self.sensorsCheck.setChecked(False) def rotationChange(self,value): value=(1.0/(self.rotationDial.maximum()/2))*(value - (self.rotationDial.maximum()/2)) self.rotValue.setText('%.2f' % value) self.cmdvel.setYaw(value) self.cmdvel.sendVelocities() def altitudeChange(self,value): value=(1.0/(self.altdSlider.maximum()/2))*(value - (self.altdSlider.maximum()/2)) self.rotValue.setText('%.2f' % value) self.cmdvel.setVZ(value) self.cmdvel.sendVelocities() def setXYValues(self,newX,newY): self.XValue.setText('%.2f' % newX) self.YValue.setText('%.2f' % newY) self.cmdvel.setVX(-newY) self.cmdvel.setVY(-newX) self.cmdvel.sendVelocities() def closeEvent(self, event): self.algorithm.kill() self.camera.stop() self.navdata.stop() self.pose.stop() event.accept()