EASY-ROB™ Application Programming Interface  v9.301
Static Public Member Functions | Static Public Attributes | List of all members
ER_CAPI_DEVICES Class Reference

Method class to create, attach, update devices, for kinematics calculations and for trajectory planning and -execution. More...

#include <ER_CAPI.H>

Inheritance diagram for ER_CAPI_DEVICES:
ER_CAPI ER_CAPI_MOP ER_CAPI_ROB ER_CAPI_MOP_AUTOPATH ER_CAPI_MOP_AUTOPATH_SDK ER_CAPI_MOP_DATA ER_CAPI_MOP_EXEC ER_CAPI_MOP_PATH ER_CAPI_MOP_PREP ER_CAPI_ROB_ATRIBUTES ER_CAPI_ROB_DYN ER_CAPI_ROB_KIN

Static Public Member Functions

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 location
See 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 location
See 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 location
See 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 an active joint of a sync. ref. device

< 0 if linked with a passive joint of a sync. ref. device
= 0 if no linkage
See inq_device_link_ref_sys_type(), inq_device_link_ref_sys_grp_uid. More...

 
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=9
new_reference_device_name name of device to synchonize with
new_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=9
new_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=9
new_reference_device_uid uid of device to synchonize with
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_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...
 

Static Public Attributes

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...
 

Detailed Description

Method class to create, attach, update devices, for kinematics calculations and for trajectory planning and -execution.

Member Function Documentation

◆ data_update_all_devices()

static ER_DllExport int ER_CAPI_DEVICES::data_update_all_devices ( void  )
static

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.

Return values
0- Ok

◆ Device_Create()

static ER_DllExport int ER_CAPI_DEVICES::Device_Create ( char *  robot_name)
static

Creates a new device with one rotational axis in z direction.

Parameters
[in]robot_nameName of created device
Return values
0- ER_OK
1- ER_ERROR

◆ Device_Link_by_idx()

static ER_DllExport int ER_CAPI_DEVICES::Device_Link_by_idx ( int  new_reference_type,
int  new_reference_device_idx = 0,
int *  new_reference_jnt_link_idx = NULL 
)
static

Link current device to another device by idx
new_reference_type one of REF_NO_REF=0 or REF_JNT=9
new_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()

Parameters
[in]new_reference_type
[in]new_reference_device_idx
[in]new_reference_jnt_link_idxpointer to vector KIN_DOFS
Return values
0- OK
1- Error

◆ Device_Link_by_name()

static ER_DllExport int ER_CAPI_DEVICES::Device_Link_by_name ( int  new_reference_type,
char *  new_reference_device_name = NULL,
int *  new_reference_jnt_link_idx = NULL 
)
static

Link current device to another device by name
new_reference_type one of REF_NO_REF=0 or REF_JNT=9
new_reference_device_name name of device to synchonize with
new_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()

Parameters
[in]new_reference_type
[in]new_reference_device_name
[in]new_reference_jnt_link_idxpointer to vector KIN_DOFS
Return values
0- OK
1- Error

◆ Device_Link_by_uid()

static ER_DllExport int ER_CAPI_DEVICES::Device_Link_by_uid ( int  new_reference_type,
ER_UID  new_reference_device_uid = 0,
int *  new_reference_jnt_link_idx = NULL 
)
static

Link current device to another device by uid
new_reference_type one of REF_NO_REF=0 or REF_JNT=9
new_reference_device_uid uid of device to synchonize with
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_idx()

Parameters
[in]new_reference_type
[in]new_reference_device_uid
[in]new_reference_jnt_link_idxpointer to vector KIN_DOFS
Return values
0- OK
1- Error

◆ Device_ReAttach_by_idx()

static ER_DllExport int ER_CAPI_DEVICES::Device_ReAttach_by_idx ( int  new_reference_type,
int  new_reference_device_idx,
int  new_reference_jnt_idx,
bool  keep_world_position 
)
static

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 location
See 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].

