top of page

4.37. New Spline Motion End

4.37. New Spline Motion End

/**
* @brief New spline motion end
* @return Error code
*/
errno_t NewSplineEnd();

4.38. New Spline Motion Example

int TestNewSpline(void)
{
    ROBOT_STATE_PKG pkg = {};
    FRRobot robot;
    robot.LoggerInit();
    robot.SetLoggerLevel(1);
    int rtn = robot.RPC("192.168.58.2");
    if (rtn != 0)
    {
        return -1;
    }
    robot.SetReConnectParam(true, 30000, 500);
    JointPos j1(-11.904, -99.669, 117.473, -108.616, -91.726, 74.256);
    JointPos j2(-45.615, -106.172, 124.296, -107.151, -91.282, 74.255);
    JointPos j3(-61.954, -84.409, 108.153, -116.316, -91.283, 74.260);
    JointPos j4(-89.575, -80.276, 102.713, -116.302, -91.284, 74.267);
    JointPos j5(-95.228, -54.621, 73.691, -112.245, -91.280, 74.268);
    DescPose desc_pos1(-419.524, -13.000, 351.569, -178.118, 0.314, 3.833);
    DescPose desc_pos2(-321.222, 185.189, 335.520, -179.030, -1.284, -29.869);
    DescPose desc_pos3(-327.622, 402.230, 320.402, -178.067, 2.127, -46.207);
    DescPose desc_pos4(-104.066, 544.321, 327.023, -177.715, 3.371, -73.818);
    DescPose desc_pos5(-33.421, 732.572, 275.103, -177.907, 2.709, -79.482);
    DescPose offset_pos(0, 0, 0, 0, 0, 0);
    ExaxisPos epos(0, 0, 0, 0);
    int tool = 0;
    int user = 0;
    float vel = 100.0;
    float acc = 100.0;
    float ovl = 100.0;
    float blendT = -1.0;
    uint8_t flag = 0;
    robot.SetSpeed(20);
    int err1 = robot.MoveJ(&j1, &desc_pos1, tool, user, vel, acc, ovl, &epos, blendT, flag, &offset_pos);
    printf("movej errcode:%d\n", err1);
    robot.NewSplineStart(1, 2000);
    robot.NewSplinePoint(&j1, &desc_pos1, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplinePoint(&j2, &desc_pos2, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplinePoint(&j3, &desc_pos3, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplinePoint(&j4, &desc_pos4, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplinePoint(&j5, &desc_pos5, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplineEnd();
    err1 = robot.MoveJ(&j1, tool, user, vel, acc, ovl, &epos, blendT, flag, &offset_pos);
    printf("movej errcode:%d\n", err1);
    robot.NewSplineStart(1, 2000);
    robot.NewSplinePoint(&desc_pos1, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplinePoint(&desc_pos2, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplinePoint(&desc_pos3, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplinePoint(&desc_pos4, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplinePoint(&desc_pos5, tool, user, vel, acc, ovl, -1, 0);
    robot.NewSplineEnd();
    robot.CloseRPC();
    return 0;
}

4.39. Stop Motion

/**
* @brief Stop motion
* @return Error code
*/
errno_t StopMotion();

4.40. Pause Motion

/**
* @brief Pause motion
* @return Error code
*/
errno_t PauseMotion();

4.41. Resume Motion

/**
* @brief Resume motion
* @return Error code
*/
errno_t ResumeMotion();

4.42. Motion Pause, Resume, Stop Example

int TestPause(void)
{
    ROBOT_STATE_PKG pkg = {};
    FRRobot robot;
    robot.LoggerInit();
    robot.SetLoggerLevel(1);
    int rtn = robot.RPC("192.168.58.2");
    if (rtn != 0)
    {
        return -1;
    }
    robot.SetReConnectParam(true, 30000, 500);
    JointPos j1(-11.904, -99.669, 117.473, -108.616, -91.726, 74.256);
    JointPos j5(-95.228, -54.621, 73.691, -112.245, -91.280, 74.268);
    DescPose desc_pos1(-419.524, -13.000, 351.569, -178.118, 0.314, 3.833);
    DescPose desc_pos5(-33.421, 732.572, 275.103, -177.907, 2.709, -79.482);
    DescPose offset_pos(0, 0, 0, 0, 0, 0);
    ExaxisPos epos(0, 0, 0, 0);
    int tool = 0;
    int user = 0;
    float vel = 100.0;
    float acc = 100.0;
    float ovl = 100.0;
    float blendT = -1.0;
    uint8_t flag = 0;
    robot.SetSpeed(20);
    rtn = robot.MoveJ(&j1, &desc_pos1, tool, user, vel, acc, ovl, &epos, blendT, flag, &offset_pos);
    rtn = robot.MoveJ(&j5, &desc_pos5, tool, user, vel, acc, ovl, &epos, 1, flag, &offset_pos);
    robot.Sleep(1000);
    robot.PauseMotion();
    robot.Sleep(1000);
    robot.ResumeMotion();
    robot.Sleep(1000);
    robot.StopMotion();
    robot.Sleep(1000);
    robot.CloseRPC();
    return 0;
}

4.43. Point Global Offset Start

/**
* @brief Point global offset start
* @param [in] flag 0-Offset in base/workpiece coordinate, 2-Offset in tool coordinate
* @param [in] offset_pos Pose offset
* @return Error code
*/
errno_t PointsOffsetEnable(int flag, DescPose *offset_pos);

4.44. Point Global Offset End

/**
* @brief Point global offset end
* @return Error code
*/
errno_t PointsOffsetDisable();

4.45. Point Offset Example

int TestOffset(void)
{
    ROBOT_STATE_PKG pkg = {};
    FRRobot robot;
    robot.LoggerInit();
    robot.SetLoggerLevel(1);
    int rtn = robot.RPC("192.168.58.2");
    if (rtn != 0)
    {
        return -1;
    }
    robot.SetReConnectParam(true, 30000, 500);
    JointPos j1(-11.904, -99.669, 117.473, -108.616, -91.726, 74.256);
    JointPos j2(-45.615, -106.172, 124.296, -107.151, -91.282, 74.255);
    DescPose desc_pos1(-419.524, -13.000, 351.569, -178.118, 0.314, 3.833);
    DescPose desc_pos2(-321.222, 185.189, 335.520, -179.030, -1.284, -29.869);
    DescPose offset_pos(0, 0, 0, 0, 0, 0);
    DescPose offset_pos1(0, 0, 50, 0, 0, 0);
    ExaxisPos epos(0, 0, 0, 0);
    int tool = 0;
    int user = 0;
    float vel = 100.0;
    float acc = 100.0;
    float ovl = 100.0;
    float blendT = -1.0;
    uint8_t flag = 0;
    robot.SetSpeed(20);
    robot.MoveJ(&j1, &desc_pos1, tool, user, vel, acc, ovl, &epos, blendT, flag, &offset_pos);
    robot.MoveJ(&j2, &desc_pos2, tool, user, vel, acc, ovl, &epos, blendT, flag, &offset_pos);
    robot.Sleep(1000);
    robot.PointsOffsetEnable(0, &offset_pos1);
    robot.MoveJ(&j1, &desc_pos1, tool, user, vel, acc, ovl, &epos, blendT, flag, &offset_pos);
    robot.MoveJ(&j2, &desc_pos2, tool, user, vel, acc, ovl, &epos, blendT, flag, &offset_pos);
    robot.PointsOffsetDisable();
    robot.CloseRPC();
    return 0;
}

robotic arm
FAIRINO ROBOTIC ARMS

Contact

Location: 10637 Scripps Summit Court,

San Diego, CA. 92131
Phone: (619) 333-FAIR
Email: hello@fairino.us

© 2023 Fairino US official site Proudly created By G2T

bottom of page