blob: 66ca1588d77ce076c13cfbcbeb2a9722c5c1e55b [file] [log] [blame]
milind-u18a901d2023-02-17 21:51:55 -08001import numpy as np
Maxwell Hendersonf5123fe2023-02-04 13:44:41 -08002
milind-u18a901d2023-02-17 21:51:55 -08003from y2023.control_loops.python.graph_tools import *
Maxwell Hendersonf5123fe2023-02-04 13:44:41 -08004
milind-u68842e12023-02-26 12:45:40 -08005neutral = np.array((np.pi, 0.0, 0.0))
Maxwell Hendersonf5123fe2023-02-04 13:44:41 -08006
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -08007# NeutralToGroundPickupBackConeUp
8neutral_to_cone_up_1 = np.array([3.170156, -0.561227])
9neutral_to_cone_up_2 = np.array([2.972776, -1.026820])
10ground_pickup_back_cone_up = to_theta_with_circular_index_and_roll(
milind-u68842e12023-02-26 12:45:40 -080011 -1.07774334, 0.36308701, np.pi / 2.0, circular_index=1)
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -080012
13# NeutralToGroundPickupBackConeDown
14neutral_to_ground_pickup_back_cone_down_1 = np.array([3.170156, -0.561227])
15neutral_to_ground_pickup_back_cone_down_2 = np.array([2.972776, -1.026820])
16ground_pickup_back_cone_down = to_theta_with_circular_index_and_roll(
milind-u68842e12023-02-26 12:45:40 -080017 -1.11487594, 0.23140145, np.pi / 2.0, circular_index=1)
18
19# NeutralToGroundPickupBackCube
20neutral_to_ground_pickup_back_cube_1 = np.array([3.153228, -0.497009])
21neutral_to_ground_pickup_back_cube_2 = np.array([2.972776, -1.026820])
22neutral_to_hp_pickup_back_cube_alpha_rolls = [
23 (0.7, 0.0),
24 (.9, -np.pi / 2.0),
25]
26ground_pickup_back_cube = to_theta_with_circular_index_and_roll(
27 -1.102, 0.224, -np.pi / 2.0, circular_index=1)
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -080028
29# NeutralToBackMidConeUpScore
30neutral_to_score_back_mid_cone_up_1 = np.array([0.994244, -1.417442])
31neutral_to_score_back_mid_cone_up_2 = np.array([1.711325, -0.679748])
32score_back_mid_cone_up_pos = to_theta_with_circular_index_and_roll(
milind-u68842e12023-02-26 12:45:40 -080033 -1.41871454, 1.07476162, np.pi / 2.0, circular_index=0)
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -080034
35# NeutralToMidConeDownScore
36neutral_to_score_mid_cone_down_1 = np.array([3.394572, -0.239378])
37neutral_to_score_mid_cone_down_2 = np.array([3.654854, -0.626835])
38score_mid_cone_down_pos = to_theta_with_circular_index_and_roll(
milind-u68842e12023-02-26 12:45:40 -080039 -1.37792406, 0.81332449, np.pi / 2.0, circular_index=1)
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -080040
41# NeutralToMidConeDownScore
42neutral_to_hp_pickup_back_cone_up_1 = np.array([2.0, -0.239378])
43neutral_to_hp_pickup_back_cone_up_2 = np.array([1.6, -0.626835])
44neutral_to_hp_pickup_back_cone_up_alpha_rolls = [
45 (0.7, 0.0),
46 (.9, np.pi / 2.0),
47]
48hp_pickup_back_cone_up = to_theta_with_circular_index_and_roll(
milind-u68842e12023-02-26 12:45:40 -080049 -1.1050539, 1.31390128, np.pi / 2.0, circular_index=0)
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -080050
51# NeutralToFrontHighConeUpScore
52neutral_to_score_front_high_cone_up_1 = np.array([2.594244, 0.417442])
53neutral_to_score_front_high_cone_up_2 = np.array([1.51325, 0.679748])
54score_front_high_cone_up_pos = to_theta_with_circular_index_and_roll(
milind-u68842e12023-02-26 12:45:40 -080055 0.98810344, 1.37536719, -np.pi / 2.0, circular_index=0)
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -080056
57# NeutralToFrontMidConeUpScore
58neutral_to_score_front_mid_cone_up_1 = np.array([3.0, 0.317442])
59neutral_to_score_front_mid_cone_up_2 = np.array([2.9, 0.479748])
60score_front_mid_cone_up_pos = to_theta_with_circular_index_and_roll(
milind-u68842e12023-02-26 12:45:40 -080061 0.43740453, 1.06330555, -np.pi / 2.0, circular_index=0)
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -080062
63neutral_to_cone_down_1 = np.array([2.396694, 0.508020])
64neutral_to_cone_down_2 = np.array([2.874513, 0.933160])
65cone_down_pos = to_theta_with_circular_index_and_roll(0.7,
66 0.11,
67 np.pi / 2.0,
68 circular_index=0)
69
70neutral_to_cube_1 = np.array([2.396694, 0.508020])
71neutral_to_cube_2 = np.array([2.874513, 0.933160])
72
73cube_pos = to_theta_with_circular_index_and_roll(0.7,
74 0.24,
75 np.pi / 2.0,
76 circular_index=0)
77
78neutral_to_pickup_control_alpha_rolls = [
79 (0.30, 0.0),
80 (.95, np.pi / 2.0),
81]
Austin Schuh76dd4e72023-02-22 21:23:57 -080082
83neutral_to_score_1 = np.array([0.994244, -1.417442])
84neutral_to_score_2 = np.array([1.711325, -0.679748])
85
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -080086score_low_pos = to_theta_with_circular_index_and_roll(-(0.41 / 2 + 0.49),
87 0 + 0.05,
88 np.pi / 2.0,
89 circular_index=1)
Maxwell Hendersonf5123fe2023-02-04 13:44:41 -080090
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -080091neutral_to_score_low_2 = np.array([3.37926599, -0.73664663])
92
93score_mid_cube_pos = to_theta_with_circular_index_and_roll(-(0.58 + 0.49),
94 0.6 + 0.05,
95 np.pi / 2.0,
96 circular_index=0)
97
98score_high_cone_pos = to_theta_with_circular_index_and_roll(-1.01,
99 1.17 + 0.05,
100 np.pi / 2.0,
101 circular_index=0)
102
103score_high_cube_pos = to_theta_with_circular_index_and_roll(-1.01,
104 0.90 + 0.05,
105 np.pi / 2.0,
106 circular_index=0)
107
108neutral_to_back_score_control_alpha_rolls = [(0.40, 0.0), (.95, np.pi / 2.0)]
109neutral_to_front_score_control_alpha_rolls = [(0.40, 0.0), (.95, -np.pi / 2.0)]
110
111points = [(neutral, "NeutralPos"),
112 (ground_pickup_back_cone_up, "GroundPickupBackConeUp"),
113 (ground_pickup_back_cone_down, "GroundPickupBackConeDown"),
milind-u68842e12023-02-26 12:45:40 -0800114 (ground_pickup_back_cube, "GroundPickupBackCube"),
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -0800115 (hp_pickup_back_cone_up, "HPPickupBackConeUp"),
116 (cone_down_pos, "ConeDownPos"), (score_low_pos, "ScoreLowPos"),
117 (score_back_mid_cone_up_pos, "ScoreBackMidConeUpPos"),
118 (score_front_high_cone_up_pos, "ScoreFrontHighConeUpPos"),
119 (score_front_mid_cone_up_pos, "ScoreFrontMidConeUpPos"),
120 (score_mid_cone_down_pos, "ScoreBackMidConeDownPos"),
121 (score_mid_cube_pos, "ScoreMidCubePos"),
122 (score_high_cone_pos, "ScoreHighConePos"),
123 (score_high_cube_pos, "ScoreHighCubePos"), (cube_pos, "CubePos")]
Maxwell Henderson83cf6d62023-02-10 20:29:26 -0800124front_points = []
125back_points = []
126unnamed_segments = []
milind-u37385182023-02-20 15:07:28 -0800127named_segments = [
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -0800128 ThetaSplineSegment("NeutralToGroundPickupBackConeUp", neutral,
129 neutral_to_cone_up_1, neutral_to_cone_up_2,
130 ground_pickup_back_cone_up,
milind-u18a901d2023-02-17 21:51:55 -0800131 neutral_to_pickup_control_alpha_rolls),
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -0800132 ThetaSplineSegment("NeutralToGroundPickupBackConeDown", neutral,
133 neutral_to_ground_pickup_back_cone_down_1,
134 neutral_to_ground_pickup_back_cone_down_2,
135 ground_pickup_back_cone_down,
136 neutral_to_pickup_control_alpha_rolls),
milind-u68842e12023-02-26 12:45:40 -0800137 ThetaSplineSegment("NeutralToGroundPickupBackCube", neutral,
138 neutral_to_ground_pickup_back_cube_1,
139 neutral_to_ground_pickup_back_cube_2,
140 ground_pickup_back_cube,
141 neutral_to_hp_pickup_back_cube_alpha_rolls),
Maxwell Henderson1ac7aac2023-02-23 17:35:32 -0800142 ThetaSplineSegment("NeutralToHPPickupBackConeUp", neutral,
143 neutral_to_hp_pickup_back_cone_up_1,
144 neutral_to_hp_pickup_back_cone_up_2,
145 hp_pickup_back_cone_up,
146 neutral_to_hp_pickup_back_cone_up_alpha_rolls),
147 ThetaSplineSegment("NeutralToFrontHighConeUpScore", neutral,
148 neutral_to_score_front_high_cone_up_1,
149 neutral_to_score_front_high_cone_up_2,
150 score_front_high_cone_up_pos,
151 neutral_to_front_score_control_alpha_rolls),
152 ThetaSplineSegment("NeutralToFrontMidConeUpScore", neutral,
153 neutral_to_score_front_mid_cone_up_1,
154 neutral_to_score_front_mid_cone_up_2,
155 score_front_mid_cone_up_pos,
156 neutral_to_front_score_control_alpha_rolls),
157 ThetaSplineSegment("NeutralToConeDown", neutral, neutral_to_cone_down_1,
158 neutral_to_cone_down_2, cone_down_pos,
159 neutral_to_pickup_control_alpha_rolls),
160 ThetaSplineSegment("NeutralToCube", neutral, neutral_to_cube_1,
161 neutral_to_cube_2, cube_pos,
162 neutral_to_pickup_control_alpha_rolls),
163 ThetaSplineSegment("NeutralToLowScore", neutral, neutral_to_score_1,
164 neutral_to_score_low_2, score_low_pos,
165 neutral_to_back_score_control_alpha_rolls),
166 ThetaSplineSegment("NeutralToBackMidConeUpScore", neutral,
167 neutral_to_score_back_mid_cone_up_1,
168 neutral_to_score_back_mid_cone_up_2,
169 score_back_mid_cone_up_pos,
170 neutral_to_back_score_control_alpha_rolls),
171 ThetaSplineSegment("NeutralToMidConeDownScore", neutral,
172 neutral_to_score_mid_cone_down_1,
173 neutral_to_score_mid_cone_down_2,
174 score_mid_cone_down_pos,
175 neutral_to_back_score_control_alpha_rolls),
176 ThetaSplineSegment("NeutralToMidCubeScore", neutral, neutral_to_score_1,
177 neutral_to_score_2, score_mid_cube_pos,
178 neutral_to_back_score_control_alpha_rolls),
179 ThetaSplineSegment("NeutralToHighConeScore", neutral, neutral_to_score_1,
180 neutral_to_score_2, score_high_cone_pos,
181 neutral_to_back_score_control_alpha_rolls),
182 ThetaSplineSegment("NeutralToHighCubeScore", neutral, neutral_to_score_1,
183 neutral_to_score_2, score_high_cube_pos,
184 neutral_to_back_score_control_alpha_rolls),
Maxwell Hendersonf5123fe2023-02-04 13:44:41 -0800185]
milind-u37385182023-02-20 15:07:28 -0800186
milind-u18a901d2023-02-17 21:51:55 -0800187segments = named_segments + unnamed_segments