EASY-ROB™ Kernel  v8.606
Static Public Member Functions | List of all members
ERK_CAPI_MOP_EXEC Class Reference

Method class for motion execution. More...

#include <erk_capi.h>

Inheritance diagram for ERK_CAPI_MOP_EXEC:
ERK_CAPI_MOP ERK_CAPI_DEVICES ERK_CAPI

Static Public Member Functions

static DLLAPI int ER_STDCALL erGET_NEXT_STEP (ER_HND er_hnd, long output_format, NEXT_STEP_DATA *p_next_step_data, double time)
 Returns the next interpolated position step
the elapsed time and supplementary information like events, joint limits and messages.
Opcode 118, Chapter 3.4.3, Page 3-54
The output_format specifies the format desired as output and can be one of the following values.
1: Joint encoder, 2: Joint angle/distance, 4: Cartesian ( w/orientation ), 5: Cartesian and joint encoder, 6: Cartesian and joint angle/distance
Per default, output_format should be set = 2
Remarks
After the target position has been set (using the erSET_NEXT_TARGET()), this function should be called repeatedly until the Status is 1 or 2, specifying that the Host-Application interpreter can continue. If Status is 1 and the Host-Application interpreter finds more target positions it should send the next one to this Kernel using the erSET_NEXT_TARGET() function before erGET_NEXT_STEP() is called again. If the Status is 1 and the Host-Application interpreter finds no more target positions it can continue to call this function until Status is 2. More...
 
static DLLAPI int ER_STDCALL erGetCurrentStepData (ER_HND er_hnd, CURRENT_STEP_DATA *p_current_step_data)
 Returns interpolation data for the current interpolated step
Remarks
After the next step data are calculated, calling erGET_NEXT_STEP() , this function return additional interpolated data,
such as motion type, distance to Target, time to Target, Target ID, Override, ... More...
 
static DLLAPI int ER_STDCALL erSET_OVERRIDE_POSITION (ER_HND er_hnd, DFRAME *PosOffset)
 Sets a correction offset which will be added to the path during program execution.
Opcode 129, Chapter 3.4.4, Page 3-69
This function can be used for sensor-compensated motion. It is effective at each time step. The passed value is valid until the function is called again. More...
 
static DLLAPI TErTargetID ER_STDCALL erGET_CURRENT_TARGETID (ER_HND er_hnd)
 Returns the TargetID of the motion in execution.
Opcode 163, Chapter 3.4.6, Page 3-91. More...
 
- Static Public Member Functions inherited from ERK_CAPI_MOP
static DLLAPI int ER_STDCALL erINITIALIZE (ER_HND *er_hnd, Host_HND host_hnd=NULL)
 Create a unique kinematics handle.
Opcode 101, Chapter 3.4.1, Page 3-26, same as erInitKin()
Initializes one instance of a robot and creates an unique kinematics handle er_hnd belonging to a robot kinematics.
This handles is necessary to access individual data from the robot and to call other functions. More...
 
static DLLAPI int ER_STDCALL erRESET (ER_HND er_hnd)
 Resets an instance of a robot to an initial state.
Opcode 102, Chapter 3.4.1, Page 3-29
Settings are. More...
 
static DLLAPI int ER_STDCALL erTERMINATE (ER_HND *er_hnd)
 Terminates an instance of a robot of the Kernel
Opcode 103, Chapter 3.4.1, Page 3-30
See erUnloadKin() More...
 
static DLLAPI int ER_STDCALL erSET_INITIAL_POSITION (ER_HND er_hnd, INITIAL_POSITION_DATA *p_initial_position_data)
 Sets the robot model to a position according to the input data
Opcode 116, Chapter 3.4.3, Page 3-50
Remarks
After initialization of the Kernel and after jogging the robot in the Host-Application, this function must be called at least once, before the erSET NEXT TARGET() function can be called. More...
 
