top of page

Java 11.72. Laser Peripheral On/Off Function

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser peripheral on/off function
 * @param [in] OnOff 0-off 1-on
 * @param [in] weldId Weld seam ID, default is 0
 * @return Error code
 */
public int LaserTrackingLaserOnOff(int OnOff, int weldId)

11.73. Laser Tracking Start/Stop Function

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser tracking start/stop function
 * @param [in] OnOff 0-stop 1-start
 * @param [in] coordId Laser peripheral tool coordinate system number
 * @return Error code
 */
public int LaserTrackingTrackOnOff(int OnOff, int coordId)

11.74. Laser Positioning - Fixed Direction

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser positioning - fixed direction
 * @param [in] direction 0-x+ 1-x- 2-y+ 3-y- 4-z+ 5-z-
 * @param [in] vel Speed in %
 * @param [in] distance Maximum positioning distance in mm
 * @param [in] timeout Positioning timeout in ms
 * @param [in] posSensorNum Laser calibrated tool coordinate number
 * @return Error code
 */
public int LaserTrackingSearchStart_xyz(int direction, int vel, int distance, int timeout, int posSensorNum)

11.75. Laser Positioning - Arbitrary Direction

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser positioning - arbitrary direction
 * @param [in] directionPoint XYZ coordinates of the positioning input point
 * @param [in] vel Speed in %
 * @param [in] distance Maximum positioning distance in mm
 * @param [in] timeout Positioning timeout in ms
 * @param [in] posSensorNum Laser calibrated tool coordinate number
 * @return Error code
 */
public int LaserTrackingSearchStart_point(DescTran directionPoint, int vel, int distance, int timeout, int posSensorNum)

11.76. Laser Positioning Stop

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser positioning stop
 * @return Error code
 */
public int LaserTrackingSearchStop()

11.77. Laser IP Configuration

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser IP configuration
 * @param [in] ip IP address of the laser peripheral
 * @param [in] port Port number of the laser peripheral
 * @return Error code
 */
public int LaserTrackingSensorConfig(String ip, int port)

11.78. Laser Peripheral Sampling Period Configuration

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser peripheral sampling period configuration
 * @param [in] period Laser peripheral sampling period in ms
 * @return Error code
 */
public int LaserTrackingSensorSamplePeriod(int period)

11.79. Laser Peripheral Driver Loading

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser peripheral driver loading
 * @param [in] type Laser peripheral driver protocol type 101-Ruiniu 102-Chuangxiang 103-Quanshi 104-Tongzhou 105-Aotai
 * @return Error code
 */
public int LoadPosSensorDriver(int type)

11.80. Laser Peripheral Driver Unloading

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser peripheral driver unloading
 * @return Error code
 */
public int UnLoadPosSensorDriver()

11.81. Laser Weld Seam Trajectory Recording

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser weld seam trajectory recording
 * @param [in] status 0-stop recording 1-real-time tracking 2-start recording
 * @param [in] delayTime Delay time in ms
 * @return Error code
 */
public int LaserSensorRecord1(int status, int delayTime)

11.82. Laser Weld Seam Trajectory Replay

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser weld seam trajectory replay
 * @param [in] delayTime Delay time in ms
 * @param [in] speed Speed in %
 * @return Error code
 */
public int LaserSensorReplay(int delayTime, double speed)

11.83. Laser Tracking Replay

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Laser tracking replay
 * @return Error code
 */
public int MoveLTR()

11.84. Laser Weld Seam Trajectory Recording and Replay

New in version Java: SDK-v1.0.9-3.8.6

 /**
 * @brief Laser Weld Seam Trajectory Replay
 * @param delayMode Mode 0-Delay Time 1-Delay Distance
 * @param delayTime Delay time in milliseconds (ms)
 * @param delayDisExAxisNum Extended Axis Number
 * @param delayDis Delay distance in millimeters (mm)
 * @param sensitivePara Compensation Sensitivity Coefficient
 * @param trackMode Fixed-point Tracking Type. 0-Extended Axis Asynchronous Motion; 1-Robot
 * @param triggerMode Fixed-point Tracking Trigger Method. 0-Tracking Duration; 1-IO
 * @param runTime Robot Fixed-point Tracking Duration in seconds (s)
 * @param speed Speed in percentage (%)
 * @return Error Code
 */
 public int LaserSensorRecordandReplay(int delayMode, int delayTime, int delayDisExAxisNum, double delayDis, double sensitivePara, int trackMode, int triggerMode, double runTime, double speed)

11.85. Move to Laser Record Start Point

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Move to laser record start point
 * @param [in] moveType 0-PTP 1-LIN
 * @param [in] ovl Speed in %
 * @return Error code
 */
public int MoveToLaserRecordStart(int moveType, double ovl)

11.86. Move to Laser Record End Point

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Move to laser record end point
 * @param [in] moveType 0-PTP 1-LIN
 * @param [in] ovl Speed in %
 * @return Error code
 */
