Method class forward-, Inverse kinematics, desired robot joints, tools, position w.r.t. world and reference system.
More...
|
static DLLAPI int ER_STDCALL | erGetIDs (ER_HND er_hnd, long *kin_id, long *inv_id, long *inv_sub_id) |
| Get Kinematics ID of the robot.
kin_id represents the kinematics ID. It can be one of the following values.
ER_RRRRRR_ID =1, ER_TTTRRR_ID =2, ER_RRRRRR_BL_ID =3, ER_UNIV_ROB_ID =10, ER_DH_ID =11
Remarks
Most robots are modelled with universal coordinates ER_UNIV_ROB_ID. More...
|
|
static DLLAPI int ER_STDCALL | erGet_num_dofs (ER_HND er_hnd) |
| Get number of active robot joints. More...
|
|
static DLLAPI int ER_STDCALL | erGet_num_dofs_passive (ER_HND er_hnd) |
| Get number of passive robot joints. More...
|
|
static DLLAPI int ER_STDCALL | erGetJointTypes (ER_HND er_hnd, long *jnt_type_active) |
| Get active robot joint types. An active robot joint type can be rotational JNT_TYPE_ROT or prismatic JNT_TYPE_TRANS
See also erGetJointSign(), erGetJointDirections() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointTypes_passive (ER_HND er_hnd, long *jnt_type_passive) |
| Get passive robot joint types. A passive robot joint type can be rotational JNT_TYPE_ROT or prismatic JNT_TYPE_TRANS
See also erGetJointDirections_passive() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointDirections (ER_HND er_hnd, long *jnt_direction_active) |
| Get direction of active robot joints. A robot joint direction can be JNT_DIRECTION_X, JNT_DIRECTION_Y or JNT_DIRECTION_Z
See also erGetJointSign(), erGetJointTypes() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointDirections_passive (ER_HND er_hnd, long *jnt_direction_passive) |
| Get direction of passive robot joints. A robot joint direction can be JNT_DIRECTION_X, JNT_DIRECTION_Y or JNT_DIRECTION_Z
See also erGetJointTypes_passive() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointChainTypes (ER_HND er_hnd, long *jnt_chain_type_active) |
| Get chain type of active robot joints. A robot chain type can be JNT_CHAIN_TYPE_CHAIN, JNT_CHAIN_TYPE_NO_CHAIN or JNT_CHAIN_TYPE_SEP_NO_CHAIN
. More...
|
|
static DLLAPI int ER_STDCALL | erGetJointChainTypes_passive (ER_HND er_hnd, long *jnt_chain_type_passive) |
| Get chain type of passive robot joints. A robot chain type can be JNT_CHAIN_TYPE_CHAIN, JNT_CHAIN_TYPE_NO_CHAIN or JNT_CHAIN_TYPE_SEP_NO_CHAIN
. More...
|
|
static DLLAPI int ER_STDCALL | erGetJointAttachDof_active (ER_HND er_hnd, long *jnt_attach_dof_active) |
| Get Attach-Dof of active robot joints. An active joint with chain type JNT_CHAIN_TYPE_CHAIN is attached to an active or passive joint.
A valid Attach-Dof number for such an active joint is [0..num_dof], whereby num_dof represents the number of active joints
A negative Attach-Dof value of -99 means that the active joint has a chain type of JNT_CHAIN_TYPE_NO_CHAIN or JNT_CHAIN_TYPE_SEP_NO_CHAIN. More...
|
|
static DLLAPI int ER_STDCALL | erGetJointAttachDof_passive (ER_HND er_hnd, long *jnt_attach_dof_passive) |
| Get Attach-Dof of passive robot joints. A passive joint is attached to an active joint. A valid Attach-Dof number number is [0..num_dof], whereby num_dof represents the number of active joints
A negative Attach-Dof represents an error. More...
|
|
static DLLAPI int ER_STDCALL | erGetMoveBaseMode (ER_HND er_hnd, long *move_base_mode) |
| Gets moveable base mode.
A kinematics base can be fixed or moveable.
0: Robot base is fix (default)
1: Robot base is moveable. More...
|
|
static DLLAPI int ER_STDCALL | erGetMoveBasepJointIdx (ER_HND er_hnd, long *move_base_pjointidx) |
| Gets passive joint idx representing the moveable base.
If a kinematics base is moveable, the move_base_pjointidx gives the index [1..number of passive joints] of the passive joints representing the moveable base.
Otherwise it is 0, see erGetMoveBaseMode(), erGetpJointMoveBase() More...
|
|
static DLLAPI int ER_STDCALL | erGetpJointMoveBase (ER_HND er_hnd, DFRAME *pjntTmb) |
| Get transformation from passive joint 'pjnt' to the moveable base 'mb'.
If a kinematics base is moveable, the pjntTmb contains the transformation from passive joint 'pjnt' to the moveable base 'mb' frame.
Otherwise pjntTmb is identity, see erGetMoveBasepJointIdx(), erGetRobotBaseToMoveBase() More...
|
|
static DLLAPI int ER_STDCALL | erGetRobotBaseToMoveBase (ER_HND er_hnd, DFRAME *bTmb) |
| Get transformation from robot base 'b' to the moveable base 'mb'.
If a kinematics base is moveable, the bTmb contains the transformation from robot base 'b' to the moveable base 'mb' frame.
Otherwise bTmb is identity, see erGetMoveBasepJointIdx(), erGetpJointMoveBase() More...
|
|
static DLLAPI int ER_STDCALL | erSetJoints (ER_HND er_hnd, double *q_solut) |
| Set robot joint data. The kinematics joint data q_solut are in units [m] for prismatic joint type
and [rad] for rotational joint type. More...
|
|
static DLLAPI int ER_STDCALL | erSetJoint (ER_HND er_hnd, double q_solut, long jnt_no) |
| Set a single robot joint data. The kinematics joint data q_solut are in units [m] for prismatic joint type
and [rad] for rotational joint type
Get the number of active joints with erGet_num_dofs() More...
|
|
static DLLAPI int ER_STDCALL | erGetJoints (ER_HND er_hnd, double *q_solut) |
| Get robot joint data. The kinematics joint data q_solut are in units [m] for prismatic joint type
and [rad] for rotational joint type
Get the number of active joints with erGet_num_dofs()
Remarks
Call this function after calling the inverse kinematics transformation, erInvKinRobotBaseTip(), erInvKinWorldTip(), erInvKinRobotBaseTcp(), erInvKinWorldTcp() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointSolutions (ER_HND er_hnd, double *q_solutions, long *q_warnings) |
| Get all robot joint solutions. The kinematics joint data q_solutions are in units [m] for prismatic joint type
and [rad] for rotational joint type
Get the number of active joints with erGet_num_dofs()
Get the number of configurations with erGetNumConfigs()
Remarks
Call this function after calling the inverse kinematics transformation, erInvKinRobotBaseTip(), erInvKinWorldTip(), erInvKinRobotBaseTcp(), erInvKinWorldTcp() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointSpeeds (ER_HND er_hnd, double *v_solut) |
| Get robot joint speeds. The kinematics joint speeds v_solut are in units [m/s] for prismatic joint type
and [rad/s] for rotational joint type
Get the number of active joints with erGet_num_dofs() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointAccels (ER_HND er_hnd, double *a_solut) |
| Get robot joint accelerations. The kinematics joint accelerations a_solut are in units [m/s^2] for prismatic joint type
and [rad/s^2] for rotational joint type
Get the number of active joints with erGet_num_dofs() More...
|
|
static DLLAPI int ER_STDCALL | erGetJoints_passive (ER_HND er_hnd, double *q_passive) |
| Get passive robot joint data. The kinematics passive joint data q_passive are in units [m] for prismatic joint type
and [rad] for rotational joint type
Get the number of passive joints with erGet_num_dofs_passive() More...
|
|
static DLLAPI int ER_STDCALL | erSetConfig (ER_HND er_hnd, long config) |
| Set robot configuration
A new robot configuration takes effect when calling the inverse kinematics transformation.
See The config is valid for 1 to number of possible configurations, see erGetNumConfigs()
Remarks
The motion planner can change the configuration only for the motion types ER_JOINT (ER_PTP) or ER_SLEW.
In case of CP (continuous path, i.e. ER_LIN or ER_CIRC), a givin configuration will be ignored. More...
|
|
static DLLAPI int ER_STDCALL | erGetConfig (ER_HND er_hnd, long *config) |
| Get current robot configuration
Gets current robot configuration. See also erSetConfig().
The config is valid for 1 to number of possible configurations, see erGetNumConfigs(). More...
|
|
static DLLAPI int ER_STDCALL | erFindConfig (ER_HND er_hnd, long *config) |
| Find current robot configuration
Finds current robot configuration, depending on current robot joint location.
The config is valid for 1 to number of possible configurations, see erGetNumConfigs()
Remarks
If the robot configuration cannot be found, a notify message ER_NOTIFY_CODE_FIND_CONFIG_FAILED will be generated. More...
|
|
static DLLAPI int ER_STDCALL | erGetNumConfigs (ER_HND er_hnd, long *num_configs) |
| Get number of possible robot configurations. More...
|
|
static DLLAPI int ER_STDCALL | erInvKinRobotBaseTip (ER_HND er_hnd, DFRAME *bTt) |
| Calculating the inverse kinematics transformation.
The bTt is the location of the flange w.r.t. robots base.
Get the calculated robot joint data with erGetJoints(). More...
|
|
static DLLAPI int ER_STDCALL | erInvKinWorldTip (ER_HND er_hnd, DFRAME *iTt) |
| Calculating the inverse kinematics transformation.
The iTt is the location of the flange w.r.t. inertia (world).
Get the calculated robot joint data with erGetJoints(). More...
|
|
static DLLAPI int ER_STDCALL | erInvKinRobotBaseTcp (ER_HND er_hnd, DFRAME *bTw) |
| Calculating the inverse kinematics transformation.
The bTw is the location of the tcp w.r.t. robots base.
Get the calculated robot joint data with erGetJoints(). More...
|
|
static DLLAPI int ER_STDCALL | erInvKinWorldTcp (ER_HND er_hnd, DFRAME *iTw) |
| Calculating the inverse kinematics transformation.
The iTw is the location of the tcp w.r.t. inertia (world).
Get the calculated robot joint data with erGetJoints(). More...
|
|
static DLLAPI int ER_STDCALL | erSetTool (ER_HND er_hnd, DFRAME *tTw) |
| Set robot tool (TCP) data w.r.t. robots flange. More...
|
|
static DLLAPI int ER_STDCALL | erGetTool (ER_HND er_hnd, DFRAME *tTw) |
| Get robot tool (TCP) data w.r.t. robots flange. More...
|
|
static DLLAPI int ER_STDCALL | erGetToolFix (ER_HND er_hnd, DFRAME *tTwfix) |
| Get robot tool fix (TCP) data w.r.t. robots flange, without Tool Offset. More...
|
|
static DLLAPI int ER_STDCALL | erSetToolOffset (ER_HND er_hnd, DFRAME *wTwo) |
| Set robot tool offset (TCP) data w.r.t. robots fix Tcp. More...
|
|
static DLLAPI int ER_STDCALL | erGetToolOffset (ER_HND er_hnd, DFRAME *wTwo) |
| Get robot tool offset (TCP) data w.r.t. robots fix Tcp. More...
|
|
static DLLAPI int ER_STDCALL | erSetBaseRobotBase (ER_HND er_hnd, DFRAME *bTbase) |
| Set $BASE (wobj) w.r.t robot base.
The $BASE frame has only effect when IPO_MODE_BASE is set in erSetExtTcpMode()
All targets are defined w.r.t to this BASE frame (program shifting) More...
|
|
static DLLAPI int ER_STDCALL | erGetBaseRobotBase (ER_HND er_hnd, DFRAME *bTbase) |
| Get $BASE (wobj) w.r.t robot base.
The $BASE frame has only effect when IPO_MODE_BASE is set in erSetExtTcpMode()
All targets are defined w.r.t to this BASE frame (program shifting) More...
|
|
static DLLAPI int ER_STDCALL | erSetBaseWorld (ER_HND er_hnd, DFRAME *iTbase) |
| Set $BASE (wobj) w.r.t inertia (world). The $BASE frame has only effect when IPO_MODE_BASE is set in erSetExtTcpMode()
All targets are defined w.r.t to this BASE frame (program shifting) More...
|
|
static DLLAPI int ER_STDCALL | erGetBaseWorld (ER_HND er_hnd, DFRAME *iTbase) |
| Get $BASE (wobj) w.r.t inertia (world). The $BASE frame has only effect when IPO_MODE_BASE is set in erSetExtTcpMode()
All targets are defined w.r.t to this BASE frame (program shifting) More...
|
|
static DLLAPI int ER_STDCALL | erSetRobotBase (ER_HND er_hnd, DFRAME *iTb) |
| Set robot base location w.r.t. world. More...
|
|
static DLLAPI int ER_STDCALL | erGetRobotBase (ER_HND er_hnd, DFRAME *iTb) |
| Get robot base location w.r.t. world. More...
|
|
static DLLAPI int ER_STDCALL | erGetRobotBaseTip (ER_HND er_hnd, DFRAME *bTt) |
| Get robot tip (flange) location w.r.t. robot base. More...
|
|
static DLLAPI int ER_STDCALL | erGetRobotBaseTcp (ER_HND er_hnd, DFRAME *bTw) |
| Get robot tcp location w.r.t. robot base. More...
|
|
static DLLAPI int ER_STDCALL | erGetWorldTip (ER_HND er_hnd, DFRAME *iTt) |
| Get robot tip location w.r.t. inertia (world) coorsys. More...
|
|
static DLLAPI int ER_STDCALL | erGetWorldTcp (ER_HND er_hnd, DFRAME *iTw) |
| Get robot tcp location w.r.t. inertia (world) coorsys. More...
|
|
static DLLAPI int ER_STDCALL | erUpdateKin (ER_HND er_hnd) |
| Updates the complete kinematics. This function calculates the location of all axis coorsys, the robots tip and tcp w.r.t. robot base.
In most cases the forward kinematics calculation is executed.
Call this function first, before retrieving the location of axis coorsys. More...
|
|
static DLLAPI int ER_STDCALL | erGetJointFrameRobotBase (ER_HND er_hnd, long active_jnt_no, DFRAME *bTax) |
| Get location of active joint coorsys w.r.t robot base.
Get the number of active joints with erGet_num_dofs() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointFrameRobotBase_passive (ER_HND er_hnd, long passive_jnt_no, DFRAME *bTax) |
| Get location of passive joint coorsys w.r.t robot base.
Get the number of passive joints with erGet_num_dofs_passive() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointFrameWorld (ER_HND er_hnd, long active_jnt_no, DFRAME *iTax) |
| Get location of active joint coorsys w.r.t innertia (world).
Get the number of active joints with erGet_num_dofs() More...
|
|
static DLLAPI int ER_STDCALL | erGetJointFrameWorld_passive (ER_HND er_hnd, long passive_jnt_no, DFRAME *iTax) |
| Get location of passive joint coorsys w.r.t innertia (world).
Get the number of passive joints with erGet_num_dofs_passive() More...
|
|
static DLLAPI int ER_STDCALL | erSetExtTcpRobotBase (ER_HND er_hnd, DFRAME *bText, long use_ext_flange) |
| Set location of external TCP w.r.t robot base.
Exeption: If use_ext_flange is set, the external TCP w.r.t is defined w.r.t. the (tip) flange of a positioner for example. More...
|
|
static DLLAPI int ER_STDCALL | erGetExtTcpRobotBase (ER_HND er_hnd, DFRAME *bText) |
| Get location of external TCP w.r.t robot base. More...
|
|
static DLLAPI int ER_STDCALL | erSetExtTcpWorld (ER_HND er_hnd, DFRAME *iText) |
| Set location of external TCP w.r.t inertia (world). More...
|
|
static DLLAPI int ER_STDCALL | erGetExtTcpWorld (ER_HND er_hnd, DFRAME *iText) |
| Get location of external TCP w.r.t inertia (world). More...
|
|
static DLLAPI int ER_STDCALL | erSetExtTcpMode (ER_HND er_hnd, long ext_tcp_mode) |
| Set external TCP mode.
The external TCP can be IPO_MODE_BASE (tool guided) or IPO_MODE_TOOL (work object guided) More...
|
|
static DLLAPI int ER_STDCALL | erGetExtTcpMode (ER_HND er_hnd, long *ext_tcp_mode) |
| Get external TCP mode.
The external TCP can be IPO_MODE_BASE (tool guided) or IPO_MODE_TOOL (work object guided) More...
|
|
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...
|
|