/// <summary> /// Moves the tip of hand to a position away from the specified position by the distance as specified in the tool direction. (Linear interpolation) /// </summary> /// <param name="positionNumber">Specify the destination position number in integer value. [1...999]</param> /// <param name="travelDistance">Specify the distance in tool direction from the specified position to the destination point. (Zero by default). [-3276,80...3276,70]</param> /// <param name="grab">Specify open or close state of the hand.</param> public void MoveToolStraight(uint positionNumber, double travelDistance = 0, GrabE grab = GrabE.Closed) { Port.Write($"MTS {positionNumber},{travelDistance},{GrabStateToString(grab)}"); }
/// <summary> /// Moves the hand tip to the specified position. (Joint interpolation) /// </summary> /// <param name="positionNumber">Specify the destination position number in integer value. [1..999]</param> /// <param name="grab">Specify hand state.</param> public void Move(uint positionNumber = 0, GrabE grab = GrabE.Open) { Port.Write($"MO {positionNumber},{GrabStateToString(grab)}"); }
/// <summary> /// Moves to specified position in circulat interpolation. /// </summary> /// <param name="positionNumber">Specify the destination position. [1...999]</param> /// <param name="grab">Specify open or close state of the hand.</param> public void MoveRA(uint positionNumber, GrabE grab) { Port.Write($"MRA {positionNumber},{GrabStateToString(grab)}"); }
private static string GrabStateToString(GrabE grab) { return(grab == GrabE.Open ? "O" : "C"); }