Skip to content

MOVE_POSE

Download Flojoy Studio to try this app
Move the robot to a specified pose in space. Params: x : float The x coordinate of the position to move to y : float The y coordinate of the position to move to z : float The z coordinate of the position to move to alpha : float The alpha coordinate (rotation in radians about the x axis) of the position to move to. beta : float The beta coordinate (rotation in radians about the y axis) of the position to move to. gamma : float The gamma coordinate (rotation in radians about the z axis) of the position to move to. ip_address : The IP address of the robot arm. Returns: out : String The IP address of the robot arm.
Python Code
from typing import Optional
from flojoy import flojoy, String
from PYTHON.utils.mecademic_state.mecademic_state import query_for_handle
from PYTHON.utils.mecademic_state.mecademic_helpers import safe_robot_operation


@safe_robot_operation
@flojoy(deps={"mecademicpy": "1.4.0"})
def MOVE_POSE(
    ip_address: String,
    x: float,
    y: float,
    z: float,
    alpha: Optional[float] = 0,
    beta: Optional[float] = 0,
    gamma: Optional[float] = 0,
) -> String:
    """
    Move the robot to a specified pose in space.

    Parameters
    ----------
    x : float
        The x coordinate of the position to move to
    y : float
        The y coordinate of the position to move to
    z : float
        The z coordinate of the position to move to
    alpha : float, optional
        The alpha coordinate (rotation in radians about the x axis) of the position to move to.
    beta : float, optional
        The beta coordinate   (rotation in radians about the y axis) of the position to move to.
    gamma : float, optional
        The gamma coordinate (rotation in radians about the z axis) of the position to move to.
    ip_address
        The IP address of the robot arm.



    Returns
    -------
    String
        The IP address of the robot arm.

    """
    robot = query_for_handle(ip_address)
    robot.MovePose(x=x, y=y, z=z, alpha=alpha, beta=beta, gamma=gamma)
    robot.WaitIdle()
    return ip_address

Find this Flojoy Block on GitHub

Example App

Having problems with this example app? Join our Discord community and we will help you out!
React Flow mini map

In this example, the MOVE_POSE node moves the robot arm to a specified Cartesian position while also considering the orientation of the tool.

The node takes in the x, y, and z coordinates, along with optional alpha, beta, and gamma rotations in radians.

After initiating the movement, the node waits for the robot arm to become idle, indicating that the movement is complete.

The MOVE_POSE node is particularly useful in workflows where both the position and orientation of the robot arm are crucial, such as aligning the arm with an object before picking it up.