EASY-ROBâ„¢ Kernel  v9.304
er_Kernel_main.h
Go to the documentation of this file.
1 /* ------------------------------------------------------------------------------------------
2 
3  EASY-ROB Robotics Simulation Kernel
4 
5  EASY-ROB Software GmbH
6 
7  Copyright (c) 1996 - 2024
8 
9  Date: JUN 2024
10  Version: 9.304
11 
12  Description
13  This module declares all interface functions and data types supplied in this kernel and
14  for usages in the host application. The exported functions should be also entered in
15  the modul definition file (EasySimKernel.def).
16  The DLL exports ANCI-C compatable functions.
17  The kernel is available on windows x86, x64 and on Linux.
18 
19  Beschreibung
20  Dieses Modul deklariert alle Schnittstellenfunktionen und Datentypen des Kernels zur
21  Hostanwendung. Die Funktionen, die von der DLL, exportiert werden sollen müssen
22  in die Moduldefinitionsdatei (EasySimKernel.def) eingetragen werden.
23  Die DLL exportiert ANSI-C kompatible Funktionen.
24  Der Kernel ist unter Windows x86, x64 und unter Linux verfügbar.
25 
26  Autor
27  EASY-ROB Software GmbH
28 
29  Modifications
30  26-Feb-2004 - TP,SAN - Erstellt
31  xx-Feb-2004 - SAN - Implementierung
32  10-nov-2004 - SAN - MotionPlanner Implementierung (Key "MotionPlanner")
33  12-nov-2004 - SAN -> NEW_041112
34  24-mar-2005 - SAN -> NEW_050324
35  xx-aug-2012 - SAN -> v6.004
36  1)
37  //#include "ipo_extax.h" // obsolete, use ER_EXTAX_KIN_DATA_MAX instead of EXTAX_KIN_DATA_MAX
38  const long ER_EXTAX_KIN_DATA_MAX = 12; ///< Maximum number of external axis data
39  2)
40  TARGET_TYPE_ABS changes to ER_TARGET_TYPE_ABS ///< Target w.r.t object frame
41  TARGET_TYPE_ABSJOINT changes to ER_TARGET_TYPE_ABSJOINT ///< Target single axis motion,if motion_type = JOINT --> AbsJoint
42  3)
43  erSetSpeedReductionEnable() new
44  erGetSpeedReductionEnable() new
45 
46  //structure NEXT_STEP_DATA is extended by
47  //double DistanceToDestination[DISTANCE_TO_DESTINATION]; ///< distance to destination: [0] distance [m], [1] angle [rad], [2] percentage [%], [3..] tbd
48  07-nov-2013 - SAN -> v6.303
49  class ERK_CAPI
50  13-jan-2015 - SAN -> v6.601
51  31-mar-2015 - SAN -> v6.604
52  01-jul-2015 - SAN -> v6.606
53  13-jul-2015 - SAN -> v6.608 VS-2012
54  27-jul-2015 - SAN -> v6.609 erColl_ChkCollision_res() thread save
55  22-dec-2015 - SAN -> v6.611 Support ER_MOTION_FILTER_GEO for external axis
56  13-jan-2016 - SAN -> v6.612 BugFix MultiKIN Option, erGet_n_Kin_IR()
57  18-mar-2016 - SAN -> v7.001 Major Release, MatrixLock
58  03-jun-2016 - SAN -> v7.002
59  18-jul-2016 - SAN -> v7.003 0-DOF Devices
60  17-aug-2016 - SAN -> v7.004 Famos x64
61  29-sep-2016 - SAN -> v7.005 MultiDongle
62  23-feb-2017 - SAN -> v7.301 Major PreRelease
63  10-apr-2017 - SAN -> v7.302 Major Release
64  28-sep-2017 - SAN -> v7.305 Final Release
65  10-sep-2017 - SAN -> v7.306 ToolPathIntegration ...
66  24-jan-2018 - SAN -> v7.307 Patch
67  06-apr-2018 - SAN -> v7.601 Major PreRelease
68  08-may-2018 - SAN -> v7.602 API PostProc
69  17-jul-2018 - SAN -> v7.603
70  12-nov-2018 - SAN -> v7.606 ToolPath optimization
71  01-feb-2019 - SAN -> v7.607 autopath
72  08-aug-2019 - SAN -> v8.001 Major PreRelease
73  03-sep-2019 - SAN -> v8.002 VS2017
74  17-sep-2019 - SAN -> v8.003 API-INV
75  09-dec-2019 - SAN -> v8.004 GEOMNGR
76  23-feb-2020 - SAN -> v8.005 ToolOffset
77  16-jun-2020 - SAN -> v8.007 ER_KIN_PASSIVE_JNTS = 36
78  29-jul-2020 - SAN -> v8.301 GEOMNGR integration API
79  16-dec-2020 - SAN -> v8.304 Major Release
80  30-jul-2021 - SAN -> v8.307 Additional methods to access kinematics attributes, license priority ER_LICENSE_PRIORITY_LMNGR, ER_LICENSE_PRIORITY_LOCAL
81  29-nov-2021 - SAN -> v8.308 License.enc
82  23-mar-2022 - SAN -> v8.602 PreRelease
83  03-aug-2022 - SAN -> v8.602 Patch erk_AutoPath*() c-functions added
84  09-aug-2022 - SAN -> v8.603 PreRelease
85  08-sep-2022 - SAN -> v8.604 PreRelease - AutoPath Minimize -> try to reach last waypoint first
86  13-oct-2022 - SAN -> v8.605 PreRelease - AutoPath Abort Problem
87  19-apr-2023 - SAN -> v8.606 BugFix in ER_SK_INTERFACE::loc_FreeGrp(()
88  24-jul-2023 - SAN -> v9.301 PreRelease
89  19-dec-2023 - SAN -> v9.302 PreRelease, PKM: Delta-5D
90  26-jun-2024 - SAN -> v9.304 PreRelease, Cloos
91 
92 ------------------------------------------------------------------------------------------ */
93 
94 #ifndef _er_kernel_main_h
95 #define _er_kernel_main_h
96 
97 #include "erk_capi_types.h"
98 
99 #ifdef __cplusplus
100 extern "C" {
101 #endif
102 
103 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 // Administrative Kernel Functions, Initialization etc.
107 // class ERK_CAPI_ADMIN
108 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
109 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
111 #pragma region region_erk_init_license
112 
117 
126 DLLAPI long ER_STDCALL erKernelSetLicensePriority(int license_priority);
127 
135 DLLAPI long ER_STDCALL erKernelGetLicensePriority(int *license_priority);
136 
144 DLLAPI long ER_STDCALL erKernelSetLicenseFile(char *license_file);
145 
153 DLLAPI long ER_STDCALL erKernelAddLicenseFile(char *license_file);
154 
161 DLLAPI long ER_STDCALL erKernelGetLicenseFile(char *license_file);
162 
188 DLLAPI long ER_STDCALL erKernelInitialize(char *HostApplicationPath, char *Sold_To_ID, long mode=0);
189 
190 #pragma endregion region_erk_init_license
191 
192 #pragma region region_erk_admin
193 
199 DLLAPI void ER_STDCALL erKernelFree(void);
200 
206 DLLAPI long ER_STDCALL erKernelGetLicense(char *hw_id);
207 
213 DLLAPI long ER_STDCALL erKernelGetHardwareID(char *hw_id);
214 
220 DLLAPI long ER_STDCALL erKernelGetExpirationDate(char *expdate);
221 
227 DLLAPI long ER_STDCALL erKernelGetOptions(char *opt);
228 
235 
236 #pragma endregion region_erk_admin
237 
238 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
239 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
240 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
241 // Funktionen zum Aufnehmen der Call-Back Funktionen
242 // class ERK_CAPI_CALLBACKS
243 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
244 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
245 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
246 #pragma region region_erk_callbacks
247 
248 /* AddToHostLog
249  Fügt dem Log der Hostanwendung einen Eintrag hinzu, oder gibt eine Statusmeldung in der
250  Statuszeile aus.
251 */
257 
258 /* Enable/Disable
259  AddToHostLog messages
260 */
280 
281 /* HostLoadGeometry
282  Fordert die Hostanwendung auf eine Geometrie aus einer Datei zu laden.
283 
284  ErHandle: Handle der Kinematik, der die Geometrie zugeordnet werden soll.
285  GeoHandle: Handle auf eine eventuell schon zuvor geladene Geomtrie der Kinematik
286  Funktioniert derzeit nicht und muss 0 sein.
287  Scaling: Skalierungsfactor mit dem die Geomtrie skaliert werden soll.
288  GeoMat: Eine Transformation zur Lagekorrektur der Geometrie.
289  FileName: Name der Datei, die geladen werden soll. Derzeit wird ein vollständiger Pfad erwartet.
290 
291  Returns: Handle auf die geladene Geomtrie. Im Fehlerfall wird 0 zurückgeliefert
292 */
299 
300 /* HostUpdateGeometry
301  Fordert die Hostanwendung auf die Kinematiktransformation der Geometrie zu aktualisieren.
302 
303  ErHandle: Handle der Kinematik, der die Geometrie zugeordnet werden soll.
304  GeoHandle: Handle auf die Geomtrie, wie von "HostLoadGeometry" geliefert.
305  KinMat: Die neue Transformation.
306 
307  Returns: Im Fehlerfall 1, ansonsten 0
308 */
315 
316 /* HostFreeGeometry
317  Fordert die Hostanwendung die Geometrie freizugeben.
318 
319  ErHandle: Handle der Kinematik, der die Geometrie zugeordnet werden soll.
320  GeoHandle: Handle auf die Geomtrie, wie von "HostLoadGeometry" geliefert.
321 
322  Returns: Im Fehlerfall 1, ansonsten 0
323 */
330 
331 /* HostGetActualTravelRanges
332  Fordert die Hostanwendung die Travel Ranges zu berechnen.
333 
334  ErHandle: Handle der Kinematik, der die Travel Ranges zugeordnet werden soll.
335 
336  Returns: Im Fehlerfall 1, ansonsten 0
337 */
344 /* HostNotify
345  Gibt Meldung an die Hostanwendung.
346 */
353 
354 /* HostGrpSync
355  GrpSync IO Hostanwendung.
356 */
362 #pragma endregion region_erk_callbacks
363 
364 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
365 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
366 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
367 // class ERK_CAPI_DEVICES
368 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
369 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
370 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
371 
372 #pragma region region_erk_devices
373 
374 /* erInitKin
375  Erzeugt ein Roboter Handle
376  Return 0-OK, 1-Error
377  siehe auch erINITIALIZE
378 */
389 DLLAPI long ER_STDCALL erInitKin(ER_HND *er_hnd, Host_HND host_hnd=NULL);
390 
391 /* erUnloadKin
392  Unload Robot Handle
393  Return 0-OK, 1-Error
394 */
404 DLLAPI long ER_STDCALL erUnloadKin(ER_HND *er_hnd);
405 
406 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
407 //
408 // erConnect* NEW_050402
409 //
410 // erConnectPositioner erConnectPositionerSetSync erConnectPositionerGetSync
411 // erConnectConveyor erConnectConveyorSetSync erConnectConveyorGetSync
412 // erConnectTrackMotion erConnectTrackMotionSetSync erConnectTrackMotionGetSync
413 // erConnectRobot erConnectRobotSetSync erConnectRobotGetSync
414 //
415 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
416 /* erConnectPositioner
417  Connects Positioner Kinematik mit dem Handle 'er_hnd_connect' zum Roboter mit dem Handle 'er_hnd'
418  Return 0-OK, 1-Error
419 */
445 DLLAPI long ER_STDCALL erConnectPositioner(ER_HND er_hnd, ER_HND er_hnd_connect);
453 
454 /* erConnectPositionerSetSync
455  Setzt Sync Flag der Positioner Kinematik
456  Return 0-OK, 1-Error
457 */
467 DLLAPI long ER_STDCALL erConnectPositionerSetSync(ER_HND er_hnd, long connect_sync);
468 
469 /* erConnectPositionerGetSync
470  Liest Sync Flag der Positioner Kinematik
471  Return -1-Error, ER_SYNC_UNDEF, ER_SYNC_OFF, ER_SYNC_ON
472 */
482 
483 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
484 /* erConnectConveyor
485  Connects Conveyor Kinematik mit dem Handle 'er_hnd_connect' zum Roboter mit dem Handle 'er_hnd'
486  Return 0-OK, 1-Error
487 */
513 DLLAPI long ER_STDCALL erConnectConveyor(ER_HND er_hnd, ER_HND er_hnd_connect);
521 
522 /* erConnectConveyorSetSync
523  Setzt Sync Flag der Conveyor Kinematik
524  Return 0-OK, 1-Error
525 */
535 DLLAPI long ER_STDCALL erConnectConveyorSetSync(ER_HND er_hnd, long connect_sync);
536 
537 /* erConnectConveyorGetSync
538  Liest Sync Flag der Conveyor Kinematik
539  Return -1-Error, ER_SYNC_UNDEF, ER_SYNC_OFF, ER_SYNC_ON
540 */
550 
551 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
552 /* erConnectTrackMotion
553  Connects Track Kinematik mit dem Handle 'er_hnd_connect' zum Roboter mit dem Handle 'er_hnd'
554  Return 0-OK, 1-Error
555 */
581 DLLAPI long ER_STDCALL erConnectTrackMotion(ER_HND er_hnd, ER_HND er_hnd_connect);
589 
590 /* erConnectTrackMotionSetSync
591  Setzt Sync Flag der TrackMotion Kinematik
592  Return 0-OK, 1-Error
593 */
603 DLLAPI long ER_STDCALL erConnectTrackMotionSetSync(ER_HND er_hnd, long connect_sync);
604 /* erConnectTrackMotionGetSync
605  Liest Sync Flag der TrackMotion Kinematik
606  Return -1-Error, ER_SYNC_UNDEF, ER_SYNC_OFF, ER_SYNC_ON, ER_SYNC_CONVEYOR
607 */
618 
619 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
620 /* erConnectRobot
621  Connects Robot Kinematik mit dem Handle 'er_hnd_connect' zum Roboter mit dem Handle 'er_hnd'
622  Return 0-OK, 1-Error
623 */
649 DLLAPI long ER_STDCALL erConnectRobot(ER_HND er_hnd, ER_HND er_hnd_connect);
657 
658 /* erConnectRobotSetSync
659  Setzt Sync Flag der Robot Kinematik
660  Return 0-OK, 1-Error
661 */
671 DLLAPI long ER_STDCALL erConnectRobotSetSync(ER_HND er_hnd, long connect_sync);
672 /* erConnectRobotGetSync
673  Liest Sync Flag der Robot Kinematik
674  Return -1-Error, ER_SYNC_UNDEF, ER_SYNC_OFF, ER_SYNC_ON
675 */
685 
686 /* erUnloadTool
687  Loescht Tool GeoHandle und setzt Tool auf Ident
688  Important:
689  Damit die TCP Position stimmt, muss ein rob_kin_update() folgen
690  Return 0-OK, 1-Error
691 */
701 DLLAPI long ER_STDCALL erUnloadTool(ER_HND er_hnd);
702 
703 /* erLoadKin
704  Load an easy-rob robot file with tool
705  Return 0-OK, 1-Error oder Abort
706 */
718 DLLAPI long ER_STDCALL erLoadKin(ER_HND er_hnd,char *fln_rob);
719 
720 /* erLoadTool
721  Load an easy-rob tool file
722  Return 0-OK, 1-Error oder Abort
723 */
731 DLLAPI long ER_STDCALL erLoadTool(ER_HND er_hnd,char *fln_tool);
732 
733 /* erGet_n_Kin
734  Return Number of loaded Robots "m_n_rob_kin"
735 */
741 DLLAPI long ER_STDCALL erGet_n_Kin(ER_HND er_hnd);
742 
743 /* erGet_n_Kin_IR
744  Return Number of loaded Robots with more than 3 joints and inverse kinematics "m_n_rob_kin_ir"
745 */
752 
753 /* erGetName
754  Name of Robot
755  Return 0-OK, 1-Error oder Abort
756 */
762 DLLAPI long ER_STDCALL erGetName(ER_HND er_hnd,char *name);
763 
764 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
765 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
766 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
767 // Robot Kinematics
768 // class ERK_CAPI_ROB_KIN
769 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
770 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
771 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
772 
773 /* erGetIDs
774  Kinematik ID - kinematischer Typ
775  RRRRRR_id =1; // Manutec
776  TTTRRR_id =2; // Portal
777  RRRRRR_bl_id =3; // ABB back link
778  UNIV_ROB_id =10; // Universelle Koordinaten
779  DH_id =11; // DH Koordinaten
780  inv_id - ID fuer inverse Kineamtik
781  inv_sub_id - Sub ID fuer inverse Kineamtik
782  Return 0-OK, 1-Error oder Abort
783 */
796 DLLAPI long ER_STDCALL erGetIDs(ER_HND er_hnd,long *kin_id,long *inv_id, long *inv_sub_id);
797 
798 /* erGet_num_dofs
799  Return Number of Robot active joints
800 */
807 
808 /* erGet_num_dofs_passive
809  Return Number of Robot passive joints
810 */
817 
818 /* erGetJointTypes
819  gets type of active robot joints 0-Rot 1-Trans
820  Return 0-OK, 1-Error oder Abort
821 */
830 DLLAPI long ER_STDCALL erGetJointTypes(ER_HND er_hnd, long *jnt_type_active);
831 
832 /* erGetJointTypes_passive
833  gets type of passive robot joints 0-Rot 1-Trans
834  Return 0-OK, 1-Error oder Abort
835 */
844 DLLAPI long ER_STDCALL erGetJointTypes_passive(ER_HND er_hnd, long *jnt_type_passive);
845 
846 /* erGetJointDirections
847  gets direction of active robot joints 1-JNT_DIRECTION_X, 2-JNT_DIRECTION_Y, 3-JNT_DIRECTION_Z
848  Return 0-OK, 1-Error oder Abort
849 */
858 DLLAPI long ER_STDCALL erGetJointDirections(ER_HND er_hnd, long *jnt_direction_active);
859 
860 /* erGetJointDirections_passive
861  gets type direction of passive robot joints 1-JNT_DIRECTION_X, 2-JNT_DIRECTION_Y, 3-JNT_DIRECTION_Z
862  Return 0-OK, 1-Error oder Abort
863 */
872 DLLAPI long ER_STDCALL erGetJointDirections_passive(ER_HND er_hnd, long *jnt_direction_passive);
873 
874 /* erGetJointChainTypes
875  gets chain type of active robot joints 1-JNT_CHAIN_TYPE_CHAIN, 2-JNT_CHAIN_TYPE_NO_CHAIN, 3-JNT_CHAIN_TYPE_SEP_NO_CHAIN
876  Return 0-OK, 1-Error or Abort
877 */
885 DLLAPI long ER_STDCALL erGetJointChainTypes(ER_HND er_hnd, long *jnt_chain_type_active);
886 
887 /* erGetJointChainTypes_passive
888  gets chain type of passive robot joints 1-JNT_CHAIN_TYPE_CHAIN, 2-JNT_CHAIN_TYPE_NO_CHAIN, 3-JNT_CHAIN_TYPE_SEP_NO_CHAIN
889  Return 0-OK, 1-Error or Abort
890 */
898 DLLAPI long ER_STDCALL erGetJointChainTypes_passive(ER_HND er_hnd, long *jnt_chain_type_passive);
899 
900 /* erGetJointAttachDof_active
901  gets Attach-Dof of active robot joints
902  Return 0-OK, 1-Error or Abort
903 */
913 DLLAPI long ER_STDCALL erGetJointAttachDof_active(ER_HND er_hnd, long *jnt_attach_dof_active);
914 
915 /* erGetJointAttachDof_passive
916  gets Attach-Dof of passive robot joints
917  Return 0-OK, 1-Error or Abort
918 */
927 DLLAPI long ER_STDCALL erGetJointAttachDof_passive(ER_HND er_hnd, long *jnt_attach_dof_passive);
928 
929 /* erGetMoveBaseMode
930  gets moveable base mode 0-Robot base is fix (default), 1-Robot base is moveable
931  Return 0-OK, 1-Error oder Abort
932 */
942 DLLAPI long ER_STDCALL erGetMoveBaseMode(ER_HND er_hnd,long *move_base_mode);
943 
944 /* erGetMoveBasepJointIdx
945  gets passive joint idx representing the moveable base
946  0-Robot base is fix (default)
947  n-index of passive joint representing the moveable base
948  Return 0-OK, 1-Error oder Abort
949 */
958 DLLAPI long ER_STDCALL erGetMoveBasepJointIdx(ER_HND er_hnd,long *move_base_pjointidx);
959 
960 /* erGetpJointMoveBase
961  get transformation from passive joint 'pjnt' to the moveable base 'mb'
962  Return 0-OK, 1-Error oder Abort
963 */
972 DLLAPI long ER_STDCALL erGetpJointMoveBase(ER_HND er_hnd,DFRAME *pjntTmb);
973 
974 /* erGetRobotBaseToMoveBase
975  get transformation from robot base 'b' to the moveable base 'mb'
976  bTmb is Ident, if moveable base is fix
977  Return 0-OK, 1-Error oder Abort
978 */
988 
989 /* erSetJoints
990  Set Robot joints
991  Return 0-OK, 1-Error oder Abort
992 */
1001 DLLAPI long ER_STDCALL erSetJoints(ER_HND er_hnd,double *q_solut);
1002 
1003 /* erSetJoint
1004  Set Robot joint
1005  Return 0-OK, 1-Error oder Abort
1006 */
1017 DLLAPI long ER_STDCALL erSetJoint(ER_HND er_hnd,double q_solut, long jnt_no);
1018 
1019 /* erGetJoints
1020  Get current (active) Robot joints
1021  Return 0-OK, 1-Error oder Abort
1022 */
1034 DLLAPI long ER_STDCALL erGetJoints(ER_HND er_hnd,double *q_solut);
1035 
1036 /* erGetJointSolutions
1037  Get all (active) Robot joints solutions
1038  Return 0-OK, 1-Error oder Abort
1039 */
1088 DLLAPI long ER_STDCALL erGetJointSolutions(ER_HND er_hnd,double *q_solutions, long *q_warnings);
1089 
1090 /* erGetJointSpeeds
1091  Get current (active) Robot joint speeds
1092  Return 0-OK, 1-Error oder Abort
1093 */
1103 DLLAPI long ER_STDCALL erGetJointSpeeds(ER_HND er_hnd,double *v_solut);
1104 
1105 /* erGetJointAccels
1106  Get current (active) Robot joint accels
1107  Return 0-OK, 1-Error oder Abort
1108 */
1118 DLLAPI long ER_STDCALL erGetJointAccels(ER_HND er_hnd,double *a_solut);
1119 
1120 /* erGetJoints_passive
1121  Get current passive Robot joints
1122 */
1132 DLLAPI long ER_STDCALL erGetJoints_passive(ER_HND er_hnd,double *q_passive);
1133 
1134 /* erSetConfig
1135  Set Robot configuration
1136 */
1149 DLLAPI long ER_STDCALL erSetConfig(ER_HND er_hnd, long config);
1150 
1151 /* erGetConfig
1152  Set Robot configuration
1153 */
1162 DLLAPI long ER_STDCALL erGetConfig(ER_HND er_hnd, long *config);
1163 
1164 /* erFindConfig
1165  Find current Robot configuration
1166 */
1177 DLLAPI long ER_STDCALL erFindConfig(ER_HND er_hnd, long *config);
1178 
1179 /* erGetNumConfigs
1180  Get Number of Robot configurations
1181 */
1188 DLLAPI long ER_STDCALL erGetNumConfigs(ER_HND er_hnd, long *num_configs);
1189 
1190 /* erInvKinRobotBaseTip
1191  Inverse bTt is Robot base to Tip
1192  Return:
1193  Return code for inverse kinematics, INV_WARN_*
1194 */
1209 
1210 /* erInvKinWorldTip
1211  Inverse iTt is World to Tip
1212  Return:
1213  Return code for inverse kinematics, INV_WARN_*
1214 */
1228 DLLAPI long ER_STDCALL erInvKinWorldTip(ER_HND er_hnd,DFRAME *iTt);
1229 
1230 /* erInvKinRobotBaseTcp
1231  Inverse bTt is Robot base to Tcp
1232  Return:
1233  Return code for inverse kinematics, INV_WARN_*
1234 */
1249 
1250 /* erInvKinWorldTcp
1251  Inverse iTt is World to Tcp
1252  Return:
1253  Return code for inverse kinematics, INV_WARN_*
1254 */
1268 DLLAPI long ER_STDCALL erInvKinWorldTcp(ER_HND er_hnd,DFRAME *iTw);
1269 
1270 /* erSetTool
1271  Set Tool Tip to Tcp
1272 */
1279 DLLAPI long ER_STDCALL erSetTool(ER_HND er_hnd,DFRAME *tTw);
1280 /* erGetTool
1281  Get Tool Tip to Tcp
1282 */
1296 DLLAPI long ER_STDCALL erGetTool(ER_HND er_hnd,DFRAME *tTw);
1297 
1298 /* erGetToolFix
1299  Get Tool Tip to fix Tcp, without Tool Offset
1300 */
1317 DLLAPI long ER_STDCALL erGetToolFix(ER_HND er_hnd, DFRAME *tTwfix);
1318 
1319 /* erSetToolOffset
1320  Set Tool Offset Tcp' to Tcp
1321 */
1328 DLLAPI long ER_STDCALL erSetToolOffset(ER_HND er_hnd, DFRAME *wTwo);
1329 /* erGetToolOffset
1330  Get Tool Offset Tcp' to Tcp
1331 */
1363 DLLAPI long ER_STDCALL erGetToolOffset(ER_HND er_hnd, DFRAME *wTwo);
1364 
1365 /* erSetBaseRobotBase
1366  Set Base w.r.t. RobotBase
1367 */
1376 DLLAPI long ER_STDCALL erSetBaseRobotBase(ER_HND er_hnd,DFRAME *bTbase);
1377 
1378 /* erGetBaseRobotBase
1379  Get Base w.r.t. RobotBase
1380 */
1389 DLLAPI long ER_STDCALL erGetBaseRobotBase(ER_HND er_hnd,DFRAME *bTbase);
1390 
1391 /* erSetBaseWorld
1392  Set Base w.r.t. World
1393 */
1402 DLLAPI long ER_STDCALL erSetBaseWorld(ER_HND er_hnd,DFRAME *iTbase);
1403 
1404 /* erGetBaseWorld
1405  Get Base w.r.t. World
1406 */
1415 DLLAPI long ER_STDCALL erGetBaseWorld(ER_HND er_hnd,DFRAME *iTbase);
1416 
1417 /* erSetRobotBase
1418  Set RobotBase, World to Robot base
1419 */
1426 DLLAPI long ER_STDCALL erSetRobotBase(ER_HND er_hnd,DFRAME *iTb);
1427 
1428 /* erGetRobotBase
1429  Get RobotBase, World to Robot base
1430 */
1444 DLLAPI long ER_STDCALL erGetRobotBase(ER_HND er_hnd,DFRAME *iTb);
1445 
1446 /* erGetRobotBaseTip
1447  Get Robot Tip w.r.t. Robot base
1448 */
1455 DLLAPI long ER_STDCALL erGetRobotBaseTip(ER_HND er_hnd,DFRAME *bTt);
1456 /* erGetRobotBaseTcp
1457  Get Robot Tcp w.r.t. Robot base
1458 */
1465 DLLAPI long ER_STDCALL erGetRobotBaseTcp(ER_HND er_hnd,DFRAME *bTw);
1466 
1467 /* erGetWorldTip
1468  Get Robot Tip w.r.t. World
1469 */
1476 DLLAPI long ER_STDCALL erGetWorldTip(ER_HND er_hnd,DFRAME *iTt);
1477 
1478 /* erGetWorldTcp
1479  Get Robot Tcp w.r.t. World
1480 */
1487 DLLAPI long ER_STDCALL erGetWorldTcp(ER_HND er_hnd,DFRAME *iTw);
1488 
1489 /* erUpdateKin
1490  Update the complete kinematic
1491 */
1500 DLLAPI long ER_STDCALL erUpdateKin(ER_HND er_hnd);
1501 
1502 /* erGetJointFrameRobotBase
1503  Transformation from RobotBase to (active) Robot Joint
1504  Return 0-OK, 1-Error oder Abort
1505 */
1514 DLLAPI long ER_STDCALL erGetJointFrameRobotBase(ER_HND er_hnd,long active_jnt_no,DFRAME *bTax);
1515 
1516 /* erGetJointFrameRobotBase_passive
1517  Transformation from RobotBase to passive Robot Joint
1518  Return 0-OK, 1-Error oder Abort
1519 */
1528 DLLAPI long ER_STDCALL erGetJointFrameRobotBase_passive(ER_HND er_hnd,long passive_jnt_no,DFRAME *bTax);
1529 
1530 /* erGetJointFrameWorld
1531  Transformation from World to (active) Robot Joint
1532  Return 0-OK, 1-Error oder Abort
1533 */
1542 DLLAPI long ER_STDCALL erGetJointFrameWorld(ER_HND er_hnd,long active_jnt_no,DFRAME *iTax);
1543 
1544 /* erGetJointFrameWorld_passive
1545  Transformation from World to passive Robot Joint
1546  Return 0-OK, 1-Error oder Abort
1547 */
1556 DLLAPI long ER_STDCALL erGetJointFrameWorld_passive(ER_HND er_hnd,long passive_jnt_no,DFRAME *iTax);
1557 
1558 /* erSetExtTcpRobotBase
1559  Set external Tcp w.r.t Robot Base
1560  Return 0-OK, 1-Error oder Abort
1561  Ausnahme: Beim Positioner ist der external Tcp w.r.t flange des positioners
1562 */
1571 DLLAPI long ER_STDCALL erSetExtTcpRobotBase(ER_HND er_hnd,DFRAME *bText, long use_ext_flange);
1572 
1573 /* erGetExtTcpRobotBase
1574  Get external Tcp w.r.t. Robot Base
1575  Return 0-OK, 1-Error oder Abort
1576 */
1583 DLLAPI long ER_STDCALL erGetExtTcpRobotBase(ER_HND er_hnd,DFRAME *bText);
1584 
1585 /* erSetExtTcpWorld
1586  Set external Tcp w.r.t world
1587  Return 0-OK, 1-Error oder Abort
1588 */
1595 DLLAPI long ER_STDCALL erSetExtTcpWorld(ER_HND er_hnd,DFRAME *iText);
1596 
1597 /* erGetExtTcpWorld
1598  Get external Tcp w.r.t. world
1599  Return 0-OK, 1-Error oder Abort
1600 */
1607 DLLAPI long ER_STDCALL erGetExtTcpWorld(ER_HND er_hnd,DFRAME *iText);
1608 
1609 /* erSetExtTcpMode
1610  Set ExtTcpMode 0-IPO_MODE_BASE (Werk ZEUG fuehrend), 1-IPO_MODE_TOOL (Werk STUECK fuehren)
1611  Return 0-OK, 1-Error oder Abort
1612 */
1620 DLLAPI long ER_STDCALL erSetExtTcpMode(ER_HND er_hnd,long ext_tcp_mode);
1621 
1622 /* erGetExtTcpMode
1623  Get ExtTcpMode 0-IPO_MODE_BASE (Werk ZEUG fuehrend), 1-IPO_MODE_TOOL (Werk STUECK fuehren)
1624  Return 0-OK, 1-Error oder Abort
1625 */
1633 DLLAPI long ER_STDCALL erGetExtTcpMode(ER_HND er_hnd,long *ext_tcp_mode);
1634 
1635 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1636 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1637 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1638 // Robot Kinematics API
1639 // class ERK_CAPI_ROB_KIN_API
1640 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1641 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1642 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1643 
1644 /* erGetInvKinID
1645  Inverse kinematics ID for cRobot
1646  Return 0-OK, 1-Error oder Abort
1647 */
1654 DLLAPI long ER_STDCALL erGetInvKinID(ER_HND er_hnd, long *invkin_id);
1655 
1656 /* erGetInvKinSubID
1657  Inverse kinematics Sub-ID for cRobot
1658  Return 0-OK, 1-Error oder Abort
1659 */
1666 DLLAPI long ER_STDCALL erGetInvKinSubID(ER_HND er_hnd, long *invkinsub_id);
1667 
1684 DLLAPI long ER_STDCALL erSetJointSolutions(ER_HND er_hnd, double *q_solutions, long *q_warnings);
1685 
1696 DLLAPI long ER_STDCALL erSetJointDyn(ER_HND er_hnd, double q_dyn, long jnt_no);
1697 
1699 DLLAPI long ER_STDCALL erGetJointFrameActiveNext(ER_HND er_hnd, long active_jnt_no, DFRAME *T);
1700 DLLAPI long ER_STDCALL erSetJointFrameActiveNext(ER_HND er_hnd, long active_jnt_no, DFRAME *T);
1701 DLLAPI long ER_STDCALL erGetJointFrameActiveLast(ER_HND er_hnd, long active_jnt_no, DFRAME *T);
1702 DLLAPI long ER_STDCALL erSetJointFrameActiveLast(ER_HND er_hnd, long active_jnt_no, DFRAME *T);
1703 
1704 DLLAPI long ER_STDCALL erGetJointFramePassiveNext(ER_HND er_hnd, long passive_jnt_no, DFRAME *T);
1705 DLLAPI long ER_STDCALL erSetJointFramePassiveNext(ER_HND er_hnd, long passive_jnt_no, DFRAME *T);
1706 DLLAPI long ER_STDCALL erGetJointFramePassiveLast(ER_HND er_hnd, long passive_jnt_no, DFRAME *T);
1707 DLLAPI long ER_STDCALL erSetJointFramePassiveLast(ER_HND er_hnd, long passive_jnt_no, DFRAME *T);
1709 
1710 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1711 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1712 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1713 // Robot Attributes
1714 // class ERK_CAPI_ROB_ATRIBUTES
1715 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1716 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1717 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1718 
1719 
1720 /* erSetHomepos
1721  Set Robot Home position
1722 */
1732 DLLAPI long ER_STDCALL erSetHomepos(ER_HND er_hnd,double *homepos);
1733 
1734 /* erGetHomepos
1735  Get Robot Home position
1736 */
1746 DLLAPI long ER_STDCALL erGetHomepos(ER_HND er_hnd,double *homepos);
1747 
1748 /* erSetSweMin
1749  Set Robot min. SWE Switch
1750 */
1760 DLLAPI long ER_STDCALL erSetSweMin(ER_HND er_hnd,double *swe_min);
1761 
1762 /* erGetSweMin
1763  Get min. SWE Switch
1764 */
1774 DLLAPI long ER_STDCALL erGetSweMin(ER_HND er_hnd,double *swe_min);
1775 
1776 /* erGetSweMinCalc
1777  Get min. calculated SWE Switch
1778 */
1789 DLLAPI long ER_STDCALL erGetSweMinCalc(ER_HND er_hnd,double *swe_min_calc);
1790 
1791 /* erSetSweMax
1792  Set max. SWE Switch
1793 */
1803 DLLAPI long ER_STDCALL erSetSweMax(ER_HND er_hnd,double *swe_max);
1804 
1805 /* erGetSweMax
1806  Get max. SWE Switch
1807 */
1817 DLLAPI long ER_STDCALL erGetSweMax(ER_HND er_hnd,double *swe_max);
1818 /* erGetSweMaxCalc
1819  Get max. calculated SWE Switch
1820 */
1831 DLLAPI long ER_STDCALL erGetSweMaxCalc(ER_HND er_hnd,double *swe_max_calc);
1832 
1833 /* erGetSweMinMaxCalc
1834  Get min. and max. calculated SWE Switches
1835 */
1847 DLLAPI long ER_STDCALL erGetSweMinMaxCalc(ER_HND er_hnd,double *swe_min_calc,double *swe_max_calc);
1848 
1856 DLLAPI long ER_STDCALL erGetSweCalcMode(ER_HND er_hnd,long *swe_calc_mode);
1857 
1858 /* erSetSweMin_passive
1859  Set Robot min. SWE Switch for passive joints
1860 */
1870 DLLAPI long ER_STDCALL erSetSweMin_passive(ER_HND er_hnd, double *swe_min_passive);
1871 /* erGetSweMin_passive
1872  Get min. SWE Switch from passive joints
1873 */
1883 DLLAPI long ER_STDCALL erGetSweMin_passive(ER_HND er_hnd, double *swe_min_passive);
1884 
1885 /* erSetSweMax_passive
1886  Set Robot max. SWE Switch for passive joints
1887 */
1897 DLLAPI long ER_STDCALL erSetSweMax_passive(ER_HND er_hnd, double *swe_max_passive);
1898 /* erGetSweMax_passive
1899  Get max. SWE Switch from passive joints
1900 */
1910 DLLAPI long ER_STDCALL erGetSweMax_passive(ER_HND er_hnd, double *swe_max_passive);
1911 
1912 /* erGetConfigName
1913  Name of robot configuration
1914  Return 0-OK, 1-Error oder Abort
1915 */
1923 DLLAPI long ER_STDCALL erGetConfigName(ER_HND er_hnd, long config_idx, char *config_name);
1924 
1925 /* erGetJointName
1926  Name of active robot joint
1927  Return 0-OK, 1-Error oder Abort
1928 */
1935 DLLAPI long ER_STDCALL erGetJointName(ER_HND er_hnd, long active_jnt_no, char *jnt_name);
1936 
1937 /* erGetJointName_passive
1938  Name of passive robot joint
1939  Return 0-OK, 1-Error oder Abort
1940 */
1947 DLLAPI long ER_STDCALL erGetJointName_passive(ER_HND er_hnd, long passive_jnt_no, char *jnt_name_passive);
1948 
1949 
1950 /* erSetJointSign
1951  Set Joint Directions
1952 */
1960 DLLAPI long ER_STDCALL erSetJointSign(ER_HND er_hnd,double *joint_sign); // NEW_050324
1961 
1962 /* erGetJointSign
1963  Get Joint Sign
1964 */
1973 DLLAPI long ER_STDCALL erGetJointSign(ER_HND er_hnd,double *joint_sign); // NEW_050324
1974 
1975 /* erSetJointOffset
1976  Set Joint Offsets
1977 */
1985 DLLAPI long ER_STDCALL erSetJointOffset(ER_HND er_hnd,double *joint_offset); // NEW_050324
1986 
1987 /* erGetJointOffset
1988  Get Joint Offsets
1989 */
1997 DLLAPI long ER_STDCALL erGetJointOffset(ER_HND er_hnd,double *joint_offset); // NEW_050324
1998 
1999 /* erSetVqMax
2000  Set max. joint speed [rad/s,m/s]
2001 */
2009 DLLAPI long ER_STDCALL erSetVqMax(ER_HND er_hnd,double *vq_max);
2010 
2011 /* erGetVqMax
2012  Get max. joint speed [rad/s,m/s]
2013 */
2021 DLLAPI long ER_STDCALL erGetVqMax(ER_HND er_hnd,double *vq_max);
2022 
2023 /* erSetAqMax
2024  Set max. joint acceleration [rad/s^2,m/s^2]
2025 */
2033 DLLAPI long ER_STDCALL erSetAqMax(ER_HND er_hnd,double *aq_max);
2034 
2035 /* erGetAqMax
2036  Get max. joint acceleration [rad/s^2,m/s^2]
2037 */
2045 DLLAPI long ER_STDCALL erGetAqMax(ER_HND er_hnd,double *aq_max);
2046 
2047 /* erSetVxMax
2048  Set max. cartesian speed [m/s]
2049 */
2056 DLLAPI long ER_STDCALL erSetVxMax(ER_HND er_hnd,double vx_max);
2057 
2058 /* erGetVxMax
2059  Get max. cartesian speed [m/s]
2060 */
2067 DLLAPI long ER_STDCALL erGetVxMax(ER_HND er_hnd,double *vx_max);
2068 
2069 /* erSetVxOriMax
2070  Set max. cartesian orientation speed [rad/s]
2071 */
2078 DLLAPI long ER_STDCALL erSetVxOriMax(ER_HND er_hnd,double vx_ori_max);
2079 
2080 /* erGetVxOriMax
2081  Get max. cartesian orientation orientation speed [rad/s]
2082 */
2089 DLLAPI long ER_STDCALL erGetVxOriMax(ER_HND er_hnd,double *vx_ori_max);
2090 
2091 /* erSetAxMax
2092  Set max. cartesian acceleration [m/s^2]
2093 */
2100 DLLAPI long ER_STDCALL erSetAxMax(ER_HND er_hnd,double ax_max);
2101 
2102 /* erGetAxMax
2103  Get max. cartesian acceleration [m/s^2]
2104 */
2111 DLLAPI long ER_STDCALL erGetAxMax(ER_HND er_hnd,double *ax_max);
2112 
2113 /* erSetAxOriMax
2114  Set max. cartesian orientation acceleration [rad/s^2]
2115 */
2123 DLLAPI long ER_STDCALL erSetAxOriMax(ER_HND er_hnd,double ax_ori_max);
2124 /* erGetAxOriMax
2125  Get max. cartesian orientation acceleration [rad/s^2]
2126 */
2133 DLLAPI long ER_STDCALL erGetAxOriMax(ER_HND er_hnd,double *ax_ori_max);
2134 
2135 /* erGetBackLink obsolete -> use erGetBacklink(...)
2136  Get Back Link returns robot back link information
2137  *backlink = 0-KIN_BACK_LINK_NO | 1-KIN_BACK_LINK_YES | 2-KIN_BACK_LINK_UNKNOWN
2138  Return 0-OK, 1-Error oder Abort
2139 */
2142 DLLAPI long ER_STDCALL erGetBackLink(ER_HND er_hnd,long *backlink); // obsolete -> use erGetBacklink(...)
2143 
2144 /* erSetBacklink
2145  Set Backlink extended attribute
2146 */
2156 DLLAPI long ER_STDCALL erSetBacklink(ER_HND er_hnd,long backlink);
2157 
2158 /* erGetBacklink
2159  Get Backlink extended attribute
2160 */
2170 DLLAPI long ER_STDCALL erGetBacklink(ER_HND er_hnd,long *backlink);
2171 
2172 /* erSetAxis_couplingA2A3
2173  Set Axis_couplingA2A3 extended attribute
2174 */
2184 DLLAPI long ER_STDCALL erSetAxis_couplingA2A3(ER_HND er_hnd,long axis_couplingA2A3);
2185 
2186 /* erGetAxis_couplingA2A3
2187  Get Axis_couplingA2A3 extended attribute
2188 */
2198 DLLAPI long ER_STDCALL erGetAxis_couplingA2A3(ER_HND er_hnd,long *axis_couplingA2A3);
2199 
2200 /* erSetCounter_weight
2201  Set Counter_weight extended attribute
2202 */
2212 DLLAPI long ER_STDCALL erSetCounter_weight(ER_HND er_hnd,long counter_weight);
2213 
2214 /* erGetCounter_weight
2215  Get Counter_weight extended attribute
2216 */
2226 DLLAPI long ER_STDCALL erGetCounter_weight(ER_HND er_hnd,long *counter_weight);
2227 
2228 /* erSetTurn_interval
2229  Set Turn_interval [rad,m]
2230 */
2241 DLLAPI long ER_STDCALL erSetTurn_interval(ER_HND er_hnd,double *turn_interval);
2242 
2243 /* erGetTurn_interval
2244  Get Turn_interval [rad,m]
2245 */
2256 DLLAPI long ER_STDCALL erGetTurn_interval(ER_HND er_hnd,double *turn_interval);
2257 
2258 /* erSetTurn_offset
2259  Set Turn_offset [rad,m]
2260 */
2271 DLLAPI long ER_STDCALL erSetTurn_offset(ER_HND er_hnd,double *turn_offset);
2272 
2273 /* erGetTurn_offset
2274  Get Turn_offset [rad,m]
2275 */
2286 DLLAPI long ER_STDCALL erGetTurn_offset(ER_HND er_hnd,double *turn_offset);
2287 
2288 /* erSetTurn_value
2289  Set Turn_value, will set turn_enable
2290 */
2303 DLLAPI long ER_STDCALL erSetTurn_value(ER_HND er_hnd,long *turn_value);
2304 
2305 /* erGetTurn_value
2306  Get Turn_value
2307 */
2318 DLLAPI long ER_STDCALL erGetTurn_value(ER_HND er_hnd,long *turn_value);
2319 
2320 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2321 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2322 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2323 // MotionPlanner
2324 // class ERK_CAPI_MOP
2325 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2326 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2327 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2328 
2329 /* erINITIALIZE
2330  Erzeugt ein Roboter Handle
2331  Opcode 101, Chapter 3.4.1, Page 3-26
2332  Return 0-OK, 1-Error
2333  entspricht erInitKin()
2334 */
2344 DLLAPI long ER_STDCALL erINITIALIZE (ER_HND *er_hnd, Host_HND host_hnd=NULL);
2345 
2346 /* erRESET
2347  Definition: Resets an instance of a robot to an initial state
2348  Opcode 102, Chapter 3.4.1, Page 3-29
2349  Return 0-OK, 1-Error
2350 */
2372 DLLAPI long ER_STDCALL erRESET(ER_HND er_hnd);
2373 
2374 /* erTERMINATE
2375  Loescht Roboter Handle
2376  Definition: Terminates an instance of a robot of the Kernel
2377  Opcode 103, Chapter 3.4.1, Page 3-30
2378  Return 0-OK, 1-Error
2379  see erUnloadKin()
2380 */
2388 DLLAPI long ER_STDCALL erTERMINATE(ER_HND *er_hnd);
2389 
2390 /* erSET_INITIAL_POSITION
2391  sets the robot model to a position according to the input data
2392  Opcode 116, Chapter 3.4.3, Page 3-50
2393  Return 0-OK, 1-Error
2394 */
2404 DLLAPI long ER_STDCALL erSET_INITIAL_POSITION(ER_HND er_hnd, INITIAL_POSITION_DATA *p_initial_position_data);
2405 
2406 /*erSELECT_TRACKING
2407  Definition: Selects the Tracking On or Off in the Kernel
2408  Opcode 146, Chapter 3.4.7, Page 3-93
2409  Return 0-OK, 1-Error, -1- not supported
2410 */
2422 DLLAPI long ER_STDCALL erSELECT_TRACKING(ER_HND er_hnd, long conveyor_flags);
2423 
2424 /*erSET_CONVEYOR_POSITION
2425  Definition: Sends the conveyor position to the Kernel
2426  Opcode 147, Chapter 3.4.7, Page 3-94
2427  Return 0-OK, 1-Error, -1- not supported
2428 */
2444 DLLAPI long ER_STDCALL erSET_CONVEYOR_POSITION(ER_HND er_hnd, long input_format, long conveyor_flags, double conveyor_pos);
2445 
2446 /*erDEFINE_EVENT
2447  Definition: Defines an internal asynchronous event that is to be generated relative to position and/or time in the Kernel
2448  Opcode 148, Chapter 3.4.8, Page 3-96
2449  Return 0-OK, 1-Error, -1- not supported
2450 */
2464 DLLAPI long ER_STDCALL erDEFINE_EVENT(ER_HND er_hnd, long event_id, long target_id, double resolution, long type_of_event, double event_spec);
2465 
2466 /*erCANCEL_EVENT
2467  Definition: This function makes it possible to cancel an event previously defined in the Kernel by the erDEFINE_EVENT() function
2468  Opcode 149, Chapter 3.4.8, Page 3-99
2469  Return 0-OK, 1-Error, -1- not supported
2470 */
2480 DLLAPI long ER_STDCALL erCANCEL_EVENT(ER_HND er_hnd, long event_id);
2481 
2482 /*erGET_EVENT
2483  Definition: This function gets information about an internal asynchronous event that occurred in the Kernel
2484  Opcode 150, Chapter 3.4.8, Page 3-100
2485  Return 0-OK, 1-Error, -1- not supported
2486 */
2496 DLLAPI long ER_STDCALL erGET_EVENT(ER_HND er_hnd, long event_nr);
2497 
2498 /*erGET_MESSAGE
2499  Definition: Gives information about controller messages that occurred
2500  Opcode 154, Chapter 3.4.9, Page 3-104
2501  Return 0-OK, 1-Error, -1- not supported
2502 */
2513 DLLAPI long ER_STDCALL erGET_MESSAGE(ER_HND er_hnd, long message_number);
2514 
2515 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2516 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2517 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2518 // MotionPlanner
2519 // class ERK_CAPI_MOP_DATA
2520 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2521 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2522 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2523 
2524 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2525 // Tracking Window
2526 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2527 /* erSetTrackingWindow
2528  Aktiviert/Deaktiviert das Tracking Window und gibt den Trackingbereich [Up..Down] an.
2529  Return 0-OK, 1-Error
2530 */
2550 DLLAPI long ER_STDCALL erSetTrackingWindow(ER_HND er_hnd, long active, double up, double down, TErTrackingWindowID id_tw, char *name=NULL);
2551 
2552 /* erSetconveyorStartCondition
2553  tx0 - Offsetposition in x-Rtg. bzgl. Conveyorflanch
2554  Return 0-OK, 1-Error
2555 */
2565 DLLAPI long ER_STDCALL erSetconveyorStartCondition(ER_HND er_hnd, double tx0);
2566 
2599 DLLAPI long ER_STDCALL erSetEvents_DOUT(ER_HND er_hnd, int idx = 1, long io_value = ER_EVENT_BOOL_UNDEF, char *io_name = 0, long strig_type = ER_EVENT_TRIGGER_OFF, double strig_time = 0, double strig_dist = 0, long ttrig_type = ER_EVENT_TRIGGER_OFF, double ttrig_time = 0, double ttrig_dist = 0);
2600 
2631 DLLAPI long ER_STDCALL erSetEvents_DIN(ER_HND er_hnd, int idx = 1, long io_value = ER_EVENT_BOOL_UNDEF, char *io_name = 0, long leadcond_type = ER_EVENT_CONDITION_UNDEF, double leadcond_value = 0, long lagcond_type = ER_EVENT_CONDITION_UNDEF, double lagcond_value = 0);
2632 
2633 //
2634 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2635 
2636 /* erSetSpeedReductionEnable
2637 */
2649 DLLAPI long ER_STDCALL erSetSpeedReductionEnable(ER_HND er_hnd,long speed_reduction_enable);
2650 
2651 /* erGetSpeedReductionEnable
2652 */
2664 DLLAPI long ER_STDCALL erGetSpeedReductionEnable(ER_HND er_hnd,long *speed_reduction_enable);
2665 
2666 /*erSELECT_MOTION_TYPE
2667  motion_type, ER_JOINT = 1, ER_LIN = 2, ER_SLEW = 3, ER_CIRC = 4
2668  Opcode 120, Chapter 3.4.4, Page 3-58
2669 */
2680 DLLAPI long ER_STDCALL erSELECT_MOTION_TYPE(ER_HND er_hnd, long motion_type);
2681 
2682 /*erSELECT_TARGET_TYPE
2683  Definition: selects one of different types for the specification of targets
2684  Opcode 121, Chapter 3.4.4, Page 3-59
2685  Return 0-OK, 1-Error
2686 
2687  Currently supported:
2688  0 - absolute w.r.t. object frame
2689  9 - single axis motion
2690 */
2702 DLLAPI long ER_STDCALL erSELECT_TARGET_TYPE(ER_HND er_hnd, long target_type);
2703 
2704 /*erSELECT_TRAJECTORY_MODE
2705  Definition: Selects on or off for the trajectory mode
2706  Opcode 122, Chapter 3.4.4, Page 3-62
2707  Return 0-OK, 1-Error, -1-not supported
2708 */
2718 DLLAPI long ER_STDCALL erSELECT_TRAJECTORY_MODE(ER_HND er_hnd, long trajectory_on);
2719 
2720 /*erSET_ADVANCE_MOTION
2721  Definition: defines the number of motions, the motion planner may run in advance of the interpolator (look_ahead)
2722  Opcode 127, Chapter 3.4.4, Page 3-67
2723 */
2731 DLLAPI long ER_STDCALL erSET_ADVANCE_MOTION(ER_HND er_hnd, long Number_of_motion);
2732 /*erSET_MOTION_FILTER
2733  Definition: defines the filter factor for smoothing velocity profiles of motions
2734  Opcode 128, Chapter 3.4.4, Page 3-68
2735 */
2744 DLLAPI long ER_STDCALL erSET_MOTION_FILTER(ER_HND er_hnd, long filter_factor);
2745 
2746 /*erREVERSE_MOTION
2747  Definition: Instructs to do a reverse motion
2748  Opcode 130, Chapter 3.4.4, Page 3-70
2749  Return 0-OK, 1-Error, -1-not supported
2750 */
2763 DLLAPI long ER_STDCALL erREVERSE_MOTION(ER_HND er_hnd, double distance );
2764 
2765 /*erSET_PAYLOAD_PARAMETER
2766  Definition: Allows specifying payloads at different locations on the robot.
2767  It has to be supported when the payload influences the motion planning.
2768  E.g. the load by a tool on the flange may be specified
2769  Opcode 160, Chapter 3.4.4, Page 3-71
2770  Return 0-OK, 1-Error, -1-not supported
2771 */
2787 DLLAPI long ER_STDCALL erSET_PAYLOAD_PARAMETER(ER_HND er_hnd, long storage, char *frame_id, long param_number, double param_value);
2788 
2789 /*erSET_CONFIGURATION_CONTROL
2790  Definition: Allows the setting of controller-specific data for the control of robot configurations
2791  Opcode 161, Chapter 3.4.4, Page 3-72
2792  Return 0-OK, 1-Error, -1-not supported
2793 */
2805 DLLAPI long ER_STDCALL erSET_CONFIGURATION_CONTROL(ER_HND er_hnd, char *param_id, char *param_contents);
2806 
2807 /*erSET_OVERRIDE_SPEED
2808  Definition: Sets correction values for scaling the programmed speed during program execution
2809  Opcode 139, Chapter 3.4.5, Page 3-82
2810  Return 0-OK, 1-Error, -1-not supported
2811 */
2825 DLLAPI long ER_STDCALL erSET_OVERRIDE_SPEED(ER_HND er_hnd, double correction_value, long correction_type);
2826 
2827 /*erSET_OVERRIDE_ACCELERATION
2828  Definition: Sets correction values for scaling the robot acceleration
2829  Opcode 155, Chapter 3.4.5, Page 3-83
2830  Return 0-OK, 1-Error, -1-not supported
2831 */
2848 DLLAPI long ER_STDCALL erSET_OVERRIDE_ACCELERATION(ER_HND er_hnd, double correction_value, long accel_type, long correction_type);
2849 
2850 /*erSET_OVERRIDE_SPEED_EX
2851  Definition: Sets override for scaling the programmed speed during program execution
2852  Return 0-OK, 1-Error, -1-not supported
2853 */
2867 DLLAPI long ER_STDCALL erSET_OVERRIDE_SPEED_EX(ER_HND er_hnd, ER_HND er_hnd_slave, double speed_override, double tcp_speed_max=0);
2868 
2869 /*erSET_OVERRIDE_ACCELERATION_EX
2870  Definition: Sets override for scaling the programmed acceleration during program execution
2871  Return 0-OK, 1-Error, -1-not supported
2872 */
2886 DLLAPI long ER_STDCALL erSET_OVERRIDE_ACCELERATION_EX(ER_HND er_hnd, ER_HND er_hnd_slave, double accel_override, double tcp_accel_max=0);
2887 
2888 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2889 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2890 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2891 // MotionPlanner
2892 // class ERK_CAPI_MOP_PATH
2893 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2894 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2895 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2896 
2897 /* erSetAutoAccel
2898  Enables automatic calculation of acceleration
2899  depending on programmed speed
2900  ON = 7 – Calculation for PTP, POS and ORI
2901  POS = 1 – Calculation for motions for Position
2902  ORI = 2 – Calculation for motions for Orientation
2903  AX = 4 – Calculation for PTP motions
2904  OFF = 0 – Calculation deactivated
2905 */
2922 DLLAPI long ER_STDCALL erSetAutoAccel(ER_HND er_hnd,long autoaccel);
2923 
2924 /* erGetAutoAccel
2925  Get status for automatic calculation of acceleration
2926  depending on programmed speed
2927  ON = 7 – Calculation for PTP, POS and ORI
2928  POS = 1 – Calculation for motions for Position
2929  ORI = 2 – Calculation for motions for Orientation
2930  AX = 4 – Calculation for PTP motions
2931  OFF = 0 – Calculation deactivated
2932 */
2949 DLLAPI long ER_STDCALL erGetAutoAccel(ER_HND er_hnd,long *autoaccel);
2950 
2951 /* erSetAccSet
2952  Set lagging of accelerations.
2953  The arguments Acc and Ramp are given in percentage values in the range 20% to 100%
2954  Acc: Acceleration and Deceleration as percentage value of normal values
2955  Ramp: Change of Acceleration and Deceleration as percentage value of normal values
2956 */
2968 DLLAPI long ER_STDCALL erSetAccSet(ER_HND er_hnd,double acc,double ramp);
2969 
2970 /* erGetAccSet
2971  Get current lagging of accelerations.
2972  The arguments Acc and Ramp are given in percentage values in the range 20% to 100%
2973  Acc: Acceleration and Deceleration as percentage value of normal values
2974  Ramp: Change of Acceleration and Deceleration as percentage value of normal values
2975 */
2987 DLLAPI long ER_STDCALL erGetAccSet(ER_HND er_hnd,double *acc,double *ramp);
2988 
2989 /* erSET_INTERPOLATION_TIME
2990  sets the interpolation time in [ms]
2991  Opcode 119, Chapter 3.4.3, Page 3-56
2992  Return 0-OK, 1-Error
2993 */
3003 DLLAPI long ER_STDCALL erSET_INTERPOLATION_TIME(ER_HND er_hnd, double InterpolationTime);
3004 
3005 
3006 /*erSELECT_ORIENTATION_INTERPOLATION_MODE
3007 NEW_041112
3008 */
3019 DLLAPI long ER_STDCALL erSELECT_ORIENTATION_INTERPOLATION_MODE(ER_HND er_hnd, long interpolation_mode, long ori_const);
3020 
3021 /*erSELECT_CIRCULAR_ORIENTATION_INTERPOLATION_MODE
3022 NEW_070122
3023  Definition:
3024  selects the circular orientation interpolation mode
3025  circ_orientation_interpolation_mode:
3026  0: use Start- and Target Orientation
3027  1: use Start-, Via- and Target Orientation, default
3028  2: use Start-, Via- and Target Orientation, hereby the robot reaches the orientation in Via Point
3029  3: Tangential in Abhängigkeit der Orientierung im StartPunkt
3030  4: Constant, Fix
3031  Return 0-OK, 1-Error
3032 */
3042 DLLAPI long ER_STDCALL erSELECT_CIRCULAR_ORIENTATION_INTERPOLATION_MODE(ER_HND er_hnd, long circ_orientation_interpolation_mode);
3043 
3044 /*erSELECT_DOMINANT_INTERPOLATION
3045  Definition: Sets the interplation space defining the movement
3046  Opcode 124, Chapter 3.4.4, Page 3-66
3047  Return 0-OK, 1-Error
3048 */
3064 DLLAPI long ER_STDCALL erSELECT_DOMINANT_INTERPOLATION(ER_HND er_hnd, long dominant_int_type, long dominant_int_param=0);
3065 
3066 /*erSET_JOINT_SPEEDS
3067  Definition:
3068  sets the joint speed expressed as percentage of the maximal joint speed for each specified joint
3069  Opcode 131, Chapter 3.4.5, Page 3-74
3070 */
3084 DLLAPI long ER_STDCALL erSET_JOINT_SPEEDS(ER_HND er_hnd, long all_joint_flags, long joint_flags, double speed_percent);
3085 
3086 /*erSET_CARTESIAN_POSITION_SPEED
3087  Definition: speed for cartesian motion [m/sec]
3088  Opcode 133, Chapter 3.4.5, Page 3-75
3089  Return 0-OK, 1-Error
3090 */
3098 DLLAPI long ER_STDCALL erSET_CARTESIAN_POSITION_SPEED(ER_HND er_hnd, double speed_value);
3099 
3100 /*erSET_CARTESIAN_ORIENTATION_SPEED
3101  Definition: sets speed for the orientation during cartesian motion [rad/sec]
3102  Opcode 134, Chapter 3.4.5, Page 3-76
3103  Return 0-OK, 1-Error
3104 */
3114 DLLAPI long ER_STDCALL erSET_CARTESIAN_ORIENTATION_SPEED(ER_HND er_hnd, long rotation_no, double speed_ori_value);
3115 
3116 /*erSET_JOINT_ACCELERATIONS
3117  sets the joint accelerations expressed as percentage of the maximal joint acceleration for each specified joint
3118  Opcode 135, Chapter 3.4.5, Page 3-77
3119  Return 0-OK, 1-Error
3120 */
3137 DLLAPI long ER_STDCALL erSET_JOINT_ACCELERATIONS(ER_HND er_hnd, long all_joint_flags, long joint_flags, double accel_percent, long accel_type);
3138 
3139 /*erSET_CARTESIAN_POSITION_ACCELERATIONS
3140  Definition: sets acceleration for cartesian motion [m/sec^2]
3141  Opcode 137, Chapter 3.4.5, Page 3-78
3142  accel_type
3143  1: // accel
3144  2: // decel
3145  3: // accel + decel
3146 */
3157 DLLAPI long ER_STDCALL erSET_CARTESIAN_POSITION_ACCELERATION(ER_HND er_hnd, double accel_value, long accel_type);
3158 
3159 /*erSET_CARTESIAN_ORIENTATION_ACCELERATION
3160  Definition: sets the acceleration for the orientation during cartesian motion [rad/sec^2]
3161  Opcode 138, Chapter 3.4.5, Page 3-79
3162  Return 0-OK, 1-Error
3163 */
3176 DLLAPI long ER_STDCALL erSET_CARTESIAN_ORIENTATION_ACCELERATION(ER_HND er_hnd, long rotation_no, double accel_ori_value, long accel_type);
3177 
3178 /*erGET_CARTESIAN_POSITION_ACCELERATIONS
3179  Definition: gets acceleration for cartesian motion [m/sec^2]
3180  accel_type
3181  1: // accel
3182  2: // decel
3183  Return 0-OK, 1-Error
3184 */
3194 DLLAPI long ER_STDCALL erGET_CARTESIAN_POSITION_ACCELERATION(ER_HND er_hnd, double *accel_value, long accel_type);
3195 
3196 /*erGET_CARTESIAN_ORIENTATION_ACCELERATION
3197  Definition: Gets the acceleration for the orientation during cartesian motion [rad/sec^2]
3198  accel_type
3199  1: // accel
3200  2: // decel
3201  Return 0-OK, 1-Error
3202 */
3214 DLLAPI long ER_STDCALL erGET_CARTESIAN_ORIENTATION_ACCELERATION(ER_HND er_hnd, long rotation_no, double *accel_ori_value, long accel_type);
3215 
3216 /*erSET_JOINT_JERKS
3217  Definition: Sets the joint jerk expressed as a percentage of the maximal joint jerk for each specified joint.
3218  Opcode 162, Chapter 3.4.5, Page 3-80
3219  Return 0-OK, 1-Error, -1-not supported
3220 */
3237 DLLAPI long ER_STDCALL erSET_JOINT_JERKS(ER_HND er_hnd, long all_joint_flags, long joint_flags, double jerk_percent, long jerk_type);
3238 
3239 /*erSET_MOTION_TIME
3240  Definition: Specifies the motion time for the next motion
3241  Opcode 156, Chapter 3.4.5, Page 3-81
3242  Return 0-OK, 1-Error, -1-not supported
3243 */
3252 DLLAPI long ER_STDCALL erSET_MOTION_TIME(ER_HND er_hnd, double time_value);
3253 
3254 
3255 /*erSELECT_FLYBY_MODE
3256 */
3267 DLLAPI long ER_STDCALL erSELECT_FLYBY_MODE(ER_HND er_hnd, long flyby_on);
3268 
3269 /*erSET_FLYBY_CRITERIA_PARAMETER
3270  Definition: Sets the value of a flyby parameter
3271  Opcode 141, Chapter 3.4.6, Page 3-86
3272  Return 0-OK, 1-Error, -1- not supported
3273 */
3285 DLLAPI long ER_STDCALL erSET_FLYBY_CRITERIA_PARAMETER(ER_HND er_hnd, long param_number, long joint_nr, double param_value);
3286 
3287 /*erSELECT_FLYBY_CRITERIA
3288  Definition: Selects a flyby criterion (parameter)
3289  Opcode 142, Chapter 3.4.6, Page 3-87
3290  Return 0-OK, 1-Error, -1- not supported
3291 */
3301 DLLAPI long ER_STDCALL erSELECT_FLYBY_CRITERIA(ER_HND er_hnd, long param_number);
3302 
3303 /*erCANCEL_FLYBY_CRITERIA
3304  Definition: Cancels (unselects) a fly-by criterion
3305  Opcode 143, Chapter 3.4.6, Page 3-88
3306  Return 0-OK, 1-Error, -1- not supported
3307 */
3317 DLLAPI long ER_STDCALL erCANCEL_FLYBY_CRITERIA(ER_HND er_hnd, long param_number);
3318 
3319 /*erSELECT_POINT_ACCURACY
3320  Definition: Selects a criterion for when a target is reached
3321  Opcode 144, Chapter 3.4.6, Page 3-89
3322  Return 0-OK, 1-Error, -1- not supported
3323 */
3333 DLLAPI long ER_STDCALL erSELECT_POINT_ACCURACY(ER_HND er_hnd, long accuracy_type);
3334 
3335 /*erSET_POINT_ACCURACY_PARAMETER
3336  Definition: Sets the value of a parameter determining point accuracy
3337  Opcode 145, Chapter 3.4.6, Page 3-90
3338  Return 0-OK, 1-Error, -1- not supported
3339 */
3350 DLLAPI long ER_STDCALL erSET_POINT_ACCURACY_PARAMETER(ER_HND er_hnd, long accuracy_type, double accuracy_value );
3351 
3352 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3353 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3354 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3355 // MotionPlanner
3356 // class ERK_CAPI_MOP_PREP
3357 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3358 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3359 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3360 
3361 /* erSET_NEXT_TARGET
3362  sends the next target position. This may include intermediate position, radius, angle for circular motion
3363  Opcode 117, Chapter 3.4.3, Page 3-52
3364  Return
3365  1 - need more data, nothing to do
3366  0 - OK, next step is calculated successful
3367  -17 - specified motion type is not supported
3368  -34 - Error in matrix. Incomplete matrix
3369  -35 - Cartesian position expected
3370  -36 - Joint position expected
3371  -43 - Initial position not set
3372  -51 - no solution is found. One joint is out of range
3373  -52 - Cartesian position is out of work range
3374  -59 - specified position is singular
3375  -68 - fatal error, stopped calculating
3376  -71 - Position not stored, target buffer is full
3377  -78 - The specified position is not acceptable
3378  -79 - Not ready to receive targets
3379 */
3406 DLLAPI long ER_STDCALL erSET_NEXT_TARGET(ER_HND er_hnd, NEXT_TARGET_DATA *p_next_target_data);
3407 
3408 /* erSET_NEXT_TARGET_ADVANCE
3409  Definition: Sends about next target data
3410  Return 0-OK, 1-Error
3411 */
3422 DLLAPI long ER_STDCALL erSET_NEXT_TARGET_ADVANCE(ER_HND er_hnd, NEXT_TARGET_DATA_ADVANCE *p_next_target_data_advance);
3423 
3424 /*erSTOP_MOTION
3425  Definition: Stops the on-going motion toward the target
3426  Opcode 151, Chapter 3.4.8, Page 3-101
3427  Return 0-OK, 1-Error
3428 */
3440 DLLAPI long ER_STDCALL erSTOP_MOTION(ER_HND er_hnd);
3441 
3442 /*erCONTINUE_MOTION
3443  Definition: Continues a motion that was stopped with the erSTOP_MOTION() function
3444  Opcode 152, Chapter 3.4.8, Page 3-102
3445  Return 0-OK, 1-Error
3446 */
3458 
3459 /*erCANCEL_MOTION
3460  Definition: Cancel a motion that was stopped with erSTOP_MOTION() function
3461  Opcode 153, Chapter 3.4.8, Page 3-103
3462  Return 0-OK, 1-Error
3463 */
3475 
3476 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3477 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3478 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3479 // MotionPlanner
3480 // class ERK_CAPI_MOP_EXEC
3481 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3482 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3483 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3484 
3485 /* erGET_NEXT_STEP
3486  returns the next interpolated position step, the
3487  elapsed time and supplementary information like events, joint limits and messages
3488  Opcode 118, Chapter 3.4.3, Page 3-54
3489  Return
3490  2 - final step, target reached or speed is zero
3491  1 - need more data, nothing to do
3492  0 - OK, next step is calculated successful
3493  -13 - the specified output format is not supported
3494  -17 - the specified motion type is not supported
3495  -25 - the motion is not possible in the specified time
3496  -42 - no target set
3497  -51 - no solution is found. One joint is out of range
3498  -52 - Cartesian position is out of work range
3499  -68 - fatal error, stopped calculating
3500  -76 - incomplete or inconsistent motion specification, can't move
3501  -1053 - Cartesian position is out of boudary work range
3502  -1059 - Cartesian position is singular
3503 */
3535 DLLAPI long ER_STDCALL erGET_NEXT_STEP(ER_HND er_hnd, long output_format, NEXT_STEP_DATA *p_next_step_data, double time);
3536 
3546 DLLAPI long ER_STDCALL erGetCurrentStepData(ER_HND er_hnd, CURRENT_STEP_DATA *p_current_step_data);
3547 
3548 /*erSET_OVERRIDE_POSITION
3549  Definition: Sets a correction offset which will be added to the path during program execution
3550  This function can be used for sensor-compensated motion. It is effective at each time step. The passed value is valid until the function is called again.
3551  Opcode 129, Chapter 3.4.4, Page 3-69
3552  Return 0-OK, 1-Error, -1- not supported
3553 */
3563 DLLAPI long ER_STDCALL erSET_OVERRIDE_POSITION(ER_HND er_hnd, DFRAME *PosOffset);
3564 
3565 /*erGET_CURRENT_TARGETID
3566  Definition: Returns the TargetID of the motion in execution
3567  Opcode 163, Chapter 3.4.6, Page 3-91
3568  Return 0-OK, 1-Error
3569 */
3578 
3579 #pragma endregion region_erk_devices
3580 
3581 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3582 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3583 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3584 // ToolPath
3585 // class ERK_CAPI_TOOLPATH
3586 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3587 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3588 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3589 
3590 #pragma region region_CTOOLPATH
3591 #pragma region region_toolpath
3592 
3618 DLLAPI long ER_STDCALL erInitToolPath (ER_HND er_hnd, ER_TOOLPATH_HND *er_tpth_hnd);
3619 
3626 
3637 DLLAPI long ER_STDCALL erInsertToolPath (ER_HND er_hnd, ER_TOOLPATH_HND *er_tpth_hnd, ER_TOOLPATH_HND er_tpth_hnd_ref);
3638 
3646 DLLAPI long ER_STDCALL erSwapToolPath (ER_TOOLPATH_HND er_tpth_hnd1, ER_TOOLPATH_HND er_tpth_hnd2);
3647 
3653 DLLAPI long ER_STDCALL erToolPathGetTargetLocationNumber (ER_TOOLPATH_HND er_tpth_hnd); // Number of Targets in ToolPath
3654 
3661 DLLAPI ER_HND ER_STDCALL erToolPathGetER_HND (ER_TOOLPATH_HND er_tpth_hnd); // Device Handle belonging to tool path handle
3662 
3667 DLLAPI char* ER_STDCALL erToolPathName (ER_TOOLPATH_HND er_tpth_hnd); // Name ToolPath
3668 
3675 DLLAPI long ER_STDCALL erToolPathEnable (ER_TOOLPATH_HND er_tpth_hnd, long enable); // 0-Disable, 1-Enable, 2-Status
3676 
3682 DLLAPI ER_HND ER_STDCALL erToolPathGetRobotHandle (ER_TOOLPATH_HND er_tpth_hnd); // Get Robot Handle belonging to tool path handle
3683 
3689 DLLAPI ER_HND ER_STDCALL erToolPathGetTrackMotionHandle (ER_TOOLPATH_HND er_tpth_hnd); // Get TrackMotion Handle belonging to tool path handle
3690 
3696 DLLAPI ER_HND ER_STDCALL erToolPathGetPositionerHandle (ER_TOOLPATH_HND er_tpth_hnd); // Get Positioner Handle belonging to tool path handle
3697 
3703 DLLAPI ER_HND ER_STDCALL erToolPathGetConveyorHandle (ER_TOOLPATH_HND er_tpth_hnd); // Get Conveyor Handle belonging to tool path handle
3704 
3713 DLLAPI long ER_STDCALL erToolPathSetTrackMotionHandle (ER_TOOLPATH_HND er_tpth_hnd, ER_HND hnd_TrackMotion=NULL); // Set TrackMotion Handle belonging to tool path handle
3722 DLLAPI long ER_STDCALL erToolPathSetPositionerHandle (ER_TOOLPATH_HND er_tpth_hnd, ER_HND hnd_Positioner=NULL); // Set Positioner Handle belonging to tool path handle
3731 DLLAPI long ER_STDCALL erToolPathSetConveyorHandle (ER_TOOLPATH_HND er_tpth_hnd, ER_HND hnd_Conveyor=NULL); // Set Conveyor Handle belonging to tool path handle
3732 
3737 DLLAPI char* ER_STDCALL erToolPathLogFileName (ER_TOOLPATH_HND er_tpth_hnd); // Log File Name ToolPath
3742 DLLAPI char* ER_STDCALL erToolPathPrgFileName (ER_TOOLPATH_HND er_tpth_hnd); // Prg File Name ToolPath
3743 
3749 
3755 
3763 DLLAPI long ER_STDCALL CpyEventsTemplate(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_EVENTS_HND hnd); // Copy target events data to template
3770 DLLAPI ER_TARGET_EVENTS_HND ER_STDCALL GetEventsTemplateHnd(ER_TOOLPATH_HND er_tpth_hnd); // Get handle to internal events template data
3771 
3779 DLLAPI long ER_STDCALL CpyMotionAttributesTemplate (ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_ATTRIBUTES_HND hnd); // Copy target attributes data to template
3780 
3787 DLLAPI ER_TARGET_ATTRIBUTES_HND ER_STDCALL GetMotionAttributesTemplateHnd (ER_TOOLPATH_HND er_tpth_hnd); // Get handle to internal attributes template data
3788 
3797 
3805 
3814 
3822 
3831 
3839 
3848 
3856 
3865 
3873 
3874 
3881 DLLAPI long ER_STDCALL erToolPathReset (ER_TOOLPATH_HND er_tpth_hnd); // Reset all tool path target locations
3882 
3891 DLLAPI long ER_STDCALL erToolPathResetInitRobot(ER_TOOLPATH_HND er_tpth_hnd, double *q_start=NULL); // Read current joint data from loaded robot, set initial joint start location
3892 
3901 DLLAPI long ER_STDCALL erToolPathResetInitTrackMotion(ER_TOOLPATH_HND er_tpth_hnd, double *q_start=NULL); // Read current joint data from loaded TrackMotion, set initial joint start location
3902 
3911 DLLAPI long ER_STDCALL erToolPathResetInitPositioner(ER_TOOLPATH_HND er_tpth_hnd, double *q_start=NULL); // Read current joint data from loaded Positioner, set initial joint start location
3912 
3921 DLLAPI long ER_STDCALL erToolPathResetInitConveyor(ER_TOOLPATH_HND er_tpth_hnd, double *q_start=NULL); // Read current joint data from loaded Conveyor, set initial joint start location
3922 
3931 DLLAPI long ER_STDCALL erToolPathSetInitPos(ER_TOOLPATH_HND er_tpth_hnd, double InterpolationTime=0); // Initializes the MotionPlanner based on current settings
3932 
3933 //DLLAPI long ER_STDCALL erToolPathRunAdv (ER_TOOLPATH_HND er_tpth_hnd);
3934 
3988 
4091 DLLAPI long ER_STDCALL erGET_NEXT_TOOLPATH_STEP(ER_TOOLPATH_HND er_tpth_hnd, long cntrl, NEXT_STEP_DATA *p_next_step_data=NULL, double time=0);
4092 
4099 
4108 
4109 //DLLAPI long ER_STDCALL erToolPathDefinition (ER_TOOLPATH_HND er_tpth_hnd); // erzeugt einige TargetLocations
4110 
4111 #pragma endregion region_toolpath
4112 
4113 //--------------------------------
4114 // Target Location ... ERK_CAPI_TOOLPATH_TARGETS
4115 //--------------------------------
4116 
4117 #pragma region region_TargetLocations
4118 
4119 // Target Locations
4128 DLLAPI long ER_STDCALL erTargetLocationReset (ER_TARGET_LOCATION_HND er_tarloc_hnd); // Reset target location
4129 
4152 DLLAPI long ER_STDCALL erInsertTargetLocation (ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_LOCATION_HND *er_tarloc_hnd, ER_TARGET_LOCATION_HND er_tarloc_hnd_ref=NULL);
4171 
4176 DLLAPI long ER_STDCALL erGetTargetLocationNumber (ER_TARGET_LOCATION_HND er_tarloc_hnd); // Number of Targets in ToolPath
4181 DLLAPI ER_HND ER_STDCALL erhGetTargetLocationER_HND (ER_TARGET_LOCATION_HND er_tarloc_hnd); // Device Handle belonging to target location handle
4182 
4207 
4220 DLLAPI long ER_STDCALL erSetTargetLocation_Move_JointAbs (ER_TARGET_LOCATION_HND er_tarloc_hnd,double *JointPos,double speed_percent=0, double override_speed=0, double *Tool=0);
4236 DLLAPI long ER_STDCALL erSetTargetLocation_Move_Joint (ER_TARGET_LOCATION_HND er_tarloc_hnd, double *CartPosVec, long configuration=0, long ptp_target_calculation_mode=ER_PTP_TARGET_CALC_MODE_UNDEF, double speed_percent=0, double override_speed=0, double *Tool=0, double *Base=0);
4252 DLLAPI long ER_STDCALL erSetTargetLocation_Move_Joint_Frame(ER_TARGET_LOCATION_HND er_tarloc_hnd, DFRAME *CartPosFrame, long configuration = 0, long ptp_target_calculation_mode = ER_PTP_TARGET_CALC_MODE_UNDEF, double speed_percent = 0, double override_speed = 0, DFRAME *ToolFrame = 0, DFRAME *BaseFrame = 0);
4265 DLLAPI long ER_STDCALL erSetTargetLocation_Move_SlewAbs (ER_TARGET_LOCATION_HND er_tarloc_hnd,double *JointPos,double speed_percent=0, double override_speed=0, double *Tool=0);
4281 DLLAPI long ER_STDCALL erSetTargetLocation_Move_Slew (ER_TARGET_LOCATION_HND er_tarloc_hnd, double *CartPosVec, long configuration=0, long ptp_target_calculation_mode=ER_PTP_TARGET_CALC_MODE_UNDEF, double speed_percent=0, double override_speed=0, double *Tool=0, double *Base=0);
4297 DLLAPI long ER_STDCALL erSetTargetLocation_Move_Slew_Frame(ER_TARGET_LOCATION_HND er_tarloc_hnd, DFRAME *CartPosFrame, long configuration = 0, long ptp_target_calculation_mode = ER_PTP_TARGET_CALC_MODE_UNDEF, double speed_percent = 0, double override_speed = 0, DFRAME *ToolFrame = 0, DFRAME *BaseFrame = 0);
4313 DLLAPI long ER_STDCALL erSetTargetLocation_Move_LIN (ER_TARGET_LOCATION_HND er_tarloc_hnd, double *CartPosVec, double speed_cp=0, double speed_ori=0, double override_speed=0, long flyby_on=-1, double *Tool=0, double *Base=0);
4329 DLLAPI long ER_STDCALL erSetTargetLocation_Move_LIN_Frame(ER_TARGET_LOCATION_HND er_tarloc_hnd, DFRAME *CartPosFrame, double speed_cp = 0, double speed_ori = 0, double override_speed = 0, long flyby_on = -1, DFRAME *ToolFrame = 0, DFRAME *BaseFrame = 0);
4346 DLLAPI long ER_STDCALL erSetTargetLocation_Move_CIRC (ER_TARGET_LOCATION_HND er_tarloc_hnd, double *CartPosVecVia, double *CartPosVec, double speed_cp=0, double speed_ori=0, double override_speed=0, long flyby_on=-1, double *Tool=0, double *Base=0);
4363 DLLAPI long ER_STDCALL erSetTargetLocation_Move_CIRC_Frame(ER_TARGET_LOCATION_HND er_tarloc_hnd, DFRAME *CartPosFrameVia, DFRAME *CartPosFrame, double speed_cp = 0, double speed_ori = 0, double override_speed = 0, long flyby_on = -1, DFRAME *ToolFrame = 0, DFRAME *BaseFrame = 0);
4364 //DLLAPI long ER_STDCALL erSetTargetLocation_ExtAx_TrackMotion (ER_TARGET_LOCATION_HND er_tarloc_hnd, double axis_value_01, double speed_value_01=0, long sync_type=ER_SYNC_UNDEF, ER_HND er_hnd_connect=0);
4365 //DLLAPI long ER_STDCALL erSetTargetLocation_ExtAx_Positioner (ER_TARGET_LOCATION_HND er_tarloc_hnd, double axis_value_01,double axis_value_02, double speed_value_01=0, double speed_value_02=0, long sync_type=ER_SYNC_UNDEF, ER_HND er_hnd_connect=0);
4366 
4367 #pragma endregion region_TargetLocations
4368 
4369 //--------------------------------
4370 // Header Data ... TARGET_HEAD, ERK_CAPI_TOOLPATH_HEAD
4371 //--------------------------------
4372 #pragma region region_HeaderData
4373 
4374  // Header Data
4415 DLLAPI long ER_STDCALL erTargetLocationValid (ER_TARGET_LOCATION_HND er_tarloc_hnd, long valid); // 0-Disable, 1-Enable, 2-Status
4416 #pragma endregion region_HeaderData
4417 
4418 //------------------------------------------------------------------------------
4419 // Instructions, individual information text ... TARGET_INSTRUCTIONS
4420 //------------------------------------------------------------------------------
4421 #pragma region region_Instructions
4422 
4438 DLLAPI char *ER_STDCALL erGetInstructions_information (ER_TARGET_LOCATION_HND er_tarloc_hnd); // User defined individual information text
4445 DLLAPI char *ER_STDCALL erGetInstructions_LeadInstructions (ER_TARGET_LOCATION_HND er_tarloc_hnd); // Instructions separated by semicolon, when target is reached
4452 DLLAPI char *ER_STDCALL erGetInstructions_LagInstructions (ER_TARGET_LOCATION_HND er_tarloc_hnd); // Instructions separated by semicolon, before move will start
4462 DLLAPI int ER_STDCALL erSetInstructions (ER_TARGET_LOCATION_HND er_tarloc_hnd, char *InfoTxt=NULL, char *LeadInst=NULL, char *LagInst=NULL); // Set Instructions: information text, LeadInstructions, LagInstructions
4463 #pragma endregion region_Instructions
4464 
4465 //--------------------------------
4466 // Events ... TARGET_EVENTS
4467 //--------------------------------
4468 #pragma region region_Events
4469 
4470  // Events
4510 DLLAPI long ER_STDCALL erSetEvents_EventDOUT(ER_TARGET_EVENTS_HND hnd, int idx = 1, long io_value = ER_EVENT_BOOL_UNDEF, char *io_name = 0, long strig_type = ER_EVENT_TRIGGER_OFF, double strig_time = 0, double strig_dist = 0, long ttrig_type = ER_EVENT_TRIGGER_OFF, double ttrig_time = 0, double ttrig_dist = 0);
4527 DLLAPI long ER_STDCALL erGetEvents_EventDOUT(ER_TARGET_EVENTS_HND hnd, int idx, long *io_value, char *io_name, long *strig_type, double *strig_time, double *strig_dist, long *ttrig_type, double *ttrig_time, double *ttrig_dist);
4528 
4559 DLLAPI long ER_STDCALL erSetEvents_EventDIN (ER_TARGET_EVENTS_HND hnd, int idx = 1, long io_value = ER_EVENT_BOOL_UNDEF, char *io_name = 0, long leadcond_type = ER_EVENT_CONDITION_UNDEF, double leadcond_value = 0, long lagcond_type = ER_EVENT_CONDITION_UNDEF, double lagcond_value = 0);
4560 
4561 #pragma endregion region_Events
4562 
4563 //--------------------------------
4564 // Auxiliary Motion Attributes ... TARGET_ATTRIBUTES_AUX
4565 //--------------------------------
4566 #pragma region region_AuxMotionAttributes
4567 
4568  // Auxiliary Motion Attributes
4575 
4576 #pragma endregion region_AuxMotionAttributes
4577 
4578 //--------------------------------
4579 // Motion Attributes ... TARGET_ATTRIBUTES
4580 //--------------------------------
4581 #pragma region region_MotionAttributes
4582  // Motion Attributes
4599 DLLAPI long *ER_STDCALL erGetMotionAttributes_enabled (ER_TARGET_ATTRIBUTES_HND hnd); // enables/disables this target
4605 DLLAPI TErTargetID *ER_STDCALL erGetMotionAttributes_target_id (ER_TARGET_ATTRIBUTES_HND hnd); // unique target ID, NEXT_TARGET_DATA.TargetID
4613 DLLAPI double *ER_STDCALL erGetMotionAttributes_WobjCartPosVec(ER_TARGET_ATTRIBUTES_HND hnd); // WorkObject valid for all cartesian targets CartPosVec, CartPosVecVia
4622 DLLAPI DFRAME *ER_STDCALL erGetMotionAttributes_WobjCartPosFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *WobjCartPosFrame); // WorkObject valid for all cartesian targets CartPosVec, CartPosVecVia
4631 DLLAPI DFRAME *ER_STDCALL erSetMotionAttributes_WobjCartPosFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *WobjCartPosFrame); // WorkObject valid for all cartesian targets CartPosVec, CartPosVecVia
4632 
4639 DLLAPI long *ER_STDCALL erGetMotionAttributes_ext_tcp_mode (ER_TARGET_ATTRIBUTES_HND hnd); // The external TCP can be ::IPO_MODE_BASE (tool guided) or ::IPO_MODE_TOOL (work object guided), erSetExtTcpMode()
4648 DLLAPI double *ER_STDCALL erGetMotionAttributes_BaseVec(ER_TARGET_ATTRIBUTES_HND hnd); // work object, $BASE, $UFrame has only effect if ::IPO_MODE_BASE, erSetBaseRobotBase()
4649 
4659 DLLAPI DFRAME *ER_STDCALL erGetMotionAttributes_BaseFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *BaseFrame); // work object, $BASE, $UFrame has only effect if ::IPO_MODE_BASE, erSetBaseRobotBase()
4669 DLLAPI DFRAME *ER_STDCALL erSetMotionAttributes_BaseFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *BaseFrame); // work object, $BASE, $UFrame has only effect if ::IPO_MODE_BASE, erSetBaseRobotBase()
4670 
4678 DLLAPI long *ER_STDCALL erGetMotionAttributes_BaseIdx (ER_TARGET_ATTRIBUTES_HND hnd); // user defined Idx for work object, $BASE, $UFrame has only effect if ::IPO_MODE_BASE, erSetBaseRobotBase()
4686 DLLAPI char *ER_STDCALL erGetMotionAttributes_BaseName (ER_TARGET_ATTRIBUTES_HND hnd); // user defined Name for work object, $BASE, $UFrame has only effect if ::IPO_MODE_BASE, erSetBaseRobotBase()
4687 
4688 
4715 
4716 
4733 
4734 
4743 
4753 
4763 
4780 
4807 
4824 
4825 
4833 DLLAPI double *ER_STDCALL erGetMotionAttributes_ToolVec (ER_TARGET_ATTRIBUTES_HND hnd); // Tool/TCP data, erSetTool()
4834 
4844 
4854 
4855 
4863 DLLAPI long *ER_STDCALL erGetMotionAttributes_ToolIdx (ER_TARGET_ATTRIBUTES_HND hnd); // user defined Idx for Tool/TCP data, erSetTool()
4871 DLLAPI char *ER_STDCALL erGetMotionAttributes_ToolName (ER_TARGET_ATTRIBUTES_HND hnd); // user defined Name for Tool/TCP data, erSetTool()
4872 
4880 DLLAPI double *ER_STDCALL erGetMotionAttributes_ToolOffsetVec(ER_TARGET_ATTRIBUTES_HND hnd); // Tool/TCP offset data, erSetToolOffset()
4899 
4900 
4908 DLLAPI long *ER_STDCALL erGetMotionAttributes_ToolOffsetIdx(ER_TARGET_ATTRIBUTES_HND hnd); // user defined Idx for Tool/TCP offset data, erSetToolOffset()
4916 DLLAPI char *ER_STDCALL erGetMotionAttributes_ToolOffsetName(ER_TARGET_ATTRIBUTES_HND hnd); // user defined Name for Tool/TCP offset data, erSetToolOffset()
4917 
4931 
4949 DLLAPI long *ER_STDCALL erGetMotionAttributes_motype (ER_TARGET_ATTRIBUTES_HND hnd); // ER_JOINT , ER_LIN, ER_SLEW, ER_CIRC, erSELECT_MOTION_TYPE()
4959 DLLAPI long *ER_STDCALL erGetMotionAttributes_dom_type (ER_TARGET_ATTRIBUTES_HND hnd); // 1-ER_DOMINANT_INTERPOLATION_POS, 2-ER_DOMINANT_INTERPOLATION_ORI, 3-ER_DOMINANT_INTERPOLATION_AXIS, 4-ER_DOMINANT_INTERPOLATION_AUTO, erSELECT_DOMINANT_INTERPOLATION()
4967 DLLAPI long *ER_STDCALL erGetMotionAttributes_advance_motion (ER_TARGET_ATTRIBUTES_HND hnd); // look ahead by 1 is only supported, erSET_ADVANCE_MOTION()
4975 DLLAPI double *ER_STDCALL erGetMotionAttributes_override_speed (ER_TARGET_ATTRIBUTES_HND hnd); // [%] Sets correction values for scaling the programmed speed, becomes effective for the next target supplied by erSET_NEXT_TARGET, erSET_OVERRIDE_SPEED()
4984 DLLAPI double *ER_STDCALL erGetMotionAttributes_acc (ER_TARGET_ATTRIBUTES_HND hnd); // 20-100[%] Set lagging of accelerations deceleration, erSetAccSet()
4993 DLLAPI double *ER_STDCALL erGetMotionAttributes_ramp (ER_TARGET_ATTRIBUTES_HND hnd); // 20-100[%] Set lagging of accelerations deceleration, erSetAccSet()
5003 DLLAPI long *ER_STDCALL erGetMotionAttributes_filter_factor (ER_TARGET_ATTRIBUTES_HND hnd); // Velocity profile: 0-geo (ER_MOTION_FILTER_GEO), 1-c2 (ER_MOTION_FILTER_C2), erSET_MOTION_FILTER()
5013 DLLAPI long *ER_STDCALL erGetMotionAttributes_flyby_on (ER_TARGET_ATTRIBUTES_HND hnd); // 0-OFF, 1-ON only when LIN or CIRC, erSELECT_FLYBY_MODE()
5023 DLLAPI double *ER_STDCALL erGetMotionAttributes_flyby_speed_percent (ER_TARGET_ATTRIBUTES_HND hnd); // if flyby_on enabled: [%], erSET_FLYBY_CRITERIA_PARAMETER(), tbd
5033 DLLAPI double *ER_STDCALL erGetMotionAttributes_flyby_dist (ER_TARGET_ATTRIBUTES_HND hnd); // if flyby_on enabled: [m], erSET_FLYBY_CRITERIA_PARAMETER(), tbd
5049 DLLAPI long *ER_STDCALL erGetMotionAttributes_autoaccel (ER_TARGET_ATTRIBUTES_HND hnd); // ER_AUTOACCEL_MODE_OFF, -_POS, -_ORI, -_AX, -_DEF, -_ON, erSetAutoAccel()
5058 DLLAPI double *ER_STDCALL erGetMotionAttributes_LeadWaitTime (ER_TARGET_ATTRIBUTES_HND hnd); // Wait time [s], before move will start, NEXT_TARGET_DATA.LeadWaitTime
5067 DLLAPI double *ER_STDCALL erGetMotionAttributes_LagWaitTime (ER_TARGET_ATTRIBUTES_HND hnd); // Wait time [s], after robot reaches its target, NEXT_TARGET_DATA.LagWaitTime
5068 
5069 #pragma endregion region_MotionAttributes
5070 
5071 //--------------------------------
5072 // Target data for Joint Move ... ERK_CAPI_TOOLPATH_MOVE_JOINT
5073 //--------------------------------
5074 #pragma region region_MoveJoint
5075 
5094 DLLAPI long *ER_STDCALL erGetMoveJoint_target_type (ER_TARGET_MOVE_JOINT_HND hnd); // ER_TARGET_TYPE_ABS, ER_TARGET_TYPE_ABSJOINT, erSELECT_TARGET_TYPE()
5100 DLLAPI double *ER_STDCALL erGetMoveJoint_speed_percent (ER_TARGET_MOVE_JOINT_HND hnd); // joint speed [%], erSET_JOINT_SPEEDS()
5106 DLLAPI double *ER_STDCALL erGetMoveJoint_accel_percent (ER_TARGET_MOVE_JOINT_HND hnd); // joint acceleration [%], erSET_JOINT_ACCELERATIONS()
5116 DLLAPI double *ER_STDCALL erGetMoveJoint_JointPos (ER_TARGET_MOVE_JOINT_HND hnd); // Target Joint Location for ER_TARGET_TYPE_ABSJOINT, q1 [m,rad], NEXT_TARGET_DATA.JointPos
5127 DLLAPI double *ER_STDCALL erGetMoveJoint_CartPosVec (ER_TARGET_MOVE_JOINT_HND hnd); // Cart. Target Location for ER_TARGET_TYPE_ABS, Pxyz [m] Rxyz [rad], NEXT_TARGET_DATA.CartPos
5133 DLLAPI long *ER_STDCALL erGetMoveJoint_configuration (ER_TARGET_MOVE_JOINT_HND hnd); // Target manipulator configuration string, NEXT_TARGET_DATA.Configuration
5141 DLLAPI long *ER_STDCALL erGetMoveJoint_ptp_target_calculation_mode (ER_TARGET_MOVE_JOINT_HND hnd); // PTP target calculation mode, ::ER_PTP_TARGET_CALC_MODE_SHORTEST_ANGLE, ::ER_PTP_TARGET_CALC_MODE_TURNS, ::ER_PTP_TARGET_CALC_MODE_MATH, ::ER_PTP_TARGET_CALC_MODE_IN_TRAVEL_RANGE, ::ER_PTP_TARGET_CALC_MODE_VAR_CONFIG, NEXT_TARGET_DATA.ptp_target_calculation_mode
5149 DLLAPI long *ER_STDCALL erGetMoveJoint_turn_value (ER_TARGET_MOVE_JOINT_HND hnd); // Target turn values if ::ER_PTP_TARGET_CALC_MODE_TURNS is enabled, NEXT_TARGET_DATA.turn_value[]
5150 
5151 #pragma endregion region_MoveJoint
5152 
5153 //--------------------------------
5154 // Target data for CP Move ... ERK_CAPI_TOOLPATH_MOVE_CP
5155 //--------------------------------
5156 #pragma region region_MoveCP
5157 
5175 DLLAPI long *ER_STDCALL erGetMoveCP_target_type (ER_TARGET_MOVE_CP_HND hnd); // ER_TARGET_TYPE_ABS
5181 DLLAPI double *ER_STDCALL erGetMoveCP_speed_cp (ER_TARGET_MOVE_CP_HND hnd); // cp speed [m/s], ori speed [deg/s], erSET_CARTESIAN_POSITION_SPEED(), erSET_CARTESIAN_ORIENTATION_SPEED()
5187 DLLAPI double *ER_STDCALL erGetMoveCP_speed_ori (ER_TARGET_MOVE_CP_HND hnd); // cp speed [m/s], ori speed [deg/s], erSET_CARTESIAN_POSITION_SPEED(), erSET_CARTESIAN_ORIENTATION_SPEED()
5193 DLLAPI double *ER_STDCALL erGetMoveCP_accel_cp (ER_TARGET_MOVE_CP_HND hnd); // cp accel [m/s^2], [deg/s^2], erSET_CARTESIAN_POSITION_ACCELERATION(), erSET_CARTESIAN_ORIENTATION_ACCELERATION()
5199 DLLAPI double *ER_STDCALL erGetMoveCP_accel_ori (ER_TARGET_MOVE_CP_HND hnd); // cp accel [m/s^2], [deg/s^2], erSET_CARTESIAN_POSITION_ACCELERATION(), erSET_CARTESIAN_ORIENTATION_ACCELERATION()
5210 DLLAPI double *ER_STDCALL erGetMoveCP_CartPosVec (ER_TARGET_MOVE_CP_HND hnd); // Cart. Target Location for ER_LIN and ER_CIRC move, Pxyz [m] Rxyz [rad], NEXT_TARGET_DATA.CartPos
5220 DLLAPI double *ER_STDCALL erGetMoveCP_CartPosVecVia (ER_TARGET_MOVE_CP_HND hnd); // Cart. Via Location for ER_CIRC move, Pxyz [m] Rxyz [rad], NEXT_TARGET_DATA.CartPos
5228 DLLAPI long *ER_STDCALL erGetMoveCP_interpolation_mode (ER_TARGET_MOVE_CP_HND hnd); // =1 one angle (QUATERNION), =2 two angle (QUATERNION), =3 three angle (VARIABLE), erSELECT_ORIENTATION_INTERPOLATION_MODE()
5242 DLLAPI long *ER_STDCALL erGetMoveCP_circ_orientation_interpolation_mode (ER_TARGET_MOVE_CP_HND hnd); // ::ER_CIRC_ORI_INTERPOLATION_START_END ... ::ER_CIRC_ORI_INTERPOLATION_FIX, erSELECT_CIRCULAR_ORIENTATION_INTERPOLATION_MODE()
5243 #pragma endregion region_MoveCP
5244 
5245 //--------------------------------
5246 // Motion execution data at target ... ERK_CAPI_TOOLPATH_MOTION_EXEC
5247 //--------------------------------
5248 #pragma region region_MotionExec
5249 
5271 DLLAPI long ER_STDCALL erGetMotionExec_motion_success (ER_TARGET_MOTION_EXEC_HND hnd); // 1 - TARGET_LOCATION reached successfully, 0 - TARGET_LOCATION not reached successfully
5278 DLLAPI double ER_STDCALL erGetMotionExec_time_stamp (ER_TARGET_MOTION_EXEC_HND hnd); // Time stamp [s] when target location is reached
5283 DLLAPI double ER_STDCALL erGetMotionExec_trajectory_time (ER_TARGET_MOTION_EXEC_HND hnd); // Trajectory Time [s] for current motion to target
5297 DLLAPI long ER_STDCALL erGetMotionExec_configuration (ER_TARGET_MOTION_EXEC_HND hnd); // current manipulator configuration at target location, [1..number of robot configurations]
5303 DLLAPI double *ER_STDCALL erGetMotionExec_JointPos (ER_TARGET_MOTION_EXEC_HND hnd); // Joint Location at target location
5309 DLLAPI double *ER_STDCALL erGetMotionExec_ExtAxValues (ER_TARGET_MOTION_EXEC_HND hnd); // External axis values at target location
5310 #pragma endregion region_MotionExec
5311 
5312 //--------------------------------
5313 // External axis data definition for Track/Slider-Motion ... ERK_CAPI_TOOLPATH_EXTAX_TRACKMOTION
5314 //--------------------------------
5315 #pragma region region_ExtAxTrack
5316  // External axis data definition for Track/Slider-Motion
5371 DLLAPI long *ER_STDCALL erGetExtAxTrack_number_extax_used (ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND hnd); // Number of "used" external axis. Note: The total number of external axis must not exceed ER_EXTAX_KIN_DATA_MAX
5379 DLLAPI long *ER_STDCALL erGetExtAxTrack_sync_type (ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND hnd); // ER_SYNC_OFF, ER_SYNC_ON, erConnectTrackMotionSetSync()
5393 DLLAPI ER_EXTAX_KIN_DATA *ER_STDCALL erGetExtAxTrack_extax_data (ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND hnd, long extax_idx); // external axis data, NEXT_TARGET_DATA.extax_data[]
5407 DLLAPI long ER_STDCALL erSetExtAxTrackIdx (ER_TARGET_LOCATION_HND er_tarloc_hnd, long extax_idx, double axis_value, double speed_value=0, long sync_type=ER_SYNC_UNDEF, ER_HND er_hnd_connect=0);
5408 #pragma endregion region_ExtAxTrack
5409 
5410 //--------------------------------
5411 // External axis data definition for Positioner/TurnTable ... ERK_CAPI_TOOLPATH_EXTAX_POSITIONER
5412 //--------------------------------
5413 #pragma region region_ExtAxPositioner
5414 
5480 DLLAPI long *ER_STDCALL erGetExtAxPositioner_number_extax_used (ER_TARGET_EXTAX_DEVICE_POSITIONER_HND hnd); // Number of "used" external axis. Note: The total number of external axis must not exceed ER_EXTAX_KIN_DATA_MAX
5488 DLLAPI long *ER_STDCALL erGetExtAxPositioner_sync_type (ER_TARGET_EXTAX_DEVICE_POSITIONER_HND hnd); // ER_SYNC_OFF, ER_SYNC_ON, erConnectPositionerSetSync()
5502 DLLAPI ER_EXTAX_KIN_DATA *ER_STDCALL erGetExtAxPositioner_extax_data (ER_TARGET_EXTAX_DEVICE_POSITIONER_HND hnd, long extax_idx); // external axis data, NEXT_TARGET_DATA.extax_data[]
5516 DLLAPI long ER_STDCALL erSetExtAxPositionerIdx (ER_TARGET_LOCATION_HND er_tarloc_hnd, long extax_idx, double axis_value, double speed_value=0, long sync_type=ER_SYNC_UNDEF, ER_HND er_hnd_connect=0);
5517 #pragma endregion region_ExtAxPositioner
5518 
5519 //--------------------------------
5520 // External axis data definition for Conveyor ... ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND
5521 //--------------------------------
5522 #pragma region region_ExtAxConveyor
5523 
5541  DLLAPI long *ER_STDCALL erGetExtAxConveyor_number_extax_used(ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND hnd); // Number of "used" external axis. Note: The total number of external axis must not exceed ER_EXTAX_KIN_DATA_MAX
5549  DLLAPI long *ER_STDCALL erGetExtAxConveyor_sync_type(ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND hnd); // ER_SYNC_OFF, ER_SYNC_ON, erConnectConveyorSetSync()
5563  DLLAPI ER_EXTAX_KIN_DATA *ER_STDCALL erGetExtAxConveyor_extax_data(ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND hnd, long extax_idx); // external axis data, NEXT_TARGET_DATA.extax_data[]
5577  DLLAPI long ER_STDCALL erSetExtAxConveyorIdx(ER_TARGET_LOCATION_HND er_tarloc_hnd, long extax_idx, double axis_value, double speed_value = 0, long sync_type = ER_SYNC_UNDEF, ER_HND er_hnd_connect = 0);
5578 
5598  DLLAPI long ER_STDCALL erSetConveyorTrackingWindow(ER_TARGET_LOCATION_HND er_tarloc_hnd, long active, double up, double down, TErTrackingWindowID id_tw, char *name = NULL);
5599 
5610 #pragma endregion region_ExtAxConveyor
5611 
5612 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5613 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5614 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5615 // ToolBox
5616 // class ERK_CAPI_TOOLPATH_TOOLBOX
5617 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5618 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5619 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5620 #pragma region region_Toolpath_Toolbox
5621 
5631 DLLAPI long ER_STDCALL erTPth_TBox_Fct(int FctIdx, int FctSubIdx, ER_TOOLPATH_HND er_tpth_hnd, int constraint_param, char *svalues=NULL);
5632 #pragma endregion region_Toolpath_Toolbox
5633 
5634 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5635 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5636 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5637 // ToolBox
5638 // class ERK_CAPI_TOOLPATH_APIPP
5639 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5640 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5641 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5642 #pragma region region_apipp_dll
5643 
5682 DLLAPI long ER_STDCALL erTPth_PostProc(char *ApiPP_Dll_Name, int FctIdx, int FctSubIdx, ER_TOOLPATH_HND er_tpth_hnd, char *program_name, char *target_path=NULL, int pp_param=0, char *svalues=NULL);
5683 #pragma endregion region_apipp_dll
5684 
5685 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5686 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5687 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5688 // ToolPath
5689 // class ERK_CAPI_TOOLPATH_CREATE
5690 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5691 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5692 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5698 DLLAPI long ER_STDCALL erTPth_Fct(ER_TOOLPATH_HND er_tpth_hnd);
5699 #pragma endregion region_CTOOLPATH
5700 
5701 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5702 // class ERK_CAPI_SIM
5703 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5704 
5705 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5706 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5707 // erColl_ - Functions
5708 // class ERK_CAPI_SIM_COLLISION
5709 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5710 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5711 
5712 #pragma region region_erSimCollision
5713 
5714 /* Creates a collision handle for one Model and preallocate memory for n_tris triangles
5715 */
5724 DLLAPI long ER_STDCALL erColl_BeginModel(ER_COLLISION_HND *er_coll_hnd, long n_tris);
5725 
5726 /* Adds a triangle to a Model
5727 */
5739 DLLAPI long ER_STDCALL erColl_AddTri(ER_COLLISION_HND er_coll_hnd, double *p1, double *p2, double *p3, long id);
5740 
5741 /* Stop building a Model
5742 */
5750 
5751 /* Perform the collision check of two Models
5752 See also erColl_ChkCollision_res() to get the collision results immediately
5753 */
5907 DLLAPI long ER_STDCALL erColl_ChkCollision(ER_COLLISION_HND er_coll_hnd_1, DFRAME *iT_1,ER_COLLISION_HND er_coll_hnd_2, DFRAME *iT_2, long query_type=ER_COLL_QUERY_TYPE_COLLIDE, long contact_type=ER_COLL_FIRST_CONTACT, double rel_err=0, double abs_err=0, double tolerance=0);
5908 
5909 /* Perform the collision check of two Models
5910  Collision results returned immediately compared to erColl_ChkCollision()
5911  */
6255 DLLAPI long ER_STDCALL erColl_ChkCollision_res(ER_COLLISION_HND er_coll_hnd_1, DFRAME *iT_1,ER_COLLISION_HND er_coll_hnd_2, DFRAME *iT_2, long query_type=ER_COLL_QUERY_TYPE_COLLIDE, long contact_type=ER_COLL_FIRST_CONTACT, double rel_err=0, double abs_err=0, double tolerance=0, void *pres=NULL);
6256 
6288 DLLAPI long ER_STDCALL erColl_ChkCollision_res_free(long query_type, void *pres);
6289 
6290 /* Unload a Model. Free all allocated memory
6291 */
6299 
6300 /* Get Collision result for query ::ER_COLL_QUERY_TYPE_COLLIDE
6301 */
6311 /* Get Collision result for query ::ER_COLL_QUERY_TYPE_DISTANCE
6312 */
6322 
6323 /* Get Collision result for query ::ER_COLL_QUERY_TYPE_TOLERANCE
6324 */
6334 
6335 #pragma endregion region_erSimCollision
6336 
6337 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6338 // ERK_CAPI_AUTOPATH
6339 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6340 #pragma region region_autopath_sdk
6341 
6344 DLLAPI char* ER_STDCALL erk_AutoPathVer(void);
6345 
6353 
6429 
6437 
6445 
6512 DLLAPI int ER_STDCALL erk_AutoPath_SetCallback_CheckConstraints(BOOL(*ptr_CheckConstraints)(int, void*));
6513 
6521 DLLAPI int ER_STDCALL erk_AutoPathSetPoseStart(double *pose_start);
6522 
6530 DLLAPI int ER_STDCALL erk_AutoPathSetPoseEnd(double *pose_end);
6531 
6539 
6544 
6549 
6554 
6559 
6564 
6571 
6579 
6585 
6590 
6595 DLLAPI double* ER_STDCALL erk_AutoPathGetWayPoint(int idx);
6601 
6607 DLLAPI int ER_STDCALL erk_AutoPathSetAccuracy(UINT accuracy);
6608 
6618 DLLAPI int ER_STDCALL erk_AutoPathSetAxisConstraints(int axisBit = AUTOPATH_SDK_AXIS_BIT_DOF6, int setting = 0, double qConstraintMin = 0, double qConstraintMax = 0);
6619 
6626 DLLAPI int ER_STDCALL erk_AutoPathSetAxisPriority(int axisBit, int priority);
6631 DLLAPI int ER_STDCALL erk_AutoPathSetAxisEnable(int axisBit, int enable);
6632 
6649 DLLAPI int ER_STDCALL erk_AutoPathSetParameter(int ap_option, int ap_value);
6665 DLLAPI int ER_STDCALL erk_AutoPathGetParameter(int ap_option);
6666 
6700 DLLAPI int ER_STDCALL erk_AutoPathGetResults(int ap_result);
6701 
6702 #pragma endregion region_autopath_sdk
6703 
6704 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6705 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6706 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6707 // class ERK_CAPI_GEO
6708 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6709 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6710 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6711 #pragma region region_geo
6712 /* erUpdateGeo
6713  Update all Models for each robot joint
6714 */
6723 DLLAPI long ER_STDCALL erUpdateGeo(ER_HND er_hnd);
6724 #pragma endregion region_geo
6725 
6726 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6727 // class ERK_CAPI_GEO_MNGR
6728 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6729 #pragma region region_GeoMngr
6730 //~~~~~~~~~~~~~~~~~~~~~
6731 // Administration
6732 //~~~~~~~~~~~~~~~~~~~~~
6737 
6744 
6752 
6753 //~~~~~~~~~~~~~~~~~~~~~
6754 // Access to geometries
6755 //~~~~~~~~~~~~~~~~~~~~~
6762 // fills structure pointed to by p_load_geometry_data with geometry loading data
6763 DLLAPI int ER_STDCALL erGeoMngr_GetGeometry(ER_HND er_hnd, int geometryIndex, LOAD_GEOMETRY_DATA *p_load_geometry_data, DFRAME* kinMat);
6764 // return number of geometries for axis of a specified device
6765 DLLAPI int ER_STDCALL erGeoMngr_GetNumAxisGeometries(ER_HND er_hnd, int axis_nr);
6766 // fills structure pointed to by p_load_geometry_data with geometry loading data
6767 DLLAPI int ER_STDCALL erGeoMngr_GetAxisGeometry(ER_HND er_hnd, int axis_nr, int geometryIndex, LOAD_GEOMETRY_DATA *p_load_geometry_data, DFRAME* kinMat);
6768 // BBox über die gesamte Geometrie (also über den gesamten Body)
6769 DLLAPI const double* ER_STDCALL erGeoMngr_GetGeometryBBox(TErGeoHandle geometryHandle);
6770 // Achsen-BBox über alle Geometry-BBoxes einer Achse
6771 DLLAPI const double* ER_STDCALL erGeoMngr_GetAxisBBox(ER_HND er_hnd, int axis_id);
6772 // Device-BBox
6773 DLLAPI const double* ER_STDCALL erGeoMngr_GetDeviceBBox(ER_HND er_hnd);
6774 
6776 
6777 DLLAPI int ER_STDCALL erGeoMngr_GetGeometryObjNumPoints(TErGeoHandle geometryHandle, int objidx);
6778 DLLAPI double* ER_STDCALL erGeoMngr_GetGeometryObjPoint(TErGeoHandle geometryHandle, int objidx, int index);
6780 DLLAPI double* ER_STDCALL erGeoMngr_GetGeometryObjPointNormal(TErGeoHandle geometryHandle, int objidx, int index);
6781 DLLAPI int ER_STDCALL erGeoMngr_GetGeometryObjNumLines(TErGeoHandle geometryHandle, int objidx);
6782 DLLAPI size_t* ER_STDCALL erGeoMngr_GetGeometryObjLine(TErGeoHandle geometryHandle, int objidx, int index);
6783 DLLAPI int ER_STDCALL erGeoMngr_GetGeometryObjNumPolygons(TErGeoHandle geometryHandle, int objidx);
6784 DLLAPI size_t* ER_STDCALL erGeoMngr_GetGeometryObjPolygon(TErGeoHandle geometryHandle, int objidx, int index);
6785 
6786 // ist die Obj-Color intern -2 (USER_COLOR) wird die user color (die Farbe, die in der LOAD_GEOMETRY_DATA-Struktur steht) zurückgegeben
6787 // sonst : konkrete Farbe
6788 DLLAPI double* ER_STDCALL erGeoMngr_GetGeometryObjColor(TErGeoHandle geometryHandle, int objidx);
6789 // der Farbcode (kann auch -2 (USER_COLOR) sein, damit die Host-Applikation eine eigene UserColor festlegen kann)
6790 DLLAPI long ER_STDCALL erGeoMngr_GetGeometryObjColorCode(TErGeoHandle geometryHandle, int objidx);
6791 
6792 DLLAPI int ER_STDCALL erGeoMngr_GetGeometryCloneCount(TErGeoHandle geometryHandle); // Get number of clones >=1
6794 
6795 //DLLAPI double* ER_STDCALL erGeoMngr_GetGeometryPolygoneNormal(TErGeoHandle geometryHandle, int index);
6796 //DLLAPI double* ER_STDCALL erGeoMngr_GetGeometryPolygoneCenter(TErGeoHandle geometryHandle, int index);
6797 
6800 DLLAPI int ER_STDCALL erGeoMngr_SetGeometryIsCollided(TErGeoHandle geometryHandle, int isCollided);
6802 
6803 DLLAPI int ER_STDCALL erGeoMngr_CheckBoundingBoxCollision(DFRAME* T1, const double* bbox1, DFRAME* T2, const double* bbox2, double tolerance);
6804 #pragma endregion region_GeoMngr
6805 
6806 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6807 // class ERK_CAPI_SYS
6808 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6809 
6810 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6811 // class ERK_CAPI_SYS_UTILITIES
6812 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6813 
6814 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6815 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6816 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6817 // erMath_ - Functions
6818 // ERK_CAPI_SYS_MATHEMATICS
6819 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6820 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6821 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6822 
6823 #pragma region region_erMath
6824 
6839 DLLAPI long ER_STDCALL erMath_FrameToVecIdx(DFRAME *T, double *vec, long rotation_idx=ER_ROT_XYZ);
6840 
6855 DLLAPI long ER_STDCALL erMath_VecToFrameIdx(double *vec, DFRAME *T, long rotation_idx=ER_ROT_XYZ);
6856 
6871 DLLAPI long ER_STDCALL erMath_PxyzRxyzToFrame(double x,double y,double z,double Rx,double Ry,double Rz, DFRAME *T);
6872 
6880 DLLAPI long ER_STDCALL erMath_Frame_Ident(DFRAME *T); // T = Ident
6881 
6892 DLLAPI long ER_STDCALL erMath_Frame_Trans(DFRAME *T, double x, double y, double z); // set frame position T.p[] = [x,y,z]
6893 
6905 DLLAPI long ER_STDCALL erMath_Frame_Rot(DFRAME *T, double q, long rotation_idx=ER_ROT_IDENT); // rotation_idx = ER_ROT_IDENT, ER_ROT_X, ER_ROT_Y, ER_ROT_Z, T = f(q,rotation_idx)
6906 
6917 DLLAPI long ER_STDCALL erMath_AngleBetween(DFRAME *Ts, DFRAME *Te, double *angle, double *k=NULL);
6918 
6929 DLLAPI long ER_STDCALL erMath_DistBetween(DFRAME *Ts, DFRAME *Te, double *dist, double *dv=NULL);
6930 
6943 DLLAPI long ER_STDCALL erMath_CircCenterPoint(double *ps, double *pv, double *pe, DFRAME *pTc, double *radius, double *phi, double *phi_via = NULL);
6944 
6953 DLLAPI long ER_STDCALL erMath_invT(DFRAME *To,DFRAME *Ti); // To = inv(Ti)
6954 
6963 DLLAPI long ER_STDCALL erMath_invR(DFRAME *Ro,DFRAME *Ri); // Ro = inv(Ri) = transpose(Ri) = Ri'
6964 
6974 DLLAPI long ER_STDCALL erMath_mul_R_R(DFRAME *Ro,DFRAME *Ri1,DFRAME *Ri2); // Ro = Ri1 * Ri2
6975 
6985 DLLAPI long ER_STDCALL erMath_mul_T_T(DFRAME *To,DFRAME *Ti1,DFRAME *Ti2); // To = Ti1 * Ti2
6986 
6998 DLLAPI long ER_STDCALL erMath_mul_T_invT (DFRAME *To, DFRAME *Ti1, DFRAME *Ti2); // To = Ti1 * inv(Ti2)
6999 
7011 DLLAPI long ER_STDCALL erMath_mul_invT_T (DFRAME *To, DFRAME *Ti1, DFRAME *Ti2); // To = inv(Ti1) * Ti2
7012 
7024 DLLAPI long ER_STDCALL erMath_mul_invT_invT (DFRAME *To, DFRAME *Ti1, DFRAME *Ti2); // To = inv(Ti1) * inv(Ti2)
7025 
7036 DLLAPI long ER_STDCALL erMath_mul_T_pos (double *po,DFRAME *T,double *pi); // po = T * pi
7037 
7049 DLLAPI long ER_STDCALL erMath_mul_invT_pos (double *po,DFRAME *T,double *pi); // po = inv(T) * pi
7050 
7060 DLLAPI long ER_STDCALL erMath_mul_R_pos (double *po,DFRAME *R,double *pi); // po = R * pi
7061 
7073 DLLAPI long ER_STDCALL erMath_mul_invR_pos (double *po,DFRAME *R,double *pi); // po = R' * pi
7074 
7085 DLLAPI long ER_STDCALL erMath_mul_T_T_T(DFRAME *To,DFRAME *Ti1,DFRAME *Ti2,DFRAME *Ti3); // To = Ti1 * Ti2 * Ti3
7086 
7099 DLLAPI long ER_STDCALL erMath_mul_T_T_invT(DFRAME *To,DFRAME *Ti1,DFRAME *Ti2,DFRAME *Ti3); // To = Ti1 * Ti2 * inv(Ti3)
7100 
7113 DLLAPI long ER_STDCALL erMath_mul_T_invT_T(DFRAME *To,DFRAME *Ti1,DFRAME *Ti2,DFRAME *Ti3); // To = Ti1 * inv(Ti2) * Ti3
7114 
7127 DLLAPI long ER_STDCALL erMath_mul_T_invT_invT(DFRAME *To,DFRAME *Ti1,DFRAME *Ti2,DFRAME *Ti3); // To = Ti1 * inv(Ti2) * inv(Ti3)
7128 
7141 DLLAPI long ER_STDCALL erMath_mul_invT_T_T(DFRAME *To,DFRAME *Ti1,DFRAME *Ti2,DFRAME *Ti3); // To = inv(Ti1) * Ti2 * Ti3
7142 
7155 DLLAPI long ER_STDCALL erMath_mul_invT_T_invT(DFRAME *To,DFRAME *Ti1,DFRAME *Ti2,DFRAME *Ti3); // To = inv(Ti1) * Ti2 * inv(Ti3)
7156 
7169 DLLAPI long ER_STDCALL erMath_mul_invT_invT_T(DFRAME *To,DFRAME *Ti1,DFRAME *Ti2,DFRAME *Ti3); // To = inv(Ti1) * inv(Ti2) * Ti3
7170 
7183 DLLAPI long ER_STDCALL erMath_mul_invT_invT_invT(DFRAME *To,DFRAME *Ti1,DFRAME *Ti2,DFRAME *Ti3); // To = To = inv(Ti1) * inv(Ti2) * inv(Ti3)
7184 
7195 DLLAPI double* ER_STDCALL erMath_SetVec6(double *vec, double q1,double q2,double q3,double q4,double q5,double q6); // cpy vector of size n
7208 DLLAPI double* ER_STDCALL erMath_SetVec6PosOri(double *vec, double x,double y,double z,double Rx,double Ry,double Rz); // cpy vector of size n, x,y,z in [mm], Rx,Ry,Rz in [deg]
7221 DLLAPI DFRAME* ER_STDCALL erMath_SetFramePosOri(DFRAME *To, double x, double y, double z, double Rx, double Ry, double Rz); // cpy vector of size n, x,y,z in [mm], Rx,Ry,Rz in [deg] to a DFRAME
7233 DLLAPI double* ER_STDCALL erMath_SetVec_n(double *vec, int n, double q1,double q2,double q3,double q4,double q5,double q6); // cpy vector of size n
7240 DLLAPI double* ER_STDCALL erMath_CpyVec(double *dst, double *src, int n); // cpy vector of size n
7246 DLLAPI double* ER_STDCALL erMath_ResetVec(double *dst, int n); // reset vector of size n
7247 
7248 #pragma endregion region_erMath
7249 
7250 //------------------------------------------------------------------------------------------
7251 //------------------------------------------------------------------------------------------
7252 
7253 #ifdef __cplusplus
7254 }
7255 #endif
7256 
7257 #endif // _er_kernel_main_h
DLLAPI long ER_STDCALL erColl_UnloadModel(ER_COLLISION_HND *er_coll_hnd)
Unload a Model. Free all allocated memory.
unsigned int * ER_HND
unique Kinematics handle, created with erInitKin()
Definition: erk_capi_types.h:198
DLLAPI long 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 f...
const long ER_COLL_QUERY_TYPE_COLLIDE
detects collision between two PQP_Models, erColl_ChkCollision()
Definition: erk_capi_types.h:750
DLLAPI long ER_STDCALL erFindConfig(ER_HND er_hnd, long *config)
Find current robot configuration Finds current robot configuration, depending on current robot joint ...
DLLAPI long ER_STDCALL erGetConfig(ER_HND er_hnd, long *config)
Get current robot configuration Gets current robot configuration. See also erSetConfig()....
DLLAPI long ER_STDCALL erGetSweMin_passive(ER_HND er_hnd, double *swe_min_passive)
Get fix minimum travel ranges from passive joints. The kinematics travel ranges swe_min_passive are i...
DLLAPI long *ER_STDCALL erGetExtAxTrack_sync_type(ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND hnd)
Synchonization for Track/Slider For a Track/Slider motion, the synchonization should be always ER_SY...
DLLAPI long ER_STDCALL erGet_num_dofs_passive(ER_HND er_hnd)
Get number of passive robot joints.
DLLAPI DFRAME *ER_STDCALL erSetMotionAttributes_ToolOffsetFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *ToolOffsetFrame)
ToolOffset (TCP) for a target location Offset Transformation from TCP see inq_ToolOffsetIdx(),...
DLLAPI ER_TARGET_EXTAX_DEVICE_POSITIONER_HND ER_STDCALL GetExtAxPositionerTemplate(ER_TOOLPATH_HND er_tpth_hnd)
Get external axis positioner template data from tool path. Get the external axis positioner template ...
DLLAPI long ER_STDCALL erKernelSetLicensePriority(int license_priority)
Set license priority. Call this function before initializing the Kernel erKernelInitialize() Paramete...
DLLAPI long 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 prisma...
DLLAPI long ER_STDCALL erSetAxMax(ER_HND er_hnd, double ax_max)
Set maximum cartesian acceleration.
DLLAPI long ER_STDCALL erSetTargetLocation_Move_CIRC_Frame(ER_TARGET_LOCATION_HND er_tarloc_hnd, DFRAME *CartPosFrameVia, DFRAME *CartPosFrame, double speed_cp=0, double speed_ori=0, double override_speed=0, long flyby_on=-1, DFRAME *ToolFrame=0, DFRAME *BaseFrame=0)
Move_CIRC, continious path motion definition for target location Remarks Use erAddTargetLocation() t...
DLLAPI double *ER_STDCALL erMath_SetVec6PosOri(double *vec, double x, double y, double z, double Rx, double Ry, double Rz)
Cpy and convert a target location (position+orientation) to a vector position x,y,...
DLLAPI long ER_STDCALL erToolPathEnable(ER_TOOLPATH_HND er_tpth_hnd, long enable)
Enable or disable tool path Parameter enable is one of ER_ONOFF_DISABLE, ER_ONOFF_ENABLE,...
DLLAPI long ER_STDCALL erSetJointFrameActiveNext(ER_HND er_hnd, long active_jnt_no, DFRAME *T)
DLLAPI long ER_STDCALL erGetJointName_passive(ER_HND er_hnd, long passive_jnt_no, char *jnt_name_passive)
Get the name of passive robot joint.
Homogeneous 4x4 transformation matrix, a Frame with 3x3 orthogonal noa-matrix (n = o x a) and 3x1 pos...
Definition: erk_capi_types.h:90
DLLAPI double *ER_STDCALL erGetMotionAttributes_ramp(ER_TARGET_ATTRIBUTES_HND hnd)
Change of acceleration and deceleration as percentage value in the range from 20% to 100% of normal v...
DLLAPI ER_TOOLPATH_HND ER_STDCALL erGetTargetLocationToolPathHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Tool path handle belonging to target location handle.
Contains target data for next move This structure contains all required data for the next target Usag...
DLLAPI int ER_STDCALL erk_AutoPathGetWayPointDof(void)
Get dof of calculated way points.
const long ER_EVENT_CONDITION_UNDEF
event condition for binary input is undefined
Definition: erk_capi_types.h:607
DLLAPI long ER_STDCALL erGetInvKinID(ER_HND er_hnd, long *invkin_id)
Inverse kinematics ID for cRobot. .
DLLAPI long ER_STDCALL erConnectRobotSetSync(ER_HND er_hnd, long connect_sync)
Set robots synchronization flag for synchronization between robot and slave robot....
DLLAPI char *ER_STDCALL erGetTargetLocationName(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Name of target location.
DLLAPI long ER_STDCALL erInitToolPath(ER_HND er_hnd, ER_TOOLPATH_HND *er_tpth_hnd)
Create a unique tool path handle for a kinematics.
DLLAPI void **ER_STDCALL erGet_erk_kin_usr_ptr(ER_HND er_hnd)
DLLAPI long ER_STDCALL erMath_Frame_Trans(DFRAME *T, double x, double y, double z)
Set position of homogeneous 4x4 transformation matrix. T.p[] = [x,y,z] A frame DFRAME is a homogeneou...
unsigned int * ER_TARGET_MOVE_CP_HND
unique Target data for CP Move handle
Definition: erk_capi_types.h:213
DLLAPI long 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 obj...
DLLAPI int ER_STDCALL erk_AutoPathSetAxisEnable(int axisBit, int enable)
Set axis enable.
DLLAPI double *ER_STDCALL erGetMoveJoint_JointPos(ER_TARGET_MOVE_JOINT_HND hnd)
Joint position for joint move for target location Remarks Use for.
long(ER_STDCALL * TerGrpSyncProc)(ER_HND ErHandle, Host_HND HostHandle, TErGrpSyncData *p_GrpSyncData)
Callback function type definition group synchronization, erSetCallBack_GrpSyncProc()
Definition: erk_capi_types.h:684
DLLAPI double *ER_STDCALL erGetMoveCP_accel_cp(ER_TARGET_MOVE_CP_HND hnd)
Cartesian acceleration [m/s^2], for CP move for target location.
DLLAPI int ER_STDCALL erGeoMngr_GetGeometryNumObjs(TErGeoHandle geometryHandle)
DLLAPI long ER_STDCALL erSELECT_FLYBY_CRITERIA(ER_HND er_hnd, long param_number)
Selects a flyby criterion (parameter). Opcode 142, Chapter 3.4.6, Page 3-87 Function not supported
DLLAPI void ER_STDCALL erSetCallBack_LogProc(TerLogProc Handler)
Define Callback function for Log Messages.
DLLAPI long ER_STDCALL erGET_MESSAGE(ER_HND er_hnd, long message_number)
Gives information about controller messages that occurred. Opcode 154, Chapter 3.4....
DLLAPI long ER_STDCALL erColl_BeginModel(ER_COLLISION_HND *er_coll_hnd, long n_tris)
Creates a collision handle for one Model and preallocate memory for n_tris triangles.
DLLAPI long ER_STDCALL erSELECT_TRAJECTORY_MODE(ER_HND er_hnd, long trajectory_on)
Selects on or off for the trajectory mode. Opcode 122, Chapter 3.4.4, Page 3-62 The trajectory_on can...
DLLAPI long ER_STDCALL erSELECT_FLYBY_MODE(ER_HND er_hnd, long flyby_on)
Defines rounding / flyby condition. Opcode 140, Chapter 3.4.6, Page 3-85 Per default Flyby is disable...
DLLAPI long 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 ty...
DLLAPI long *ER_STDCALL erGetMotionAttributes_advance_motion(ER_TARGET_ATTRIBUTES_HND hnd)
Number of motions, the motion planner may run in advance of the interpolator (look_ahead) for a targe...
DLLAPI double *ER_STDCALL erGetMoveCP_CartPosVecVia(ER_TARGET_MOVE_CP_HND hnd)
Cartesian position at VIA location w.r.t. Base for CP move for target location Remarks Use for.
DLLAPI long 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 erSet...
DLLAPI long 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(...
DLLAPI long ER_STDCALL erSetHomepos(ER_HND er_hnd, double *homepos)
Set robot joint homeposition. The kinematics joint homepos are in units [m] for prismatic joint type ...
DLLAPI long ER_STDCALL erTargetLocationValid(ER_TARGET_LOCATION_HND er_tarloc_hnd, long valid)
Validity of a target location A target location is per default invalid when created e....
DLLAPI long 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...
DLLAPI double *ER_STDCALL erk_AutoPathGetConfigurationPose(void)
current configuration pose during FindPath Process return pointer, size nConfig
DLLAPI long ER_STDCALL erToolPathSetTrackMotionHandle(ER_TOOLPATH_HND er_tpth_hnd, ER_HND hnd_TrackMotion=NULL)
Set track motion handle belonging to tool path handle. The tool path handles the track motion device ...
const int AUTOPATH_SDK_AXIS_BIT_DOF6
axisBit Axis 1..6
Definition: erk_capi_types.h:850
DLLAPI ER_TARGET_MOVE_JOINT_HND ER_STDCALL erGetTargetLocationMoveJointHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for target move joint data Typical data belonging to a move joint target location are: target_...
DLLAPI long ER_STDCALL erToolPathGetTargetLocationNumber(ER_TOOLPATH_HND er_tpth_hnd)
Get the number of target locations in tool path.
DLLAPI char *ER_STDCALL erToolPathPrgFileName(ER_TOOLPATH_HND er_tpth_hnd)
Name program file.
#define ER_STDCALL
Definition: erk_capi_types.h:81
DLLAPI long 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...
DLLAPI DFRAME *ER_STDCALL erSetMotionAttributes_extTcpOffsetFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *extTcpOffsetFrame)
external Tool/TCP offset data w.r.t. extTcpBase, extTcpWorld, for a target location Transformation fr...
DLLAPI long ER_STDCALL erMath_mul_invT_invT_T(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2, DFRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * inv(Ti2) * Ti3 Rem...
DLLAPI long *ER_STDCALL erGetMoveCP_target_type(ER_TARGET_MOVE_CP_HND hnd)
Target type for CP move for target location is always.
DLLAPI DFRAME *ER_STDCALL erGetMotionAttributes_BaseFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *BaseFrame)
Program shift Base for a target location Base '$BASE, $UFrame' has only if IPO_MODE_BASE is set and e...
DLLAPI long *ER_STDCALL erGetExtAxPositioner_number_extax_used(ER_TARGET_EXTAX_DEVICE_POSITIONER_HND hnd)
Number of external axis used for Positioner/TurnTable see example GetExtAxPositionerHnd()
DLLAPI long ER_STDCALL erGetNumConfigs(ER_HND er_hnd, long *num_configs)
Get number of possible robot configurations.
DLLAPI long ER_STDCALL erGetJointName(ER_HND er_hnd, long active_jnt_no, char *jnt_name)
Get the name of active robot joint.
DLLAPI long ER_STDCALL erGetSweMaxCalc(ER_HND er_hnd, double *swe_max_calc)
Get calculated maximum travel ranges. The kinematics calculated travel ranges swe_max_calc are in uni...
DLLAPI long ER_STDCALL erSET_CARTESIAN_POSITION_ACCELERATION(ER_HND er_hnd, double accel_value, long accel_type)
Sets acceleration for cartesian motion [m/sec^2]. Opcode 137, Chapter 3.4.5, Page 3-78....
DLLAPI ER_TARGET_LOCATION_HND ER_STDCALL erGET_NEXT_TOOLPATH_STEP_cTargetLocation(ER_TOOLPATH_HND er_tpth_hnd)
Get the current 'target location handle' while interpolation through a complete tool path.
DLLAPI long 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 ...
DLLAPI long ER_STDCALL erMath_mul_invT_T(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2)
Multiplication of two homogeneous 4x4 transformation matrices. To = inv(Ti1) * Ti2 Remarks inv(T) is...
DLLAPI char *ER_STDCALL erToolPathLogFileName(ER_TOOLPATH_HND er_tpth_hnd)
Name log file.
DLLAPI double *ER_STDCALL erk_AutoPathGetEndPose(void)
Get End Pose return pointer, size nConfig.
DLLAPI long ER_STDCALL erSetTargetLocation_Move_SlewAbs(ER_TARGET_LOCATION_HND er_tarloc_hnd, double *JointPos, double speed_percent=0, double override_speed=0, double *Tool=0)
Move_SlewAbs, not synchronized PTP, motion definition for target location Remarks Use erAddTargetLoc...
DLLAPI int ER_STDCALL erk_AutoPathGetPlanningStatus(void)
Get path planning status The planning status is one of AUTOPATH_SDK_STATUS_MP_IDLE AUTOPATH_SDK_STA...
DLLAPI long *ER_STDCALL erGetMoveCP_circ_orientation_interpolation_mode(ER_TARGET_MOVE_CP_HND hnd)
Circular orientation interpolation mode for CP move for target location The circular orientation inte...
DLLAPI ER_TARGET_MOVE_JOINT_HND ER_STDCALL GetMoveJointTemplate(ER_TOOLPATH_HND er_tpth_hnd)
Get move joint template data from tool path. Get the move joint template data belonging to the tool p...
DLLAPI int ER_STDCALL erk_AutoPathSetMem(AutoPath_ConfigurationSpace *apcs)
allocate memory for AutoPath_ConfigurationSpace data depending on nConfig see example AutoPathInit()
DLLAPI int ER_STDCALL erGeoMngr_GetGeometryObjNumPointNormals(TErGeoHandle geometryHandle, int objidx)
DLLAPI long *ER_STDCALL erGetMotionAttributes_extTcpOffsetIdx(ER_TARGET_ATTRIBUTES_HND hnd)
Idx for external Tool/TCP offset data w.r.t. extTcpBase, extTcpWorld, for a target location see inq_e...
DLLAPI long ER_STDCALL erToolPathSetInitPos(ER_TOOLPATH_HND er_tpth_hnd, double InterpolationTime=0)
Initializes the Trajectory Planner based on current settings. Remarks This method must be called bef...
DLLAPI double *ER_STDCALL erMath_SetVec_n(double *vec, int n, double q1, double q2, double q3, double q4, double q5, double q6)
Cpy n values to a vector.
DLLAPI long 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 obj...
DLLAPI long ER_STDCALL erKernelGetOptions(char *opt)
Supplies option string containing all enabled options.
DLLAPI ER_HND ER_STDCALL erToolPathGetPositionerHandle(ER_TOOLPATH_HND er_tpth_hnd)
Get device positioner handle belonging to tool path handle.
const long ER_ROT_IDENT
Rotation Index: Identity, erMath_Frame_Rot()
Definition: erk_capi_types.h:727
DLLAPI int *ER_STDCALL erGeoMngr_GetGeometryIsCollided(TErGeoHandle geometryHandle)
DLLAPI long ER_STDCALL erToolPathResetInitPositioner(ER_TOOLPATH_HND er_tpth_hnd, double *q_start=NULL)
Set initial joint start location for the Positioner. Remarks Read current joint data from loaded Pos...
DLLAPI long ER_STDCALL erSetEvents_DIN(ER_HND er_hnd, int idx=1, long io_value=ER_EVENT_BOOL_UNDEF, char *io_name=0, long leadcond_type=ER_EVENT_CONDITION_UNDEF, double leadcond_value=0, long lagcond_type=ER_EVENT_CONDITION_UNDEF, double lagcond_value=0)
Set event conditions for a binary input for target location An input is checked before a movement sta...
DLLAPI long ER_STDCALL erToolPathSetPositionerHandle(ER_TOOLPATH_HND er_tpth_hnd, ER_HND hnd_Positioner=NULL)
Set positioner handle belonging to tool path handle. The tool path handles the positioner device as e...
Collision results for query ER_COLL_QUERY_TYPE_TOLERANCE, see erColl_GetResults_Tolerance()
Definition: erk_capi_types.h:807
DLLAPI long ER_STDCALL erSetBacklink(ER_HND er_hnd, long backlink)
Set robot back link status The back link status can be one of the following values....
DLLAPI void ER_STDCALL erSetCallBack_UpdateGeometryProc(TerUpdateGeometryProc Handler)
Define Callback function to updat a geometries The Host application is prompted to update a geometry.
DLLAPI ER_TARGET_LOCATION_HND ER_STDCALL erGetTargetLocationLast(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Get last target location in a tool path.
DLLAPI long 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 ...
DLLAPI double *ER_STDCALL erGetMotionAttributes_flyby_dist(ER_TARGET_ATTRIBUTES_HND hnd)
flyby by distance [m] for a target location In case of flyby by distance, the robot starts moving int...
DLLAPI long ER_STDCALL erMath_mul_invT_invT_invT(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2, DFRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * inv(Ti2) * inv(Ti3...
DLLAPI long ER_STDCALL erGetSweMinMaxCalc(ER_HND er_hnd, double *swe_min_calc, double *swe_max_calc)
Get calculated minimum and maximum travel ranges. The kinematics calculated travel ranges swe_min_cal...
DLLAPI double *ER_STDCALL erGetMoveJoint_speed_percent(ER_TARGET_MOVE_JOINT_HND hnd)
Speed_percent percentage speed definition [>0-1000%] for joint move for target location.
DLLAPI DFRAME *ER_STDCALL erSetMotionAttributes_extTcpWorldFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *extTcpWorldFrame)
external Tool (TCP) w.r.t. Robot World or flange of positioner, for a target location Transformation ...
unsigned int * ER_TARGET_EXTAX_DEVICE_POSITIONER_HND
unique External axis data definition for Positioner/TurnTable handle
Definition: erk_capi_types.h:216
DLLAPI double *ER_STDCALL erGetMoveCP_speed_ori(ER_TARGET_MOVE_CP_HND hnd)
Cartesian orientation speed [rad/s], for CP move for target location.
DLLAPI long *ER_STDCALL erGetMoveJoint_target_type(ER_TARGET_MOVE_JOINT_HND hnd)
Target type for joint move for target location is one of.
DLLAPI char *ER_STDCALL erGetMotionAttributes_extTcpBaseName(ER_TARGET_ATTRIBUTES_HND hnd)
Name for external Tool (TCP) w.r.t. Robot Base or flange of positioner, for a target location see inq...
DLLAPI long ER_STDCALL erKernelSetLicenseFile(char *license_file)
Set location and name of license file. Call this function before initializing the Kernel erKernelInit...
DLLAPI const double *ER_STDCALL erGeoMngr_GetDeviceBBox(ER_HND er_hnd)
DLLAPI long ER_STDCALL CpyMoveCPTemplate(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_MOVE_CP_HND hnd)
Copy move cp data to template data. The move cp data defined with move cp handle hnd are copied to th...
DLLAPI void ER_STDCALL erSetCallBack_GrpSyncProc(TerGrpSyncProc Handler)
Define Callback function for group synchonization.
DLLAPI long ER_STDCALL erTPth_Fct(ER_TOOLPATH_HND er_tpth_hnd)
Do Fct. ... tbd.
DLLAPI int ER_STDCALL erk_AutoPathTerminate(AutoPath_ConfigurationSpace *apcs)
Terminate AutoPath call AutoPathFreeMem() first, see example AutoPathInit()
DLLAPI ER_EXTAX_KIN_DATA *ER_STDCALL erGetExtAxConveyor_extax_data(ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND hnd, long extax_idx)
External axis values for Conveyor Values ER_EXTAX_KIN_DATA are: .
DLLAPI long ER_STDCALL erKernelGetOptionsDisabled(char *nopt)
Supplies option string containing all disabled options.
DLLAPI int ER_STDCALL erGeoMngr_GetAxisGeometry(ER_HND er_hnd, int axis_nr, int geometryIndex, LOAD_GEOMETRY_DATA *p_load_geometry_data, DFRAME *kinMat)
long(ER_STDCALL * TerUpdateGeometryProc)(ER_HND ErHandle, TErGeoHandle GeoHandle, DFRAME *KinMat)
Callback function type definition to update a geometry, erSetCallBack_UpdateGeometryProc()
Definition: erk_capi_types.h:645
DLLAPI long ER_STDCALL erSetTargetLocation_Move_JointAbs(ER_TARGET_LOCATION_HND er_tarloc_hnd, double *JointPos, double speed_percent=0, double override_speed=0, double *Tool=0)
Move_JointAbs, full synchronized PTP, motion definition for target location Remarks Use erAddTargetL...
DLLAPI int ER_STDCALL erGeoMngr_GetNumAxisGeometries(ER_HND er_hnd, int axis_nr)
DLLAPI long ER_STDCALL erSELECT_CIRCULAR_ORIENTATION_INTERPOLATION_MODE(ER_HND er_hnd, long circ_orientation_interpolation_mode)
Selects the circular orientation interpolation mode. The parameter circ_orientation_interpolation_mod...
DLLAPI long ER_STDCALL erSetTrackingWindow(ER_HND er_hnd, long active, double up, double down, TErTrackingWindowID id_tw, char *name=NULL)
Activates and deactivates the boundaries for a Tracking Window. This function enables a tracking wind...
DLLAPI long ER_STDCALL erGetMotionExec_configuration(ER_TARGET_MOTION_EXEC_HND hnd)
Robot configuration, when reaching the target, while interpolation through the complete tool path Rem...
DLLAPI long ER_STDCALL erGetBackLink(ER_HND er_hnd, long *backlink)
Get robot back link status, obsolete function, use erGetBacklink()
DLLAPI int ER_STDCALL erk_AutoPathSetAxisPriority(int axisBit, int priority)
Set axis priority.
DLLAPI char *ER_STDCALL erGetInstructions_information(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Get information target instruction data for target location. For further explanations see GetInstruct...
DLLAPI ER_HND ER_STDCALL erConnectTrackMotionGetHND(ER_HND er_hnd)
Get robots connection handle between robot and track motion. See also erConnectTrackMotion()
DLLAPI long 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....
DLLAPI long ER_STDCALL erSetJointFramePassiveLast(ER_HND er_hnd, long passive_jnt_no, DFRAME *T)
DLLAPI long ER_STDCALL erGetSweCalcMode(ER_HND er_hnd, long *swe_calc_mode)
Get calculation mode for travel ranges Travel ranges can be fixed or depending on joints by a formula...
DLLAPI char *ER_STDCALL erk_AutoPathVer(void)
AutoPath Version.
DLLAPI int ER_STDCALL erk_AutoPathGetParameter(int ap_option)
Get parameter Paramter ap_option is one of AUTOPATH_SDK_PARAMETER_DYNADJUST AUTOPATH_SDK_PARAMETER_...
DLLAPI long ER_STDCALL erColl_GetResults_Collide(ER_CollideResult *er_cres)
Get Collision result for query ER_COLL_QUERY_TYPE_COLLIDE. Remarks Call erColl_ChkCollision() first,...
DLLAPI long ER_STDCALL erGetVxOriMax(ER_HND er_hnd, double *vx_ori_max)
Get maximum cartesian orientation speed.
DLLAPI long ER_STDCALL erConnectConveyorGetSync(ER_HND er_hnd)
Get robots synchronization flag for synchronization between robot and conveyor. See also erConnectCon...
unsigned int * ER_TARGET_LOCATION_HND
unique Target location handle, created with erAddTargetLocation()
Definition: erk_capi_types.h:206
DLLAPI ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND ER_STDCALL GetExtAxTrackMotionTemplate(ER_TOOLPATH_HND er_tpth_hnd)
Get external axis track motion template data from tool path. Get the external axis track motion templ...
DLLAPI long ER_STDCALL erMath_mul_invR_pos(double *po, DFRAME *R, double *pi)
Multiplication of a 3x1 position with the transpose of a 3x3 orientation of a homogeneous 4x4 transfo...
DLLAPI long 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 suppo...
DLLAPI long ER_STDCALL erInvKinWorldTip(ER_HND er_hnd, DFRAME *iTt)
Calculating the inverse kinematics transformation. The iTt is the location of the flange w....
DLLAPI long *ER_STDCALL erGetMoveJoint_ptp_target_calculation_mode(ER_TARGET_MOVE_JOINT_HND hnd)
Ptp_target_calculation_mode for target location is one of ER_PTP_TARGET_CALC_MODE_SHORTEST_ANGLE,...
DLLAPI int ER_STDCALL erGeoMngr_GetGeometryObjNumPolygons(TErGeoHandle geometryHandle, int objidx)
DLLAPI long ER_STDCALL erColl_ChkCollision(ER_COLLISION_HND er_coll_hnd_1, DFRAME *iT_1, ER_COLLISION_HND er_coll_hnd_2, DFRAME *iT_2, long query_type=ER_COLL_QUERY_TYPE_COLLIDE, long contact_type=ER_COLL_FIRST_CONTACT, double rel_err=0, double abs_err=0, double tolerance=0)
Perform the collision check of two Models. See also erColl_ChkCollision_res() to get the collision re...
DLLAPI long ER_STDCALL erMath_mul_R_R(DFRAME *Ro, DFRAME *Ri1, DFRAME *Ri2)
Orientation multiplication of two homogeneous 4x4 transformation matrices. Ro = Ri1 * Ri2 A frame DFR...
DLLAPI long 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...
DLLAPI long ER_STDCALL erGetBacklink(ER_HND er_hnd, long *backlink)
Get robot back link status The back link status can be one of the following values....
DLLAPI long ER_STDCALL erSET_PAYLOAD_PARAMETER(ER_HND er_hnd, long storage, char *frame_id, long param_number, double param_value)
Allows specifying payloads at different locations on the robot. It has to be supported when the paylo...
DLLAPI long ER_STDCALL erUnloadKin(ER_HND *er_hnd)
Unload an instance of kinematics of the Kernel. Unloads an instance of kinematics givin by the unique...
DLLAPI long ER_STDCALL erMath_mul_T_invT_T(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2, DFRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * inv(Ti2) * Ti3 Remarks ...
DLLAPI long ER_STDCALL erGetAxMax(ER_HND er_hnd, double *ax_max)
Get maximum cartesian acceleration.
DLLAPI void ER_STDCALL erEnableCallBack_LogProc(long onoff)
Enable/Disable Log messages. This function enables or disables Log Messages used with callback functi...
DLLAPI long ER_STDCALL erMath_mul_T_invT(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2)
Multiplication of two homogeneous 4x4 transformation matrices. To = Ti1 * inv(Ti2) Remarks inv(T) is...
void(ER_STDCALL * TerLogProc)(long LogType, char *LogMessage)
Callback function type definition for Log messages, erSetCallBack_LogProc()
Definition: erk_capi_types.h:629
DLLAPI double *ER_STDCALL erMath_ResetVec(double *dst, int n)
Reset vector dst = 0.
DLLAPI long ER_STDCALL erSELECT_ORIENTATION_INTERPOLATION_MODE(ER_HND er_hnd, long interpolation_mode, long ori_const)
Set orientation interpolation mode. Opcode 123, Chapter 3.4.4, Page 3-63 The interpolation_mode is pe...
DLLAPI long 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_h...
DLLAPI long ER_STDCALL erMath_invR(DFRAME *Ro, DFRAME *Ri)
Builds the inverse of the 3x3 orientation matrix from a homogeneous 4x4 transformation matrix T....
DLLAPI long ER_STDCALL erSET_POINT_ACCURACY_PARAMETER(ER_HND er_hnd, long accuracy_type, double accuracy_value)
Sets the value of a parameter determining point accuracy. Opcode 145, Chapter 3.4....
DLLAPI long 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.
DLLAPI long ER_STDCALL erMath_Frame_Rot(DFRAME *T, double q, long rotation_idx=ER_ROT_IDENT)
Set orientation of homogeneous 4x4 transformation matrix. T = f(q,rotation_idx) The rotation index ro...
DLLAPI long *ER_STDCALL erGetExtAxPositioner_sync_type(ER_TARGET_EXTAX_DEVICE_POSITIONER_HND hnd)
Synchonization for Positioner/TurnTable For a Positioner/TurnTable motion, the synchonization can be...
DLLAPI int ER_STDCALL erGeoMngr_SetGeometryCollisionHandle(TErGeoHandle geometryHandle, ER_COLLISION_HND collisionHandle)
const int ER_MOP_GNTPS_CNTRL_INIT
Get Next Tool Path Step, Initialize ToolPath interpolation.
Definition: erk_capi_types.h:570
DLLAPI long 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 an...
DLLAPI long 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,...
DLLAPI ER_HND ER_STDCALL erConnectPositionerGetHND(ER_HND er_hnd)
Get robots connection handle between robot and positioner. See also erConnectPositioner()
DLLAPI double *ER_STDCALL erk_AutoPathGetAxisConstraintsMin(void)
Get minimum axis constraints return pointer, size nConfig.
DLLAPI char *ER_STDCALL erGetMotionAttributes_extTcpWorldName(ER_TARGET_ATTRIBUTES_HND hnd)
Name for external Tool (TCP) w.r.t. Robot World or flange of positioner, for a target location see in...
DLLAPI long ER_STDCALL erMath_mul_T_invT_invT(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2, DFRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * inv(Ti2) * inv(Ti3) Rem...
DLLAPI ER_HND ER_STDCALL erToolPathGetRobotHandle(ER_TOOLPATH_HND er_tpth_hnd)
Get device robot handle belonging to tool path handle.
DLLAPI int ER_STDCALL erk_AutoPathFindPath(void)
Start motion planner, find a collision free path between start and end pose In each step,...
DLLAPI long 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....
DLLAPI DFRAME *ER_STDCALL erGetMotionAttributes_extTcpWorldFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *extTcpWorldFrame)
external Tool (TCP) w.r.t. Robot World or flange of positioner, for a target location Transformation ...
Collision results for query ER_COLL_QUERY_TYPE_COLLIDE, see erColl_GetResults_Collide() .
Definition: erk_capi_types.h:778
DLLAPI long ER_STDCALL erUnloadToolPath(ER_TOOLPATH_HND *er_tpth_hnd)
Unload an instance of a kinematics tool path.
DLLAPI long ER_STDCALL erToolPathResetInitRobot(ER_TOOLPATH_HND er_tpth_hnd, double *q_start=NULL)
Set initial joint start location for the robot. Remarks Read current joint data from loaded robot....
DLLAPI long 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 j...
DLLAPI double *ER_STDCALL erGetMotionAttributes_extTcpWorldVec(ER_TARGET_ATTRIBUTES_HND hnd)
external Tool (TCP) w.r.t. Robot World or flange of positioner, for a target location Transformation ...
DLLAPI long ER_STDCALL erSetTargetLocation_Move_LIN_Frame(ER_TARGET_LOCATION_HND er_tarloc_hnd, DFRAME *CartPosFrame, double speed_cp=0, double speed_ori=0, double override_speed=0, long flyby_on=-1, DFRAME *ToolFrame=0, DFRAME *BaseFrame=0)
Move_LIN, continious path motion definition for target location Remarks Use erAddTargetLocation() to...
DLLAPI long 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 pr...
unsigned int * ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND
unique External axis data definition for Track/Slider handle
Definition: erk_capi_types.h:215
DLLAPI long 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 erSet...
DLLAPI long ER_STDCALL erKernelGetLicenseFile(char *license_file)
Get location and name of license file. If license_file is not set the string is empty,...
DLLAPI long ER_STDCALL erGetTurn_offset(ER_HND er_hnd, double *turn_offset)
Get the turn offset for each robot joints The kinematics turn offset turn_offset are in units [m] for...
DLLAPI double *ER_STDCALL erGetMotionAttributes_acc(ER_TARGET_ATTRIBUTES_HND hnd)
Acceleration and deceleration as percentage value in the range from 20% to 100% of normal values for ...
DLLAPI long ER_STDCALL erSetJointSign(ER_HND er_hnd, double *joint_sign)
Set sign of robot joints. A robot joint sign can be positive +1 or negative -1.
DLLAPI double *ER_STDCALL erk_AutoPathGetStartPose(void)
Get Start Pose return pointer, size nConfig.
DLLAPI double *ER_STDCALL erGetMotionAttributes_BaseVec(ER_TARGET_ATTRIBUTES_HND hnd)
Program shift Base for a target location Base '$BASE, $UFrame' has only if IPO_MODE_BASE is set and e...
DLLAPI long ER_STDCALL erSetconveyorStartCondition(ER_HND er_hnd, double tx0)
Sets the conveyor start condition. This function set the conveyor start condition for the Tracking Wi...
DLLAPI long *ER_STDCALL erGetMotionAttributes_ext_tcp_mode(ER_TARGET_ATTRIBUTES_HND hnd)
Enables/disables external TCP for a target location IPO_MODE_BASE (tool guided) or IPO_MODE_TOOL (wor...
DLLAPI long ER_STDCALL erSET_CARTESIAN_ORIENTATION_SPEED(ER_HND er_hnd, long rotation_no, double speed_ori_value)
Sets the speed for the orientation during Cartesian motion. Opcode 134, Chapter 3....
DLLAPI double *ER_STDCALL erGetMotionAttributes_WobjCartPosVec(ER_TARGET_ATTRIBUTES_HND hnd)
WorkObject valid for all cartesian target locations such as CartPosVec, CartPosVecVia Using this tran...
DLLAPI double *ER_STDCALL erMath_CpyVec(double *dst, double *src, int n)
Cpy vector dst = src.
DLLAPI long ER_STDCALL erGetTurn_interval(ER_HND er_hnd, double *turn_interval)
Get the turn interval for each robot joints The kinematics turn interval turn_interval are in units [...
DLLAPI long ER_STDCALL erSET_JOINT_JERKS(ER_HND er_hnd, long all_joint_flags, long joint_flags, double jerk_percent, long jerk_type)
Sets the joint jerk expressed as a percentage of the maximal joint jerk for each specified joint....
DLLAPI long ER_STDCALL erGet_n_Kin_IR(ER_HND er_hnd)
Get the number of loaded kinematics with more than 3 joints and inverse kinematics.
DLLAPI long ER_STDCALL erColl_ChkCollision_res_free(long query_type, void *pres)
Frees allocated memory for Collision results for parameter pres The query type query_type can be one...
DLLAPI ER_HND ER_STDCALL erhGetTargetLocationER_HND(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Device handle belonging to target location.
DLLAPI long *ER_STDCALL erGetMoveJoint_configuration(ER_TARGET_MOVE_JOINT_HND hnd)
configuration Robot configuration [1-ER_KIN_CONFIGS] for target location
DLLAPI long ER_STDCALL erInsertToolPath(ER_HND er_hnd, ER_TOOLPATH_HND *er_tpth_hnd, ER_TOOLPATH_HND er_tpth_hnd_ref)
Create and insert a unique tool path handle. The created tool path handle er_tpth_hnd is inserted bef...
DLLAPI long ER_STDCALL erMath_FrameToVecIdx(DFRAME *T, double *vec, long rotation_idx=ER_ROT_XYZ)
Converts a frame into an euler vector or quaternion. Frame T is converted into a vector vec A frame ...
DLLAPI DFRAME *ER_STDCALL erGetMotionAttributes_ToolFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *ToolFrame)
Tool (TCP) for a target location Transformation from Tip to TCP see inq_ToolIdx(),...
DLLAPI int ER_STDCALL erGeoMngr_GetGeometryObjNumPoints(TErGeoHandle geometryHandle, int objidx)
DLLAPI long ER_STDCALL erSetTargetLocation_Move_Joint_Frame(ER_TARGET_LOCATION_HND er_tarloc_hnd, DFRAME *CartPosFrame, long configuration=0, long ptp_target_calculation_mode=ER_PTP_TARGET_CALC_MODE_UNDEF, double speed_percent=0, double override_speed=0, DFRAME *ToolFrame=0, DFRAME *BaseFrame=0)
Move_Joint, full synchronized PTP, motion definition for target location Remarks Use erAddTargetLoca...
DLLAPI double ER_STDCALL erGetMotionExec_time_stamp(ER_TARGET_MOTION_EXEC_HND hnd)
Time stamp - total execution time [s] at the target location, while interpolation through the complet...
DLLAPI DFRAME *ER_STDCALL erSetMotionAttributes_WobjCartPosFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *WobjCartPosFrame)
Set WorkObject valid for all cartesian target locations such as CartPosVec, CartPosVecVia Using this ...
DLLAPI double *ER_STDCALL erk_AutoPathGetWayPoint(int idx)
Get way point.
DLLAPI long *ER_STDCALL erGetMotionAttributes_dom_type(ER_TARGET_ATTRIBUTES_HND hnd)
Dominant interpolation type for a target location The dominant interpolation type can be one of the f...
DLLAPI long ER_STDCALL erMath_VecToFrameIdx(double *vec, DFRAME *T, long rotation_idx=ER_ROT_XYZ)
Converts an euler vector or quaternion into a frame. Vector vec is converted into a frame T A frame ...
DLLAPI TErGeoHandle ER_STDCALL erGeoMngr_LoadGeometry(ER_HND er_hnd, LOAD_GEOMETRY_DATA *p_load_geometry_data)
Load a geometry.
DLLAPI double *ER_STDCALL erGetMotionAttributes_LagWaitTime(ER_TARGET_ATTRIBUTES_HND hnd)
Lagging time [s] after robot reaches its target location Remarks Default value: 0 Has only an effect...
DLLAPI ER_TARGET_MOVE_CP_HND ER_STDCALL GetMoveCPTemplate(ER_TOOLPATH_HND er_tpth_hnd)
Get move cp template data from tool path. Get the move cp template data belonging to the tool path er...
unsigned int * ER_TARGET_EVENTS_HND
unique Events handle
Definition: erk_capi_types.h:209
DLLAPI long ER_STDCALL erSetExtTcpWorld(ER_HND er_hnd, DFRAME *iText)
Set location of external TCP w.r.t inertia (world).
DLLAPI long ER_STDCALL erSetEvents_DOUT(ER_HND er_hnd, int idx=1, long io_value=ER_EVENT_BOOL_UNDEF, char *io_name=0, long strig_type=ER_EVENT_TRIGGER_OFF, double strig_time=0, double strig_dist=0, long ttrig_type=ER_EVENT_TRIGGER_OFF, double ttrig_time=0, double ttrig_dist=0)
Set an event for a boolean output A boolean event for binary outputs is controlled by trigger data,...
DLLAPI long ER_STDCALL erSET_OVERRIDE_ACCELERATION(ER_HND er_hnd, double correction_value, long accel_type, long correction_type)
Sets correction values for scaling the robot acceleration. Opcode 155, Chapter 3.4....
DLLAPI long ER_STDCALL erSetConveyorStartOffsetCondition(ER_TARGET_LOCATION_HND er_tarloc_hnd, double tx0)
Sets the conveyor start offset condition. This function set the conveyor start condition for the Trac...
DLLAPI long ER_STDCALL erSetJointOffset(ER_HND er_hnd, double *joint_offset)
Set offset of robot joints. Robot joint offsets joint_offset are in units [m] for prismatic joint typ...
DLLAPI long ER_STDCALL erSetSweMin_passive(ER_HND er_hnd, double *swe_min_passive)
Set fix minimum travel ranges for passive joints. The kinematics travel ranges swe_min_passive are in...
DLLAPI long ER_STDCALL erGetJointFrameActiveLast(ER_HND er_hnd, long active_jnt_no, DFRAME *T)
DLLAPI long 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 erCONTINU...
long(ER_STDCALL * TerNotifyProc)(ER_HND ErHandle, Host_HND HostHandle, TErNotifyData *p_NotifyData, TErExtraData ExtraData)
Callback function type definition for notifications, erSetCallBack_NotifyProc()
Definition: erk_capi_types.h:675
DLLAPI long 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....
DLLAPI long 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,...
DLLAPI int ER_STDCALL erk_AutoPathInit(AutoPath_ConfigurationSpace *apcs)
Initialize AutoPath Call this functions to setup the autopath configuration space Parameter apcs defi...
DLLAPI ER_TARGET_LOCATION_HND ER_STDCALL erGetTargetLocationPrev(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Get previous target location in a tool path.
DLLAPI long ER_STDCALL erSetSweMax_passive(ER_HND er_hnd, double *swe_max_passive)
Set fix maximum travel ranges for passive joints. The kinematics travel ranges swe_max_passive are in...
unsigned int * ER_TARGET_ATTRIBUTES_HND
unique Motion attributes handle
Definition: erk_capi_types.h:211
DLLAPI long ER_STDCALL erCANCEL_FLYBY_CRITERIA(ER_HND er_hnd, long param_number)
Cancels (unselects) a fly-by criterion. Opcode 143, Chapter 3.4.6, Page 3-88 Function not supported
DLLAPI long 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_E...
DLLAPI long ER_STDCALL erSetTargetLocation_Move_Slew_Frame(ER_TARGET_LOCATION_HND er_tarloc_hnd, DFRAME *CartPosFrame, long configuration=0, long ptp_target_calculation_mode=ER_PTP_TARGET_CALC_MODE_UNDEF, double speed_percent=0, double override_speed=0, DFRAME *ToolFrame=0, DFRAME *BaseFrame=0)
Move_Slew, not synchronized PTP, motion definition for target location Remarks Use erAddTargetLocati...
DLLAPI long ER_STDCALL erSET_OVERRIDE_POSITION(ER_HND er_hnd, DFRAME *PosOffset)
Sets a correction offset which will be added to the path during program execution....
DLLAPI DFRAME *ER_STDCALL erGetMotionAttributes_WobjCartPosFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *WobjCartPosFrame)
Get WorkObject valid for all cartesian target locations such as CartPosVec, CartPosVecVia Using this ...
const long ER_PTP_TARGET_CALC_MODE_UNDEF
default ER_PTP_TARGET_CALC_MODE_SHORTEST_ANGLE, NEXT_TARGET_DATA
Definition: erk_capi_types.h:402
#define DLLAPI
Definition: erk_capi_types.h:80
DLLAPI long ER_STDCALL erSetAccSet(ER_HND er_hnd, double acc, double ramp)
Set lagging of accelerations. Using AccSet is a proper way to come close to real cycle times when the...
DLLAPI long ER_STDCALL erConnectTrackMotionSetSync(ER_HND er_hnd, long connect_sync)
Set robots synchronization flag for synchronization between robot and track motion....
DLLAPI long ER_STDCALL erConnectConveyorSetSync(ER_HND er_hnd, long connect_sync)
Set robots synchronization flag for synchronization between robot and conveyor. The synchronization f...
DLLAPI double *ER_STDCALL erGetMotionAttributes_override_speed(ER_TARGET_ATTRIBUTES_HND hnd)
Correction values as percentage value for scaling the programmed speed for a target location Remarks ...
DLLAPI long 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_n...
DLLAPI long ER_STDCALL erGetConfigName(ER_HND er_hnd, long config_idx, char *config_name)
Get the name of robot configuration. Get the number of configurations with erGetNumConfigs() .
DLLAPI double *ER_STDCALL erGetMotionAttributes_LeadWaitTime(ER_TARGET_ATTRIBUTES_HND hnd)
Leading time [s] before robot will start moving to target location Remarks Default value: 0 Has only...
DLLAPI long ER_STDCALL CpyExtAxPositionerTemplate(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_EXTAX_DEVICE_POSITIONER_HND hnd)
Copy external axis positioner data to template data. The external axis positioner data defined with e...
Contains desired data for next interpolation step Usage with erGET_NEXT_STEP()
DLLAPI ER_TARGET_MOTION_EXEC_HND ER_STDCALL erGetTargetLocationMotionExecHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for target execution data Target execution data are calculated while interpolation through the...
DLLAPI int ER_STDCALL erk_AutoPathSetParameter(int ap_option, int ap_value)
Set parameter Paramter ap_option is one of AUTOPATH_SDK_PARAMETER_DYNADJUST AUTOPATH_SDK_PARAMETER_A...
DLLAPI long *ER_STDCALL erGetMotionAttributes_extTcpBaseIdx(ER_TARGET_ATTRIBUTES_HND hnd)
Idx for external Tool (TCP) w.r.t. Robot Base or flange of positioner, for a target location see inq_...
DLLAPI char *ER_STDCALL erGetMotionAttributes_BaseName(ER_TARGET_ATTRIBUTES_HND hnd)
Name for program shift Base for a target location see inq_BaseVec(), inq_BaseIdx() This BaseName coul...
DLLAPI long ER_STDCALL erSetVxMax(ER_HND er_hnd, double vx_max)
Set maximum cartesian speed.
DLLAPI long ER_STDCALL CpyExtAxConveyorTemplate(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND hnd)
Copy external axis conveyor data to template data. The external axis conveyor data defined with exter...
DLLAPI long ER_STDCALL erSetTurn_interval(ER_HND er_hnd, double *turn_interval)
Set the turn interval for each robot joints The kinematics turn interval turn_interval are in units [...
DLLAPI int ER_STDCALL erSetInstructions(ER_TARGET_LOCATION_HND er_tarloc_hnd, char *InfoTxt=NULL, char *LeadInst=NULL, char *LagInst=NULL)
Set target instruction data for information, leading- and lagging instruction. For further explanatio...
DLLAPI char *ER_STDCALL erGetInstructions_LagInstructions(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Get LagInstructions target instruction data for target location. For further explanations see GetInst...
DLLAPI long ER_STDCALL erGetToolFix(ER_HND er_hnd, DFRAME *tTwfix)
Get robot tool fix (TCP) data w.r.t. robots flange, without Tool Offset.
TErGeoHandle(ER_STDCALL * TerLoadGeometryProc)(ER_HND ErHandle, LOAD_GEOMETRY_DATA *p_load_geometry_data)
Callback function type definition to load a geometry, erSetCallBack_LoadGeometryProc()
Definition: erk_capi_types.h:636
DLLAPI long ER_STDCALL erKernelAddLicenseFile(char *license_file)
Set an additional location and name of license file. Call this function before initializing the Kerne...
DLLAPI long ER_STDCALL erMath_mul_invT_pos(double *po, DFRAME *T, double *pi)
Multiplication of a 3x1 position with the inverse of a homogeneous 4x4 transformation matrices....
DLLAPI long ER_STDCALL erSET_CARTESIAN_ORIENTATION_ACCELERATION(ER_HND er_hnd, long rotation_no, double accel_ori_value, long accel_type)
Sets acceleration for the orientation during cartesian motion [m/sec^2]. Opcode 138,...
DLLAPI long ER_STDCALL erGetTurn_value(ER_HND er_hnd, long *turn_value)
Get the turn value for each robot joints The turn value turn_value determine the desired Turn in the ...
DLLAPI double *ER_STDCALL erGetMotionExec_JointPos(ER_TARGET_MOTION_EXEC_HND hnd)
Joint position at target location, while interpolation through the complete tool path.
External axis target data for connected devices belongs to structure NEXT_TARGET_DATA.
DLLAPI long ER_STDCALL erSetEvents_EventDIN(ER_TARGET_EVENTS_HND hnd, int idx=1, long io_value=ER_EVENT_BOOL_UNDEF, char *io_name=0, long leadcond_type=ER_EVENT_CONDITION_UNDEF, double leadcond_value=0, long lagcond_type=ER_EVENT_CONDITION_UNDEF, double lagcond_value=0)
Set event conditions for a binary input for target location An input is checked before a movement sta...
DLLAPI long ER_STDCALL erGetAutoAccel(ER_HND er_hnd, long *autoaccel)
Get status for automatic calculation of acceleration depending on programmed speed....
DLLAPI long ER_STDCALL erGetSweMax(ER_HND er_hnd, double *swe_max)
Get fix maximum travel ranges. The kinematics travel ranges swe_max are in units [m] for prismatic jo...
DLLAPI long *ER_STDCALL erGetMotionAttributes_filter_factor(ER_TARGET_ATTRIBUTES_HND hnd)
Filter factor for smoothing velocity profiles of motions The filter_factor is one of ER_MOTION_FILTER...
DLLAPI long ER_STDCALL erUpdateGeo(ER_HND er_hnd)
Updates all geometry location for each robot joint. This function causes the call of callback functio...
DLLAPI DFRAME *ER_STDCALL erGetMotionAttributes_extTcpBaseFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *extTcpBaseFrame)
external Tool (TCP) w.r.t. Robot Base or flange of positioner, for a target location Transformation f...
DLLAPI long ER_STDCALL erMath_mul_invT_T_invT(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2, DFRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * Ti2 * inv(Ti3) Rem...
DLLAPI long ER_STDCALL erSetAqMax(ER_HND er_hnd, double *aq_max)
Set maximum of robot joint accelerations. Robot joint accelerations aq_max are in units [m/s^2] for p...
const long ER_EVENT_TRIGGER_OFF
Signal Trigger to control binary output. OFF will not set output event.
Definition: erk_capi_types.h:603
DLLAPI double *ER_STDCALL erGetMoveJoint_accel_percent(ER_TARGET_MOVE_JOINT_HND hnd)
Accel_percent percentage acceleration definition [>0-1000%] for joint move for target location.
DLLAPI long ER_STDCALL erUpdateKin(ER_HND er_hnd)
Updates the complete kinematics. This function calculates the location of all axis coorsys,...
DLLAPI long 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...
const long ER_EVENT_BOOL_UNDEF
Event status for binary input/output events is undefined.
Definition: erk_capi_types.h:599
DLLAPI long ER_STDCALL erGetWorldTcp(ER_HND er_hnd, DFRAME *iTw)
Get robot tcp location w.r.t. inertia (world) coorsys.
unsigned int TErGeoHandle
unique Geometry handle used for callback functions TerLoadGeometryProc()
Definition: erk_capi_types.h:200
DLLAPI long ER_STDCALL erSET_INTERPOLATION_TIME(ER_HND er_hnd, double InterpolationTime)
Sets the interpolation time. Opcode 119, Chapter 3.4.3, Page 3-56 Set the interpolation time step....
DLLAPI long ER_STDCALL erKernelGetVersion(void)
Returns the Kernels Version.
DLLAPI long *ER_STDCALL erGetMotionAttributes_motype(ER_TARGET_ATTRIBUTES_HND hnd)
Motion Type for a target location The motion type can be one of the following values ER_JOINT = ER_PT...
DLLAPI long ER_STDCALL erSetEvents_EventDOUT(ER_TARGET_EVENTS_HND hnd, int idx=1, long io_value=ER_EVENT_BOOL_UNDEF, char *io_name=0, long strig_type=ER_EVENT_TRIGGER_OFF, double strig_time=0, double strig_dist=0, long ttrig_type=ER_EVENT_TRIGGER_OFF, double ttrig_time=0, double ttrig_dist=0)
Set an event for a boolean output for target location A boolean event for binary outputs is controlle...
DLLAPI long ER_STDCALL erToolPathResetInitConveyor(ER_TOOLPATH_HND er_tpth_hnd, double *q_start=NULL)
Set initial joint start location for the Conveyor. Remarks Read current joint data from loaded Conve...
DLLAPI char *ER_STDCALL erGetTargetLocationNameVia(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Name of target Via location, in case of circular motion.
DLLAPI long ER_STDCALL erMath_mul_T_pos(double *po, DFRAME *T, double *pi)
Multiplication of a 3x1 position with a homogeneous 4x4 transformation matrices. po = T * pi,...
DLLAPI long ER_STDCALL erSetTool(ER_HND er_hnd, DFRAME *tTw)
Set robot tool (TCP) data w.r.t. robots flange.
DLLAPI long ER_STDCALL erToolPathSetConveyorHandle(ER_TOOLPATH_HND er_tpth_hnd, ER_HND hnd_Conveyor=NULL)
Set conveyor handle belonging to tool path handle. The tool path handles the conveyor device as exter...
DLLAPI int ER_STDCALL erGeoMngr_CheckBoundingBoxCollision(DFRAME *T1, const double *bbox1, DFRAME *T2, const double *bbox2, double tolerance)
DLLAPI long ER_STDCALL erSET_CARTESIAN_POSITION_SPEED(ER_HND er_hnd, double speed_value)
Sets the speed for Cartesian motion. Opcode 133, Chapter 3.4.5, Page 3-75.
DLLAPI long ER_STDCALL erToolPathReset(ER_TOOLPATH_HND er_tpth_hnd)
Reset all tool path target locations. All target locations defined in tool path er_tpth_hnd are reset...
DLLAPI long ER_STDCALL erSET_JOINT_ACCELERATIONS(ER_HND er_hnd, long all_joint_flags, long joint_flags, double accel_percent, long accel_type)
Sets the joint accelerations expressed as percentage of the maximal joint acceleration....
DLLAPI long ER_STDCALL erSetJointSolutions(ER_HND er_hnd, double *q_solutions, long *q_warnings)
Set all robot joint solutions. The kinematics joint data q_solutions are in units [m] for prismatic j...
DLLAPI long ER_STDCALL erSET_CONFIGURATION_CONTROL(ER_HND er_hnd, char *param_id, char *param_contents)
Allows the setting of controller-specific data for the control of robot configurations....
DLLAPI long 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,...
DLLAPI double *ER_STDCALL erGetMotionAttributes_flyby_speed_percent(ER_TARGET_ATTRIBUTES_HND hnd)
flyby by speed [%] for a target location In case of flyby by speed, the robot starts moving into the ...
DLLAPI void ER_STDCALL erSetCallBack_NotifyProc(TerNotifyProc Handler)
Define Callback function for notify messages The Kernel informs the host application about internel s...
DLLAPI size_t *ER_STDCALL erGeoMngr_GetGeometryObjPolygon(TErGeoHandle geometryHandle, int objidx, int index)
DLLAPI long ER_STDCALL erKernelInitialize(char *HostApplicationPath, char *Sold_To_ID, long mode=0)
Initializes the Kernel. After calling this initial functions all other kernel functions are available...
DLLAPI long ER_STDCALL erSELECT_POINT_ACCURACY(ER_HND er_hnd, long accuracy_type)
Selects a criterion for when a target is reached. Opcode 144, Chapter 3.4.6, Page 3-89 Function not s...
DLLAPI int ER_STDCALL erGeoMngr_FreeGeometry(ER_HND er_hnd, TErGeoHandle GeoHandle)
Free or delete a geometry.
DLLAPI long 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...
DLLAPI long ER_STDCALL erGET_NEXT_TOOLPATH_STEP_INIT(ER_TOOLPATH_HND er_tpth_hnd, long cntrl=ER_MOP_GNTPS_CNTRL_INIT)
Initializes the interpolation through a complete tool path Parameter cntrl must be set to ER_MOP_GNTP...
DLLAPI ER_TARGET_LOCATION_HND ER_STDCALL erToolPathGetTargetLocationLast(ER_TOOLPATH_HND er_tpth_hnd)
Get the last 'target location handle' in the tool path.
DLLAPI long ER_STDCALL erSELECT_TARGET_TYPE(ER_HND er_hnd, long target_type)
selects one of different types for the specification of targets. Opcode 121, Chapter 3....
DLLAPI TErTargetID ER_STDCALL erGET_CURRENT_TARGETID(ER_HND er_hnd)
Returns the TargetID of the motion in execution. Opcode 163, Chapter 3.4.6, Page 3-91.
DLLAPI ER_TARGET_ATTRIBUTES_HND ER_STDCALL erGetTargetLocationMotionAttributesHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for target attributes data Typical attributes belonging to a target location are: e....
DLLAPI long ER_STDCALL erGetJointFramePassiveNext(ER_HND er_hnd, long passive_jnt_no, DFRAME *T)
DLLAPI int ER_STDCALL erk_AutoPath_SetCallback_CheckConstraints(BOOL(*ptr_CheckConstraints)(int, void *))
Defines a callback function to check constraints during AutoPath calculation The callback function is...
DLLAPI long ER_STDCALL erGetVqMax(ER_HND er_hnd, double *vq_max)
Get maximum of robot joint speeds. Robot joint speeds vq_max are in units [m/s] for prismatic joint t...
DLLAPI long ER_STDCALL erGET_CARTESIAN_POSITION_ACCELERATION(ER_HND er_hnd, double *accel_value, long accel_type)
Gets acceleration for cartesian motion [m/sec^2]. The accel_type specifies the type of acceleration a...
DLLAPI long *ER_STDCALL erGetMotionAttributes_flyby_on(ER_TARGET_ATTRIBUTES_HND hnd)
Rounding / flyby condition for a target location In case of flyby enabled, the robot moves through a ...
DLLAPI ER_TARGET_EVENTS_HND ER_STDCALL GetEventsTemplateHnd(ER_TOOLPATH_HND er_tpth_hnd)
Get events template data from tool path. Get the events template data belonging to the tool path er_t...
DLLAPI long ER_STDCALL erMath_mul_T_T_invT(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2, DFRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * Ti2 * inv(Ti3) Remarks ...
DLLAPI long ER_STDCALL erGetJointFramePassiveLast(ER_HND er_hnd, long passive_jnt_no, DFRAME *T)
Contains additional desired data for current interpolation step Usage with erGetCurrentStepData() aft...
DLLAPI long ER_STDCALL erSetAutoAccel(ER_HND er_hnd, long autoaccel)
Enables automatic calculation of acceleration depending on programmed speed. Using AutoAccel is a pro...
const int ER_COLL_FIRST_CONTACT
report first intersecting tri pair found, erColl_ChkCollision()
Definition: erk_capi_types.h:755
DLLAPI long ER_STDCALL erKernelGetExpirationDate(char *expdate)
Supplies expiration date.
DLLAPI long ER_STDCALL erSetTargetLocation_Move_LIN(ER_TARGET_LOCATION_HND er_tarloc_hnd, double *CartPosVec, double speed_cp=0, double speed_ori=0, double override_speed=0, long flyby_on=-1, double *Tool=0, double *Base=0)
Move_LIN, continious path motion definition for target location Remarks Use erAddTargetLocation() ...
DLLAPI long ER_STDCALL erSwapToolPath(ER_TOOLPATH_HND er_tpth_hnd1, ER_TOOLPATH_HND er_tpth_hnd2)
Swap two tool pathes. Swaps the position of two tool path handles.
DLLAPI double *ER_STDCALL erGetMotionAttributes_ToolOffsetVec(ER_TARGET_ATTRIBUTES_HND hnd)
ToolOffset (TCP) for a target location Offset Transformation from TCP see inq_ToolOffsetIdx(),...
DLLAPI long *ER_STDCALL erGetExtAxTrack_number_extax_used(ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND hnd)
Number of external axis used for Track/Slider see example GetExtAxTrackMotionHnd()
DLLAPI int ER_STDCALL erGeoMngr_GetGeometryCloneCount(TErGeoHandle geometryHandle)
DLLAPI long *ER_STDCALL erGetMotionAttributes_ToolIdx(ER_TARGET_ATTRIBUTES_HND hnd)
Idx for Tool for a target location see inq_ToolVec(), inq_ToolName() This ToolIdx could be useful whe...
DLLAPI ER_HND ER_STDCALL erConnectConveyorGetHND(ER_HND er_hnd)
Get robots connection handle between robot and conveyor. See also erConnectConveyor()
DLLAPI long ER_STDCALL erCONTINUE_MOTION(ER_HND er_hnd)
Continues a motion that was stopped with the erSTOP_MOTION() function. Opcode 152,...
const long ER_SYNC_UNDEF
device synchronization not defined
Definition: erk_capi_types.h:358
DLLAPI long 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_...
DLLAPI int ER_STDCALL erGeoMngr_GetGeometryObjNumLines(TErGeoHandle geometryHandle, int objidx)
DLLAPI long ER_STDCALL CpyMoveJointTemplate(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_MOVE_JOINT_HND hnd)
Copy move joint data to template data. The move joint data defined with move joint handle hnd are cop...
DLLAPI char *ER_STDCALL erGetMotionAttributes_extTcpOffsetName(ER_TARGET_ATTRIBUTES_HND hnd)
Name for external Tool/TCP offset data w.r.t. extTcpBase, extTcpWorld, for a target location see inq_...
DLLAPI long ER_STDCALL erKernelGetLicensePriority(int *license_priority)
Get license priority. Parameter license_priority is one of ER_LICENSE_PRIORITY_LMNGR,...
DLLAPI long ER_STDCALL erGET_CARTESIAN_ORIENTATION_ACCELERATION(ER_HND er_hnd, long rotation_no, double *accel_ori_value, long accel_type)
Gets acceleration for the orientation during cartesian motion [m/sec^2]. The rotation_no should be 1....
DLLAPI long ER_STDCALL erSetVqMax(ER_HND er_hnd, double *vq_max)
Set maximum of robot joint speeds. Robot joint speeds vq_max are in units [m/s] for prismatic joint t...
DLLAPI long ER_STDCALL erSetJointDyn(ER_HND er_hnd, double q_dyn, long jnt_no)
Set a single actual robot joint data. The kinematics joint data q_dyn are in units [m] for prismatic ...
DLLAPI long ER_STDCALL erUnloadTool(ER_HND er_hnd)
Unload a kinematics tool. Unloads a kinematics tool givin by the unique kinematics handle....
DLLAPI long ER_STDCALL erGetAqMax(ER_HND er_hnd, double *aq_max)
Get maximum of robot joint accelerations. Robot joint accelerations aq_max are in units [m/s^2] for p...
unsigned int TErTargetID
unique Target identifier
Definition: erk_capi_types.h:201
DLLAPI void ER_STDCALL erSetCallBack_GetActualTravelRangesProc(TerGetActualTravelRangesProc Handler)
Define Callback function to calculate travel ranges by host application The Host application takes ca...
DLLAPI long ER_STDCALL erMath_Frame_Ident(DFRAME *T)
Set the homogeneous 4x4 transformation matrix T to identity. T = Ident A frame DFRAME is a homogeneou...
DLLAPI long ER_STDCALL erGetName(ER_HND er_hnd, char *name)
Get the name of the robot.
DLLAPI long ER_STDCALL erSetJointFramePassiveNext(ER_HND er_hnd, long passive_jnt_no, DFRAME *T)
DLLAPI TErTargetID *ER_STDCALL erGetMotionAttributes_target_id(ER_TARGET_ATTRIBUTES_HND hnd)
unique target ID of a target location
sets the robot model to a position according to the input data. Usage with erSET_INITIAL_POSITION()
Definition: erk_capi_types.h:375
DLLAPI long ER_STDCALL erConnectRobotGetSync(ER_HND er_hnd)
Get robots synchronization flag for synchronization between robot and slave robot....
unsigned int * ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND
unique External device definition for Conveyor
Definition: erk_capi_types.h:217
DLLAPI long ER_STDCALL erToolPathResetInitTrackMotion(ER_TOOLPATH_HND er_tpth_hnd, double *q_start=NULL)
Set initial joint start location for the TrackMotion. Remarks Read current joint data from loaded Tr...
DLLAPI double *ER_STDCALL erk_AutoPathGetAxisConstraintsMax(void)
Get maximum axis constraints return pointer, size nConfig.
DLLAPI long ER_STDCALL erSetExtAxPositionerIdx(ER_TARGET_LOCATION_HND er_tarloc_hnd, long extax_idx, double axis_value, double speed_value=0, long sync_type=ER_SYNC_UNDEF, ER_HND er_hnd_connect=0)
Set external axis values for Positioner/TurnTable for target location see example GetExtAxPositioner...
DLLAPI char *ER_STDCALL erGetInstructions_LeadInstructions(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Get LeadInstructions target instruction data for target location. For further explanations see GetIns...
DLLAPI long ER_STDCALL erGetTool(ER_HND er_hnd, DFRAME *tTw)
Get robot tool (TCP) data w.r.t. robots flange.
DLLAPI long ER_STDCALL erGetAxis_couplingA2A3(ER_HND er_hnd, long *axis_couplingA2A3)
Get robot axis coupling between axis 2 and 3 The axis coupling can be one of the following values....
DLLAPI long *ER_STDCALL erGetMotionAttributes_ToolOffsetIdx(ER_TARGET_ATTRIBUTES_HND hnd)
Idx for ToolOffset for a target location see inq_ToolOffsetVec(), inq_ToolOffsetName() This ToolOffse...
DLLAPI long ER_STDCALL erSetTargetLocation_Move_Joint(ER_TARGET_LOCATION_HND er_tarloc_hnd, double *CartPosVec, long configuration=0, long ptp_target_calculation_mode=ER_PTP_TARGET_CALC_MODE_UNDEF, double speed_percent=0, double override_speed=0, double *Tool=0, double *Base=0)
Move_Joint, full synchronized PTP, motion definition for target location Remarks Use erAddTargetLoca...
DLLAPI long 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 movea...
DLLAPI long ER_STDCALL erGetTargetLocationIdx(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Index of target location.
DLLAPI long 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 an...
DLLAPI long 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 erG...
DLLAPI int ER_STDCALL erk_AutoPathFreeMem(AutoPath_ConfigurationSpace *apcs)
free memory of AutoPath_ConfigurationSpace data see example AutoPathInit()
unsigned int * ER_TOOLPATH_HND
unique Tool path handle, created with erInitToolPath()
Definition: erk_capi_types.h:205
DLLAPI long ER_STDCALL erGetRobotBase(ER_HND er_hnd, DFRAME *iTb)
Get robot base location w.r.t. world.
DLLAPI long ER_STDCALL erSetCounter_weight(ER_HND er_hnd, long counter_weight)
Set robot counter weight The robot counter weight can be one of the following values....
DLLAPI long ER_STDCALL erGetSweMin(ER_HND er_hnd, double *swe_min)
Get fix minimum travel ranges. The kinematics travel ranges swe_min are in units [m] for prismatic jo...
DLLAPI int ER_STDCALL erGeoMngr_GetVersion()
GeoMngr Version.
DLLAPI const double *ER_STDCALL erGeoMngr_GetGeometryBBox(TErGeoHandle geometryHandle)
DLLAPI long ER_STDCALL erSELECT_DOMINANT_INTERPOLATION(ER_HND er_hnd, long dominant_int_type, long dominant_int_param=0)
Sets the interplation space defining the movement. Opcode 124, Chapter 3.4.4, Page 3-66 The parameter...
DLLAPI long ER_STDCALL erCANCEL_MOTION(ER_HND er_hnd)
Cancel a motion that was stopped with erSTOP_MOTION() function. Opcode 153, Chapter 3....
DLLAPI ER_HND ER_STDCALL erToolPathGetER_HND(ER_TOOLPATH_HND er_tpth_hnd)
Device Handle belonging to tool path. This method is obsolete -> use erToolPathGetRobotHandle()
DLLAPI long ER_STDCALL erGetRobotBasetoFirstJoint(ER_HND er_hnd, DFRAME *T)
DLLAPI long 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 v...
DLLAPI void ER_STDCALL erSetCallBack_LoadGeometryProc(TerLoadGeometryProc Handler)
Define Callback function to load a geometry The Host application is prompted to load a geometry.
DLLAPI long ER_STDCALL erGetRobotBaseTcp(ER_HND er_hnd, DFRAME *bTw)
Get robot tcp location w.r.t. robot base.
DLLAPI long ER_STDCALL erInvKinRobotBaseTip(ER_HND er_hnd, DFRAME *bTt)
Calculating the inverse kinematics transformation. The bTt is the location of the flange w....
DLLAPI double ER_STDCALL erGetMotionExec_trajectory_time(ER_TARGET_MOTION_EXEC_HND hnd)
Trajectory time [s], time to reach the target location, while interpolation through the complete tool...
DLLAPI char *ER_STDCALL erGetMotionAttributes_ToolName(ER_TARGET_ATTRIBUTES_HND hnd)
Name for Tool for a target location see inq_ToolVec(), inq_ToolIdx() This ToolName could be useful wh...
DLLAPI long ER_STDCALL erGet_n_Kin(ER_HND er_hnd)
Get the number of loaded kinematics.
DLLAPI long ER_STDCALL erAddTargetLocation(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_LOCATION_HND *er_tarloc_hnd)
Add a new target location to a tool path Remarks The new target location is reset to default values ...
DLLAPI long ER_STDCALL CpyEventsTemplate(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_EVENTS_HND hnd)
Copy events to template data. The events defined with events handle hnd are copied to the events temp...
DLLAPI long ER_STDCALL erGET_NEXT_STEP(ER_HND er_hnd, long output_format, NEXT_STEP_DATA *p_next_step_data, double time)
Returns the next interpolated position step the elapsed time and supplementary information like event...
DLLAPI long ER_STDCALL erSetTargetLocation_Move_Slew(ER_TARGET_LOCATION_HND er_tarloc_hnd, double *CartPosVec, long configuration=0, long ptp_target_calculation_mode=ER_PTP_TARGET_CALC_MODE_UNDEF, double speed_percent=0, double override_speed=0, double *Tool=0, double *Base=0)
Move_Slew, not synchronized PTP, motion definition for target location Remarks Use erAddTargetLocati...
DLLAPI long ER_STDCALL erConnectPositionerSetSync(ER_HND er_hnd, long connect_sync)
Set robots synchronization flag for synchronization between robot and positioner. The synchronization...
DLLAPI long 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,...
DLLAPI int ER_STDCALL erGeoMngr_GetNumGeometries(ER_HND er_hnd)
Get number of loaded geometries for specified device.
DLLAPI DFRAME *ER_STDCALL erSetMotionAttributes_BaseFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *BaseFrame)
Program shift Base for a target location Base '$BASE, $UFrame' has only if IPO_MODE_BASE is set and e...
DLLAPI long ER_STDCALL erSetVxOriMax(ER_HND er_hnd, double vx_ori_max)
Set maximum cartesian orientation speed.
DLLAPI long 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 e...
DLLAPI long ER_STDCALL erInvKinWorldTcp(ER_HND er_hnd, DFRAME *iTw)
Calculating the inverse kinematics transformation. The iTw is the location of the tcp w....
DLLAPI long ER_STDCALL erSetToolOffset(ER_HND er_hnd, DFRAME *wTwo)
Set robot tool offset (TCP) data w.r.t. robots fix Tcp.
DLLAPI long ER_STDCALL erSET_ADVANCE_MOTION(ER_HND er_hnd, long Number_of_motion)
Defines the number of motions, the motion planner may run in advance of the interpolator (look_ahead)...
DLLAPI long ER_STDCALL erGetCounter_weight(ER_HND er_hnd, long *counter_weight)
Get robot counter weight The robot counter weight can be one of the following values....
DLLAPI DFRAME *ER_STDCALL erGetMotionAttributes_ToolOffsetFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *ToolOffsetFrame)
ToolOffset (TCP) for a target location Offset Transformation from TCP see inq_ToolOffsetIdx(),...
DLLAPI long ER_STDCALL erSetSweMin(ER_HND er_hnd, double *swe_min)
Set fix minimum travel ranges. The kinematics travel ranges swe_min are in units [m] for prismatic jo...
unsigned int * Host_HND
unique Host handle given from Host, NULL per default, erInitKin()
Definition: erk_capi_types.h:199
DLLAPI long ER_STDCALL erSetTurn_value(ER_HND er_hnd, long *turn_value)
Set the turn value for each robot joint The turn value turn_value determine the desired Turn in the ...
DLLAPI long ER_STDCALL erSET_FLYBY_CRITERIA_PARAMETER(ER_HND er_hnd, long param_number, long joint_nr, double param_value)
Sets the value of a flyby parameter. Opcode 141, Chapter 3.4.6, Page 3-86 Function not supported
DLLAPI long ER_STDCALL erSET_JOINT_SPEEDS(ER_HND er_hnd, long all_joint_flags, long joint_flags, double speed_percent)
sets the joint speed expressed as percentage of the maximal joint speed. Opcode 131,...
DLLAPI long *ER_STDCALL erGetMotionAttributes_extTcpWorldIdx(ER_TARGET_ATTRIBUTES_HND hnd)
Idx for external Tool (TCP) w.r.t. Robot World or flange of positioner, for a target location see inq...
DLLAPI long *ER_STDCALL erGetMotionAttributes_autoaccel(ER_TARGET_ATTRIBUTES_HND hnd)
Automatic calculation of acceleration depending on programmed speed for a target location Using AutoA...
DLLAPI long ER_STDCALL erSetConfig(ER_HND er_hnd, long config)
Set robot configuration A new robot configuration takes effect when calling the inverse kinematics tr...
DLLAPI int ER_STDCALL erGeoMngr_GetGeometry(ER_HND er_hnd, int geometryIndex, LOAD_GEOMETRY_DATA *p_load_geometry_data, DFRAME *kinMat)
DLLAPI int ER_STDCALL erGeoMngr_SetGeometryIsCollided(TErGeoHandle geometryHandle, int isCollided)
const long ER_ROT_XYZ
Rotation Index: RotX*RotY*RotZ, EASY-ROB, Staeubli CS8, erMath_VecToFrameIdx(), erMath_FrameToVecIdx.
Definition: erk_capi_types.h:732
DLLAPI long ER_STDCALL erConnectPositionerGetSync(ER_HND er_hnd)
Get robots synchronization flag for synchronization between robot and positioner. See also erConnectP...
DLLAPI ER_TARGET_EXTAX_DEVICE_POSITIONER_HND ER_STDCALL erGetTargetLocationExtAxPositionerHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for external axis of a Positioner/TurnTable-Motion Typical data belonging to external axis da...
Collision results for query ER_COLL_QUERY_TYPE_DISTANCE, see erColl_GetResults_Distance() The followi...
Definition: erk_capi_types.h:793
DLLAPI long ER_STDCALL erGET_NEXT_TOOLPATH_STEP(ER_TOOLPATH_HND er_tpth_hnd, long cntrl, NEXT_STEP_DATA *p_next_step_data=NULL, double time=0)
Interpolation through a complete tool path Parameter cntrl is an individual bitwise-inclusive-OR oper...
DLLAPI ER_TARGET_INSTRUCTIONS_HND ER_STDCALL erGetTargetLocationInstructionsHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for target instruction data Remarks Instructions are individual command or information attach...
DLLAPI ER_HND ER_STDCALL erToolPathGetTrackMotionHandle(ER_TOOLPATH_HND er_tpth_hnd)
Get device track motion handle belonging to tool path handle.
DLLAPI long ER_STDCALL erTPth_PostProc(char *ApiPP_Dll_Name, int FctIdx, int FctSubIdx, ER_TOOLPATH_HND er_tpth_hnd, char *program_name, char *target_path=NULL, int pp_param=0, char *svalues=NULL)
Method for post processing, creating a robot program for a tool path An example Visual Studio Project...
DLLAPI long ER_STDCALL erSET_MOTION_FILTER(ER_HND er_hnd, long filter_factor)
defines the filter factor for smoothing velocity profiles of motions. Opcode 128, Chapter 3....
DLLAPI long *ER_STDCALL erGetExtAxConveyor_number_extax_used(ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND hnd)
Number of external axis used for Conveyor see example GetExtAxConveyorHnd()
DLLAPI double *ER_STDCALL erGeoMngr_GetGeometryObjPointNormal(TErGeoHandle geometryHandle, int objidx, int index)
DLLAPI double *ER_STDCALL erGetMoveCP_CartPosVec(ER_TARGET_MOVE_CP_HND hnd)
Cartesian position w.r.t. Base for CP move for target location Remarks Use for.
DLLAPI long ER_STDCALL erSET_OVERRIDE_SPEED(ER_HND er_hnd, double correction_value, long correction_type)
Sets correction values for scaling the programmed speed during program execution. Opcode 139,...
Contains target data for about next move "advance move" This structure contains all required data for...
DLLAPI long ER_STDCALL erMath_mul_R_pos(double *po, DFRAME *R, double *pi)
Multiplication of a 3x1 position with the 3x3 orientation of a homogeneous 4x4 transformation matrice...
unsigned int * ER_TARGET_INSTRUCTIONS_HND
Instructions, individual information text.
Definition: erk_capi_types.h:208
Geometry data structure for callback function. Used when loading and updating robot geometries With c...
Definition: erk_capi_types.h:260
DLLAPI TErGeoHandle ER_STDCALL erGeoMngr_GetGeometryCloneHandle(TErGeoHandle geometryHandle)
unsigned int * ER_COLLISION_HND
unique Collision handle, created with erColl_BeginModel()
Definition: erk_capi_types.h:203
long(ER_STDCALL * TerFreeGeometryProc)(ER_HND ErHandle, TErGeoHandle GeoHandle)
Callback function type definition to free or delete a geometry, erSetCallBack_FreeGeometryProc()....
Definition: erk_capi_types.h:654
DLLAPI ER_TARGET_HEAD_HND ER_STDCALL erGetTargetLocationHeaderDataHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for target header data.
DLLAPI long ER_STDCALL erMath_mul_T_T(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2)
Multiplication of two homogeneous 4x4 transformation matrices. To = Ti1 * Ti2 A frame DFRAME is a hom...
DLLAPI long ER_STDCALL erMath_invT(DFRAME *To, DFRAME *Ti)
Builds the inverse of a homogeneous 4x4 transformation matrix T. To = inv(Ti) = ( Ri' ,...
DLLAPI long 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 supporte...
DLLAPI long ER_STDCALL erColl_AddTri(ER_COLLISION_HND er_coll_hnd, double *p1, double *p2, double *p3, long id)
Adds a triangle to a Model. call erColl_BeginModel() once to create a new unique model handle.
DLLAPI long ER_STDCALL erGetAxOriMax(ER_HND er_hnd, double *ax_ori_max)
Get maximum cartesian orientation acceleration.
DLLAPI double *ER_STDCALL erGetMotionAttributes_extTcpOffsetVec(ER_TARGET_ATTRIBUTES_HND hnd)
external Tool/TCP offset data w.r.t. extTcpBase, extTcpWorld, for a target location Transformation fr...
DLLAPI ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND ER_STDCALL erGetTargetLocationExtAxConveyorHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for external axis of a Conveyor-Motion Typical data belonging to external axis data are: numb...
DLLAPI long ER_STDCALL erGetEvents_EventDOUT(ER_TARGET_EVENTS_HND hnd, int idx, long *io_value, char *io_name, long *strig_type, double *strig_time, double *strig_dist, long *ttrig_type, double *ttrig_time, double *ttrig_dist)
Get an event for a boolean output for target location A boolean event for binary outputs is controlle...
DLLAPI const double *ER_STDCALL erGeoMngr_GetAxisBBox(ER_HND er_hnd, int axis_id)
DLLAPI ER_HND ER_STDCALL erToolPathGetConveyorHandle(ER_TOOLPATH_HND er_tpth_hnd)
Get device conveyor handle belonging to tool path handle.
DLLAPI ER_EXTAX_KIN_DATA *ER_STDCALL erGetExtAxPositioner_extax_data(ER_TARGET_EXTAX_DEVICE_POSITIONER_HND hnd, long extax_idx)
External axis values for Positioner/TurnTable Values ER_EXTAX_KIN_DATA are: .
DLLAPI long ER_STDCALL erGetTargetLocationNumber(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Number of target locations in a tool path.
DLLAPI long 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,...
unsigned int * ER_TARGET_MOVE_JOINT_HND
unique Target data for Joint Move handle
Definition: erk_capi_types.h:212
DLLAPI long ER_STDCALL erTargetLocationReset(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Reset Target location to default values Remarks The target location is marked as invalid....
DLLAPI long ER_STDCALL erColl_EndModel(ER_COLLISION_HND er_coll_hnd)
Stop building a Model.
DLLAPI size_t *ER_STDCALL erGeoMngr_GetGeometryObjLine(TErGeoHandle geometryHandle, int objidx, int index)
DLLAPI int ER_STDCALL erk_AutoPathAbortPlanning(void)
Abort path planning use GetPlanningStatus()
DLLAPI ER_TARGET_ATTRIBUTES_AUX_HND ER_STDCALL erGetTargetLocationMotionAttributesAuxHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for target attributes auxiliary data.
DLLAPI long *ER_STDCALL erGetMoveJoint_turn_value(ER_TARGET_MOVE_JOINT_HND hnd)
Turn value for each robot joint for joint move for target location The turn value determine the desir...
DLLAPI long ER_STDCALL erInvKinRobotBaseTcp(ER_HND er_hnd, DFRAME *bTw)
Calculating the inverse kinematics transformation. The bTw is the location of the tcp w....
DLLAPI long ER_STDCALL erGetInvKinSubID(ER_HND er_hnd, long *invkinsub_id)
Inverse kinematics Sub-ID for cRobot. .
DLLAPI long ER_STDCALL erSwapTargetLocation(ER_TARGET_LOCATION_HND er_tarloc_hnd1, ER_TARGET_LOCATION_HND er_tarloc_hnd2)
Swap the order of two target location in a tool path Remarks Both target location handle must be in ...
DLLAPI char *ER_STDCALL erGetMotionAttributes_ToolOffsetName(ER_TARGET_ATTRIBUTES_HND hnd)
Name for ToolOffset for a target location see inq_ToolOffsetVec(), inq_ToolOffsetIdx() This ToolOffse...
DLLAPI long ER_STDCALL CpyExtAxTrackMotionTemplate(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND hnd)
Copy external axis track motion data to template data. The external axis track motion data defined wi...
DLLAPI long ER_STDCALL erGeoMngr_GetGeometryObjColorCode(TErGeoHandle geometryHandle, int objidx)
DLLAPI int ER_STDCALL erk_AutoPathSetPoseEnd(double *pose_end)
Set end configuration Remarks This pose must be valid - collision free, based on callback function "...
DLLAPI double *ER_STDCALL erGetMotionAttributes_ToolVec(ER_TARGET_ATTRIBUTES_HND hnd)
Tool (TCP) for a target location Transformation from Tip to TCP see inq_ToolIdx(),...
DLLAPI long ER_STDCALL erGetAccSet(ER_HND er_hnd, double *acc, double *ramp)
Get lagging of accelerations. Using AccSet is a proper way to come close to real cycle times when the...
DLLAPI int ER_STDCALL erk_AutoPathGetNumberOfWayPoints(void)
Get number of calculated way points, including start and end pose call this method after FindPath() s...
DLLAPI long 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 attach...
DLLAPI long ER_STDCALL erMath_CircCenterPoint(double *ps, double *pv, double *pe, DFRAME *pTc, double *radius, double *phi, double *phi_via=NULL)
Circle calculation from three points ps over pv to pe. Calculates center of circle,...
DLLAPI long ER_STDCALL erSetTurn_offset(ER_HND er_hnd, double *turn_offset)
Set the turn offset for each robot joints The kinematics turn offset turn_offset are in units [m] for...
DLLAPI long ER_STDCALL erSET_OVERRIDE_ACCELERATION_EX(ER_HND er_hnd, ER_HND er_hnd_slave, double accel_override, double tcp_accel_max=0)
Sets override for scaling the programmed acceleration during program execution. If er_hnd_slave is NU...
DLLAPI long 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() Initi...
DLLAPI long ER_STDCALL erSetExtAxConveyorIdx(ER_TARGET_LOCATION_HND er_tarloc_hnd, long extax_idx, double axis_value, double speed_value=0, long sync_type=ER_SYNC_UNDEF, ER_HND er_hnd_connect=0)
Set external axis values for Conveyor for target location see example GetExtAxConveyorHnd() Remarks ...
unsigned int TErTrackingWindowID
unique TrackingWindow identifier
Definition: erk_capi_types.h:202
DLLAPI long ER_STDCALL erInsertTargetLocation(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_LOCATION_HND *er_tarloc_hnd, ER_TARGET_LOCATION_HND er_tarloc_hnd_ref=NULL)
Insert a new target location to a tool path before an existing target location Remarks The new targe...
DLLAPI long ER_STDCALL erGetMotionExec_motion_success(ER_TARGET_MOTION_EXEC_HND hnd)
Motion success is true when the robot has reached the target location successfully Remarks ERK_CAPI_...
DLLAPI int ER_STDCALL erk_AutoPathSetAccuracy(UINT accuracy)
Set accuracy.
DLLAPI ER_COLLISION_HND *ER_STDCALL erGeoMngr_GetGeometryCollisionHandle(TErGeoHandle geometryHandle)
DLLAPI long 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_hn...
DLLAPI double *ER_STDCALL erGeoMngr_GetGeometryObjColor(TErGeoHandle geometryHandle, int objidx)
DLLAPI ER_EXTAX_KIN_DATA *ER_STDCALL erGetExtAxTrack_extax_data(ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND hnd, long extax_idx)
External axis values for Track/Slider Values ER_EXTAX_KIN_DATA are: .
DLLAPI long ER_STDCALL erGetVxMax(ER_HND er_hnd, double *vx_max)
Get maximum cartesian speed.
DLLAPI DFRAME *ER_STDCALL erSetMotionAttributes_extTcpBaseFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *extTcpBaseFrame)
external Tool (TCP) w.r.t. Robot Base or flange of positioner, for a target location Transformation f...
DLLAPI long ER_STDCALL erGetToolOffset(ER_HND er_hnd, DFRAME *wTwo)
Get robot tool offset (TCP) data w.r.t. robots fix Tcp.
DLLAPI long ER_STDCALL erSetAxis_couplingA2A3(ER_HND er_hnd, long axis_couplingA2A3)
Set robot axis coupling between axis 2 and 3 The axis coupling can be one of the following values....
DLLAPI ER_TARGET_ATTRIBUTES_HND ER_STDCALL GetMotionAttributesTemplateHnd(ER_TOOLPATH_HND er_tpth_hnd)
Get attributes template data from tool path. Get the attributes template data belonging to the tool p...
DLLAPI long ER_STDCALL erColl_ChkCollision_res(ER_COLLISION_HND er_coll_hnd_1, DFRAME *iT_1, ER_COLLISION_HND er_coll_hnd_2, DFRAME *iT_2, long query_type=ER_COLL_QUERY_TYPE_COLLIDE, long contact_type=ER_COLL_FIRST_CONTACT, double rel_err=0, double abs_err=0, double tolerance=0, void *pres=NULL)
Perform the collision check of two Models. Collision results returned immediately by parameter pres c...
DLLAPI long ER_STDCALL erSetRobotBase(ER_HND er_hnd, DFRAME *iTb)
Set robot base location w.r.t. world.
DLLAPI DFRAME *ER_STDCALL erMath_SetFramePosOri(DFRAME *To, double x, double y, double z, double Rx, double Ry, double Rz)
Cpy and convert a target location (position+orientation) to a DFRAME position x,y,...
DLLAPI long ER_STDCALL erSET_OVERRIDE_SPEED_EX(ER_HND er_hnd, ER_HND er_hnd_slave, double speed_override, double tcp_speed_max=0)
Sets override for scaling the programmed speed during program execution. If er_hnd_slave is NULL,...
DLLAPI double *ER_STDCALL erGetMotionExec_ExtAxValues(ER_TARGET_MOTION_EXEC_HND hnd)
External axis values at target location, while interpolation through the complete tool path.
DLLAPI long ER_STDCALL erSetSweMax(ER_HND er_hnd, double *swe_max)
Set fix maximum travel ranges. The kinematics travel ranges swe_max are in units [m] for prismatic jo...
DLLAPI double *ER_STDCALL erGetMoveCP_speed_cp(ER_TARGET_MOVE_CP_HND hnd)
Cartesian speed [m/s], for CP move for target location.
DLLAPI ER_TARGET_MOVE_CP_HND ER_STDCALL erGetTargetLocationMoveCPHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for target move CP data Typical data belonging to a move CP target location are: target_type,...
DLLAPI long 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,...
DLLAPI long ER_STDCALL erSELECT_MOTION_TYPE(ER_HND er_hnd, long motion_type)
Selects the motion type. Opcode 120, Chapter 3.4.4, Page 3-58 The motion_type can be one of the follo...
DLLAPI DFRAME *ER_STDCALL erSetMotionAttributes_ToolFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *ToolFrame)
Tool (TCP) for a target location Transformation from Tip to TCP see inq_ToolIdx(),...
DLLAPI long ER_STDCALL erGetHomepos(ER_HND er_hnd, double *homepos)
Get robot joint homeposition. The kinematics joint homepos are in units [m] for prismatic joint type ...
DLLAPI long 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 th...
DLLAPI void ER_STDCALL erSetCallBack_FreeGeometryProc(TerFreeGeometryProc Handler)
Define Callback function to free Geometry The Host application is prompted to free a geometry.
DLLAPI DFRAME *ER_STDCALL erGetMotionAttributes_extTcpOffsetFrame(ER_TARGET_ATTRIBUTES_HND hnd, DFRAME *extTcpOffsetFrame)
external Tool/TCP offset data w.r.t. extTcpBase, extTcpWorld, for a target location Transformation fr...
DLLAPI int ER_STDCALL erk_AutoPathClearAllWayPoints(void)
Clear all way points.
DLLAPI long ER_STDCALL erMath_mul_invT_T_T(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2, DFRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * Ti2 * Ti3 Remarks ...
DLLAPI long ER_STDCALL erGET_NEXT_TOOLPATH_STEP_TERMINATE(ER_TOOLPATH_HND er_tpth_hnd)
Terminates interpolation Remarks This method must be called after the interpolation of a tool path,...
DLLAPI ER_TARGET_LOCATION_HND ER_STDCALL erGetTargetLocationNext(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Get next target location in a tool path.
DLLAPI long ER_STDCALL erMath_AngleBetween(DFRAME *Ts, DFRAME *Te, double *angle, double *k=NULL)
Calculates the angle and the equivalent angle axis between two homogeneous 4x4 transformation matrice...
DLLAPI ER_TARGET_LOCATION_HND ER_STDCALL erGetTargetLocationFirst(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Get first target location in a tool path.
unsigned int * ER_TARGET_HEAD_HND
unique Header data handle
Definition: erk_capi_types.h:207
DLLAPI long ER_STDCALL erMath_DistBetween(DFRAME *Ts, DFRAME *Te, double *dist, double *dv=NULL)
Calculates the distance and direction between two homogeneous 4x4 transformation matrices....
DLLAPI double *ER_STDCALL erGetMotionAttributes_extTcpBaseVec(ER_TARGET_ATTRIBUTES_HND hnd)
external Tool (TCP) w.r.t. Robot Base or flange of positioner, for a target location Transformation f...
DLLAPI long ER_STDCALL erGetJointSign(ER_HND er_hnd, double *joint_sign)
Get sign of robot joints. A robot joint sign can be positive +1 or negative -1. See also erGetJointTy...
DLLAPI long ER_STDCALL erKernelGetLicense(char *hw_id)
Check license and supplies unique HardwareID or DongleID.
DLLAPI long ER_STDCALL erTPth_TBox_Fct(int FctIdx, int FctSubIdx, ER_TOOLPATH_HND er_tpth_hnd, int constraint_param, char *svalues=NULL)
Method for miscellaneous tool path calculations Requires DLL EasySimKernel_tboxx64....
DLLAPI long ER_STDCALL CpyMotionAttributesTemplate(ER_TOOLPATH_HND er_tpth_hnd, ER_TARGET_ATTRIBUTES_HND hnd)
Copy attributes to template data. The attributes defined with attribute handle hnd are copied to the ...
DLLAPI long ER_STDCALL erGetCurrentStepData(ER_HND er_hnd, CURRENT_STEP_DATA *p_current_step_data)
Returns interpolation data for the current interpolated step Remarks After the next step data are ca...
DLLAPI long ER_STDCALL erGetWorldTip(ER_HND er_hnd, DFRAME *iTt)
Get robot tip location w.r.t. inertia (world) coorsys.
DLLAPI long ER_STDCALL erGetJointFrameActiveNext(ER_HND er_hnd, long active_jnt_no, DFRAME *T)
DLLAPI long ER_STDCALL erSetTargetLocation_Move_CIRC(ER_TARGET_LOCATION_HND er_tarloc_hnd, double *CartPosVecVia, double *CartPosVec, double speed_cp=0, double speed_ori=0, double override_speed=0, long flyby_on=-1, double *Tool=0, double *Base=0)
Move_CIRC, continious path motion definition for target location Remarks Use erAddTargetLocation()...
DLLAPI long ER_STDCALL erGetSweMax_passive(ER_HND er_hnd, double *swe_max_passive)
Get fix maximum travel ranges from passive joints. The kinematics travel ranges swe_max_passive are i...
DLLAPI long ER_STDCALL erSetJointFrameActiveLast(ER_HND er_hnd, long active_jnt_no, DFRAME *T)
Definition: erk_capi_types.h:922
DLLAPI long 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() Initiali...
DLLAPI long ER_STDCALL erGetExtTcpWorld(ER_HND er_hnd, DFRAME *iText)
Get location of external TCP w.r.t inertia (world).
DLLAPI long ER_STDCALL erGetSweMinCalc(ER_HND er_hnd, double *swe_min_calc)
Get calculated minimum travel ranges. The kinematics calculated travel ranges swe_min_calc are in uni...
DLLAPI long ER_STDCALL erGetJointOffset(ER_HND er_hnd, double *joint_offset)
Get offset of robot joints. Robot joint offsets joint_offset are in units [m] for prismatic joint typ...
DLLAPI long ER_STDCALL erGetSpeedReductionEnable(ER_HND er_hnd, long *speed_reduction_enable)
Get speed reduction enable. If speed reduction is enabled, the robots TCP speed gets reduced (while m...
DLLAPI long *ER_STDCALL erGetMotionAttributes_speed_reduction_enable(ER_TARGET_ATTRIBUTES_HND hnd)
Speed reduction enable for a target location The speed reduction enable can be one of the following v...
DLLAPI long ER_STDCALL erSetConveyorTrackingWindow(ER_TARGET_LOCATION_HND er_tarloc_hnd, long active, double up, double down, TErTrackingWindowID id_tw, char *name=NULL)
Activates and deactivates the boundaries for a Tracking Window. This function enables a tracking wind...
DLLAPI int ER_STDCALL erk_AutoPathGetResults(int ap_result)
Get results Paramter ap_result is one of AUTOPATH_SDK_RESULT_CHECKS AUTOPATH_SDK_RESULT_SECONDS AU...
DLLAPI long *ER_STDCALL erGetExtAxConveyor_sync_type(ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND hnd)
Synchonization for Conveyor For a Conveyor motion, the synchonization can be one of ER_SYNC_ON,...
DLLAPI long 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 callb...
DLLAPI long ER_STDCALL erColl_GetResults_Distance(ER_DistanceResult *er_dres)
Get Collision result for query ER_COLL_QUERY_TYPE_DISTANCE. Remarks Call erColl_ChkCollision() first...
DLLAPI long ER_STDCALL erConnectTrackMotionGetSync(ER_HND er_hnd)
Get robots synchronization flag for synchronization between robot and track motion....
DLLAPI long 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 ...
DLLAPI ER_TARGET_EXTAX_DEVICE_TRACKMOTION_HND ER_STDCALL erGetTargetLocationExtAxTrackHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for external axis of a Track/Slider-Motion Typical data belonging to external axis data are: ...
DLLAPI long ER_STDCALL erColl_GetResults_Tolerance(ER_ToleranceResult *er_tres)
Get Collision result for query ER_COLL_QUERY_TYPE_TOLERANCE. Remarks Call erColl_ChkCollision() firs...
DLLAPI ER_HND ER_STDCALL erConnectRobotGetHND(ER_HND er_hnd)
Get robots connection handle between robot and slave robot. See also erConnectRobot()
DLLAPI long 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....
DLLAPI long ER_STDCALL erGetRobotBaseTip(ER_HND er_hnd, DFRAME *bTt)
Get robot tip (flange) location w.r.t. robot base.
unsigned int * ER_TARGET_MOTION_EXEC_HND
unique handle for motion execution data at target
Definition: erk_capi_types.h:214
DLLAPI ER_TARGET_EVENTS_HND ER_STDCALL erGetTargetLocationEventsHnd(ER_TARGET_LOCATION_HND er_tarloc_hnd)
Handle for target events data.
DLLAPI ER_TARGET_EXTAX_DEVICE_CONVEYOR_HND ER_STDCALL GetExtAxConveyorTemplate(ER_TOOLPATH_HND er_tpth_hnd)
Get external axis conveyor template data from tool path. Get the external axis conveyor template data...
DLLAPI ER_TARGET_LOCATION_HND ER_STDCALL erToolPathGetTargetLocationFirst(ER_TOOLPATH_HND er_tpth_hnd)
Get the first 'target location handle' in the tool path.
DLLAPI long ER_STDCALL erGet_num_dofs(ER_HND er_hnd)
Get number of active robot joints.
DLLAPI long ER_STDCALL erMath_PxyzRxyzToFrame(double x, double y, double z, double Rx, double Ry, double Rz, DFRAME *T)
Converts an euler represented location with rotation index ER_ROT_XYZ into a frame....
DLLAPI double *ER_STDCALL erGeoMngr_GetGeometryObjPoint(TErGeoHandle geometryHandle, int objidx, int index)
DLLAPI long ER_STDCALL erSetAxOriMax(ER_HND er_hnd, double ax_ori_max)
Set maximum cartesian orientation acceleration.
DLLAPI double *ER_STDCALL erMath_SetVec6(double *vec, double q1, double q2, double q3, double q4, double q5, double q6)
Cpy six values to a vector.
long(ER_STDCALL * TerGetActualTravelRangesProc)(ER_HND ErHandle, Host_HND HostHandle, double *Joints, double *TravelRangeMin, double *TravelRangeMax)
Callback function type definition for user defined calculation of min./max. travel ranges in current ...
Definition: erk_capi_types.h:665
DLLAPI long ER_STDCALL erREVERSE_MOTION(ER_HND er_hnd, double distance)
Instructs to do a reverse motion. Opcode 130, Chapter 3.4.4, Page 3-70 The robot moves backwards alon...
DLLAPI long ER_STDCALL erKernelGetHardwareID(char *hw_id)
Supplies unique HardwareID or DongleID.
DLLAPI long *ER_STDCALL erGetMotionAttributes_enabled(ER_TARGET_ATTRIBUTES_HND hnd)
Enables/disables a target location If the target location is disabled, the trajectory interpolator wi...
DLLAPI long 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,...
DLLAPI long ER_STDCALL erUnloadTargetLocation(ER_TARGET_LOCATION_HND *er_tarloc_hnd)
Unload/delete a target location from a tool path Remarks Use erGetTargetLocationNumber() to receive ...
DLLAPI long *ER_STDCALL erGetMoveCP_interpolation_mode(ER_TARGET_MOVE_CP_HND hnd)
Orientation interpolation mode for CP move for target location The interpolation_mode is one of =1 on...
DLLAPI double *ER_STDCALL erGetMoveCP_accel_ori(ER_TARGET_MOVE_CP_HND hnd)
Cartesian orientation acceleration [rad/s^2], for CP move for target location.
DLLAPI long ER_STDCALL erSetSpeedReductionEnable(ER_HND er_hnd, long speed_reduction_enable)
Set speed reduction enable. If speed reduction is enabled, the robots TCP speed gets reduced (while m...
DLLAPI double *ER_STDCALL erGetMoveJoint_CartPosVec(ER_TARGET_MOVE_JOINT_HND hnd)
Cartesian position w.r.t. Base for joint move for target location Remarks Use for.
DLLAPI long ER_STDCALL erMath_mul_T_T_T(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2, DFRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * Ti2 * Ti3 A frame DFRAM...
DLLAPI int ER_STDCALL erk_AutoPathSetAxisConstraints(int axisBit=AUTOPATH_SDK_AXIS_BIT_DOF6, int setting=0, double qConstraintMin=0, double qConstraintMax=0)
Set axis constraints Parameter setting is a bitwise inclusive OR operator (|) of AUTOPATH_SDK_CONSTRA...
DLLAPI int ER_STDCALL erk_AutoPathSetPoseStart(double *pose_start)
Set start configuration Remarks This pose must be valid - collision free, based on callback function...
DLLAPI long ER_STDCALL erMath_mul_invT_invT(DFRAME *To, DFRAME *Ti1, DFRAME *Ti2)
Multiplication of two homogeneous 4x4 transformation matrices. To = inv(Ti1) * inv(Ti2) Remarks inv(...
DLLAPI long *ER_STDCALL erGetMotionAttributes_BaseIdx(ER_TARGET_ATTRIBUTES_HND hnd)
Idx for program shift Base for a target location see inq_BaseVec(), inq_BaseName() This BaseIdx could...
DLLAPI long ER_STDCALL erGetExtTcpRobotBase(ER_HND er_hnd, DFRAME *bText)
Get location of external TCP w.r.t robot base.
DLLAPI void ER_STDCALL erKernelFree(void)
Free all internal Kernel data. Calling this function will delete all internal Kernel data After calli...
DLLAPI long ER_STDCALL erSET_MOTION_TIME(ER_HND er_hnd, double time_value)
Specifies the motion time for the next motion. Opcode 156, Chapter 3.4.5, Page 3-81.
unsigned int * ER_TARGET_ATTRIBUTES_AUX_HND
unique Auxiliary motion attributes handle
Definition: erk_capi_types.h:210
DLLAPI char *ER_STDCALL erToolPathName(ER_TOOLPATH_HND er_tpth_hnd)
Name of tool path.
DLLAPI long ER_STDCALL erSetExtAxTrackIdx(ER_TARGET_LOCATION_HND er_tarloc_hnd, long extax_idx, double axis_value, double speed_value=0, long sync_type=ER_SYNC_UNDEF, ER_HND er_hnd_connect=0)
Set external axis values for Track/Slider for target location see example GetExtAxTrackMotionHnd() R...
DLLAPI long 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,...