Example #1
0
    def __init__(self):

        scriptPath = os.path.dirname(__file__)
        self.cameraImagePixBuf = None
        self.servoConfigDict = getArmServoConfig()

        self.wristAngle = 0.0

        # Connect to the robot via ROS

        # TODO: Move arm to all dictionary
        servoConfigList = [
            self.servoConfigDict[servoName]
            for servoName in self.servoConfigDict
        ]
        self.roboticArm = RoboticArm(
            gaffa_teleop.LynxmotionArmDescription.ARM_DH_PROXIMAL,
            servoConfigList)

        self.cameraImageTopic = rospy.Subscriber("/camera/image",
                                                 sensor_msgs.msg.Image,
                                                 self.cameraImageCallback)

        self.jointScreenHomography = JointScreenHomography(
            self.CORNER_JOINT_ARRAYS, self.CORNER_SCREEN_POSITIONS,
            self.roboticArm)

        # Setup the GUI
        builder = gtk.Builder()
        builder.add_from_file(scriptPath + "/GUI/VideoTeleop.glade")

        self.window = builder.get_object("winMain")
        self.dwgCameraImage = builder.get_object("dwgCameraImage")
        builder.connect_signals(self)

        updateLoop = self.update()
        gobject.idle_add(updateLoop.next)

        self.window.show()