static DLLAPI int ER_STDCALL erSELECT_TRACKING (ER_HND er_hnd, long conveyor_flags)
 Selects the Tracking On or Off in the Kernel.
Opcode 146, Chapter 3.4.7, Page 3-93
Function not supported
In conveyor_flags, each of the 32 bits specifies if the corresponding conveyor is on or off:
Bit on (1): Conveyor on, Bit off (0): Conveyor off. More...
 
static DLLAPI int ER_STDCALL erSET_CONVEYOR_POSITION (ER_HND er_hnd, long input_format, long conveyor_flags, double conveyor_pos)
 Sends the conveyor position to the Kernel.
Opcode 147, Chapter 3.4.7, Page 3-94
Function not supported
The input_format specifies the format of the input to this function. Can be one of the following values:
1: Joint encoder, 2: Joint angle/distance
In conveyor_flags, each of the 32 bits specifies if the corresponding conveyor is on or off:
Bit on (1): Conveyor on, Bit off (0): Conveyor off. More...
 
static DLLAPI int ER_STDCALL erDEFINE_EVENT (ER_HND er_hnd, long event_id, long target_id, double resolution, long type_of_event, double event_spec)
 Defines an internal asynchronous event that is to be generated relative to position and/or time in the Kernel.
Opcode 148, Chapter 3.4.8, Page 3-96
Function not supported More...
 
static DLLAPI int ER_STDCALL erCANCEL_EVENT (ER_HND er_hnd, long event_id)
 This function makes it possible to cancel an event previously defined in the Kernel by the erDEFINE_EVENT() function.
Opcode 149, Chapter 3.4.8, Page 3-99
Function not supported More...
 
static DLLAPI int ER_STDCALL erGET_EVENT (ER_HND er_hnd, long event_nr)
 This function gets information about an internal asynchronous event that occurred in the Kernel.
Opcode 150, Chapter 3.4.8, Page 3-100
Function not supported More...
 
static DLLAPI int ER_STDCALL erGET_MESSAGE (ER_HND er_hnd, long message_number)
 Gives information about controller messages that occurred.
Opcode 154, Chapter 3.4.9, Page 3-104
Function not supported Use notify messages instead TErNotifyData. More...
 
- Static Public Member Functions inherited from ERK_CAPI_DEVICES
static DLLAPI int ER_STDCALL erInitKin (ER_HND *er_hnd, Host_HND host_hnd=NULL)
 Create a unique kinematics handle.
Opcode 101, Chapter 3.4.1, Page 3-26, same as erINITIALIZE()
Initializes one instance of a robot and creates an unique kinematics handle er_hnd belonging to a robot kinematics.
This handles is necessary to access individual data from the robot and to call other functions.
Use erLoadKin() to load an EASY-ROB rob file (*.rob) containing a kinematics. More...
 
static DLLAPI int ER_STDCALL erUnloadKin (ER_HND *er_hnd)
 Unload an instance of kinematics of the Kernel.
Unloads an instance of kinematics givin by the unique kinematics handle.
Unloading a kinematics will call callback function TerFreeGeometryProc for each geometry belonging to this kinematics.
The number of loaded kinematics will be decremented.
This kinematics handle er_hnd is set to NULL and is not valid after calling this function. More...
 
static DLLAPI int ER_STDCALL erConnectPositioner (ER_HND er_hnd, ER_HND er_hnd_connect)
 Connects a positioner kinematics with handle er_hnd_connect to the robot kinematics with handle er_hnd.
Remarks
Use erConnectPositionerSetSync() for synchronized motion with a positioner.
Use erConnectPositionerGetSync() to receive synchronization status between robot and the connected positioner. More...
 
static DLLAPI ER_HND ER_STDCALL erConnectPositionerGetHND (ER_HND er_hnd)
 Get robots connection handle between robot and positioner.
See also erConnectPositioner() More...
 
