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

Method class for motion planning (preparation) More...

#include <erk_capi.h>

Inheritance diagram for ERK_CAPI_MOP_PREP:
ERK_CAPI_MOP ERK_CAPI_DEVICES ERK_CAPI

Static Public Member Functions

static DLLAPI int ER_STDCALL erSET_NEXT_TARGET (ER_HND er_hnd, NEXT_TARGET_DATA *p_next_target_data)
 Sends the next target position. This may include intermediate position, radius and angle for circular motion.
Opcode 117, Chapter 3.4.3, Page 3-52
This function prepares the next motion based on givin target data in NEXT_TARGET_DATA.
If the return is OK, the TrajectoryTime in [sec] is calculated
Remarks
The function may pass a position and a further TargetParamValue at the same time. For some motion types the Kernel may require more than one call of erSET_NEXT_TARGET() before it can start the motion (e.g. ER_CIRC). Function erGET_NEXT_STEP() reports this as normal, returning Status = 1 (need more data) and ElapsedTime = 0. Use erSET_NEXT_TARGET_ADVANCE() to define data for the about next target. More...
 
static DLLAPI int ER_STDCALL erSET_NEXT_TARGET_ADVANCE (ER_HND er_hnd, NEXT_TARGET_DATA_ADVANCE *p_next_target_data_advance)
 Sends about next target data
The function gives information about the next target, stored in NEXT_TARGET_DATA_ADVANCE
Remarks
This function should be called once, just before calling erSET_NEXT_TARGET()
Parameter AdvanceParam=2 sets all data in NEXT_TARGET_DATA_ADVANCE to default values. More...
 
static DLLAPI int ER_STDCALL erSTOP_MOTION (ER_HND er_hnd)
 Stops the on-going motion toward the target.
Opcode 151, Chapter 3.4.8, Page 3-101
See also erCONTINUE_MOTION(), erCANCEL_MOTION()
Remarks
After calling this function, the erGET_NEXT_STEP() should be called repeatedly until its Status is 2 (speed is zero) in order to get the deceleration steps. More...
 
static DLLAPI int ER_STDCALL erCONTINUE_MOTION (ER_HND er_hnd)
 Continues a motion that was stopped with the erSTOP_MOTION() function.
Opcode 152, Chapter 3.4.8, Page 3-102
See also erSTOP_MOTION(), erCANCEL_MOTION()
Remarks
After calling this function, the erGET_NEXT_STEP() should be called repeatedly in order to get the acceleration steps. More...
 
static DLLAPI int ER_STDCALL erCANCEL_MOTION (ER_HND er_hnd)
 Cancel a motion that was stopped with erSTOP_MOTION() function.
Opcode 153, Chapter 3.4.8, Page 3-103
See also erSTOP_MOTION(), erCONTINUE_MOTION()
Remarks
This function clears any remaining target positions in the Kernel. 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 planning (preparation)

Member Function Documentation

◆ erCANCEL_MOTION()

static DLLAPI int ER_STDCALL ERK_CAPI_MOP_PREP::erCANCEL_MOTION ( ER_HND  er_hnd)
static

Cancel a motion that was stopped with erSTOP_MOTION() function.
Opcode 153, Chapter 3.4.8, Page 3-103
See also erSTOP_MOTION(), erCONTINUE_MOTION()
Remarks
This function clears any remaining target positions in the Kernel.

Parameters
[in]er_hndunique kinematics handle ER_HND
Return values
0- OK
1- Error, invalid handle
-55- the function is not performed. Motion in progress

◆ erCONTINUE_MOTION()

static DLLAPI int ER_STDCALL ERK_CAPI_MOP_PREP::erCONTINUE_MOTION ( ER_HND  er_hnd)
static

Continues a motion that was stopped with the erSTOP_MOTION() function.
Opcode 152, Chapter 3.4.8, Page 3-102
See also erSTOP_MOTION(), erCANCEL_MOTION()
Remarks
After calling this function, the erGET_NEXT_STEP() should be called repeatedly in order to get the acceleration steps.

Parameters
[in]er_hndunique kinematics handle ER_HND
Return values
0- OK
1- Error, invalid handle
-55- the function is not performed. Motion in progress

◆ erSET_NEXT_TARGET()

static DLLAPI int ER_STDCALL ERK_CAPI_MOP_PREP::erSET_NEXT_TARGET ( ER_HND  er_hnd,
NEXT_TARGET_DATA p_next_target_data 
)
static

Sends the next target position. This may include intermediate position, radius and angle for circular motion.
Opcode 117, Chapter 3.4.3, Page 3-52
This function prepares the next motion based on givin target data in NEXT_TARGET_DATA.
If the return is OK, the TrajectoryTime in [sec] is calculated
Remarks
The function may pass a position and a further TargetParamValue at the same time. For some motion types the Kernel may require more than one call of erSET_NEXT_TARGET() before it can start the motion (e.g. ER_CIRC). Function erGET_NEXT_STEP() reports this as normal, returning Status = 1 (need more data) and ElapsedTime = 0. Use erSET_NEXT_TARGET_ADVANCE() to define data for the about next target.

Parameters
[in]er_hndunique kinematics handle ER_HND
[in]p_next_target_datanext target data NEXT_TARGET_DATA
Return values
1- need more data, nothing to do
0- OK, next step is calculated successful
-17- specified motion type is not supported
-34- Error in matrix. Incomplete matrix
-35- Cartesian position expected
-36- Joint position expected
-43- Initial position not set
-51- no solution is found. One joint is out of range
-52- Cartesian position is out of work range
-59- specified position is singular
-68- fatal error, stopped calculating
-71- Position not stored, target buffer is full
-78- The specified position is not acceptable
-79- Not ready to receive targets

◆ erSET_NEXT_TARGET_ADVANCE()

static DLLAPI int ER_STDCALL ERK_CAPI_MOP_PREP::erSET_NEXT_TARGET_ADVANCE ( ER_HND  er_hnd,
NEXT_TARGET_DATA_ADVANCE p_next_target_data_advance 
)
static

Sends about next target data
The function gives information about the next target, stored in NEXT_TARGET_DATA_ADVANCE
Remarks
This function should be called once, just before calling erSET_NEXT_TARGET()
Parameter AdvanceParam=2 sets all data in NEXT_TARGET_DATA_ADVANCE to default values.

Parameters
[in]er_hndunique kinematics handle ER_HND
[in]p_next_target_data_advanceabout next target data NEXT_TARGET_DATA_ADVANCE
Return values
0- OK, valid about next target data
1- Error, in validabout next target data

◆ erSTOP_MOTION()

static DLLAPI int ER_STDCALL ERK_CAPI_MOP_PREP::erSTOP_MOTION ( ER_HND  er_hnd)
static

Stops the on-going motion toward the target.
Opcode 151, Chapter 3.4.8, Page 3-101
See also erCONTINUE_MOTION(), erCANCEL_MOTION()
Remarks
After calling this function, the erGET_NEXT_STEP() should be called repeatedly until its Status is 2 (speed is zero) in order to get the deceleration steps.

Parameters
[in]er_hndunique kinematics handle ER_HND
Return values
0- OK
1- Error, invalid handle
-54- STOP_MOTION is unsuccessful. No motion in progress

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