EASY-ROB™ Kernel
v8.606
|
Method class for motion execution. More...
#include <erk_capi.h>
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 = 2Remarks 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... | |
Method class for motion execution.
|
static |
Returns the TargetID of the motion in execution.
Opcode 163, Chapter 3.4.6, Page 3-91.
[in] | er_hnd | unique kinematics handle ER_HND |
0 | - OK |
1 | - Error, invalid handle |
TErTargetID | - target identifier that was passed with erSET NEXT TARGET(), TErTargetID |
|
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.
[in] | er_hnd | unique kinematics handle ER_HND |
[in] | output_format | format desired as output |
[out] | p_next_step_data | data for next interpolation step NEXT_STEP_DATA |
[in] | time | time [s] |
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 |
|
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, ...
[in] | er_hnd | unique kinematics handle ER_HND |
[out] | p_current_step_data | data for current interpolation step CURRENT_STEP_DATA |
0 | - OK, next step is calculated successful |
1 | - Error, no interpolation data available |
|
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.
0 | - OK |
1 | - Error |
-1 | - not supported |