static DLLAPI int ER_STDCALL erConnectPositionerSetSync (ER_HND er_hnd, long connect_sync)
 Set robots synchronization flag for synchronization between robot and positioner.
The synchronization flag connect_sync can be one of the following values.
1: ER_SYNC_OFF, 2: ER_SYNC_ON
See also erConnectPositionerGetSync() More...
 
static DLLAPI int ER_STDCALL erConnectPositionerGetSync (ER_HND er_hnd)
 Get robots synchronization flag for synchronization between robot and positioner.
See also erConnectPositionerSetSync() More...
 
static DLLAPI int ER_STDCALL erConnectConveyor (ER_HND er_hnd, ER_HND er_hnd_connect)
 Connects a conveyor kinematics with handle er_hnd_connect to the robot kinematics with handle er_hnd.
Remarks
Use erConnectConveyorSetSync() for synchronized motion with a conveyor.
Use erConnectConveyorGetSync() to receive synchronization status between robot and the connected conveyor. More...
 
static DLLAPI ER_HND ER_STDCALL erConnectConveyorGetHND (ER_HND er_hnd)
 Get robots connection handle between robot and conveyor.
See also erConnectConveyor() More...
 
static DLLAPI int ER_STDCALL erConnectConveyorSetSync (ER_HND er_hnd, long connect_sync)
 Set robots synchronization flag for synchronization between robot and conveyor.
The synchronization flag connect_sync can be one of the following values.
1: ER_SYNC_OFF, 2: ER_SYNC_ON
See also erConnectConveyorGetSync() More...
 
static DLLAPI int ER_STDCALL erConnectConveyorGetSync (ER_HND er_hnd)
 Get robots synchronization flag for synchronization between robot and conveyor.
See also erConnectConveyorSetSync() More...
 
static DLLAPI int ER_STDCALL erConnectTrackMotion (ER_HND er_hnd, ER_HND er_hnd_connect)
 Connects a track motion kinematics with handle er_hnd_connect to the robot kinematics with handle er_hnd.
Remarks
Use erConnectTrackMotionSetSync() for synchronized motion with a track motion.
Use erConnectTrackMotionGetSync() to receive synchronization status between robot and the connected track motion. More...
 
static DLLAPI ER_HND ER_STDCALL erConnectTrackMotionGetHND (ER_HND er_hnd)
 Get robots connection handle between robot and track motion.
See also erConnectTrackMotion() More...
 
static DLLAPI int ER_STDCALL erConnectTrackMotionSetSync (ER_HND er_hnd, long connect_sync)
 Set robots synchronization flag for synchronization between robot and track motion.
The synchronization flag connect_sync can be one of the following values.
1: ER_SYNC_OFF, 2: ER_SYNC_ON, 4: ER_SYNC_CONVEYOR
See also erConnectTrackMotionGetSync() More...
 
static DLLAPI int ER_STDCALL erConnectTrackMotionGetSync (ER_HND er_hnd)
 Get robots synchronization flag for synchronization between robot and track motion.
See also erConnectTrackMotionSetSync() More...
 
static DLLAPI int ER_STDCALL erConnectRobot (ER_HND er_hnd, ER_HND er_hnd_connect)
 Connects a slave robot kinematics with handle er_hnd_connect to the robot kinematics with handle er_hnd.
Remarks
Use erConnectRobotSetSync() for synchronized motion with a slave robot.
Use erConnectRobotGetSync() to receive synchronization status between robot and the connected slave robot. More...
 
static DLLAPI ER_HND ER_STDCALL erConnectRobotGetHND (ER_HND er_hnd)
 Get robots connection handle between robot and slave robot.
See also erConnectRobot() More...
 
static DLLAPI int ER_STDCALL erConnectRobotSetSync (ER_HND er_hnd, long connect_sync)
 Set robots synchronization flag for synchronization between robot and slave robot.