public int MoveToLaserRecordEnd(int moveType, double ovl)

11.87. Move to Laser Sensor Positioning Point

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Move to laser sensor positioning point
 * @param [in] moveFlag Motion type: 0-PTP; 1-LIN
 * @param [in] ovl Speed scaling factor, 0-100
 * @param [in] dataFlag Weld seam cache data selection: 0-execute planning data; 1-execute recorded data
 * @param [in] plateType Plate type: 0-corrugated plate; 1-corrugated cardboard; 2-fence plate; 3-oil drum; 4-corrugated shell steel
 * @param [in] trackOffectType Laser sensor offset type: 0-no offset; 1-base coordinate system offset; 2-tool coordinate system offset; 3-laser sensor raw data offset
 * @param [in] offset Offset value
 * @return Error code
 */
public int MoveToLaserSeamPos(int moveFlag, double ovl, int dataFlag, int plateType, int trackOffectType, DescPose offset)

11.88. Get Laser Sensor Positioning Point Coordinate Information

New in version Java: SDK-v1.0.9-3.8.6

/**
 * @brief Get laser sensor positioning point coordinate information
 * @param [in] trackOffectType Laser sensor offset type: 0-no offset; 1-base coordinate system offset; 2-tool coordinate system offset; 3-laser sensor raw data offset
 * @param [in] offset Offset value
 * @param [out] jPos Joint position [°]
 * @param [out] descPos Cartesian position [mm]
 * @param [out] tool Tool coordinate system
 * @param [out] user Workpiece coordinate system
 * @param [out] exaxis Extended axis position [mm]
 * @return Error code
 */
public int GetLaserSeamPos(int trackOffectType, DescPose offset, JointPos jPos, DescPose descPos, int[] tool, int[] user, ExaxisPos exaxis)

11.89. Laser Peripheral Sensor Parameter Configuration and Debugging Code Example

public static void testLaserConfig(Robot robot)
{
    robot.LaserTrackingSensorConfig("192.168.58.20", 5020);

    robot.LaserTrackingSensorSamplePeriod(20);

    robot.LoadPosSensorDriver(101);
    robot.LaserTrackingLaserOnOff(0,0);

    robot.Sleep(3000);

    robot.LaserTrackingLaserOnOff(1, 0);

    robot.CloseRPC();
}

11.90. Laser Trajectory Scanning and Trajectory Replay Code Example

public static void testLaserRecordAndReplay(Robot robot)
{
    // Upload and load open protocol file
    robot.OpenLuaUpload("D://zUP/CtrlDev_laser_ruiniu-0117.lua");
    robot.Sleep(2000);
    robot.SetCtrlOpenLUAName(0, "CtrlDev_laser_ruiniu-0117.lua");
    robot.UnloadCtrlOpenLUA(0);
    robot.LoadCtrlOpenLUA(0);
    robot.Sleep(8000);

    for (int i=0;i<10;++i){
        JointPos startjointPos=new JointPos(56.205, -117.951, 141.872, -118.149, -94.217, -122.176);
        DescPose startdescPose=new DescPose(-97.552, -282.855, 26.675, 174.182, -1.338, -91.707);
        ExaxisPos exaxisPos=new ExaxisPos(0, 0, 0, 0);
        DescPose offdese=new DescPose(0, 0, 0, 0, 0, 0);
        robot.MoveL(startjointPos, startdescPose, 1, 0, 100, 100, 100, -1, 0,exaxisPos, 0, 0, offdese, 0,1, 1);

        robot.LaserSensorRecord1(2, 10);

        JointPos endjointPos=new JointPos(68.809, -87.100, 121.120, -127.233, -95.038, -109.555);
        DescPose enddescPose=new DescPose(-103.555, -464.234, 13.076, 174.179, -1.344, -91.709);
        robot.MoveL(endjointPos, enddescPose, 1, 0, 50, 100, 100, -1,0, exaxisPos, 0, 0, offdese, 0,1, 1);

        robot.LaserSensorRecord1(0, 10);

        robot.MoveToLaserRecordStart(1, 30);

        robot.LaserSensorReplay(10, 100);

        robot.MoveLTR();

        robot.LaserSensorRecord1(0, 10);
    }

    robot.CloseRPC();
}

11.91. Laser Positioning and Real-time Tracking Code Example

