ARCS SDK API  0.24.0
Public 成员函数 | Protected 属性 | 所有成员列表
arcs::common_interface::ForceControl类 参考

力控接口抽象类 更多...

#include <force_control.h>

Public 成员函数

 ForceControl ()
 
virtual ~ForceControl ()
 
int fcEnable ()
 Start force control. 更多...
 
int fcDisable ()
 End force control. 更多...
 
bool isFcEnabled ()
 判断力控是否被使能 更多...
 
int setTargetForce (const std::vector< double > &feature, const std::vector< bool > &compliance, const std::vector< double > &wrench, const std::vector< double > &limits, TaskFrameType type=TaskFrameType::FRAME_FORCE)
 设置力控参考(目标)值 更多...
 
int setDynamicModel (const std::vector< double > &m, const std::vector< double > &d, const std::vector< double > &k)
 设置力控动力学模型 更多...
 
DynamicsModel getDynamicModel ()
 获取力控动力学模型 更多...
 
int setCondForce (const std::vector< double > &min, const std::vector< double > &max, bool outside, double timeout)
 设置力控终止条件:力,当测量的力在设置的范围之内,力控算法将保持运行,直到设置的条件不满足,力控将退出 更多...
 
int setCondOrient (const std::vector< double > &frame, double max_angle, double max_rot, bool outside, double timeout)
 FCCondOrient is used to set up an end condition for the tool orientation. 更多...
 
int setCondPlane (const std::vector< double > &plane, double timeout)
 指定力控有效平面,x-y平面,z方向有效 更多...
 
int setCondCylinder (const std::vector< double > &axis, double radius, bool outside, double timeout)
 指定力控有效圆柱体,提供中心轴和圆柱半径,可以指定圆柱内部还是外部 更多...
 
int setCondSphere (const std::vector< double > &center, double radius, bool outside, double timeout)
 指定力控有效球体,提供球心和半径,可以指定球体内部还是外部 更多...
 
int setCondTcpSpeed (const std::vector< double > &min, const std::vector< double > &max, bool outside, double timeout)
 FCCondTCPSpeed is used to setup an end condition for the TCP speed. 更多...
 
int setCondDistance (double distance, double timeout)
 力控终止条件-距离 更多...
 
int setCondAdvanced (const std::string &type, const std::vector< double > &args, double timeout)
 高级力控终止条件 更多...
 
int setCondActive ()
 激活力控终止条件 更多...
 
bool isCondFullfiled ()
 力控终止条件是否已经满足 更多...
 
int setSupvForce (const std::vector< double > &min, const std::vector< double > &max)
 FCSupvForce is used to set up force supervision in Force Control. 更多...
 
int setSupvOrient (const std::vector< double > &frame, double max_angle, double max_rot, bool outside)
 FCSupvOrient is used to set up an supervision for the tool orientation. 更多...
 
int setSupvPosBox (const std::vector< double > &frame, const Box &box)
 FCSupvPos is used to set up position supervision in Force Control. 更多...
 
int setSupvPosCylinder (const std::vector< double > &frame, const Cylinder &cylinder)
 
int setSupvPosSphere (const std::vector< double > &frame, const Sphere &sphere)
 
int setSupvReoriSpeed (const std::vector< double > &speed_limit, bool outside, double timeout)
 FCSupvReoriSpeed is used to set up reorientation speed supervision in Force Control. 更多...
 
int setSupvTcpSpeed (const std::vector< double > &speed_limit, bool outside, double timeout)
 FCSupvTCPSpeed is used to set up TCP speed supervision in Force Control. 更多...
 
int setLpFilter (const std::vector< double > &cutoff_freq)
 设置低通滤波器 更多...
 
int resetLpFilter ()
 重置低通滤波器 更多...
 
int speedChangeEnable (double ref_force)
 The FCSpdChgAct is used to activate FC SpeedChange function with desired reference and recover behavior. 更多...
 
