Method class forward-, Inverse kinematics, desired robot joints, tools, position w.r.t. world and reference system.
More...
|
static ER_DllExport int | rob_kin_joint_trans (int joint_dof) |
| Get active robot joint type
An active robot joint type can be rotational or prismatic
See rob_kin_joint_rot() More...
|
|
static ER_DllExport int | rob_kin_joint_rot (int joint_dof) |
| Get active robot joint type
An active robot joint type can be rotational or prismatic
See rob_kin_joint_trans() More...
|
|
static ER_DllExport float | rob_kin_to_DEG (int joint_dof) |
| Returns DEG if joint is rotational, else 1. More...
|
|
static ER_DllExport float | rob_kin_to_RAD (int joint_dof) |
| Returns RAD if joint is rotational, else 1. More...
|
|
static ER_DllExport frame * | inq_bTt (void) |
| Robot Base to Tip (flange) More...
|
|
static ER_DllExport frame * | inq_bT0 (void) |
| Robot Base to first joint of kinematics chain. More...
|
|
static ER_DllExport int * | inq_num_tool (void) |
| Number of available tools [1..KIN_TOOLS]. More...
|
|
static ER_DllExport int * | inq_ctool_idx (void) |
| Get current tool idx [0..KIN_TOOLS-1]. More...
|
|
static ER_DllExport frame * | inq_tTw (void) |
| Current Tool frame, Robot Tip (flange) to TCP. More...
|
|
static ER_DllExport frame * | inq_tTw_strt (void) |
| Start condition, Tool frame: Robot Tip to TCP. More...
|
|
static ER_DllExport frame * | inq_wTwo (void) |
| Tool Offset frame, Robot Tcp' to TCP. More...
|
|
static ER_DllExport frame * | inq_wTwo_strt (void) |
| Start condition, Tool Offset frame: Robot Tcp' to TCP. More...
|
|
static ER_DllExport frame * | inq_tTw_data_idx (int ctool_idx) |
| Tool data for ctool_idx. More...
|
|
static ER_DllExport frame * | inq_tTw_data_strt_idx (int ctool_no) |
| Start condition, Tool data for ctool_idx. More...
|
|
static ER_DllExport char * | inq_tool_name (void) |
| Get current tool name. More...
|
|
static ER_DllExport char * | inq_tool_name_idx (int ctool_idx) |
| Get tool name by tool idx. More...
|
|
static ER_DllExport float * | inq_q_solut (void) |
| Desired active joint axis values. More...
|
|
static ER_DllExport float * | inq_q_strtpos (void) |
| Start condition joint axis location. More...
|
|
static ER_DllExport float * | inq_v_solut (void) |
| Desired joint speed values. More...
|
|
static ER_DllExport float * | inq_a_solut (void) |
| Desired joint accel values. More...
|
|
static ER_DllExport frame * | inq_bTw (void) |
| Robot Base to TCP. More...
|
|
static ER_DllExport frame * | inq_iTi_ref (void) |
| World to attach position (reference position) of robot
This location is already updated, when calling data_update_all_devices() More...
|
|
static ER_DllExport frame * | inq_iTb (void) |
| Attach position (reference position) to robot base
If the robot is not attached, the attach position is the world coorsys. More...
|
|
static ER_DllExport frame * | inq_iTb_strt (void) |
| Start condition, Attach position (reference position) to robot base. More...
|
|
static ER_DllExport int * | inq_ext_Tcp_idx (void) |
| Enable/disable external Tcp for cRobot
Set *inq_ext_Tcp_idx()=1 to enable external TCP
Use inq_ext_Tcp() to define the external TCP location w.r.t. world coorsys. More...
|
|
static ER_DllExport frame * | inq_ext_Tcp (void) |
| Transformation of external Tcp w.r.t. world coorsys. More...
|
|
static ER_DllExport frame * | inq_ext_Tcp_base (void) |
| Transformation of external Tcp w.r.t. robot base. More...
|
|
static ER_DllExport frame * | inq_bBase (void) |
| Program shift w.r.t. robot base
This method takes effect when executing a motion command given by values, such as
PTP 1.6101 0.8421 1.9112 20.3529 180.0000 0.0000
See inq_iBase() More...
|
|
static ER_DllExport frame * | inq_iBase (void) |
| Program shift w.r.t. world coorsys
This method takes effect when executing a motion command given by values, such as
PTP 1.6101 0.8421 1.9112 20.3529 180.0000 0.0000 See inq_bBase() More...
|
|
static ER_DllExport int * | inq_move_base (void) |
| Moveable base mode
Used for special kinematics such as a CMM with a moving table as joint 1. More...
|
|
static ER_DllExport int * | inq_move_base_jnt (void) |
| Passive joint idx representing the moveable base. More...
|
|
static ER_DllExport char * | inq_move_base_name (void) |
| Name for moveable base. More...
|
|
static ER_DllExport frame * | inq_pjntTmb (void) |
| Transformation from passive joint to moveable base frame. More...
|
|
static ER_DllExport frame ** | inq_pjntTmb_ref (void) |
| Reference, points to inq_pjntTmb() per default. More...
|
|
static ER_DllExport frame * | inq_bTmb (void) |
| Robot base to moveable base frame. More...
|
|
static ER_DllExport frame ** | inq_bTpjnt_ref (void) |
| Reference of robot base to passive joints as move base, get from 'B' and ax_idx. More...
|
|
static ER_DllExport frame * | inq_mbTt (void) |
| Moveable base to Tip. More...
|
|
static ER_DllExport frame * | inq_mbTw (void) |
| Moveable base to TCP. More...
|
|
static ER_DllExport void | rob_kin_set_warnings (int warn) |
| Predefine or set the warning for all inverse solution
Use for the API for inverse kinematics
Parameter warn is one of WARN_OK, WARN_SINGULAR, WARN_UNREACH, WARN_CNFG, ::, WARN_SWE_EXCEED. More...
|
|
static ER_DllExport void | rob_kin_user_msg (char *s) |
| Displays message to the message window. More...
|
|
static ER_DllExport int | rob_kin_vortrans (frame *bTt) |
| Calling forward kinematics
The input joint values are in inq_q_solut()
See also rob_kin_vortrans_q() More...
|
|
static ER_DllExport int | rob_kin_vortrans_q (float *qn, frame *bTt, frame *mbTt, int n_dofs) |
| Calling forward kinematics
The forward kinematics calculates, depending on joint location q , the location of the flange (Tip) w.r.t. the robots base bTt
See also rob_kin_vortrans() More...
|
|
static ER_DllExport int | rob_kin_jacobian_q (float *qn, frame *tTw, float *jac, int n_dofs, float delta_scale=1) |
| Calculation of Jacobian matrix
This method calculates, depending on robots joint location q , the jacobian matrix in the flange (Tip) or in Tcp w.r.t. the robots base.
If parameter tTw is NULL, the jacobian is in the Tip.
Remarks
For known kinematics, the jacobian is calculated analytically.
For unknown or user defined kinematics, those with mathematically joint dependencies for example, the jacobian matrix is calculated computerized.
In this case a deviation of dR=0.01deg for rotational and dx=1mm for translational joints will be taken.
Parameter delta_scale allows to change these values. More...
|
|
static ER_DllExport int * | inq_fwd_kin_reason (void) |
| Reason for calculation the forward kinematics, return FWD_REASON_UNKNOWN ... FWD_REASON_CAD_EXPORT. More...
|
|
static ER_DllExport int | rob_kin_q_in_travel_range (float *q) |
| Transforms all revolute joints into valid travel range. More...
|
|
static ER_DllExport int | rob_kin_chk_travel_range (float *q) |
| Checks if all joint data are inside a valid travel range. More...
|
|
static ER_DllExport int * | inq_invkin (void) |
| Inverse kinematics ID for cRobot. More...
|
|
static ER_DllExport int * | inq_invkin_sub (void) |
| Inverse kinematics Sub-ID for cRobot. More...
|
|
static ER_DllExport int | rob_kin_inv (frame *bTt) |
| Calculate inverse kinematics solution IKP bTt - Robot Base to Tip (Flange), Results in inq_q_solut()
This method calculates all possible solutions, depending on the number of configurations inq_num_configs() of the robot
The warning vector inq_warnings() gives more detailed information for each solution
and contains one of WARN_OK=0, WARN_SINGULAR=1, WARN_UNREACH=2, WARN_CNFG=3, WARN_NO_INVKIN=4 or WARN_SWE_EXCEED=5
Current configuration inq_config() [0..KIN_CONFIGS-1]
Number of configurations for the cDevice inq_num_configs()
See code example in rob_kin_inv_ext() More...
|
|
static ER_DllExport int | rob_kin_inv_ext (frame *bTw, float *q_solut, int shortest_angle) |
| Calculate inverse kinematics solution IKP bTw - Robot Base to Wrist (TCP), Results in q_solut()
This method calculates all possible solutions, depending on the number of configurations inq_num_configs() of the robot
The warning vector inq_warnings() gives more detailed information for each solution
and contains one of WARN_OK=0, WARN_SINGULAR=1, WARN_UNREACH=2, WARN_CNFG=3, WARN_NO_INVKIN=4 or WARN_SWE_EXCEED=5
Current configuration inq_config() [0..KIN_CONFIGS-1]
Number of configurations for the cDevice inq_num_configs()
Configuration Solution IDs for the cDevice inq_cnfg_soln() More...
|
|
static ER_DllExport char * | inq_kin_user_data_file (void) |
| Kinematics data file for user kinematics. More...
|
|
static ER_DllExport double * | inq_achs_length (void) |
| Kinematics lengths in Z direction [m] for each active joint
Calculated from "Geometric Data to next"
Remarks
Usage in conjunction with inq_achs_length(), inq_achs_offsets1(), inq_achs_offsets2(), inq_achs_rotx(), inq_achs_roty(), inq_achs_rotz() More...
|
|
static ER_DllExport double * | inq_achs_offsets1 (void) |
| Kinematics lengths in X direction [m] for each active joint
Calculated from "Geometric Data to next"
Remarks
Usage in conjunction with inq_achs_length(), inq_achs_offsets1(), inq_achs_offsets2(), inq_achs_rotx(), inq_achs_roty(), inq_achs_rotz() More...
|
|
static ER_DllExport double * | inq_achs_offsets2 (void) |
| Kinematics lengths in Y direction [m] for each active joint
Calculated from "Geometric Data to next"
Remarks
Usage in conjunction with inq_achs_length(), inq_achs_offsets1(), inq_achs_offsets2(), inq_achs_rotx(), inq_achs_roty(), inq_achs_rotz() More...
|
|
static ER_DllExport double * | inq_achs_rotx (void) |
| Kinematics angles for X rotation [deg] for each active joint
Calculated from "Geometric Data to next"
Remarks
Usage in conjunction with inq_achs_length(), inq_achs_offsets1(), inq_achs_offsets2(), inq_achs_rotx(), inq_achs_roty(), inq_achs_rotz() More...
|
|
static ER_DllExport double * | inq_achs_roty (void) |
| Kinematics angles for Y rotation [deg] for each active joint
Calculated from "Geometric Data to next"
Remarks
Usage in conjunction with inq_achs_length(), inq_achs_offsets1(), inq_achs_offsets2(), inq_achs_rotx(), inq_achs_roty(), inq_achs_rotz() More...
|
|
static ER_DllExport double * | inq_achs_rotz (void) |
| Kinematics angles for Z rotation [deg] for each active joint
Calculated from "Geometric Data to next". More...
|
|
static ER_DllExport frame * | inq_achs_T_activ (void) |
| Kinematics transformation to the next joint for each active joint "Geometric Data to next"
. More...
|
|
static ER_DllExport frame * | inq_achs_T0_activ (void) |
| Kinematics transformation from last joint for each active joint "Geometric Data from last"
. More...
|
|
static ER_DllExport frame * | inq_kin_T_active (int active_jnt_no) |
| Homogeneous-Transformation from cRobot base to active Joint coorsys
depending on current joint location. More...
|
|
static ER_DllExport int * | inq_num_kin_user_data (void) |
| Number of Sets of Kin User Data
See also inq_kin_user_data_name(), inq_kin_user_data() More...
|
|
static ER_DllExport char ** | inq_kin_user_data_name (int idx=0) |
| Special User Data Names See also inq_num_kin_user_data(), inq_kin_user_data() More...
|
|
static ER_DllExport float * | inq_kin_user_data (int idx=0) |
| Special kinematics User Data See also inq_num_kin_user_data(), inq_kin_user_data_name() More...
|
|
static ER_DllExport double * | inq_sing_tol (void) |
| Singularity tolerance for each axis [m,rad]. More...
|
|
static ER_DllExport double * | inq_sing_tolx (void) |
| translational singularity tolerance [m] More...
|
|
static ER_DllExport double * | inq_sing_tolq (void) |
| Rotational singularity tolerance [rad]. More...
|
|
static ER_DllExport double * | inq_joint_offset (void) |
| cRobot joint offsets for each active joint in [m] or [rad] More...
|
|
static ER_DllExport float * | inq_q (int soln) |
| Solution array as a result of inverse kinematics calculation
The inverse kinematics IKP calculates for each possible configuration one set of joint values,
see rob_kin_inv() and rob_kin_inv_ext()
For each solution a warning value, which is one of WARN_OK=0, WARN_SINGULAR=1, WARN_UNREACH=2, WARN_CNFG=3, WARN_NO_INVKIN=4 or WARN_SWE_EXCEED=5 is calculated, see also inq_warnings()
The current or requested robot configuration can be achieved with inq_config() [0 ... "number of possible robot configurations"-1] The current joint axis values [rad,m] can be achieved with inq_q_solut() Remarks
The Solution array has a maximum size of [KIN_CONFIGS] by [KIN_DOFS]
. More...
|
|
static ER_DllExport int * | inq_warnings (void) |
| Warning vector for inverse kinematics
For each solution a warning value, which is one of WARN_OK, WARN_SINGULAR, WARN_UNREACH, WARN_CNFG, ::, WARN_SWE_EXCEED is calculated
See also solution array inq_q() More...
|
|
static ER_DllExport int * | inq_active_jnt_sign (void) |
| Sign for active joints
+1 for positive jont direction
-1 for negative joint direction. More...
|
|
static ER_DllExport int | inq_num_active_jnts (void) |
| Number of active joints
within [1..KIN_DOFS]. More...
|
|
static ER_DllExport int | inq_num_passive_jnts (void) |
| Number of passive joints
within [1..KIN_PASSIV_JNTS]. More...
|
|
static ER_DllExport float * | inq_q_solut_passive (void) |
| Desired passive joint axis values. More...
|
|
static ER_DllExport float * | inq_swe_min_passive (void) |
| Minimum travel ranges for passive joints. More...
|
|
static ER_DllExport float * | inq_swe_max_passive (void) |
| Maximum travel ranges for passive joints. More...
|
|
static ER_DllExport int | inq_num_configs (void) |
| Number of cRobot configurations within [1..KIN_CONFIGS]. More...
|
|
static ER_DllExport int | inq_config (void) |
| Return current robot configuration
within [0..KIN_CONFIGS-1], see also inq_num_configs() More...
|
|
static ER_DllExport int * | inq_config_ext (void) |
| Return pointer of current robot configuration
within [0..KIN_CONFIGS-1], see also inq_config() and inq_num_configs() More...
|
|
static ER_DllExport int * | inq_cnfg_soln (void) |
| Return robot configuration solution IDs
Remarks
All values should be different, i.e. [0 1 2 3 4 5 6 7]
Examples:
EASY-ROB mathematical solution order [0 1 2 3 4 5 6 7]
fits to ...
--> Fanuc solution order NUT , FUT , NDT , FDT , NDB , FDB , NUB , FUB -> [0 1 2 3 4 5 6 7]
--> Comau solution order — , –W , -E- , -EW , SE- , SEW , S– , S-W -> [0 4 2 6 1 5 3 7]
--> Kuka solution order B010, B110, B000, B100, B001, B101, B011, B111 -> [0 1 2 3 4 5 6 7]
--> ABB solution order Cfg1, Cfg2, Cfg3, Cfg4, Cfg5, Cfg6, Cfg7, Cfg8 -> [0 4 2 6 1 5 3 7]. More...
|
|
static ER_DllExport int * | inq_turn_enable (void) |
| Turns enabled
The turn_enable is set automatically for PTP motion and if the PTP calculation mode is PTP_TARGET_CALC_MODE_TURNS. More...
|
|
static ER_DllExport int * | inq_turn_value (void) |
| Index for Turn Range, default=0
The turn_value depends on current robot joints and the defined turn_interval. More...
|
|
static ER_DllExport int | calc_TurnValue (float *q=NULL, int *turn_value=NULL) |
| Calculates turn value depending on robot joints q
The turn_value depends on current robot joints and the defined turn_interval
If q is NULL, this function uses the current robot joints inq_q_solut()
If turn_value is NULL, the results are in inq_turn_value() More...
|
|
static ER_DllExport ROB_DH * | inq_rob_dh_activ (void) |
| Denavit-Hartenberg-Transformation to the next joint for each active joint "Geometric Data to next". More...
|
|
static ER_DllExport ROB_DH * | inq_rob_dh0_passiv (void) |
| Denavit-Hartenberg-Transformation to previous joint for each passive joint "Geometric Data from last". More...
|
|
static ER_DllExport ROB_DH * | inq_rob_dh_passiv (void) |
| Denavit-Hartenberg-Transformation to next joint for each passive joint "Geometric Data to next"
see inq_rob_dh0_passiv() More...
|
|
static ER_DllExport char * | inq_robot_name (void) |
| Name of cRobot. More...
|
|
static ER_DllExport char * | inq_robot_fln_name (void) |
| File name of cRobot. More...
|
|
static ER_DllExport int * | inq_robot_type (void) |
| Type of device, i.e. Robot, Tool, etc. More...
|
|
static ER_DllExport char * | inq_robot_type_s (int type_idx=0) |
| Name of current robot type
see inq_robot_type() More...
|
|
static ER_DllExport int * | inq_robot_enabled (void) |
| Dis- or enable current robot. More...
|
|
static ER_DllExport int * | inq_robot_render (void) |
| Render of cRobot. More...
|
|
static ER_DllExport int * | inq_tool_render (void) |
| Render of cRobots Tool. More...
|
|
static ER_DllExport int * | inq_robot_collision (void) |
| 1-def, robot is in collision queue, if robot_collision disabled, no collision check More...
|
|
static ER_DllExport int * | inq_tool_collision (void) |
| 1-def, tool is in collision queue, if tool_collision disabled, no collision check More...
|
|
static ER_DllExport int * | inq_robot_ref_collision (void) |
| 0-def, collision chk vs. reference device
More...
|
|
static ER_DllExport int * | inq_robot_itself_collision (void) |
| 0-def, collision chk vs. itself device
More...
|
|
static ER_DllExport int * | inq_kin_connect_dof_activ (void) |
| Dof array where active joints are connected to [-num_pJnts, ... , 0 , num_aJnts, tip]
Remarks
A negative idx represents a passive joint
A positive idx represents an active joint
Zero represents the robot base
see inq_kin_chain_type_activ(), inq_kin_type_activ(), inq_kin_chain_type_activ() More...
|
|
static ER_DllExport char * | inq_kin_direction_activ (void) |
| 'X'-,'Y'- or 'Z'- direction for active joints
Remarks
For a six axis robot the direction string could be "ZYYXYX"
see inq_kin_type_activ(), inq_kin_chain_type_activ() More...
|
|
static ER_DllExport char * | inq_kin_type_activ (void) |
| 'T'- translational-, 'R'- revolute for active joints Remarks
For a six axis robot with six rotational joints, the type string could be "RRRRRR"
see inq_kin_direction_activ(), inq_kin_chain_type_activ() More...
|
|
static ER_DllExport char * | inq_kin_chain_type_activ (void) |
| 'C' in kin chain (default); '_' NOT in kin. chain; '-' separated and NOT in kin.chain
Remarks
For a six axis robot with six rotational joints in a serial chain, the chain type string could be "CCCCCC"
see inq_kin_direction_activ(), inq_kin_type_activ() More...
|
|
static ER_DllExport int * | inq_kin_id (void) |
| Kinematics ID. More...
|
|
static ER_DllExport float * | inq_bdxw (void) |
| Cartesian Error in Tcp w.r.t. robot base
see also inq_dq() More...
|
|
static ER_DllExport float * | inq_dq (void) |
| Joint error
see also inq_bdxw() More...
|
|
static ER_DllExport int * | inq_kin_connect_dof_passiv (void) |
| Dof array where passive joints are connected to [-num_pJnts, ... , 0 , num_aJnts]
Remarks
A negative idx represents a passive joint
A positive idx represents an active joint
Zero represents the robot base
see inq_kin_chain_type_passiv(), inq_kin_type_passiv(), inq_kin_direction_passiv() More...
|
|
static ER_DllExport char * | inq_kin_direction_passiv (void) |
| 'X'-,'Y'- or 'Z'- direction for passive joints
Remarks
For a two passive joints the direction string could be "XZ"
see inq_kin_type_passiv(), inq_kin_direction_passiv() More...
|
|
static ER_DllExport char * | inq_kin_type_passiv (void) |
| 'T'- translational-, 'R'- revolute for passive joints
Remarks
For a two passive joints the type string could be "TR"
see inq_kin_direction_passiv(), inq_kin_direction_passiv() More...
|
|
static ER_DllExport char * | inq_kin_chain_type_passiv (void) |
| 'C' in kin chain (default); '_' NOT in kin. chain; '-' separated and NOT in kin.chain
Remarks
For a passive joints within a serial chain of active joints, the chain type string could be "C"
see inq_kin_direction_passiv(), inq_kin_type_passiv() More...
|
|
static ER_DllExport char * | inq_kin_move_base_type_passiv (void) |
| 'B' passive Jnt is move base; '-' passive Jnt is NOT a move base
Remarks
A "B" denotes that the passive joint represents a moveable base, see constant transformation inq_pjntTmb()
A "-" denotes that the passive joint does not represent the move base, which is the normal case
see inq_kin_direction_passiv(), inq_kin_type_passiv() More...
|
|
static ER_DllExport char * | inq_kin_calc_passiv (int passiv_jnt_no) |
| Formula for mathematical dependency for passive joints. More...
|
|
static ER_DllExport int * | inq_kin_attach_dof_passiv (void) |
| Index of aJnt, where pJnt is attached to
If 0, the passive joint is attached to the robot base. More...
|
|
static ER_DllExport frame * | inq_kin_achs_T0_passiv (int passiv_jnt_no) |
| Homogeneous-Transformation to previous joint for each passive joint "Geometric Data from last". More...
|
|
static ER_DllExport frame * | inq_kin_achs_T_passiv (int passiv_jnt_no) |
| Homogeneous-Transformation to next joint for each passive joint "Geometric Data to next"
see inq_kin_achs_T0_passiv() More...
|
|
static ER_DllExport frame * | inq_kin_T_passiv (int passiv_jnt_no) |
| Homogeneous-Transformation from cRobot base to passive Joint coorsys
depending on current joint location. More...
|
|
static ER_DllExport double * | inq_univ_trans_tol_rad (void) |
| Square of cartesian orientation tolerance [rad^2]
Used for numerical solution for inverse kinematics.
The cartesian orientation tolerance value determine the termination criteria for the iteration
Remarks
An orientation tolerance of 0.1 [deg] results in 3.0462e-006 [rad^2] = (0.1*pi/180)^2 [rad^2]. More...
|
|
static ER_DllExport double * | inq_univ_trans_tol_m (void) |
| Square of cartesian position tolerance [m^2]
Used for numerical solution for inverse kinematics.
The cartesian position tolerance value determine the termination criteria for the iteration
Remarks
An position tolerance of 0.1 [mm] results in 1.0e-008 [m^2] = (0.1/1000)^2 [m^2]. More...
|
|
static ER_DllExport int * | inq_univ_trans_ilimit (void) |
| Number of maximum iterations
Used for numerical solution for inverse kinematics.
This value determine the termination criteria for the iteration
The default value is 150. If the minimum error or other termination criteria are not fulfilled, the iterration will stop. More...
|
|
static ER_DllExport double * | inq_univ_trans_mask (void) |
| Cartesian mask
Used for numerical solution for inverse kinematics.
The cartesian mask allows to mask out one or more cartesian degree of freedom ()
X, Y, Z, Rx, Ry, Rz. More...
|
|
static ER_DllExport double * | inq_univ_trans_weight (void) |
| Joint weight
Used for numerical solution for inverse kinematics.
The joint weight allows to weight each joint. Valid values should be between [0..1]. More...
|
|
static ER_DllExport frame ** | inq_univ_trans_T (void) |
| Address to Target location base to tip, obsolete
Used for numerical solution for inverse kinematics. More...
|
|
static ER_DllExport void ** | inq_kin_usr_ptr (void) |
| Access user pointer for user kinematics in er_kin.dll
This allows the user to allocate individual memory.
EASY-ROB administrates this pointer, related to the current device. More...
|
|
static ER_DllExport int | data_update_all_devices (void) |
| Forces mathematical update for all devices, use before calling chk_limits(::AUX_UPDATE_IDX_COLLISION)
Calculates for alle devices the forward kinematics, all joints coorsys and the devices location w.r.t world. More...
|
|
static ER_DllExport int | inq_Get_n_devices (void) |
| Get number of current loaded robots in a workcell. More...
|
|
static ER_DllExport int | inq_Get_c_device_idx (void) |
| Get current device idx [1..n_devices]. More...
|
|
static ER_DllExport ER_UID | inq_Get_c_device_uid (void) |
| Get current device unique id. More...
|
|
static ER_DllExport int | inq_Set_device_idx (int device_idx) |
| Sets current device idx [1..n_devices]. More...
|
|
static ER_DllExport int | inq_Set_device_uid (ER_UID device_uid) |
| Sets current device unique id. More...
|
|
static ER_DllExport int | inq_Set_device_name (char *device_name) |
| Sets current device by name of the robot
Remarks
A device name must be unique. More...
|
|
static ER_DllExport int | inq_Get_device_idx_by_uid (ER_UID uid) |
| Gets device idx by device unique id
if the uid is not valid, -1 is returned. More...
|
|
static ER_DllExport ER_UID | inq_Get_device_uid_by_idx (int idx) |
| Get device unique uid by device idx
if idx is not valid, -1 is returned. More...
|
|
static ER_DllExport char * | inq_Get_device_name_by_uid (ER_UID uid) |
| Get device name by device unique id
if uid is not valid, NULL is returned. More...
|
|
static ER_DllExport char * | inq_Get_device_name_by_idx (int idx) |
| Get device name by device idx [1..n_devices]
if idx is not valid, NULL is returned. More...
|
|
static ER_DllExport int | inq_Get_device_idx_by_name (char *device_name) |
| Get device idx by device name
if 'device name' is not valid, -1 is returned. More...
|
|
static ER_DllExport ER_UID | inq_Get_device_uid_by_name (char *device_name) |
| Get device unique uid by device name
if 'device name' is not valid, -1 is returned. More...
|
|
static ER_DllExport int * | inq_device_ref_sys_type (void) |
| Reference type of the current device
The reference type (attach location) can be one of the following values.
REF_NO_REF, REF_BASE, REF_TOOL, REF_WORLD, REF_WOBJ, REF_TAG, REF_CAD, REF_TIP, REF_JNT, REF_GRAB. More...
|
|
static ER_DllExport char * | inq_device_ref_sys_type_name (void) |
| Reference type name of the current device
The reference type name (name of attach location) depends of one of the following values.
REF_NO_REF, REF_BASE, REF_TOOL, REF_WORLD, REF_WOBJ, REF_TAG, REF_CAD, REF_TIP, REF_JNT, REF_GRAB
See also inq_device_ref_sys_type() More...
|
|
static ER_DllExport int * | inq_device_ref_sys_grp (void) |
| Reference group of current device
The reference group depends on the attach location.
e.g.: If the cDevice is attacehd to another robot, the returned reference group will ROBOT_GRP
If the cDevice is not attached, the returned reference group will be UNDEF_GRP
The reference group is one of UNDEF_GRP=-1, ROBOT_GRP=0, TOOL_GRP=1, BODY_GRP=2. More...
|
|
static ER_DllExport ER_UID * | inq_device_ref_sys_grp_uid (void) |
| Unique ID of reference device/robot
The Unique ID depends on the attach location. More...
|
|
static ER_DllExport char * | inq_device_ref_sys_name (void) |
| Reference name of the current device
The reference type name (name of attach location) depends of one of the following values.
REF_NO_REF, REF_BASE, REF_TOOL, REF_WORLD, REF_WOBJ, REF_TAG, REF_CAD, REF_TIP, REF_JNT, REF_GRAB
See also inq_device_ref_sys_type(), inq_device_ref_sys_type_name() Remarks
In case of the reference type is REF_CAD, the name of the reference body is returned. More...
|
|
static ER_DllExport int * | inq_device_ref_sys_jnt_idx (void) |
| Reference joint idx of the cDevice, if the reference type is REF_JNT
The index of reference joint is returned
For active joints a positive value > 0 is returned
For passive joints a negative value < 0 is returned
0 is returned if the cDevice is attached to the robot base or if the reference type is not REF_JNT. More...
|
|
static ER_DllExport int | Device_Create (char *robot_name) |
| Creates a new device with one rotational axis in z direction. More...
|
|
static ER_DllExport int | Device_ReAttach_by_name (int new_reference_type, char *new_reference_device_name, int new_reference_jnt_idx, bool keep_world_position) |
| Attaches the current device to another device
Attaches the current device to another device, given by new_reference_device_name
The attach location can be one of the following values.
REF_NO_REF - no reference system defined
REF_BASE - reference system is robot Base coorsys
REF_TOOL - reference system is robot Tool, Tcp coorsys
REF_WORLD - reference system is World, Inertia coorsys
REF_WOBJ - reference system is path work object
REF_TAG - reference system is tag
REF_CAD - reference system is geometry
REF_TIP - reference system is robot Flange, Tip coorsys
REF_JNT - reference system is a robot Joint
REF_GRAB - reference system is robot Flange, Tip coorsys
Parameter keep_world_position determine if the current device will keep its current world position or will "jump" to the defined attach location
See also Device_ReAttach_by_idx(), Device_ReAttach_by_uid()
Remarks
Make sure that the device to be attached to is current inq_Set_device_idx() More...
|
|
static ER_DllExport int | Device_ReAttach_by_idx (int new_reference_type, int new_reference_device_idx, int new_reference_jnt_idx, bool keep_world_position) |
| Attaches the current device to another device
Attaches the current device to another device, given by new_reference_device_idx
The attach location can be one of the following values.
REF_NO_REF - no reference system defined
REF_BASE - reference system is robot Base coorsys
REF_TOOL - reference system is robot Tool, Tcp coorsys
REF_WORLD - reference system is World, Inertia coorsys
REF_WOBJ - reference system is path work object
REF_TAG - reference system is tag
REF_CAD - reference system is geometry
REF_TIP - reference system is robot Flange, Tip coorsys
REF_JNT - reference system is a robot Joint
REF_GRAB - reference system is robot Flange, Tip coorsys
Parameter keep_world_position determine if the current device will keep its current world position or will "jump" to the defined attach location
See also Device_ReAttach_by_name(), Device_ReAttach_by_uid()
Remarks
Make sure that the device to be attached to is current inq_Set_device_idx()
The device idx is within [1..n_devices]. More...
|
|
static ER_DllExport int | Device_ReAttach_by_uid (int new_reference_type, ER_UID new_reference_device_uid, int new_reference_jnt_idx, bool keep_world_position) |
| Attaches the current device to another device
Attaches the current device to another device, given by new_reference_device_uid
The attach location can be one of the following values.
REF_NO_REF - no reference system defined
REF_BASE - reference system is robot Base coorsys
REF_TOOL - reference system is robot Tool, Tcp coorsys
REF_WORLD - reference system is World, Inertia coorsys
REF_WOBJ - reference system is path work object
REF_TAG - reference system is tag
REF_CAD - reference system is geometry
REF_TIP - reference system is robot Flange, Tip coorsys
REF_JNT - reference system is a robot Joint
REF_GRAB - reference system is robot Flange, Tip coorsys
Parameter keep_world_position determine if the current device will keep its current world position or will "jump" to the defined attach location
See also Device_ReAttach_by_name(), Device_ReAttach_by_idx()
Remarks
Make sure that the device to be attached to is current inq_Set_device_idx() More...
|
|
static ER_DllExport int | Tool_Device_by_name (char *tool_device_name) |
| Sets tool data to the device specified by name
The current device takes over the current tool data of the device tool_device_name
See also Tool_Device_by_idx(), Tool_Device_by_uid()
Remarks
This is not a copy of the tool data.
The new tool data for the current device is calculated by the transformtion from the current device tip to the tcp location of the tool device. More...
|
|
static ER_DllExport int | Tool_Device_by_idx (int tool_device_idx) |
| Sets tool data to the device specified by idx
The current device takes over the current tool data of the device tool_device_idx
See also Tool_Device_by_name(), Tool_Device_by_uid()
Remarks
This is not a copy of the tool data.
The new tool data for the current device is calculated by the transformtion from the current device tip to the tcp location of the tool device. More...
|
|
static ER_DllExport int | Tool_Device_by_uid (ER_UID tool_device_uid) |
| Sets tool data to the device specified by unique id
The current device takes over the current tool data of the device tool_device_uid
See also Tool_Device_by_name(), Tool_Device_by_idx()
Remarks
This is not a copy of the tool data.
The new tool data for the current device is calculated by the transformtion from the current device tip to the tcp location of the tool device. More...
|
|
static ER_DllExport int * | inq_device_link_ref_sys_type (void) |
| Linkage reference type of the current device
The linkage reference type can be one of the following values.
REF_NO_REF if cDevice is not synchrnized
REF_JNT if cDevice is linked by joint to another device
See inq_device_link_ref_sys_grp_uid(), inq_device_link_ref_sys_jnt_link_idx(), Device_Link_by_name() More...
|
|
static ER_DllExport int * | inq_device_sync_ref_sys_type (void) |
| Obsolete, use inq_device_link_ref_sys_type() More...
|
|
static ER_DllExport char * | inq_device_link_ref_sys_type_name (void) |
| Linkage reference type name of the current device
The linkage reference type name depends on the inq_device_link_ref_sys_type() and can be one of the following values.
REF_NO_REF if cDevice is not synchrnized
REF_JNT if cDevice is linked by joint to another device
See inq_device_link_ref_sys_type() More...
|
|
static ER_DllExport char * | inq_device_sync_ref_sys_type_name (void) |
| Obsolete, use inq_device_link_ref_sys_type_name() More...
|
|
static ER_DllExport ER_UID * | inq_device_link_ref_sys_grp_uid (void) |
| Linkage Unique ID of the reference device current device
The Unique ID depends on the linkage reference type, which is REF_JNT if linked. More...
|
|
static ER_DllExport ER_UID * | inq_device_sync_ref_sys_grp_uid (void) |
| Obsolete, use inq_device_link_ref_sys_grp_uid() More...
|
|
static ER_DllExport int * | inq_device_link_ref_sys_jnt_link_idx (void) |
| Linkage joint index vector, if the linkage reference type is REF_JNT and valid unique ID exist
The joint index vector contains for each active Jnt a linkage index
This linkage index is
0 if linked with an active joint of a sync. ref. device
< 0 if linked with a passive joint of a sync. ref. device
= 0 if no linkage
See inq_device_link_ref_sys_type(), inq_device_link_ref_sys_grp_uid. More...
|
|
static ER_DllExport int * | inq_device_sync_ref_sys_jnt_sync_idx (void) |
| Obsolete, use inq_device_link_ref_sys_jnt_link_idx() More...
|
|
static ER_DllExport int | Device_Link_by_name (int new_reference_type, char *new_reference_device_name=NULL, int *new_reference_jnt_link_idx=NULL) |
| Link current device to another device by name
new_reference_type one of REF_NO_REF=0 or REF_JNT=9
new_reference_device_name name of device to synchonize with
new_reference_jnt_sync_idx reference joint idxs for each Jnt, if new_reference_type is REF_JNT
See Device_Link_by_idx(), Device_Link_by_uid() More...
|
|
static ER_DllExport int | Device_Sync_by_name (int new_reference_type, char *new_reference_device_name=NULL, int *new_reference_jnt_link_idx=NULL) |
| Obsolete, use Device_Link_by_name() More...
|
|
static ER_DllExport int | Device_Link_by_idx (int new_reference_type, int new_reference_device_idx=0, int *new_reference_jnt_link_idx=NULL) |
| Link current device to another device by idx
new_reference_type one of REF_NO_REF=0 or REF_JNT=9
new_reference_device_idx idx of device to synchonize with, [1..n_devices]
new_reference_jnt_sync_idx reference joint idxs for each Jnt, if new_reference_type is REF_JNT See Device_Link_by_name(), Device_Link_by_uid() More...
|
|
static ER_DllExport int | Device_Sync_by_idx (int new_reference_type, int new_reference_device_idx=0, int *new_reference_jnt_link_idx=NULL) |
| Obsolete, use Device_Link_by_idx() More...
|
|
static ER_DllExport int | Device_Link_by_uid (int new_reference_type, ER_UID new_reference_device_uid=0, int *new_reference_jnt_link_idx=NULL) |
| Link current device to another device by uid
new_reference_type one of REF_NO_REF=0 or REF_JNT=9
new_reference_device_uid uid of device to synchonize with
new_reference_jnt_sync_idx reference joint idxs for each Jnt, if new_reference_type is REF_JNT See Device_Link_by_name(), Device_Link_by_idx() More...
|
|
static ER_DllExport int | Device_Sync_by_uid (int new_reference_type, ER_UID new_reference_device_uid=0, int *new_reference_jnt_link_idx=NULL) |
| Obsolete, use Device_Link_by_uid() More...
|
|