Académique Documents
Professionnel Documents
Culture Documents
py
Saved: 12/16/15, 9:08:05 PM
1
2
Page 1 of 4
Printed For: Jayce Shea Chow
3
4
5
class Leg():
6
7
8
9
10
11
12
self.angles = []
13
14
15
16
17
18
#is even?
if index % 2 == 0:
self.even = True
else:
self.even = False
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
if self.even:
self.z = -4
else:
self.z = 0
37
38
39
40
41
# whether the leg is currently on the ground and able to support wei
42
43
44
45
/Users/jaycesheachow/Public/Leg_RD.py
Saved: 12/16/15, 9:08:05 PM
Page 2 of 4
Printed For: Jayce Shea Chow
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
# the amount shifted out and forward the step pattern is,
# relative to a side leg. 0 for now, unless needed
'''
yoffset = 4
xoffset = -1
if self.index == 1:
self.stepyoffset = yoffset
self.stepxoffset = -xoffset
elif self.index == 3:
self.stepyoffset = -yoffset
self.stepxoffset = -xoffset
elif self.index == 4:
self.stepyoffset = -yoffset
self.stepxoffset = xoffset
elif self.index == 6:
self.stepyoffset = yoffset
self.stepxoffset = xoffset
else:
self.stepyoffset = 0
self.stepxoffset = 0
'''
# lengths of each leg link
self.L0 = 1
self.L1 = 4
self.L2 = 5
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/Users/jaycesheachow/Public/Leg_RD.py
Saved: 12/16/15, 9:08:05 PM
91
92
Page 3 of 4
Printed For: Jayce Shea Chow
phi = 90
psi = w
93
94
95
96
97
#make
tha =
phi =
psi =
98
99
100
101
102
103
104
105
106
107
def returnangles(self):
"""
returns the theta, phi, and psi angles
that correspond to its current position
"""
x_real = self.x# + self.stepxoffset
y_real = self.y# + self.stepyoffset
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
self.x += xmove
/Users/jaycesheachow/Public/Leg_RD.py
Saved: 12/16/15, 9:08:05 PM
136
137
Page 4 of 4
Printed For: Jayce Shea Chow
self.y += ymove
self.z = z
138
139
140
outangles = self.returnangles()
return outangles
141
142
143
def check_limit(self):
angles1 = self.returnangles()
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
if __name__ == '__main__':
leg = Leg(3)
print leg.findangles(-5, 0, 0)