public static void testLasertrack(Robot robot)
{
    // Upload and load open protocol file
    robot.OpenLuaUpload("D://zUP/CtrlDev_laser_ruiniu-0117.lua");
    robot.Sleep(2000);
    robot.SetCtrlOpenLUAName(0, "CtrlDev_laser_ruiniu-0117.lua");
    robot.UnloadCtrlOpenLUA(0);
    robot.LoadCtrlOpenLUA(0);
    robot.Sleep(8000);
    for(int i=0;i<10;++i){
        JointPos startjointPos=new JointPos(56.205, -117.951, 141.872, -118.149, -94.217, -122.176);
        DescPose startdescPose=new DescPose(-97.552, -282.855, 26.675, 174.182, -1.338, -91.707);
        ExaxisPos exaxisPos=new ExaxisPos(0, 0, 0, 0);
        DescPose offdese=new DescPose(0, 0, 0, 0, 0, 0);
        DescTran directionPoint=new DescTran();
        robot.MoveL(startjointPos, startdescPose, 1, 0, 100, 100, 100, -1, 0,exaxisPos, 0, 0, offdese, 0,1, 1);

        robot.LaserTrackingSearchStart_xyz(3, 100, 300, 1000, 3);
        robot.LaserTrackingSearchStop();

        //robot.GetRobotTeachingPoint(name, data);
        robot.MoveToLaserSeamPos(1, 30, 0, 0, 0, offdese);
        //printf("%f, %f, %f,%f, %f, %f,%f, %f, %f,%f, %f, %f\n", data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8], data[9], data[10], data[11]);

        robot.LaserTrackingTrackOnOff(1, 3);
        //robot.LaserTrackingTrackOn(3);
        JointPos endjointPos=new JointPos(68.809,-87.100,121.120,-127.233,-95.038,-109.555);
        DescPose enddescPose=new DescPose(-103.555,-464.234,13.076,174.179,-1.344,-91.709);
        robot.MoveL(endjointPos, enddescPose, 1, 0, 20, 100, 100, -1, 0,exaxisPos, 0, 0, offdese, 0,1, 1);

        robot.LaserTrackingTrackOnOff(0, 3);
        System.out.println("Current iteration: "+(i+1));
    }
    robot.CloseRPC();
}

11.92. Extended Axis and Robot Synchronized Laser Tracking Code Example

public static void testLasertrackandExitAxis(Robot robot)
{
    ExaxisPos startexaxisPos =new ExaxisPos( 0,0,0,0 );
    ExaxisPos seamexaxisPos = new ExaxisPos(-10,0,0,0 );
    ExaxisPos endexaxisPos = new ExaxisPos(-30, 0, 0, 0);
    DescPose offdese = new DescPose(0, 0, 0, 0, 0, 0 );
    JointPos seamjointPos=new JointPos(0, 0, 0, 0, 0, 0);
    DescPose seamdescPose=new DescPose(0, 0, 0, 0, 0, 0);

    for(int i =0;i<10;++i) {
        // Move to the starting point for positioning
        JointPos startjointPos = new JointPos(58.337, -119.628, 146.037, -116.358, -92.224, -117.654);
        DescPose startdescPose = new DescPose(-53.375, -255.363, 0.919, 178.054, 1.077, -94.026);
        robot.ExtAxisSyncMoveJ(startjointPos, startdescPose, 1, 0, 100, 100, 100, startexaxisPos, -1, 0, offdese);

        System.out.println("11111");
        // Start positioning along -y direction
        int ret = robot.LaserTrackingSearchStart_xyz(3, 100, 300, 1000, 2);
        robot.LaserTrackingSearchStop();
        System.out.println("2222");
        int[] tool = new int[1];
        int[] user = new int[1];
        robot.GetLaserSeamPos(0, offdese, seamjointPos, seamdescPose, tool, user, startexaxisPos);
        System.out.println(seamjointPos.J1 + ", " + seamjointPos.J2 + ", " +
                seamjointPos.J3 + ", " + seamjointPos.J4 + ", " +
                seamjointPos.J5 + ", " + seamjointPos.J6 + ", " +
                seamdescPose.tran.x + ", " + seamdescPose.tran.y + ", " +
                seamdescPose.tran.z + ", " + seamdescPose.rpy.rx + ", " +
                seamdescPose.rpy.ry + ", " + seamdescPose.rpy.rz);
        // If positioning is successful
        if (ret == 0) {
            // Robot and extended axis synchronously move to the positioning point
            robot.ExtAxisSyncMoveJ(seamjointPos, seamdescPose, 1, 0, 100, 100, 100, seamexaxisPos, -1, 0, offdese);

            // Start laser tracking along the positioning point and synchronously move with extended axis
            System.out.println("3333");
            robot.LaserTrackingTrackOnOff(1, 2);
            JointPos endjointPos = new JointPos(70.580, -90.918, 126.593, -125.154, -92.162, -105.403);
            DescPose enddescPose = new DescPose(-53.375, -419.020, 0.920, 178.054, 1.076, -94.026);
            robot.ExtAxisSyncMoveL(endjointPos, enddescPose, 1, 0, 20, 100, 100, -1, endexaxisPos, 0, offdese);
            ;
            // Stop tracking
            robot.LaserTrackingTrackOnOff(0, 2);
            System.out.println("44444");
        }
        System.out.println("Current run count: "+i);
    }
    robot.CloseRPC();
}

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