int speedChangeDisable ()
 Deactivate FC SpeedChange function. 更多...
 
int speedChangeTune (int speed_levels, double speed_ratio_min)
 FCSpdChgTunSet is used to set FC SpeedChange system parameters to a new value. 更多...
 
int setDamping (const std::vector< double > &damping, double ramp_time)
 FCSetDampingTune is used to tune the damping in the force control coordinate systems. 更多...
 
int resetDamping ()
 
int softFloatEnable ()
 
int softFloatDisable ()
 
bool isSoftFloatEnabled ()
 返回是否开启了软浮动 更多...
 
int setSoftFloatParams (bool joint_space, const std::vector< bool > &select, const std::vector< double > &stiff_percent, const std::vector< double > &stiff_damp_ratio, const std::vector< double > &force_threshold, const std::vector< double > &force_limit)
 设置软浮动参数 更多...
 
int toolContact (const std::vector< bool > &direction)
 检测工具和外部物体的接触 更多...
 

Protected 属性

void * d_ { nullptr }
 

详细描述

力控接口抽象类

在文件 force_control.h55 行定义.

构造及析构函数说明

arcs::common_interface::ForceControl::ForceControl ( )
virtual arcs::common_interface::ForceControl::~ForceControl ( )
virtual

成员函数说明

int arcs::common_interface::ForceControl::fcDisable ( )

End force control.

fcDisable is used to disable Force Control. After a successful deactivation the robot is back in position control.

失能力控。 fcDisable 被用于失能力控。 在成功失能力控之后,机器人将回到位置控制模式。

返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
fcDisable(self: pyaubo_sdk.ForceControl) -> int
Lua函数原型
fcDisable() -> nil
int arcs::common_interface::ForceControl::fcEnable ( )

Start force control.

fcEnable is used to enable Force Control. At the same time as Force Control is enabled, fcEnable is used to define the coordinate system for Force Control, and tune the force and torque damping. If a coordinate system is not specified in fcEnable a default force control coordinate system is created with the same orientation as the work object coordinate system. All Force Control supervisions are activated by fcEnable.

使能力控。 fcEnable 被用于使能力控。 在力控被使能的同时, fcEnable 用于定义力控的坐标系,并调整力和力矩的阻尼。 如果在 fcEnable 中未指定坐标系, 则会创建一个默认的力控制坐标系,其方向与工作对象坐标系相同。 所有力控制监管功能都被 fcEnable 激活。

返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
fcEnable(self: pyaubo_sdk.ForceControl) -> int
Lua函数原型
fcEnable() -> nil
DynamicsModel arcs::common_interface::ForceControl::getDynamicModel ( )

获取力控动力学模型

返回
力控动力学模型
异常
arcs::common_interface::AuboException
Python函数原型
getDynamicModel(self: pyaubo_sdk.ForceControl) -> Tuple[List[float], List[float], List[float]]
Lua函数原型
getDynamicModel() -> table
bool arcs::common_interface::ForceControl::isCondFullfiled ( )

力控终止条件是否已经满足

返回
异常
arcs::common_interface::AuboException
Python函数原型
isCondFullfiled(self: pyaubo_sdk.ForceControl) -> bool
Lua函数原型
isCondFullfiled() -> boolean
bool arcs::common_interface::ForceControl::isFcEnabled ( )

判断力控是否被使能

返回
使能返回true,失能返回false
异常
arcs::common_interface::AuboException
Python函数原型
isFcEnabled(self: pyaubo_sdk.ForceControl) -> bool
Lua函数原型
isFcEnabled() -> boolean
bool arcs::common_interface::ForceControl::isSoftFloatEnabled ( )

返回是否开启了软浮动

返回
异常
arcs::common_interface::AuboException
int arcs::common_interface::ForceControl::resetDamping ( )
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
resetDamping(self: pyaubo_sdk.ForceControl) -> int
Lua函数原型
resetDamping() -> nil
int arcs::common_interface::ForceControl::resetLpFilter ( )