The synchronization flag connect_sync can be one of the following values.
1: ER_SYNC_OFF, 2: ER_SYNC_ON
See also erConnectRobotGetSync() More...
 
static DLLAPI int ER_STDCALL erConnectRobotGetSync (ER_HND er_hnd)
 Get robots synchronization flag for synchronization between robot and slave robot.
See also erConnectRobotSetSync() More...
 
static DLLAPI int ER_STDCALL erUnloadTool (ER_HND er_hnd)
 Unload a kinematics tool.
Unloads a kinematics tool givin by the unique kinematics handle.
Unloading a kinematics tool will call callback function TerFreeGeometryProc for each geometry belonging to this kinematics tool.
Remarks
This kinematics handle er_hnd is still valid after calling this function. More...
 
static DLLAPI int ER_STDCALL erLoadKin (ER_HND er_hnd, char *fln_rob)
 Load an EASY-ROB rob file (*.rob) containing a kinematics.
Loading a robfile will call the callback function TerLoadGeometryProc() each time when a geometry-file-name is detected in the robfile.
In this case the host application has to read or import the geometry and store it inside their own structure.
Remarks
Get a valid unique kinematics handle with erInitKin()
In case the robfile cannot be loaded, the kinematics handle is not valid anymore. Get a new kinematics handle with erInitKin() More...
 
static DLLAPI int ER_STDCALL erLoadTool (ER_HND er_hnd, char *fln_tool)
 Load an EASY-ROB tool file (*.tol) containing tool (tcp) data.
Loading a toolfile will call the callback function TerLoadGeometryProc() each time when a geometry-file-name is detected in the toolfile.
. More...
 
static DLLAPI int ER_STDCALL erGet_n_Kin (ER_HND er_hnd)
 Get the number of loaded kinematics. More...
 
static DLLAPI int ER_STDCALL erGet_n_Kin_IR (ER_HND er_hnd)
 Get the number of loaded kinematics with more than 3 joints and inverse kinematics. More...
 
static DLLAPI int ER_STDCALL erGetName (ER_HND er_hnd, char *name)
 Get the name of the robot. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ERK_CAPI_MOP
static ERK_CAPI_MOP_DATA erk_capi_mop_data
 Method class for start-, target data, motion time, etc. More...
 
static ERK_CAPI_MOP_PATH erk_capi_mop_path
 Method class for path specifications, motion type (PTP, LIN, CIRC), speeds, acceleration, waiting time, etc. More...
 
static ERK_CAPI_MOP_PREP erk_capi_mop_prep
 Method class for motion planning (preparation) More...
 
static ERK_CAPI_MOP_EXEC erk_capi_mop_exec
 Method class for motion execution. More...
 
- Static Public Attributes inherited from ERK_CAPI_DEVICES
static ERK_CAPI_ROB erk_capi_rob
 Method class kinematics and transformations. More...
 
static ERK_CAPI_MOP erk_capi_mop
 Method class for motion planning and -execution. More...
 
static ERK_CAPI_TOOLPATH erk_capi_toolpath
 Method class for tool path definition. More...
 
- Static Public Attributes inherited from ERK_CAPI
static ERK_CAPI_ADMIN erk_capi_admin
 Method class to administrate this Robotics Simulation Kernel. More...
 
static ERK_CAPI_DEVICES erk_capi_devices
 Method class to create, attach, update devices, for kinematics calculations and for motion planning and -execution. More...
 
static ERK_CAPI_SIM erk_capi_sim
 Method class for simulation settings. More...
 
static ERK_CAPI_AUTOPATH erk_capi_autopath
 Method class for collision free path planning. More...
 
static ERK_CAPI_TARGETS erk_capi_targets
 Method class for paths and tags. More...
 
static ERK_CAPI_GEO erk_capi_geo
 Method class to handle 3D Geometry Data. More...
 
static ERK_CAPI_SYS erk_capi_sys
 Method class for mathematical calculations, simulation status, units. More...
 

