Esempio n. 1
0
    def __init__(self, host, useForce=False, use_rt=False):
        self.logger = logging.getLogger("urx")
        self.host = host
        self.csys = None

        self.logger.debug("Opening secondary monitor socket")
        self.secmon = ursecmon.SecondaryMonitor(self.host)  # data from robot at 10Hz

        self.rtmon = None
        if use_rt:
            self.rtmon = self.get_realtime_monitor()
        # precision of joint movem used to wait for move completion
        # the value must be conservative! otherwise we may wait forever
        self.joinEpsilon = 0.01
        # It seems URScript is  limited in the character length of floats it accepts
        self.max_float_length = 6  # FIXME: check max length!!!
        print('check')
        print("use force :{}".format(useForce))
        if useForce:
            print('use force sensor')
            try:
                import NetFT
                self.force_sensor = NetFT.Sensor('192.168.1.1')
                self.force_sensor.startStreaming()
                self.force_sensor.receive()
                self.force_sensor.data
                self.force_sensor.tare()
                print('Force sensor Connected and taré')
                self.isForceSensor = True
            except:
                print('Force Sensor not Connected')
                self.isForceSensor = False
                pass

        self.secmon.wait()  # make sure we get data from robot before letting clients access our methods
Esempio n. 2
0
 def InitBaseVariables(self):
     self.pub = rospy.Publisher('SocialReturnValues', String, queue_size=10)
     self.ImageIndex = 0
     self.ExtraContours = []
     self.StateOfWait = False
     self.StepsTaken = [
         'Idle', 'Greeting', 'ExecuteDrawing', 'ContemplateAnimation',
         'ExecuteDrawing', 'EncourageDrawing', 'ObserveUserDrawing',
         'SignDrawing', 'EncourageSigining', 'ObserveUserSigning', 'GoodBye'
     ]
     self.RunningSocialAction = False
     self.IdleCon = False
     self.withdrawPose = rospy.get_param('WithdrawPose')
     self.NodPose = rospy.get_param('NodDifferentials')
     self.initHoverPos = [0, 0, 0, 0, 0, 0]
     self.md = [0, 0]
     self.zDraw = 0
     self.zHover = 0
     self.xZero = 0
     self.yZero = 0
     self.xMax = 0
     self.yMax = 0
     self.a = rospy.get_param('speedParameters')
     self.v = rospy.get_param('speedParameters')
     self.rob = urx.Robot(rospy.get_param('roboIP'))
     self.leftwithDraw = rospy.get_param('leftRetreat')
     self.rightwithDraw = rospy.get_param('RightRetreat')
     self.Interruption = False
     self.StopCommand = False
     self.InteruptedPosition = self.rob.getl()
     self.secmon = ursecmon.SecondaryMonitor(self.rob.host)
     return
Esempio n. 3
0
    def __init__(self, host, use_rt=False):
        self.logger = logging.getLogger("urx")
        self.host = host
        self.csys = None

        self.logger.debug("Opening secondary monitor socket")
        self.secmon = ursecmon.SecondaryMonitor(
            self.host)  # data from robot at 10Hz

        self.rtmon = None
        if use_rt:
            self.rtmon = self.get_realtime_monitor()
        # precision of joint movem used to wait for move completion
        # the value must be conservative! otherwise we may wait forever
        self.joinEpsilon = 0.01
        # It seems URScript is  limited in the character length of floats it accepts
        self.max_float_length = 6  # FIXME: check max length!!!
Esempio n. 4
0
    def __init__(self, host, timeout=0.5):
        self.logger = logging.getLogger("urx")
        self.host = host
        self.csys = None

        self.logger.debug("Opening secondary monitor socket")
        self.secmon = ursecmon.SecondaryMonitor(
            self.host, timeout=timeout)  # data from robot at 10Hz

        self.rtmon = None
        # precision of joint movem used to wait for move completion
        # the value must be conservative! otherwise we may wait forever
        self.joinEpsilon = 0.01
        # It seems URScript is  limited in the character length of floats it accepts
        self.max_float_length = 6  # FIXME: check max length!!!

        self.secmon.wait(
        )  # make sure we get data from robot before letting clients access our methods
Esempio n. 5
0
    def __init__(self, host, useRTInterface=False, logLevel=logging.WARN, parserLogLevel=logging.WARN):
        self.logger = logging.getLogger(self.__class__.__name__)
        if len(logging.root.handlers) == 0: #dirty hack
            logging.basicConfig()
        self.logger.setLevel(logLevel)
        self.host = host
        self.csys = None 
        
        self.logger.info("Opening secondary monitor socket")
        self.secmon = ursecmon.SecondaryMonitor(self.host, logLevel=logLevel, parserLogLevel=parserLogLevel) #data from robot at 10Hz
       
        self.rtmon = None
        if useRTInterface:
            self.rtmon = self.get_realtime_monitor()
        #the next 3 values must be conservative! otherwise we may wait forever
        self.joinEpsilon = 0.01 # precision of joint movem used to wait for move completion
        # It seems URScript is  limited in the character length of floats it accepts
        self.max_float_length = 6 # FIXME: check max length!!!

        self.secmon.wait() # make sure we get data from robot before letting clients access our methods
Esempio n. 6
0
            prog += ("			if get_analog_in(3) < 2:\n")
            prog += ("				zslam=0\n")
            prog += ("			else:\n")
            prog += ("				zslam=payload\n")
            prog += ("			end\n")
            prog += ("		else:\n")
            prog += ("			if get_digital_in(8) == False:\n")
            prog += ("				zmasm=0\n")
            prog += ("			else:\n")
            prog += ("				zmasm=payload\n")
            prog += ("			end\n")
            prog += ("		end\n")
            prog += ("		zsysm=0.0\n")
            prog += ("		zload=zmasm+zslam+zsysm\n")
            prog += ("		set_payload(zload)\n")
            prog += ("	end\n")
            prog += ("end\n")
            return prog
        else:
            return "Please ensure the gripper width is between 0 and 110"
    except:
        return "An Error Occured"


rob = urx.Robot('10.0.0.157')
secmon = ursecmon.SecondaryMonitor(rob.host)
print MoveRG2(1000)
rob.send_program(MoveRG2(110))
rob.close()
secmon.close()