40 #ifndef AUBO_SDK_FORCE_CONTROL_INTERFACE_H 41 #define AUBO_SDK_FORCE_CONTROL_INTERFACE_H 46 #include <aubo/global_config.h> 50 namespace common_interface {
162 int setTargetForce(
const std::vector<double> &feature,
163 const std::vector<bool> &compliance,
164 const std::vector<double> &wrench,
165 const std::vector<double> &limits,
191 int setDynamicModel(
const std::vector<double> &m,
192 const std::vector<double> &d,
193 const std::vector<double> &k);
256 int setCondForce(
const std::vector<double> &min,
257 const std::vector<double> &max,
bool outside,
300 int setCondOrient(
const std::vector<double> &frame,
double max_angle,
301 double max_rot,
bool outside,
double timeout);
338 int setCondPlane(
const std::vector<double> &plane,
double timeout);
365 int setCondCylinder(
const std::vector<double> &axis,
double radius,
366 bool outside,
double timeout);
393 int setCondSphere(
const std::vector<double> ¢er,
double radius,
394 bool outside,
double timeout);
435 int setCondTcpSpeed(
const std::vector<double> &min,
436 const std::vector<double> &max,
bool outside,
454 int setCondDistance(
double distance,
double timeout);
472 int setCondAdvanced(
const std::string &type,
473 const std::vector<double> &args,
double timeout);
508 bool isCondFullfiled();
541 int setSupvForce(
const std::vector<double> &min,
542 const std::vector<double> &max);
580 int setSupvOrient(
const std::vector<double> &frame,
double max_angle,
581 double max_rot,
bool outside);
609 int setSupvPosBox(
const std::vector<double> &frame,
const Box &box);
632 int setSupvPosCylinder(
const std::vector<double> &frame,
656 int setSupvPosSphere(
const std::vector<double> &frame,
697 int setSupvReoriSpeed(
const std::vector<double> &speed_limit,
bool outside,
737 int setSupvTcpSpeed(
const std::vector<double> &speed_limit,
bool outside,
770 int setLpFilter(
const std::vector<double> &cutoff_freq);
814 int speedChangeEnable(
double ref_force);
833 int speedChangeDisable();
858 int speedChangeTune(
int speed_levels,
double speed_ratio_min);
899 int setDamping(
const std::vector<double> &damping,
double ramp_time);
930 int softFloatEnable();
942 int softFloatDisable();
952 bool isSoftFloatEnabled();
965 int setSoftFloatParams(
bool joint_space,
const std::vector<bool> &select,
966 const std::vector<double> &stiff_percent,
967 const std::vector<double> &stiff_damp_ratio,
968 const std::vector<double> &force_threshold,
969 const std::vector<double> &force_limit);
979 int toolContact(
const std::vector<bool> &direction);
987 #define ForceControl_DECLARES \ 988 _INST(ForceControl, 0, fcEnable) \ 989 _INST(ForceControl, 0, fcDisable) \ 990 _FUNC(ForceControl, 0, isFcEnabled) \ 991 _INST(ForceControl, 5, setTargetForce, feature, compliance, wrench, limits, type) \ 992 _INST(ForceControl, 3, setDynamicModel, m, d, k) \ 993 _FUNC(ForceControl, 0, getDynamicModel) \ 994 _INST(ForceControl, 4, setCondForce, min, max, outside, timeout) \ 995 _INST(ForceControl, 5, setCondOrient, frame, max_angle, max_rot, outside, timeout) \ 996 _INST(ForceControl, 2, setCondPlane, plane, timeout) \ 997 _INST(ForceControl, 4, setCondCylinder, axis, radius, outside, timeout) \ 998 _INST(ForceControl, 4, setCondSphere, center, radius, outside, timeout) \ 999 _INST(ForceControl, 4, setCondTcpSpeed, min, max, outside, timeout) \ 1000 _INST(ForceControl, 0, setCondActive) \ 1001 _INST(ForceControl, 2, setCondDistance, distance, timeout) \ 1002 _INST(ForceControl, 3, setCondAdvanced, type, args, timeout) \ 1003 _FUNC(ForceControl, 0, isCondFullfiled) \ 1004 _INST(ForceControl, 2, setSupvForce, min, max) \ 1005 _INST(ForceControl, 4, setSupvOrient, frame, max_angle, max_rot, outside) \ 1006 _INST(ForceControl, 2, setSupvPosBox, frame, box) \ 1007 _INST(ForceControl, 2, setSupvPosCylinder, frame, cylinder) \ 1008 _INST(ForceControl, 2, setSupvPosSphere, frame, sphere) \ 1009 _INST(ForceControl, 3, setSupvReoriSpeed, speed_limit, outside, timeout) \ 1010 _INST(ForceControl, 3, setSupvTcpSpeed, speed_limit, outside, timeout) \ 1011 _INST(ForceControl, 1, setLpFilter, cutoff_freq) \ 1012 _INST(ForceControl, 0, resetLpFilter) \ 1013 _INST(ForceControl, 2, speedChangeTune, speed_levels, speed_ratio_min) \ 1014 _INST(ForceControl, 1, speedChangeEnable, ref_force) \ 1015 _INST(ForceControl, 0, speedChangeDisable) \ 1016 _INST(ForceControl, 2, setDamping, damping, ramp_time) \ 1017 _INST(ForceControl, 0, resetDamping) \ 1018 _INST(ForceControl, 0, softFloatEnable) \ 1019 _INST(ForceControl, 0, softFloatDisable) \ 1020 _FUNC(ForceControl, 0, isSoftFloatEnabled) \ 1021 _INST(ForceControl, 6, setSoftFloatParams, joint_space, select, stiff_percent, stiff_damp_ratio, force_threshold, force_limit) \ 1022 _FUNC(ForceControl, 1, toolContact, direction) 1027 #endif // AUBO_SDK_FORCE_CONTROL_INTERFACE_H
std::vector< double > Box
std::shared_ptr< ForceControl > ForceControlPtr
std::vector< double > Cylinder
std::vector< double > Sphere
std::tuple< std::vector< double >, std::vector< double >, std::vector< double >> DynamicsModel