// Example:
int ret;
int robot_dev_idx = 1;
int tool_dev_idx = 2;
// Task: "Connect the Tool to the Robot Tip"
// Here we know that the Robot has Device Idx 1 and the Tool has Device Idx 2
er_devices.inq_Set_device_idx(tool_dev_idx); // make tool current
ret = er_devices.Device_ReAttach_by_idx(REF_TIP,robot_dev_idx,0,false); // attach the tool to the robots tip
er_devices.inq_Set_device_idx(robot_dev_idx); // make robot current
...
Parameters
[in]new_reference_typeAttach location
[in]new_reference_device_idxIdx of reference device idx [1..n_devices]
[in]new_reference_jnt_idxJoint idx of reference device, if new_reference_type is REF_JNT
[in]keep_world_positionTrue will keep the world position of the attached device
Return values
0- ER_OK
1- ER_ERROR

◆ Device_ReAttach_by_name()

static ER_DllExport int ER_CAPI_DEVICES::Device_ReAttach_by_name ( int  new_reference_type,
char *  new_reference_device_name,
int  new_reference_jnt_idx,
bool  keep_world_position 
)
static

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 location
See 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()

Parameters
[in]new_reference_typeAttach location
[in]new_reference_device_nameName of reference device
[in]new_reference_jnt_idxJoint idx of reference device, if new_reference_type is REF_JNT
[in]keep_world_positionTrue will keep the world position of the attached device
Return values
0- ER_OK
1- ER_ERROR

◆ Device_ReAttach_by_uid()

static ER_DllExport int ER_CAPI_DEVICES::Device_ReAttach_by_uid ( int  new_reference_type,
ER_UID  new_reference_device_uid,
int  new_reference_jnt_idx,
bool  keep_world_position 
)
static

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 location
See 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()

Parameters
[in]new_reference_typeAttach location
[in]new_reference_device_uidUnique device id of reference device idx
[in]new_reference_jnt_idxJoint idx of reference device, if new_reference_type is REF_JNT
[in]keep_world_positionTrue will keep the world position of the attached device
Return values
0- ER_OK
1- ER_ERROR

◆ Device_Sync_by_idx()

static ER_DllExport int ER_CAPI_DEVICES::Device_Sync_by_idx ( int  new_reference_type,
int  new_reference_device_idx = 0,
int *  new_reference_jnt_link_idx = NULL 
)
static

Obsolete, use Device_Link_by_idx()

Parameters
[in]new_reference_type
[in]new_reference_device_idx
[in]new_reference_jnt_link_idxpointer to vector KIN_DOFS
Return values
0- OK
1- Error

◆ Device_Sync_by_name()

static ER_DllExport int ER_CAPI_DEVICES::Device_Sync_by_name ( int  new_reference_type,
char *  new_reference_device_name = NULL,
int *  new_reference_jnt_link_idx = NULL 
)
static

Obsolete, use Device_Link_by_name()

Parameters
[in]new_reference_type
[in]new_reference_device_name
[in]new_reference_jnt_link_idxpointer to vector KIN_DOFS
Return values
0- OK
1- Error

◆ Device_Sync_by_uid()

static ER_DllExport int ER_CAPI_DEVICES::Device_Sync_by_uid ( int  new_reference_type,
ER_UID  new_reference_device_uid = 0,
int *  new_reference_jnt_link_idx = NULL 
)
static

Obsolete, use Device_Link_by_uid()

Parameters
[in]new_reference_type
[in]new_reference_device_uid
[in]new_reference_jnt_link_idxpointer to vector KIN_DOFS
Return values
0- OK
1- Error

◆ inq_device_link_ref_sys_grp_uid()

static ER_DllExport ER_UID* ER_CAPI_DEVICES::inq_device_link_ref_sys_grp_uid ( void  )
static

Linkage Unique ID of the reference device current device
The Unique ID depends on the linkage reference type, which is REF_JNT if linked.

Return values
>0 Unique ID of sync reference device
0cDevice is not linked, has no reference

◆ inq_device_link_ref_sys_jnt_link_idx()

