EASY-ROB™ Application Programming Interface
v9.301
|
Method class for dynamics, controller parameter, sampling rates. More...
#include <ER_CAPI.H>
Static Public Member Functions | |
static ER_DllExport frame * | inq_mbTt_dyn (void) |
Actual Transformation movable base to Tip, depending on actual joint data. More... | |
static ER_DllExport frame * | inq_mbTw_dyn (void) |
Actual Transformation movable base to Tcp, depending on actual joint data. More... | |
static ER_DllExport float * | inq_cntrl_step (void) |
Sample rate position controller for cRobot [s]. More... | |
static ER_DllExport float * | inq_system_step (void) |
Sample rate system model for cRobot [s]. More... | |
static ER_DllExport float * | inq_cntrl_kpp (void) |
P Factor for P-PI Cascade Controller. More... | |
static ER_DllExport float * | inq_cntrl_kpv (void) |
PV Factor for PPI Cascade Controller. More... | |
static ER_DllExport float * | inq_cntrl_kiv (void) |
I Factor for PPI Cascade Controller. More... | |
static ER_DllExport float * | inq_cntrl_uc_kiv1 (void) |
Controller Signal. More... | |
static ER_DllExport float * | inq_cntrl_aux1 (void) |
1st Auxiliary controller parameter More... | |
static ER_DllExport float * | inq_cntrl_aux2 (void) |
2nd Auxiliary controller parameter More... | |
static ER_DllExport float * | inq_cntrl_aux3 (void) |
3rd Auxiliary controller parameter More... | |
static ER_DllExport float * | inq_cntrl_e1 (void) |
1st Controller Error More... | |
static ER_DllExport float * | inq_cntrl_e2 (void) |
2nd Controller Error More... | |
static ER_DllExport float * | inq_model_N (void) |
Gear ratio. More... | |
static ER_DllExport float * | inq_model_T_base (void) |
symplified System constant Depending on inq_model_theta_base() theta and inq_model_d_base() d , T_base = theta/d More... | |
static ER_DllExport float * | inq_model_theta_base (void) |
symplified inertia More... | |
static ER_DllExport float * | inq_model_d_base (void) |
symplified viscose damping More... | |
static ER_DllExport float * | inq_model_vz1_v (void) |
Discrete model: V Factor of PT1 transfer function Depending on system step inq_system_step(), vz1_v = 1.0/d_base. More... | |
static ER_DllExport float * | inq_model_vz1_a (void) |
Discrete model: A Value of PT1 transfer function Depending on system step inq_system_step() dt and inq_model_T_base T_base , vz1_a = exp(-dt/T_base) More... | |
static ER_DllExport float * | inq_model_z1 (void) |
Actual joint speed one sampling step before see inq_v_dyn(), inq_model_z2() More... | |
static ER_DllExport float * | inq_model_z2 (void) |
Actual joint speed two sampling steps before see inq_v_dyn(), inq_model_z1() More... | |
static ER_DllExport float * | inq_uc (void) |
Controller signal see inq_uc1() More... | |
static ER_DllExport float * | inq_uc1 (void) |
Controller signal last sampling step see inq_uc() More... | |
static ER_DllExport float * | inq_q_dyn (void) |
Actual dynamics joint axis values see inq_v_dyn() = d(inq_q_dyn())/dt. More... | |
static ER_DllExport float * | inq_v_dyn (void) |
Actual dynamics joint speed values see inq_q_dyn(), inq_model_z1(), inq_model_z2() and inq_a_dyn() = d(inq_v_dyn())/dt. More... | |
static ER_DllExport float * | inq_a_dyn (void) |
Actual dynamics joint acceleration values and inq_v_dyn(), inq_q_dyn() More... | |
static ER_DllExport frame * | inq_bTw_dyn (void) |
Actual Transformation from Robot base to Tcp, depending on actual joint data. More... | |
static ER_DllExport void ** | inq_dyn_cntrl_usr_ptr (void) |
Access user pointer for dynamics controller in er_dyn.dll This allows the user to allocate individual memory. EASY-ROB administrates this pointer, related to the current device See example given for ER_CAPI_ROB_KIN::inq_kin_usr_ptr() More... | |
static ER_DllExport void ** | inq_dyn_model_usr_ptr (void) |
Access user pointer for dynamics model in er_dyn.dll This allows the user to allocate individual memory. EASY-ROB administrates this pointer, related to the current device See example given for ER_CAPI_ROB_KIN::inq_kin_usr_ptr() More... | |
static ER_DllExport int * | inq_status_output_type (void) |
Control for status output data see STATUS_OUTPUT_TYPE SIM_STEP=1, TARGET_POSE=2, IPO_STEP=3. More... | |
static ER_DllExport int * | inq_status_output_tag_idx (void) |
Identifier if robot move to a tag location or to a location givin by numbers >0 - move to a Tag else - moving to numbered location. More... | |
static ER_DllExport void ** | inq_status_output_usr_ptr (void) |
Access user pointer for status output in er_dyn.dll This allows the user to allocate individual memory. EASY-ROB administrates this pointer, related to the current device See example given for ER_CAPI_ROB_KIN::inq_kin_usr_ptr() More... | |
Static Public Member Functions inherited from ER_CAPI_DEVICES | |
static ER_DllExport int | data_update_all_devices (void) |
Forces mathematical update for all devices, use before calling chk_limits(::AUX_UPDATE_IDX_COLLISION) Calculates for alle devices the forward kinematics, all joints coorsys and the devices location w.r.t world. More... | |
static ER_DllExport int | inq_Get_n_devices (void) |
Get number of current loaded robots in a workcell. More... | |
static ER_DllExport int | inq_Get_c_device_idx (void) |
Get current device idx [1..n_devices]. More... | |
static ER_DllExport ER_UID | inq_Get_c_device_uid (void) |
Get current device unique id. More... | |
static ER_DllExport int | inq_Set_device_idx (int device_idx) |
Sets current device idx [1..n_devices]. More... | |
static ER_DllExport int | inq_Set_device_uid (ER_UID device_uid) |
Sets current device unique id. More... | |
static ER_DllExport int | inq_Set_device_name (char *device_name) |
Sets current device by name of the robot Remarks A device name must be unique. More... | |
static ER_DllExport int | inq_Get_device_idx_by_uid (ER_UID uid) |
Gets device idx by device unique id if the uid is not valid, -1 is returned. More... | |
static ER_DllExport ER_UID | inq_Get_device_uid_by_idx (int idx) |
Get device unique uid by device idx if idx is not valid, -1 is returned. More... | |
static ER_DllExport char * | inq_Get_device_name_by_uid (ER_UID uid) |
Get device name by device unique id if uid is not valid, NULL is returned. More... | |
static ER_DllExport char * | inq_Get_device_name_by_idx (int idx) |
Get device name by device idx [1..n_devices] if idx is not valid, NULL is returned. More... | |
static ER_DllExport int | inq_Get_device_idx_by_name (char *device_name) |
Get device idx by device name if 'device name' is not valid, -1 is returned. More... | |
static ER_DllExport ER_UID | inq_Get_device_uid_by_name (char *device_name) |
Get device unique uid by device name if 'device name' is not valid, -1 is returned. More... | |
static ER_DllExport int * | inq_device_ref_sys_type (void) |
Reference type of the current device The reference type (attach location) can be one of the following values. REF_NO_REF, REF_BASE, REF_TOOL, REF_WORLD, REF_WOBJ, REF_TAG, REF_CAD, REF_TIP, REF_JNT, REF_GRAB. More... | |
static ER_DllExport char * | inq_device_ref_sys_type_name (void) |
Reference type name of the current device The reference type name (name of attach location) depends of one of the following values. REF_NO_REF, REF_BASE, REF_TOOL, REF_WORLD, REF_WOBJ, REF_TAG, REF_CAD, REF_TIP, REF_JNT, REF_GRAB See also inq_device_ref_sys_type() More... | |
static ER_DllExport int * | inq_device_ref_sys_grp (void) |
Reference group of current device The reference group depends on the attach location. e.g.: If the cDevice is attacehd to another robot, the returned reference group will ROBOT_GRP If the cDevice is not attached, the returned reference group will be UNDEF_GRP The reference group is one of UNDEF_GRP=-1, ROBOT_GRP=0, TOOL_GRP=1, BODY_GRP=2. More... | |
static ER_DllExport ER_UID * | inq_device_ref_sys_grp_uid (void) |
Unique ID of reference device/robot The Unique ID depends on the attach location. More... | |
static ER_DllExport char * | inq_device_ref_sys_name (void) |
Reference name of the current device The reference type name (name of attach location) depends of one of the following values. REF_NO_REF, REF_BASE, REF_TOOL, REF_WORLD, REF_WOBJ, REF_TAG, REF_CAD, REF_TIP, REF_JNT, REF_GRAB See also inq_device_ref_sys_type(), inq_device_ref_sys_type_name() Remarks In case of the reference type is REF_CAD, the name of the reference body is returned. More... | |
static ER_DllExport int * | inq_device_ref_sys_jnt_idx (void) |
Reference joint idx of the cDevice, if the reference type is REF_JNT The index of reference joint is returned For active joints a positive value > 0 is returned For passive joints a negative value < 0 is returned 0 is returned if the cDevice is attached to the robot base or if the reference type is not REF_JNT. More... | |
static ER_DllExport int | Device_Create (char *robot_name) |
Creates a new device with one rotational axis in z direction. More... | |
static ER_DllExport int | Device_ReAttach_by_name (int new_reference_type, char *new_reference_device_name, int new_reference_jnt_idx, bool keep_world_position) |
Attaches the current device to another device Attaches the current device to another device, given by new_reference_device_name The attach location can be one of the following values. REF_NO_REF - no reference system defined REF_BASE - reference system is robot Base coorsys REF_TOOL - reference system is robot Tool, Tcp coorsys REF_WORLD - reference system is World, Inertia coorsys REF_WOBJ - reference system is path work object REF_TAG - reference system is tag REF_CAD - reference system is geometry REF_TIP - reference system is robot Flange, Tip coorsys REF_JNT - reference system is a robot Joint REF_GRAB - reference system is robot Flange, Tip coorsys Parameter keep_world_position determine if the current device will keep its current world position or will "jump" to the defined attach locationSee also Device_ReAttach_by_idx(), Device_ReAttach_by_uid() Remarks Make sure that the device to be attached to is current inq_Set_device_idx() More... | |
static ER_DllExport int | Device_ReAttach_by_idx (int new_reference_type, int new_reference_device_idx, int new_reference_jnt_idx, bool keep_world_position) |
Attaches the current device to another device Attaches the current device to another device, given by new_reference_device_idx The attach location can be one of the following values. REF_NO_REF - no reference system defined REF_BASE - reference system is robot Base coorsys REF_TOOL - reference system is robot Tool, Tcp coorsys REF_WORLD - reference system is World, Inertia coorsys REF_WOBJ - reference system is path work object REF_TAG - reference system is tag REF_CAD - reference system is geometry REF_TIP - reference system is robot Flange, Tip coorsys REF_JNT - reference system is a robot Joint REF_GRAB - reference system is robot Flange, Tip coorsys Parameter keep_world_position determine if the current device will keep its current world position or will "jump" to the defined attach locationSee also Device_ReAttach_by_name(), Device_ReAttach_by_uid() Remarks Make sure that the device to be attached to is current inq_Set_device_idx() The device idx is within [1..n_devices]. More... | |
static ER_DllExport int | Device_ReAttach_by_uid (int new_reference_type, ER_UID new_reference_device_uid, int new_reference_jnt_idx, bool keep_world_position) |
Attaches the current device to another device Attaches the current device to another device, given by new_reference_device_uid The attach location can be one of the following values. REF_NO_REF - no reference system defined REF_BASE - reference system is robot Base coorsys REF_TOOL - reference system is robot Tool, Tcp coorsys REF_WORLD - reference system is World, Inertia coorsys REF_WOBJ - reference system is path work object REF_TAG - reference system is tag REF_CAD - reference system is geometry REF_TIP - reference system is robot Flange, Tip coorsys REF_JNT - reference system is a robot Joint REF_GRAB - reference system is robot Flange, Tip coorsys Parameter keep_world_position determine if the current device will keep its current world position or will "jump" to the defined attach locationSee also Device_ReAttach_by_name(), Device_ReAttach_by_idx() Remarks Make sure that the device to be attached to is current inq_Set_device_idx() More... | |
static ER_DllExport int | Tool_Device_by_name (char *tool_device_name) |
Sets tool data to the device specified by name The current device takes over the current tool data of the device tool_device_name See also Tool_Device_by_idx(), Tool_Device_by_uid() Remarks This is not a copy of the tool data. The new tool data for the current device is calculated by the transformtion from the current device tip to the tcp location of the tool device. More... | |
static ER_DllExport int | Tool_Device_by_idx (int tool_device_idx) |
Sets tool data to the device specified by idx The current device takes over the current tool data of the device tool_device_idx See also Tool_Device_by_name(), Tool_Device_by_uid() Remarks This is not a copy of the tool data. The new tool data for the current device is calculated by the transformtion from the current device tip to the tcp location of the tool device. More... | |
static ER_DllExport int | Tool_Device_by_uid (ER_UID tool_device_uid) |
Sets tool data to the device specified by unique id The current device takes over the current tool data of the device tool_device_uid See also Tool_Device_by_name(), Tool_Device_by_idx() Remarks This is not a copy of the tool data. The new tool data for the current device is calculated by the transformtion from the current device tip to the tcp location of the tool device. More... | |
static ER_DllExport int * | inq_device_link_ref_sys_type (void) |
Linkage reference type of the current device The linkage reference type can be one of the following values. REF_NO_REF if cDevice is not synchrnized REF_JNT if cDevice is linked by joint to another device See inq_device_link_ref_sys_grp_uid(), inq_device_link_ref_sys_jnt_link_idx(), Device_Link_by_name() More... | |
static ER_DllExport int * | inq_device_sync_ref_sys_type (void) |
Obsolete, use inq_device_link_ref_sys_type() More... | |
static ER_DllExport char * | inq_device_link_ref_sys_type_name (void) |
Linkage reference type name of the current device The linkage reference type name depends on the inq_device_link_ref_sys_type() and can be one of the following values. REF_NO_REF if cDevice is not synchrnized REF_JNT if cDevice is linked by joint to another device See inq_device_link_ref_sys_type() More... | |
static ER_DllExport char * | inq_device_sync_ref_sys_type_name (void) |
Obsolete, use inq_device_link_ref_sys_type_name() More... | |
static ER_DllExport ER_UID * | inq_device_link_ref_sys_grp_uid (void) |
Linkage Unique ID of the reference device current device The Unique ID depends on the linkage reference type, which is REF_JNT if linked. More... | |
static ER_DllExport ER_UID * | inq_device_sync_ref_sys_grp_uid (void) |
Obsolete, use inq_device_link_ref_sys_grp_uid() More... | |
static ER_DllExport int * | inq_device_link_ref_sys_jnt_link_idx (void) |
Linkage joint index vector, if the linkage reference type is REF_JNT and valid unique ID exist The joint index vector contains for each active Jnt a linkage index This linkage index is
< 0 if linked with a passive joint of a sync. ref. device | |
static ER_DllExport int * | inq_device_sync_ref_sys_jnt_sync_idx (void) |
Obsolete, use inq_device_link_ref_sys_jnt_link_idx() More... | |
static ER_DllExport int | Device_Link_by_name (int new_reference_type, char *new_reference_device_name=NULL, int *new_reference_jnt_link_idx=NULL) |
Link current device to another device by name new_reference_type one of REF_NO_REF=0 or REF_JNT=9new_reference_device_name name of device to synchonize withnew_reference_jnt_sync_idx reference joint idxs for each Jnt, if new_reference_type is REF_JNT See Device_Link_by_idx(), Device_Link_by_uid() More... | |
static ER_DllExport int | Device_Sync_by_name (int new_reference_type, char *new_reference_device_name=NULL, int *new_reference_jnt_link_idx=NULL) |
Obsolete, use Device_Link_by_name() More... | |
static ER_DllExport int | Device_Link_by_idx (int new_reference_type, int new_reference_device_idx=0, int *new_reference_jnt_link_idx=NULL) |
Link current device to another device by idx new_reference_type one of REF_NO_REF=0 or REF_JNT=9new_reference_device_idx idx of device to synchonize with, [1..n_devices]new_reference_jnt_sync_idx reference joint idxs for each Jnt, if new_reference_type is REF_JNT See Device_Link_by_name(), Device_Link_by_uid() More... | |
static ER_DllExport int | Device_Sync_by_idx (int new_reference_type, int new_reference_device_idx=0, int *new_reference_jnt_link_idx=NULL) |
Obsolete, use Device_Link_by_idx() More... | |
static ER_DllExport int | Device_Link_by_uid (int new_reference_type, ER_UID new_reference_device_uid=0, int *new_reference_jnt_link_idx=NULL) |
Link current device to another device by uid new_reference_type one of REF_NO_REF=0 or REF_JNT=9new_reference_device_uid uid of device to synchonize withnew_reference_jnt_sync_idx reference joint idxs for each Jnt, if new_reference_type is REF_JNT See Device_Link_by_name(), Device_Link_by_idx() More... | |
static ER_DllExport int | Device_Sync_by_uid (int new_reference_type, ER_UID new_reference_device_uid=0, int *new_reference_jnt_link_idx=NULL) |
Obsolete, use Device_Link_by_uid() More... | |
Additional Inherited Members | |
Static Public Attributes inherited from ER_CAPI_ROB | |
static ER_CAPI_ROB_KIN | er_capi_rob_kin |
Method class forward-, Inverse kinematics, desired robot joints, tools, position w.r.t. world and reference system. More... | |
static ER_CAPI_ROB_ATRIBUTES | er_capi_rob_attributes |
Method class for robot/device attributes, travel ranges, home position, device name, ... More... | |
static ER_CAPI_ROB_DYN | er_capi_rob_dyn |
Method class for dynamics, controller parameter, sampling rates. More... | |
Static Public Attributes inherited from ER_CAPI_DEVICES | |
static ER_CAPI_ROB | er_capi_rob |
Method class kinematics and transformations. More... | |
static ER_CAPI_MOP | er_capi_mop |
Method class for trajectory planning and -execution. More... | |
Static Public Attributes inherited from ER_CAPI | |
static ER_CAPI_USER_IO | er_capi_user_io |
Method class for interaction with EASY-ROB. More... | |
static ER_CAPI_DEVICES | er_capi_devices |
Method class to create, attach, update devices, for kinematics calculations and for trajectory planning and -execution. More... | |
static ER_CAPI_SIM | er_capi_sim |
Method class for simulation settings. More... | |
static ER_CAPI_TARGETS | er_capi_targets |
Method class for paths and tags. More... | |
static ER_CAPI_CAD | er_capi_cad |
Method class for for 3D CAD Data import and -export, changing attributes and positions. More... | |
static ER_CAPI_SYS | er_capi_sys |
Method class for mathematical calculations, simulation status, units. More... | |
Method class for dynamics, controller parameter, sampling rates.
|
static |
Actual dynamics joint acceleration values
and inq_v_dyn(), inq_q_dyn()
Pointer | to float for dynamics joint acceleration values, KIN_DOFS |
|
static |
Actual Transformation from Robot base to Tcp, depending on actual joint data.
Pointer | to FRAME |
|
static |
1st Auxiliary controller parameter
Pointer | to float aux parameter, KIN_DOFS |
|
static |
2nd Auxiliary controller parameter
Pointer | to float aux parameter, KIN_DOFS |
|
static |
3rd Auxiliary controller parameter
Pointer | to float aux parameter, KIN_DOFS |
|
static |
1st Controller Error
Pointer | to float controller error, KIN_DOFS |
|
static |
2nd Controller Error
Pointer | to float controller error, KIN_DOFS |
|
static |
I Factor for PPI Cascade Controller.
Pointer | to float for I Factor, KIN_DOFS |
|
static |
P Factor for P-PI Cascade Controller.
Pointer | to float for P Factor, KIN_DOFS |
|
static |
PV Factor for PPI Cascade Controller.
Pointer | to float for PV Factor, KIN_DOFS |
|
static |
Sample rate position controller for cRobot [s].
Pointer | to float for controller step |
|
static |
Controller Signal.
Pointer | to float control signal, KIN_DOFS |
|
static |
Access user pointer for dynamics controller in er_dyn.dll
This allows the user to allocate individual memory.
EASY-ROB administrates this pointer, related to the current device
See example given for ER_CAPI_ROB_KIN::inq_kin_usr_ptr()
pointer | to user defined memory |
|
static |
Access user pointer for dynamics model in er_dyn.dll
This allows the user to allocate individual memory.
EASY-ROB administrates this pointer, related to the current device
See example given for ER_CAPI_ROB_KIN::inq_kin_usr_ptr()
pointer | to user defined memory |
|
static |
Actual Transformation movable base to Tip, depending on actual joint data.
Pointer | to FRAME |
|
static |
Actual Transformation movable base to Tcp, depending on actual joint data.
Pointer | to FRAME |
|
static |
symplified viscose damping
Pointer | to float for symplified viscose damping constant, KIN_DOFS |
|
static |
Gear ratio.
Pointer | to float for gear ratio, KIN_DOFS |
|
static |
symplified System constant
Depending on inq_model_theta_base() theta
and inq_model_d_base() d
, T_base = theta/d
Pointer | to float for symplified System constant, KIN_DOFS |
|
static |
symplified inertia
Pointer | to float for symplified inertia constant, KIN_DOFS |
|
static |
Discrete model: A Value of PT1 transfer function
Depending on system step inq_system_step() dt
and inq_model_T_base T_base
, vz1_a = exp(-dt/T_base)
Pointer | to float for A Value, KIN_DOFS |
|
static |
Discrete model: V Factor of PT1 transfer function
Depending on system step inq_system_step(), vz1_v = 1.0/d_base.
Pointer | to float for V factor, KIN_DOFS |
|
static |
Actual joint speed one sampling step before
see inq_v_dyn(), inq_model_z2()
Pointer | to float for joint speed one step before, KIN_DOFS |
|
static |
Actual joint speed two sampling steps before
see inq_v_dyn(), inq_model_z1()
Pointer | to float for joint speed two steps before, KIN_DOFS |
|
static |
Actual dynamics joint axis values
see inq_v_dyn() = d(inq_q_dyn())/dt.
Pointer | to float for dynamics joint axis values, KIN_DOFS |
|
static |
Identifier if robot move to a tag location or to a location givin by numbers
>0 - move to a Tag else - moving to numbered location.
pointer | to status output tag idx |
|
static |
Control for status output data
see STATUS_OUTPUT_TYPE
SIM_STEP=1, TARGET_POSE=2, IPO_STEP=3.
pointer | to status output type |
|
static |
Access user pointer for status output in er_dyn.dll
This allows the user to allocate individual memory.
EASY-ROB administrates this pointer, related to the current device
See example given for ER_CAPI_ROB_KIN::inq_kin_usr_ptr()
pointer | to user defined memory |
|
static |
Sample rate system model for cRobot [s].
Pointer | to float for system step |
|
static |
|
static |
|
static |
Actual dynamics joint speed values
see inq_q_dyn(), inq_model_z1(), inq_model_z2()
and inq_a_dyn() = d(inq_v_dyn())/dt.
Pointer | to float for dynamics joint speed values, KIN_DOFS |