top of page
12.1. Configure Force Sensor
/**
* @brief Configure force sensor
* @param config company: Force sensor manufacturer, 17-Kunwei Technology, 19-Aerospace 11th Academy, 20-ATI Sensor, 21-Zhongke Midian, 22-Weihang Minxin, 23-NBIT, 24-Xinjingcheng (XJC), 26-NSR
* @param config device: Device number, Kunwei (0-KWR75B), Aerospace 11th Academy (0-MCS6A-200-4), ATI (0-AXIA80-M8), Zhongke Midian (0-MST2010), Weihang Minxin (0-WHC6L-YB-10A), NBIT (0-XLH93003ACS), Xinjingcheng XJC (0-XJC-6F-D82), NSR (0-NSR-FTSensorA)
* @param config softvesion: Software version number, not currently used, default is 0
* @param config bus: Device bus location, not currently used, default is 0
* @return Error code
*/
int FT_SetConfig(DeviceConfig config);
12.2. Get Force Sensor Configuration
/**
* @brief Get force sensor configuration
* @param [out] config company: Force sensor manufacturer, 17-Kunwei Technology, 19-Aerospace 11th Academy, 20-ATI Sensor, 21-Zhongke Midian, 22-Weihang Minxin
* @param [out] config device: Device number, Kunwei (0-KWR75B), Aerospace 11th Academy (0-MCS6A-200-4), ATI (0-AXIA80-M8), Zhongke Midian (0-MST2010), Weihang Minxin (0-WHC6L-YB-10A)
* @param [out] config softvesion: Software version number, not currently used, default is 0
* @param [out] config bus: Device bus location, not currently used, default is 0
* @return Error code
*/
int FT_GetConfig(DeviceConfig config);
12.3. Activate Force Sensor
/**
* @brief Activate force sensor
* @param [in] act 0-Reset, 1-Activate
* @return Error code
*/
int FT_Activate(int act);
12.4. Zero Calibration for Force Sensor
/**
* @brief Zero calibration for force sensor
* @param [in] act 0-Remove zero point, 1-Zero calibration
* @return Error code
*/
int FT_SetZero(int act);
12.5. Set Force Sensor Reference Coordinate System
/**
* @brief Set force sensor reference coordinate system
* @param [in] type 0-Tool coordinate system, 1-Base coordinate system, 2-Free coordinate system
* @param [in] coord Free coordinate system value
* @return Error code
*/
int FT_SetRCS(int type, DescPose coord);
12.6. Set Load Weight Under Force Sensor
/**
* @brief Set load weight under force sensor
* @param [in] weight Load weight in kg
* @return Error code
*/
int SetForceSensorPayLoad(double weight);
12.7. Set Load Center of Gravity Under Force Sensor
/**
* @brief Set load center of gravity under force sensor
* @param [in] cog Load center of gravity in mm
* @return Error code
*/
int SetForceSensorPayLoadCog(DescTran cog);
12.8. Get Load Weight Under Force Sensor
/**
* @brief Get load weight under force sensor
* @return List[0]: Error code; List[1]: weight Load weight in kg
*/
List<Number> GetForceSensorPayLoad();
12.9. Get Load Center of Gravity Under Force Sensor
/**
* @brief Get load center of gravity under force sensor
* @param [out] cog Load center of gravity in mm
* @return Error code
*/
int GetForceSensorPayLoadCog(DescTran cog);
12.10. Automatic Zero Calibration for Force Sensor
/**
* @brief Automatic zero calibration for force sensor
* @param [in] massCenter Sensor mass (kg) and center of gravity (mm)
* @return Error code
*/
int ForceSensorAutoComputeLoad(MassCenter massCenter);
12.11. Get Force/Torque Data in Reference Coordinate System
/**
* @brief Get force/torque data in reference coordinate system
* @param [in] flag 0-Blocking, 1-Non-blocking
* @param [out] ft Force/torque, fx,fy,fz,tx,ty,tz
* @return Error code
*/
int FT_GetForceTorqueRCS(int flag, ForceTorque ft);
12.12. Get Raw Force/Torque Data from Force Sensor
/**
* @brief Get raw force/torque data from force sensor
* @param [in] flag 0-Blocking, 1-Non-blocking
* @param [out] ft Force/torque, fx,fy,fz,tx,ty,tz
* @return Error code
*/
int FT_GetForceTorqueOrigin(int flag, ForceTorque ft);
12.13. Force Sensor Configuration and Automatic Zero Calibration Example
public static int TestFTInit(Robot robot)
{
DescTran tr1=new DescTran(0,0,0);
robot.SetForceSensorPayload(0);
robot.SetForceSensorPayloadCog(tr1);
int company = 24;
int device = 0;
int softversion = 0;
int bus = 1;
int index = 1;
DeviceConfig con=new DeviceConfig(company,device,softversion,bus);
robot.FT_SetConfig(con);
robot.Sleep(1000);
robot.FT_GetConfig(con);
robot.Sleep(1000);
robot.FT_Activate(0);
robot.Sleep(1000);
robot.FT_Activate(1);
robot.Sleep(1000);
robot.Sleep(1000);
robot.FT_SetZero(0);
robot.Sleep(1000);
ForceTorque ft=new ForceTorque(0,0,0,0,0,0);
robot.FT_GetForceTorqueOrigin(0, ft);
robot.FT_SetZero(1);
robot.Sleep(1000);
DescPose ftCoord = new DescPose();
robot.FT_SetRCS(0, ftCoord);
robot.SetForceSensorPayload(0.824);
DescTran tr=new DescTran(0.778, 2.554, 48.765);
robot.SetForceSensorPayloadCog(tr);
List<Number> weight = new ArrayList<>();
double x = 0, y = 0, z = 0;
weight=robot.GetForceSensorPayload();
robot.GetForceSensorPayloadCog(tr);
tr.x=0;
tr.y=0;
tr.z=0;
robot.SetForceSensorPayload(0);
robot.SetForceSensorPayloadCog(tr);
double computeWeight = 0;
DescTran tran = new DescTran();
MassCenter mass=new MassCenter();
mass.weight=weight.get(1).doubleValue();
mass.cog=tran;
robot.ForceSensorAutoComputeLoad(mass);
return 0;
}
12.14. Load Weight Identification Record
/**
* @brief Load weight identification record
* @param [in] id Sensor coordinate system number, range [1~14]
* @return Error code
*/
int FT_PdIdenRecord(int id);
12.15. Load Weight Identification Calculation
/**
* @brief Load weight identification calculation
* @return List[0]: Error code; List[1]: double weight Load weight in kg
*/
List<Number> FT_PdIdenCompute();
12.16. Load Center of Gravity Identification Record
/**
* @brief Load center of gravity identification record
* @param [in] id Sensor coordinate system number, range [1~14]
* @param [in] index Point number, range [1~3]
* @return Error code
*/
int FT_PdCogIdenRecord(int id, int index);
12.17. Load Center of Gravity Identification Calculation
/**
* @brief Load center of gravity identification calculation
* @param [out] cog Load center of gravity in mm
* @return Error code
*/
int FT_PdCogIdenCompute(DescTran cog);
bottom of page