重置低通滤波器

返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
resetLpFilter(self: pyaubo_sdk.ForceControl) -> int
Lua函数原型
resetLpFilter() -> nil
int arcs::common_interface::ForceControl::setCondActive ( )

激活力控终止条件

返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setCondActive(self: pyaubo_sdk.ForceControl) -> int
Lua函数原型
setCondActive() -> nil
int arcs::common_interface::ForceControl::setCondAdvanced ( const std::string &  type,
const std::vector< double > &  args,
double  timeout 
)

高级力控终止条件

参数
type
args
timeout
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
int arcs::common_interface::ForceControl::setCondCylinder ( const std::vector< double > &  axis,
double  radius,
bool  outside,
double  timeout 
)

指定力控有效圆柱体,提供中心轴和圆柱半径,可以指定圆柱内部还是外部

参数
axis
radius
outside
timeout
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setCondCylinder(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: float, arg2: bool, arg3: float) -> int
Lua函数原型
setCondCylinder(axis: table, radius: number, outside: boolean, timeout: number) -> nil
int arcs::common_interface::ForceControl::setCondDistance ( double  distance,
double  timeout 
)

力控终止条件-距离

参数
distance
timeout
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
int arcs::common_interface::ForceControl::setCondForce ( const std::vector< double > &  min,
const std::vector< double > &  max,
bool  outside,
double  timeout 
)

设置力控终止条件:力,当测量的力在设置的范围之内,力控算法将保持运行,直到设置的条件不满足,力控将退出

FCCondForce is used to set up an end condition based on measured force. The condition is lateractivated by calling the instruction FCCondWaitWhile, which will wait and hold the program execution while the specified condition is true. This allows the reference force, torque and movement to continue until the force is outside the specified limits.

A force condition is set up by defining minimum and maximum limits for the force in the directions of the force control coordinate system. Once activated with FCCondWaitWhile, the program execution will continue to wait while the measured force is within its specified limits.

It is possible to specify that the condition is fulfilled when the force is outside the specified limits instead. This is done by using the switch argument Outside. The condition on force is specified in the force control coordinate system. This coordinate system is setup by the user in the instruction FCAct.

参数
min各方向最小的力/力矩
max各方向最大的力/力矩
outsidefalse 在设置条件的范围之内有效 true 在设置条件的范围之外有效
timeout时间限制,单位s(秒),从开始力控到达该时间时,不管是否满足力控终止条件,都会终止力控
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setCondForce(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: List[float], arg2: bool, arg3: float) -> int
Lua函数原型
setCondForce(min: table, max: table, outside: boolean, timeout: number) -> nil
int arcs::common_interface::ForceControl::setCondOrient ( const std::vector< double > &  frame,
double  max_angle,
double  max_rot,
bool  outside,
double  timeout 
)

FCCondOrient is used to set up an end condition for the tool orientation.

The condition is lateractivated by calling the instruction FCCondWaitWhile, which will wait and hold the program execution while the specified condition is true. This allows the reference force, torque and movement to continue until the orientation is outside the specified limits.

An orientation condition is set up by defining a maximum angle and a maximum rotation from a reference orientation. The reference orientation is either defined by the current z direction of the tool, or by specifying an orientation in relation to the z direction of the work object.

Once activated, the tool orientation must be within the limits (or outside, if the argument Outside is used).

参数
frame
max_angle
max_rot
outside
timeout
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setCondOrient(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: float, arg2: float, arg3: bool, arg4: float) -> int
Lua函数原型
setCondOrient(frame: table, max_angle: number, max_rot: number, outside: boolean, timeout: number) -> nil
int arcs::common_interface::ForceControl::setCondPlane ( const std::vector< double > &  plane,
double  timeout 
)

指定力控有效平面,x-y平面,z方向有效

FCCondPos is used to set up an end condition for the TCP position. The condition is later activated by calling the instruction FCCondWaitWhile, which will wait and hold the program execution while the specified condition is true. This allows the reference force, torque and movement to continue until the specified position is outside the specified limits.