static ER_DllExport int* ER_CAPI_DEVICES::inq_device_link_ref_sys_jnt_link_idx ( void  )
static

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 an active joint of a sync. ref. device

< 0 if linked with a passive joint of a sync. ref. device
= 0 if no linkage
See inq_device_link_ref_sys_type(), inq_device_link_ref_sys_grp_uid.

Return values
pointerto link_vector, KIN_DOFS

◆ inq_device_link_ref_sys_type()

static ER_DllExport int* ER_CAPI_DEVICES::inq_device_link_ref_sys_type ( void  )
static

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()

Return values
pointerto linkage reference type

◆ inq_device_link_ref_sys_type_name()

static ER_DllExport char* ER_CAPI_DEVICES::inq_device_link_ref_sys_type_name ( void  )
static

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()

Return values
pointerto linkage reference type name

◆ inq_device_ref_sys_grp()

static ER_DllExport int* ER_CAPI_DEVICES::inq_device_ref_sys_grp ( void  )
static

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.

Return values
pointerto reference group

◆ inq_device_ref_sys_grp_uid()

static ER_DllExport ER_UID* ER_CAPI_DEVICES::inq_device_ref_sys_grp_uid ( void  )
static

Unique ID of reference device/robot
The Unique ID depends on the attach location.

Return values
>0 Unique ID
0cDevice is not attached, has no reference

◆ inq_device_ref_sys_jnt_idx()

static ER_DllExport int* ER_CAPI_DEVICES::inq_device_ref_sys_jnt_idx ( void  )
static

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.

Return values
jointreference index

◆ inq_device_ref_sys_name()

static ER_DllExport char* ER_CAPI_DEVICES::inq_device_ref_sys_name ( void  )
static

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.

Return values
pointerto char of reference name

◆ inq_device_ref_sys_type()

static ER_DllExport int* ER_CAPI_DEVICES::inq_device_ref_sys_type ( void  )
static

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.

Return values
pointerto reference type

◆ inq_device_ref_sys_type_name()

static ER_DllExport char* ER_CAPI_DEVICES::inq_device_ref_sys_type_name ( void  )
static

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()

Return values
pointerto reference type name

◆ inq_device_sync_ref_sys_grp_uid()

static ER_DllExport ER_UID* ER_CAPI_DEVICES::inq_device_sync_ref_sys_grp_uid ( void  )
static

Obsolete, use inq_device_link_ref_sys_grp_uid()

Return values
>0 Unique ID of sync reference device
0cDevice is not linked, has no reference

◆ inq_device_sync_ref_sys_jnt_sync_idx()

static ER_DllExport int* ER_CAPI_DEVICES::inq_device_sync_ref_sys_jnt_sync_idx ( void  )
static

Obsolete, use inq_device_link_ref_sys_jnt_link_idx()

Return values
pointerto link_vector, KIN_DOFS

◆ inq_device_sync_ref_sys_type()

static ER_DllExport int* ER_CAPI_DEVICES::inq_device_sync_ref_sys_type ( void  )
static

Obsolete, use inq_device_link_ref_sys_type()

Return values
pointerto linkage reference type

◆ inq_device_sync_ref_sys_type_name()

static ER_DllExport char* ER_CAPI_DEVICES::inq_device_sync_ref_sys_type_name ( void  )
static

Obsolete, use inq_device_link_ref_sys_type_name()

Return values
pointerto linkage reference type name

◆ inq_Get_c_device_idx()

static ER_DllExport int ER_CAPI_DEVICES::inq_Get_c_device_idx ( void  )
static

Get current device idx [1..n_devices].

Return values
currentdevice index

◆ inq_Get_c_device_uid()

static ER_DllExport ER_UID ER_CAPI_DEVICES::inq_Get_c_device_uid ( void  )
static

Get current device unique id.

Return values
currentdevice unique id

◆ inq_Get_device_idx_by_name()

static ER_DllExport int ER_CAPI_DEVICES::inq_Get_device_idx_by_name ( char *  device_name)
static

Get device idx by device name
if 'device name' is not valid, -1 is returned.

Parameters
[in]device_name
Return values
deviceidx
-1- Error

