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
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
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!!!
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
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
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()