-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatamining.txt
151 lines (121 loc) · 3.33 KB
/
datamining.txt
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# ------------------------------------------------------------------------------------------------
# Tiempos de giro con velocidad constante
# ------------------------------------------------------------------------------------------------
SPEED 0
180º 32 0,64segs
SPEED 1
180º 37 0,74segs +0.10
SPEED 2
180º 43 0,86segs +0.12
SPEED 3
180º 50 1segs +0.14
SPEED 4
180º 62 1.24seg +0.24
SPEED 5
180º 80 1.60segs +0.36
# ------------------------------------------------------------------------------------------------
# Tiempos de giro con sharp turning, 180º
# ------------------------------------------------------------------------------------------------
SHARP_ANGLE Speed MAX-MIN TIME FINAL_SPEED FINAL_SPEED/TIME*1000
80 5-4 68 5 73,52941176470588
80 5-3 61 5 81,9672131147541
80 5-2 54 4.4 81,48148148148148
80 5-1 54 4.4 81,48148148148148
80 5-0 54 4.4 81,48148148148148
70 5-4 65 5 76,92307692307692
70 5-3 59 5 84,74576271186441
70 5-2 52 3.9 75
70 5-1 51 3.5 68,62745098039216
70 5-0 51 3.5 68,62745098039216
65 5-3 59 5 84,74576271186441
61 5-3 58 5 86,20689655172414
60 5-4 67 5 74,6268656716418
60 5-3 58 5 86,2068965517241
60 5-2 51 3.6 70,5882352941176
60 5-1 50 3 60
60 5-0 50 3 60
57 5-3 57 4.9 85,96491228070175
55 5-3 57 4.9 85,96491228070175
50 5-4 65 5 76,92307692307692
50 5-3 56 4.6 82,14285714285714
50 5-2 51 3.4 66,66666666666667
50 5-1 49 2.5 51,02040816326531
50 5-0 49 2.5 51,02040816326531
35 5-4 65 5 76,92307692307692
35 5-3 55 4.1 74,54545454545455
35 5-2 50 2.9 58
35 5-1 48 1.8 37,5
35 5-0 48 1.8 37,5
# ------------------------------------------------------------------------------------------------
# Benchmarking code
# ------------------------------------------------------------------------------------------------
uSLOW_TURNS = 1
uSHARP_TURN_ANGLE = 50
uSHARP_TURN_MIN_SPEED = 2
aim_speed = 5
aim_direction = 0
update_aim()
update_speed()
function update_aim()
delta = aim_direction - direction
delta = to180range(delta)
right(delta)
if abs(delta) > 0.1
if reset
time_to_turn = 0
reset = 0
end
time_to_turn += 1
else
if !reset
final_speed = speed
end
reset = 1
end
end
function update_speed()
# Slow speed cornering
if uSLOW_TURNS
angle_left = to180range(aim_direction - direction)
if abs(angle_left) > uSHARP_TURN_ANGLE
real_aim_speed = uSHARP_TURN_MIN_SPEED
else
real_aim_speed = aim_speed
end
else
real_aim_speed = aim_speed
end
speed_left = real_aim_speed - speed
# Calculate impulse and apply
if real_aim_speed > speed and abs(speed_left) > 0
impulse = 5
else if real_aim_speed < speed and abs(speed_left) > 0.1
impulse = -5
else
impulse = 0
end
faster(impulse)
end
function constrain(num, top)
if(num < 0)
num += top
end
if(num < 0)
num += top
end
if(num >= top)
num -= top
end
if(num >= top)
num -= top
end
return num
end
function to180range(num)
num = constrain(num, 360)
if num > 180
num -= 360
end
return num
end
# ------------------------------------------------------------------------------------------------