◆ inq_Get_device_idx_by_uid()

static ER_DllExport int ER_CAPI_DEVICES::inq_Get_device_idx_by_uid ( ER_UID  uid)
static

Gets device idx by device unique id
if the uid is not valid, -1 is returned.

Parameters
[in]uidunique id
Return values
deviceidx
-1- Error

◆ inq_Get_device_name_by_idx()

static ER_DllExport char* ER_CAPI_DEVICES::inq_Get_device_name_by_idx ( int  idx)
static

Get device name by device idx [1..n_devices]
if idx is not valid, NULL is returned.

Parameters
[in]idxdevice idx
Return values
pointerto char for 'device name'
NULL- Error

◆ inq_Get_device_name_by_uid()

static ER_DllExport char* ER_CAPI_DEVICES::inq_Get_device_name_by_uid ( ER_UID  uid)
static

Get device name by device unique id
if uid is not valid, NULL is returned.

Parameters
[in]uidunique id
Return values
pointerto char for device name
NULL- Error

◆ inq_Get_device_uid_by_idx()

static ER_DllExport ER_UID ER_CAPI_DEVICES::inq_Get_device_uid_by_idx ( int  idx)
static

Get device unique uid by device idx
if idx is not valid, -1 is returned.

Parameters
[in]idxdevice idx
Return values
uniqueuid
-1- Error

◆ inq_Get_device_uid_by_name()

static ER_DllExport ER_UID ER_CAPI_DEVICES::inq_Get_device_uid_by_name ( char *  device_name)
static

Get device unique uid by device name
if 'device name' is not valid, -1 is returned.

Parameters
[in]device_name
Return values
uniqueuid
-1- Error

◆ inq_Get_n_devices()

static ER_DllExport int ER_CAPI_DEVICES::inq_Get_n_devices ( void  )
static

Get number of current loaded robots in a workcell.

Return values
Numberof current loaded robots in a workcell

◆ inq_Set_device_idx()

static ER_DllExport int ER_CAPI_DEVICES::inq_Set_device_idx ( int  device_idx)
static

Sets current device idx [1..n_devices].

Parameters
[in]device_idx
Return values
0- OK
1- Error

◆ inq_Set_device_name()

static ER_DllExport int ER_CAPI_DEVICES::inq_Set_device_name ( char *  device_name)
static

Sets current device by name of the robot
Remarks
A device name must be unique.

Parameters
[in]device_name
Return values
0- OK
1- Error

◆ inq_Set_device_uid()

static ER_DllExport int ER_CAPI_DEVICES::inq_Set_device_uid ( ER_UID  device_uid)
static

Sets current device unique id.

Parameters
[in]device_uid
Return values
0- OK
1- Error

◆ Tool_Device_by_idx()

static ER_DllExport int ER_CAPI_DEVICES::Tool_Device_by_idx ( int  tool_device_idx)
static

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.

Parameters
[in]tool_device_idxIdx of tool device [1..n_devices]
Return values
0- ER_OK
1- ER_ERROR tool_device_idx name is not valid

◆ Tool_Device_by_name()

static ER_DllExport int ER_CAPI_DEVICES::Tool_Device_by_name ( char *  tool_device_name)
static

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.

Parameters
[in]tool_device_nameName of tool device
Return values
0- ER_OK
1- ER_ERROR tool_device_name is not valid

◆ Tool_Device_by_uid()

static ER_DllExport int ER_CAPI_DEVICES::Tool_Device_by_uid ( ER_UID  tool_device_uid)
static

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.

Parameters
[in]tool_device_uidUnique device id
Return values
0- ER_OK
1- ER_ERROR tool_device_uid is not valid

Member Data Documentation

◆ er_capi_mop

ER_CAPI_MOP ER_CAPI_DEVICES::er_capi_mop
static

Method class for trajectory planning and -execution.

◆ er_capi_rob

ER_CAPI_ROB ER_CAPI_DEVICES::er_capi_rob
static

Method class kinematics and transformations.


The documentation for this class was generated from the following file: