aboutsummaryrefslogtreecommitdiffstats
path: root/src/emc/kinematics/genhexkins.h
blob: ea6000460ca0ff9592ccef50a82b9154d67efcc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*******************************************************************
* Description: genhexkins.h
*
*   Kinematics for a generalised hexapod machine
*
*   Derived from a work by R. Brian Register
*
* Adapting Author: Andrew Kyrychenko
* License: GPL Version 2
* System: Linux
*    
* Copyright (c) 2004 All rights reserved.
********************************************************************

  This is the header file to accompany genhexkins.c.  This header file
  is used to configure genhexkins.c to solve the kinematics for a default
  Stewart Platform configuration.

  */
#ifndef GENHEXKINS_H
#define GENHEXKINS_H

#include "kinematics.h"
#include "hal.h"

#define GENHEX_MAX_JOINTS 6
#define NUM_STRUTS 6 // number of struts, only 6 supported for now

/* Default position of base strut ends in base (world) coordinates */

#define DEFAULT_BASE_0_X -22.950
#define DEFAULT_BASE_1_X  22.950
#define DEFAULT_BASE_2_X  22.950
#define DEFAULT_BASE_3_X   0.000
#define DEFAULT_BASE_4_X   0.000
#define DEFAULT_BASE_5_X -22.950

#define DEFAULT_BASE_0_Y  13.250
#define DEFAULT_BASE_1_Y  13.250
#define DEFAULT_BASE_2_Y  13.250
#define DEFAULT_BASE_3_Y -26.500
#define DEFAULT_BASE_4_Y -26.500
#define DEFAULT_BASE_5_Y  13.250

#define DEFAULT_BASE_0_Z   0.000
#define DEFAULT_BASE_1_Z   0.000
#define DEFAULT_BASE_2_Z   0.000
#define DEFAULT_BASE_3_Z   0.000
#define DEFAULT_BASE_4_Z   0.000
#define DEFAULT_BASE_5_Z   0.000

/* Default position of platform strut end in platform coordinate system */

#define DEFAULT_PLATFORM_0_X  -1.000
#define DEFAULT_PLATFORM_1_X   1.000
#define DEFAULT_PLATFORM_2_X  10.459
#define DEFAULT_PLATFORM_3_X   9.459
#define DEFAULT_PLATFORM_4_X  -9.459
#define DEFAULT_PLATFORM_5_X -10.459

#define DEFAULT_PLATFORM_0_Y  11.500
#define DEFAULT_PLATFORM_1_Y  11.500
#define DEFAULT_PLATFORM_2_Y  -4.884
#define DEFAULT_PLATFORM_3_Y  -6.616
#define DEFAULT_PLATFORM_4_Y  -6.616
#define DEFAULT_PLATFORM_5_Y  -4.884

#define DEFAULT_PLATFORM_0_Z   0.000
#define DEFAULT_PLATFORM_1_Z   0.000
#define DEFAULT_PLATFORM_2_Z   0.000
#define DEFAULT_PLATFORM_3_Z   0.000
#define DEFAULT_PLATFORM_4_Z   0.000
#define DEFAULT_PLATFORM_5_Z   0.000

/* Default unit vectors of base joints axes in world coordinates */

#define DEFAULT_BASE_0_NX  0.707107
#define DEFAULT_BASE_0_NY  0.0
#define DEFAULT_BASE_0_NZ  0.707107

#define DEFAULT_BASE_1_NX  0.0
#define DEFAULT_BASE_1_NY -0.707107
#define DEFAULT_BASE_1_NZ  0.707107

#define DEFAULT_BASE_2_NX -0.707107
#define DEFAULT_BASE_2_NY  0.0
#define DEFAULT_BASE_2_NZ  0.707107

#define DEFAULT_BASE_3_NX -0.707107
#define DEFAULT_BASE_3_NY  0.0
#define DEFAULT_BASE_3_NZ  0.707107

#define DEFAULT_BASE_4_NX  0.0
#define DEFAULT_BASE_4_NY  0.707107
#define DEFAULT_BASE_4_NZ  0.707107

#define DEFAULT_BASE_5_NX  0.707107
#define DEFAULT_BASE_5_NY  0.0
#define DEFAULT_BASE_5_NZ  0.707107

/* Default unit vectors of platform joints axes in platform coordinates */

#define DEFAULT_PLATFORM_0_NX -1.0
#define DEFAULT_PLATFORM_0_NY  0.0
#define DEFAULT_PLATFORM_0_NZ  0.0

#define DEFAULT_PLATFORM_1_NX  0.866025
#define DEFAULT_PLATFORM_1_NY  0.5
#define DEFAULT_PLATFORM_1_NZ  0.0

#define DEFAULT_PLATFORM_2_NX  0.866025
#define DEFAULT_PLATFORM_2_NY  0.5
#define DEFAULT_PLATFORM_2_NZ  0.0

#define DEFAULT_PLATFORM_3_NX  0.866025
#define DEFAULT_PLATFORM_3_NY -0.5
#define DEFAULT_PLATFORM_3_NZ  0.0

#define DEFAULT_PLATFORM_4_NX  0.866025
#define DEFAULT_PLATFORM_4_NY -0.5
#define DEFAULT_PLATFORM_4_NZ  0.0

#define DEFAULT_PLATFORM_5_NX -1.0
#define DEFAULT_PLATFORM_5_NY  0.0
#define DEFAULT_PLATFORM_5_NZ  0.0

/* Default lead of strut actuator screw */

#define DEFAULT_SCREW_LEAD 0.0

#endif
bues.ch cgit interface