def MoveL(self, pose, dynamic=None, overlap=None): ''' Linear moves :param pose: A position (joints, quaternion, euler) :type pose: RmiPos :param dynamic: Dynamic containing velo/accel :type dynamic: RmiVelo :param overlap: Blending :type overlap: RmiBlending ''' #self.num_commands += 1 cmd = rmi_msg.Command() cmd.command_type = "LIN" assert isinstance(pose, RmiPos) pose.SetCmd(cmd) if isinstance(dynamic, RmiVelo): dynamic.SetCmd(cmd) if isinstance(overlap, RmiBlending): overlap.SetCmd(cmd) if (len(cmd.pose_type) < 1): pass else: self.AddCommand(cmd)
def Tool(self, frame): ''' :param frame: the tool frame :type frame: RmiFrame ''' cmd = rmi_msg.Command() cmd.command_type = 'FRAME' cmd.pose_reference = 'TOOL' cmd.pose = frame.frame self.AddCommand(cmd)
def WaitIsFinished(self): ''' Call WaitIsFinished() ''' #self.num_commands += 1 cmd = rmi_msg.Command() cmd.command_type = 'WAIT' cmd.pose_type = 'IS_FINISHED' self.AddCommand(cmd)
def Abort(self): ''' Immediately sends an ABORT message. It will call ProgStart, add the ABORT command, then call ProgRun ''' self.ProgStart() self.cmd_list.replace_previous_commands = True cmd = rmi_msg.Command() cmd.command_type = 'ABORT' self.AddCommand(cmd) self.ProgRun()
def Settings(self, dynamic=None, overlap=None): '@type dynamic: RmiVelo' '@type overlap: RmiBlending' #self.num_commands += 1 # Give me something assert (dynamic is not None or overlap is not None) cmd = rmi_msg.Command() cmd.command_type = "SETTING" if (isinstance(dynamic, RmiVelo)): dynamic.SetCmd(cmd) if isinstance(overlap, RmiBlending): overlap.SetCmd(cmd) self.AddCommand(cmd)
def IoOut(self, value): cmd = rmi_msg.Command() cmd.command_type = 'IO_OUT' cmd.pose_reference = 'DO' cmd.pose = value self.AddCommand(cmd)