top of page
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();
bottom of page