top of page

Java 11. Robot peripherals

11.1. Configure gripper

/**
* @brief  Configure gripper
* @param  [in] config .company  Gripper manufacturer, 1-Robotiq, 2-Huiling, 3-Tianji, 4-Dahuan, 5-Zhixing
* @param  [in] config .device  Device number, Robotiq(0-2F-85 series), Huiling(0-NK series,1-Z-EFG-100), Tianji(0-TEG-110), Dahuan(0-PGI-140), Zhixing(0-CTPM2F20)
* @param  [in] config .softvesion  Software version, not currently used, default 0
* @param  [in] config .bus  Device bus position at end, not currently used, default 0
* @return  Error code
*/
int SetGripperConfig(DeviceConfig config);

11.2. Get gripper configuration

/**
* @brief  Get gripper configuration
* @param  [out] config .company  Gripper manufacturer, 1-Robotiq, 2-Huiling, 3-Tianji, 4-Dahuan, 5-Zhixing
* @param  [out] config .device  Device number, Robotiq(0-2F-85 series), Huiling(0-NK series,1-Z-EFG-100), Tianji(0-TEG-110), Dahuan(0-PGI-140), Zhixing(0-CTPM2F20)
* @param  [out] config .softvesion  Software version, not currently used, default 0
* @param  [out] config .bus  Device bus position at end, not currently used, default 0
* @return  Error code
*/
int GetGripperConfig(DeviceConfig config);

11.3. Activate gripper

/**
* @brief  Activate gripper
* @param  [in] index  Gripper number
* @param  [in] act  0-reset, 1-activate
* @return  Error code
*/
int ActGripper(int index, int act);

11.4. Control gripper

/**
* @brief  Control gripper
* @param  [in] index  Gripper number
* @param  [in] pos  Position percentage, range [0~100]
* @param  [in] vel  Speed percentage, range [0~100]
* @param  [in] force  Torque percentage, range [0~100]
* @param  [in] max_time  Maximum wait time, range [0~30000], unit ms
* @param  [in] block  0-blocking, 1-non-blocking
* @param  [in] type Gripper type, 0-parallel gripper; 1-rotary gripper
* @param  [in] rotNum Rotation turns
* @param  [in] rotVel Rotation speed percentage [0-100]
* @param  [in] rotTorque Rotation torque percentage [0-100]
* @return Error code
*/
int MoveGripper(int index, int pos, int vel, int force, int max_time, int block, int type, double rotNum, int rotVel, int rotTorque);

11.5. Get gripper motion status

/**
* @brief  Get gripper motion status
* @return List[0]:Error code; List[1] : fault  0-no error, 1-error; List[2]: staus  0-motion not completed, 1-motion completed
*/
List<Integer> GetGripperMotionDone();

11.6. Get gripper activation status

/**
* @brief  Get gripper activation status
* @return  List[0]:Error code; List[1] : fault  0-no error, 1-error; List[2]: status  bit0~bit15 correspond to gripper numbers 0~15, bit=0 not activated, bit=1 activated
*/
List<Number> GetGripperActivateStatus()

11.7. Get gripper position

/**
* @brief  Get gripper position
* @return  List[0]:Error code; List[1] : fault  0-no error, 1-error; List[2]: position  Position percentage, range 0~100%
*/
List<Number> GetGripperCurPosition()

11.8. Get gripper speed

/**
* @brief  Get gripper speed
* @return  List[0]:Error code; List[1] : fault  0-no error, 1-error; List[2]: speed  Speed percentage, range 0~100%
*/
List<Number> GetGripperCurSpeed()

11.9. Get gripper current

/**
* @brief  Get gripper current
* @return  List[0]:Error code; List[1] : fault  0-no error, 1-error; List[2]: current  Current percentage, range 0~100%
*/
List<Number> GetGripperCurCurrent()

11.10. Get gripper voltage

/**
* @brief  Get gripper voltage
* @return List[0]:Error code; List[1] : fault  0-no error, 1-error; List[2]:voltage  Voltage, unit 0.1V
*/
List<Number> GetGripperVoltage()

11.11. Get gripper temperature

/**
* @brief  Get gripper temperature
* @return List[0]:Error code; List[1] : fault  0-no error, 1-error; List[2]:temp  Temperature, unit ℃
*/
List<Number> GetGripperTemp()

11.12. Calculate pre-grasp point - vision

/**
* @brief Calculate pre-grasp point - vision
* @param [in] desc_pos  Grasp point cartesian pose
* @param [in] zlength   z-axis offset
* @param [in] zangle    Rotation offset around z-axis
* @param [out] pre_pos  Pre-grasp point
* @return Error code
*/
int ComputePrePick(DescPose desc_pos, double zlength, double zangle, DescPose pre_pos);

11.13. Calculate retreat point - vision

/**
* @brief Calculate retreat point - vision
* @param [in] desc_pos  Grasp point cartesian pose
* @param [in] zlength   z-axis offset
* @param [in] zangle    Rotation offset around z-axis
* @param [out] post_poss Retreat point
* @return Error code
*/
int ComputePostPick(DescPose desc_pos, double zlength, double zangle, DescPose post_pos);

11.14. Robot gripper operation code example

public static int TestGripper(Robot robot)
{
    int company = 4;
    int device = 0;
    int softversion = 0;
    int bus = 2;
    int index = 2;
    int act = 0;
    int max_time = 30000;
    int block = 0;

    int current_pos = 0;
    int current = 0;
    int voltage = 0;
    int temp = 0;
    int speed = 0;

    DeviceConfig cnn=new DeviceConfig(company,device,softversion,bus);
    robot.SetGripperConfig(cnn);
    robot.GetGripperConfig(cnn);

    robot.ActGripper(index, act);
    robot.Sleep(1000);
    act = 1;
    robot.ActGripper(index, act);
    robot.Sleep(1000);

    robot.MoveGripper(index, 100, 50, 50, max_time, block, 0, 0, 0, 0);
    robot.Sleep(1000);
    robot.MoveGripper(index, 0, 50, 0, max_time, block, 0, 0, 0, 0);

    List<Integer> stat=new ArrayList<>();
    stat=robot.GetGripperMotionDone();

    List<Number> list=new ArrayList<>();
    list=robot.GetGripperActivateStatus();

    list=robot.GetGripperCurPosition();

    list=robot.GetGripperCurCurrent();

    list=robot.GetGripperVoltage();

    list=robot.GetGripperTemp();

    list=robot.GetGripperCurSpeed();

    int retval = 0;
    DescPose prepick_pose = new DescPose(){};
    DescPose postpick_pose = new DescPose(){};

    DescPose p1Desc=new DescPose(-419.524, -13.000, 351.569, -178.118, 0.314, 3.833);
    DescPose p2Desc=new DescPose(-321.222, 185.189, 335.520, -179.030, -1.284, -29.869);

    retval = robot.ComputePrePick(p1Desc, 10, 0, prepick_pose);

    retval = robot.ComputePostPick(p2Desc, -10, 0, postpick_pose);
    return 0;
}

11.15. Get rotary gripper rotation turns

/**
* @brief  Get rotary gripper rotation turns
* @return List[0]:Error code List[1]: 0-no error, 1-error List[2]:Rotation turns
*/
List<Number> GetGripperRotNum();

11.16. Get rotary gripper rotation speed percentage

/**
* @brief  Get rotary gripper rotation speed percentage
* @return List[0]:Error code List[1]: 0-no error, 1-error List[2]:Rotation speed percentage
*/
List<Number> GetGripperRotSpeed();

11.17. Get rotary gripper rotation torque percentage

/**
* @brief  Get rotary gripper rotation torque percentage
* @return List[0]:Error code List[1]: 0-no error, 1-error List[2]:Rotation torque percentage
*/
List<Number> GetGripperRotTorque();

11.18. Code example for getting rotary gripper status

public static int TestRotGripperState(Robot robot)
{
    int fault = 0;
    List<Number> rotNum=new ArrayList<>();
    List<Number> rotSpeed=new ArrayList<>();
    List<Number> rotTorque=new ArrayList<>();

    rotNum=robot.GetGripperRotNum();
    rotSpeed=robot.GetGripperRotSpeed();
    rotTorque=robot.GetGripperRotTorque();
    System.out.println("gripper rot num :"+rotNum.get(2)+ ", gripper rotSpeed :"+rotSpeed.get(2)+",gripper rotTorque : "+rotTorque.get(2));

    return 0;
}

11.19. Conveyor start/stop

/**
* @brief  Conveyor start/stop
* @param  [in] status Status, 1-start, 0-stop
* @return  Error code
*/
int ConveyorStartEnd(int status);

11.20. Record IO detection point

/**
* @brief  Record IO detection point
* @return  Error code
*/
int ConveyorPointIORecord();

11.21. Record point A

/**
* @brief  Record point A
* @return  Error code
*/
int ConveyorPointARecord();

11.22. Record reference point

/**
* @brief  Record reference point
* @return  Error code
*/
int ConveyorRefPointRecord();

11.23. Record point B

/**
* @brief  Record point B
* @return Error code
*/
int ConveyorPointBRecord();

11.24. Conveyor workpiece IO detection

/**
* @brief Conveyor workpiece IO detection
* @param [in] max_t Maximum detection time, unit ms
* @return Error code
*/
int ConveyorIODetect(int max_t);

11.25. Get object current position

/**
* @brief Get object current position
* @param [in] mode 1-tracking grasp, 2-tracking motion, 3-TPD tracking
* @return Error code
*/
int ConveyorGetTrackData(int mode);

11.26. Conveyor tracking start

/**
* @brief Conveyor tracking start
* @param [in] status Status, 1-start, 0-stop
* @return Error code
*/
int ConveyorTrackStart(int status);

11.27. Conveyor tracking stop

/**
* @brief Conveyor tracking stop
* @return Error code
*/
int ConveyorTrackEnd();

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