EASY-ROB™ Kernel
v8.606
|
Method class for motion planning (preparation) More...
#include <erk_capi.h>
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... | |
Method class for motion planning (preparation)
|
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.
[in] | er_hnd | unique kinematics handle ER_HND |
0 | - OK |
1 | - Error, invalid handle |
-55 | - the function is not performed. Motion in progress |
|
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.
[in] | er_hnd | unique kinematics handle ER_HND |
0 | - OK |
1 | - Error, invalid handle |
-55 | - the function is not performed. Motion in progress |
|
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.
[in] | er_hnd | unique kinematics handle ER_HND |
[in] | p_next_target_data | next target data NEXT_TARGET_DATA |
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 |
|
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.
[in] | er_hnd | unique kinematics handle ER_HND |
[in] | p_next_target_data_advance | about next target data NEXT_TARGET_DATA_ADVANCE |
0 | - OK, valid about next target data |
1 | - Error, in validabout next target data |
|
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.
[in] | er_hnd | unique kinematics handle ER_HND |
0 | - OK |
1 | - Error, invalid handle |
-54 | - STOP_MOTION is unsuccessful. No motion in progress |