Detailed Description

Method class for motion execution.

Member Function Documentation

◆ erGET_CURRENT_TARGETID()

static DLLAPI TErTargetID ER_STDCALL ERK_CAPI_MOP_EXEC::erGET_CURRENT_TARGETID ( ER_HND  er_hnd)
static

Returns the TargetID of the motion in execution.
Opcode 163, Chapter 3.4.6, Page 3-91.

Parameters
[in]er_hndunique kinematics handle ER_HND
Return values
0- OK
1- Error, invalid handle
TErTargetID- target identifier that was passed with erSET NEXT TARGET(), TErTargetID

◆ erGET_NEXT_STEP()

static DLLAPI int ER_STDCALL ERK_CAPI_MOP_EXEC::erGET_NEXT_STEP ( ER_HND  er_hnd,
long  output_format,
NEXT_STEP_DATA p_next_step_data,
double  time 
)
static

Returns the next interpolated position step
the elapsed time and supplementary information like events, joint limits and messages.
Opcode 118, Chapter 3.4.3, Page 3-54
The output_format specifies the format desired as output and can be one of the following values.
1: Joint encoder, 2: Joint angle/distance, 4: Cartesian ( w/orientation ), 5: Cartesian and joint encoder, 6: Cartesian and joint angle/distance
Per default, output_format should be set = 2
Remarks
After the target position has been set (using the erSET_NEXT_TARGET()), this function should be called repeatedly until the Status is 1 or 2, specifying that the Host-Application interpreter can continue. If Status is 1 and the Host-Application interpreter finds more target positions it should send the next one to this Kernel using the erSET_NEXT_TARGET() function before erGET_NEXT_STEP() is called again. If the Status is 1 and the Host-Application interpreter finds no more target positions it can continue to call this function until Status is 2.

Parameters
[in]er_hndunique kinematics handle ER_HND
[in]output_formatformat desired as output
[out]p_next_step_datadata for next interpolation step NEXT_STEP_DATA
[in]timetime [s]
Return values
2- final step, target reached or speed is zero
1- need more data, nothing to do
0- OK, next step is calculated successful
-13- the specified output format is not supported
-17- the specified motion type is not supported
-25- the motion is not possible in the specified time
-42- no target set
-51- no solution is found. One joint is out of range
-52- Cartesian position is out of work range
-68- fatal error, stopped calculating
-76- incomplete or inconsistent motion specification, can't move
-1053- Cartesian position is out of boudary work range
-1059- Cartesian position is singular

◆ erGetCurrentStepData()

static DLLAPI int ER_STDCALL ERK_CAPI_MOP_EXEC::erGetCurrentStepData ( ER_HND  er_hnd,
CURRENT_STEP_DATA p_current_step_data 
)
static

Returns interpolation data for the current interpolated step
Remarks
After the next step data are calculated, calling erGET_NEXT_STEP() , this function return additional interpolated data,
such as motion type, distance to Target, time to Target, Target ID, Override, ...

Parameters
[in]er_hndunique kinematics handle ER_HND
[out]p_current_step_datadata for current interpolation step CURRENT_STEP_DATA
Return values
0- OK, next step is calculated successful
1- Error, no interpolation data available

◆ erSET_OVERRIDE_POSITION()

static DLLAPI int ER_STDCALL ERK_CAPI_MOP_EXEC::erSET_OVERRIDE_POSITION ( ER_HND  er_hnd,
DFRAME PosOffset 
)
static

Sets a correction offset which will be added to the path during program execution.
Opcode 129, Chapter 3.4.4, Page 3-69
This function can be used for sensor-compensated motion. It is effective at each time step. The passed value is valid until the function is called again.

Parameters
[in]er_hndunique kinematics handle ER_HND
[in]PosOffsetcorrection offset DFRAME
Return values
0- OK
1- Error
-1- not supported

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