A position condition is set up by defining a volume in space for the TCP position. Once activated the measured TCP position has to be within the specified volume (or outside, if the argument Outside is used).

参数
plane={A,B,C,D}平面表示方法 Ax +By +Cz + D = 0 其中,n = (A, B, C)是平面的法向量, D 是将平面平移到坐标原点所需距离(所以D=0时,平面过原点)
timeout
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setCondPlane(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: float) -> int
Lua函数原型
setCondPlane(plane: table, timeout: number) -> nil
int arcs::common_interface::ForceControl::setCondSphere ( const std::vector< double > &  center,
double  radius,
bool  outside,
double  timeout 
)

指定力控有效球体,提供球心和半径,可以指定球体内部还是外部

参数
center
radius
outside
timeout
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setCondSphere(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: float, arg2: bool, arg3: float) -> int
Lua函数原型
setCondSphere(center: table, radius: number, outside: boolean, timeout: number) -> nil
int arcs::common_interface::ForceControl::setCondTcpSpeed ( const std::vector< double > &  min,
const std::vector< double > &  max,
bool  outside,
double  timeout 
)

FCCondTCPSpeed is used to setup an end condition for the TCP speed.

The condition is lateractivated by calling the instruction FCCondWaitWhile, which will wait and hold the program execution while the specified condition is true. This allows the reference force, torque and movement to continue until the speed is outside the specified limits.

A TCP speed condition is setup up by defining minimum and maximum limits for the TCP speed in all directions of the work object. Once activated with FCCondWaitWhile, the program execution will continue to wait while the measured speed is within its specified limits.

It is possible to specify that the condition is fulfilled when the speed is outside the specified limits instead. This is the done by using the switch argument Outside. The condition on TCP speed is specified in the work object coordinate system.

参数
min
max
outside
timeout
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setCondTcpSpeed(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: List[float], arg2: bool, arg3: float) -> int
Lua函数原型
setCondTcpSpeed(min: table, max: table, outside: boolean, timeout: number) -> nil
int arcs::common_interface::ForceControl::setDamping ( const std::vector< double > &  damping,
double  ramp_time 
)

FCSetDampingTune is used to tune the damping in the force control coordinate systems.

The parameters tuned are those described in Damping in Torque x Direction - Damping in Torque z Direction on page 255 and Damping in Force x Direction - Damping in Force z Direction on page 254.

Damping can be set in the configuration file or by the instruction FCAct. The difference is that this instruction can be used when force control is active. FCSetDampingTune tunes the actual values set by the instruction FCAct, not the value in the configuration file.

参数
damping
ramp_time
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setDamping(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: float) -> int
Lua函数原型
setDamping(damping: table, ramp_time: number) -> nil
int arcs::common_interface::ForceControl::setDynamicModel ( const std::vector< double > &  m,
const std::vector< double > &  d,
const std::vector< double > &  k 
)

设置力控动力学模型

参数
m
d
k
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setDynamicModel(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: List[float], arg2: List[float]) -> int
Lua函数原型
setDynamicModel(m: table, d: table, k: table) -> nil
int arcs::common_interface::ForceControl::setLpFilter ( const std::vector< double > &  cutoff_freq)

设置低通滤波器

— force frame filter: 过滤测量到的力/力矩 +++ force loop filter: 力控输出参考速度的滤波器

FCSetLPFilterTune is used change the response of force loop according to description in Damping and LP-filter on page 103.

参数
cutoff_freq
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setLpFilter(self: pyaubo_sdk.ForceControl, arg0: List[float]) -> int
Lua函数原型
setLpFilter(cutoff_freq: table) -> nil
int arcs::common_interface::ForceControl::setSoftFloatParams ( bool  joint_space,
const std::vector< bool > &  select,
const std::vector< double > &  stiff_percent,
const std::vector< double > &  stiff_damp_ratio,
const std::vector< double > &  force_threshold,
const std::vector< double > &  force_limit 
)

设置软浮动参数

参数
joint_softfloat
select
stiff_percent
stiff_damp_ratio
force_threshold
force_limit
返回
int arcs::common_interface::ForceControl::setSupvForce ( const std::vector< double > &  min,
const std::vector< double > &  max 
)

FCSupvForce is used to set up force supervision in Force Control.

The supervision is activated when Force Control is activated with the instruction FCAct.

The force supervision is set up by defining minimum and maximum limits for the force in the directions of the force control coordinate system. Once activated, the supervision will stop the execution if the force is outside the allowed values. The force supervision is specified in the force control coordinate system. This coordinate system is setup by the user with the instruction FCAct.

参数
min
max
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setSupvForce(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: List[float]) -> int
Lua函数原型
setSupvForce(min: table, max: table) -> nil
int arcs::common_interface::ForceControl::setSupvOrient ( const std::vector< double > &  frame,
double  max_angle,
double  max_rot,
bool  outside 
)

FCSupvOrient is used to set up an supervision for the tool orientation.

The supervision is activated when Force Control is activated with the instruction FCAct.

An orientation supervision is set up by defining a maximum angle and a maximum rotation from a reference orientation. The reference orientation is either defined by the current z direction of the tool, or by specifying an orientation in relation to the z direction of the work object.

Once activated, the tool orientation must be within the limits otherwise the supervision will stop the execution.

参数
frame
max_angle
max_rot
outside
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setSupvOrient(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: float, arg2: float, arg3: bool) -> int
Lua函数原型
setSupvOrient(frame: table, max_angle: number, max_rot: number, outside: boolean) -> nil
int arcs::common_interface::ForceControl::setSupvPosBox ( const std::vector< double > &  frame,
const Box box 
)

FCSupvPos is used to set up position supervision in Force Control.

Supervision is activated when Force Control is activated with the instruction FCAct. Position supervision is set up by defining a volume in space for the TCP. Once activated, the supervision will stop the execution if the TCP is outside this volume.

参数
frame
box
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setSupvPosBox(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: List[float[6]]) -> int
Lua函数原型
setSupvPosBox(frame: table, box: table) -> nil
int arcs::common_interface::ForceControl::setSupvPosCylinder ( const std::vector< double > &  frame,
const Cylinder cylinder 
)
参数
frame
cylinder
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setSupvPosCylinder(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: List[float[5]]) -> int
Lua函数原型
setSupvPosCylinder(frame: table, cylinder: table) -> nil
int arcs::common_interface::ForceControl::setSupvPosSphere ( const std::vector< double > &  frame,
const Sphere sphere 
)
参数
frame
sphere
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setSupvPosSphere(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: List[float[3]]) -> int
Lua函数原型
setSupvPosSphere(frame: table, sphere: table) -> nil
int arcs::common_interface::ForceControl::setSupvReoriSpeed ( const std::vector< double > &  speed_limit,
bool  outside,
double  timeout 
)

FCSupvReoriSpeed is used to set up reorientation speed supervision in Force Control.

The supervision is activated when Force Control is activated with the instruction FCAct.

The reorientation speed supervision is set up by defining minimum and maximum limits for the reorientation speed around the axis of the work object coordinate system. Once activated, the supervision will stop the execution if the values of the reorientation speed are to high.

There are two speed supervisions: FCSupvReoriSpeed and FCSupvTCPSpeed, which is described in section FCSupvTCPSpeed on page 199. Both supervisions may be required because:

  • A robot axis can rotate with high speed while the TCP is stationary.
  • The TCP can be far from the rotating axisand asmallaxis rotation may result in a high speed movement of the TCP
参数
speed_limit
outside
timeout
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setSupvReoriSpeed(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: bool, arg2: float) -> int
Lua函数原型
setSupvReoriSpeed(speed_limit: table, outside: boolean, timeout: number) -> nil
int arcs::common_interface::ForceControl::setSupvTcpSpeed ( const std::vector< double > &  speed_limit,
bool  outside,
double  timeout 
)

