include/libKinematics.h
Go to the documentation of this file.
1 /* --------------------------------------------------------------------------------
2  #
3  # libKinematics.h
4  # Project : Kinematics
5  # author : jhaller
6  # 24.04.2008
7  #
8  # --------------------------------------------------------------------------------*/
9 
10 /*
11 * Kinematics library.
12 *
13 * General usage: kin_setType or (kin_setMDH and than kin_setImmob if needed,
14 * kin_setEPC, kin_setEncOff, kin_setRotDir, kin_setAngOff and kin_setAngRan),
15 * then kin_init, then use the conversion and kinematics functions.
16 */
17 
18 #ifndef WIN32
19 #define _declspec(dllexport)
20 #endif // ifndef WIN32
21 
22 extern "C"{
23 
24 
26 
28 const int MaxDof = 10;
29 
30 // This structure holds an int array including its length.
31 typedef struct IntVector
32 {
33  int length;
34  int data[MaxDof];
35 } IntVector;
36 // This structure holds a float array including its length.
37 typedef struct FloatVector
38 {
39  int length;
40  float data[MaxDof];
41 } FloatVector;
42 
44 
60 _declspec(dllexport) int kin_setType(int type);
61 
78 _declspec(dllexport) int kin_setMDH(FloatVector* theta, FloatVector* d,
80 
91 _declspec(dllexport) int kin_setLinkLen(FloatVector* links);
92 
102 _declspec(dllexport) int kin_setImmob(int immobile);
103 
112 _declspec(dllexport) int kin_setEPC(IntVector* epc);
113 
122 _declspec(dllexport) int kin_setEncOff(IntVector* encOffset);
123 
134 _declspec(dllexport) int kin_setRotDir(IntVector* rotDir);
135 
144 _declspec(dllexport) int kin_setAngOff(FloatVector* angleOffset);
145 
155 _declspec(dllexport) int kin_setAngRan(FloatVector* angleRange);
156 
165 _declspec(dllexport) int kin_setTcpOff(FloatVector* tcpOffset);
166 
168 
176 _declspec(dllexport) int kin_getType();
177 
184 _declspec(dllexport) int kin_getMaxDOF();
185 
192 _declspec(dllexport) int kin_getDOF();
193 
200 _declspec(dllexport) int kin_getDOM();
201 
211 _declspec(dllexport) int kin_getMDH(FloatVector* theta, FloatVector* d,
212  FloatVector* a, FloatVector* alpha);
213 
218 _declspec(dllexport) int kin_getImmob();
219 
225 _declspec(dllexport) int kin_getEPC(IntVector* epc);
226 
232 _declspec(dllexport) int kin_getEncOff(IntVector* encOffset);
233 
239 _declspec(dllexport) int kin_getRotDir(IntVector* rotDir);
240 
247 _declspec(dllexport) int kin_getAngOff(FloatVector* angleOffset);
248 
255 _declspec(dllexport) int kin_getAngRan(FloatVector* angleRange);
256 
262 _declspec(dllexport) int kin_getTcpOff(FloatVector* tcpOffset);
263 
269 _declspec(dllexport) int kin_getVersion(IntVector* version);
270 
272 
281 _declspec(dllexport) int kin_init();
282 
284 
291 _declspec(dllexport) int kin_clean();
292 
294 
304 
313 _declspec(dllexport) int kin_mDH2K4DAng(FloatVector* angleMDH, FloatVector* angleK4D);
314 
324 
333 _declspec(dllexport) int kin_rad2enc(FloatVector* angle, IntVector* enc);
334 
343 _declspec(dllexport) int kin_DK(FloatVector* angle, FloatVector* pose);
344 
355 _declspec(dllexport) int kin_IK(FloatVector* pose, FloatVector* prev,
356  FloatVector* angle, int maxBisection = 0);
357 
358 } // extern c
359 
360 
361 
int kin_getMaxDOF()
FloatVector FloatVector FloatVector int typeNr
FloatVector * prev
int kin_K4D2mDHAng(FloatVector *angleK4D, FloatVector *angleMDH)
int kin_IK(FloatVector *pose, FloatVector *prev, FloatVector *angle, int maxBisection)
int kin_setAngRan(FloatVector *angleRange)
int kin_init()
int kin_getDOM()
int kin_getRotDir(IntVector *rotDir)
int kin_setEncOff(IntVector *encOffset)
struct IntVector IntVector
int kin_getVersion(IntVector *version)
const int MaxDof
Maximum degree of freedom.
int kin_setType(int type)
int data[MaxDof]
int kin_setMDH(FloatVector *theta, FloatVector *d, FloatVector *a, FloatVector *alpha, int typeNr)
int kin_setLinkLen(FloatVector *links)
int kin_getType()
FloatVector * pose
int kin_getImmob()
FloatVector * angleK4D
int kin_clean()
int kin_DK(FloatVector *angle, FloatVector *pose)
IntVector * enc
FloatVector * d
FloatVector * angleMDH
int kin_mDH2K4DAng(FloatVector *angleMDH, FloatVector *angleK4D)
int kin_getAngRan(FloatVector *angleRange)
FloatVector FloatVector int maxBisection
int kin_getEPC(IntVector *epc)
int kin_setEPC(IntVector *epc)
int kin_getAngOff(FloatVector *angleOffset)
int kin_setRotDir(IntVector *rotDir)
FloatVector FloatVector * a
FloatVector * angle
int kin_setTcpOff(FloatVector *tcpOffset)
int kin_setImmob(int immobile)
int kin_getDOF()
int kin_enc2rad(IntVector *enc, FloatVector *angle)
int kin_rad2enc(FloatVector *angle, IntVector *enc)
struct FloatVector FloatVector
int kin_setAngOff(FloatVector *angleOffset)
FloatVector FloatVector FloatVector * alpha
int kin_getEncOff(IntVector *encOffset)
#define _declspec(dllexport)
This sets the robot type.
int kin_getMDH(FloatVector *theta, FloatVector *d, FloatVector *a, FloatVector *alpha)
int kin_getTcpOff(FloatVector *tcpOffset)


kni
Author(s): Martin Günther
autogenerated on Fri Jan 3 2020 04:01:16