FCSupvTCPSpeed is used to set up TCP speed supervision in Force Control.

The supervision is activated when Force Control is activated with the instruction FCAct. The TCP speed supervision is set up by defining minimum and maximum limits for the TCP speed in the directions of the work object coordinate system. Once activated, the supervision will stop the execution if too high TCP speed values are detected.

There are two speed supervisions: FCSupvTCPSpeed and FCSupvReorispeed, which is described in section FCSupvReoriSpeed on page 197.

Both supervisions may be required because:

  • A robot axis can rotate with high speed while the TCP is stationary.
  • The TCP can be far from the rotating axisand asmallaxis rotation may result in a high speed movement of the TCP.
参数
speed_limit
outside
timeout
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setSupvTcpSpeed(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: bool, arg2: float) -> int
Lua函数原型
setSupvTcpSpeed(speed_limit: table, outside: boolean, timeout: number) -> nil
int arcs::common_interface::ForceControl::setTargetForce ( const std::vector< double > &  feature,
const std::vector< bool > &  compliance,
const std::vector< double > &  wrench,
const std::vector< double > &  limits,
TaskFrameType  type = TaskFrameType::FRAME_FORCE 
)

设置力控参考(目标)值

参数
feature参考几何特征,用于生成力控参考坐标系
compliance柔性轴(方向)选择
wrench目标力/力矩
limits速度限制
type力控参考坐标系类型
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
setTargetForce(self: pyaubo_sdk.ForceControl, arg0: List[float], arg1: List[bool], arg2: List[float], arg3: List[float], arg4: arcs::common_interface::TaskFrameType) -> int
Lua函数原型
setTargetForce(feature: table, compliance: table, wrench: table, limits: table, type: number) -> nil
int arcs::common_interface::ForceControl::softFloatDisable ( )
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
int arcs::common_interface::ForceControl::softFloatEnable ( )
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
int arcs::common_interface::ForceControl::speedChangeDisable ( )

Deactivate FC SpeedChange function.

返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
speedChangeDisable(self: pyaubo_sdk.ForceControl) -> int
Lua函数原型
speedChangeDisable() -> nil
int arcs::common_interface::ForceControl::speedChangeEnable ( double  ref_force)

The FCSpdChgAct is used to activate FC SpeedChange function with desired reference and recover behavior.

When FC SpeedChange function is active, the robot speed will be reduced/increased in order to keep the measured signal close to the reference.

参数
ref_force
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
speedChangeEnable(self: pyaubo_sdk.ForceControl, arg0: float) -> int
Lua函数原型
speedChangeEnable(ref_force: number) -> nil
int arcs::common_interface::ForceControl::speedChangeTune ( int  speed_levels,
double  speed_ratio_min 
)

FCSpdChgTunSet is used to set FC SpeedChange system parameters to a new value.

参数
speed_levels
speed_ratio_min
返回
成功返回0;失败返回错误码 AUBO_BUSY AUBO_BAD_STATE -AUBO_INVL_ARGUMENT -AUBO_BAD_STATE
异常
arcs::common_interface::AuboException
Python函数原型
speedChangeTune(self: pyaubo_sdk.ForceControl, arg0: int, arg1: float) -> int
Lua函数原型
speedChangeTune(speed_levels: number, speed_ratio_min: number) -> nil
int arcs::common_interface::ForceControl::toolContact ( const std::vector< bool > &  direction)

检测工具和外部物体的接触

参数
direction预期的接触方向,如果所有的元素为0,表示检测所有方向的接触
返回
返回从当前点回退到碰撞开始点的周期步数,如果返回值为0,表示没有接触

类成员变量说明

void* arcs::common_interface::ForceControl::d_ { nullptr }
protected

在文件 force_control.h982 行定义.


该类的文档由以下文件生成: