blob: 0ef2cf9bd02265183b5a237d57af996bd54a34f5 [file] [log] [blame]
milind-u37385182023-02-20 15:07:28 -08001cc_library(
2 name = "arm",
3 srcs = [
4 "arm.cc",
5 ],
6 hdrs = [
7 "arm.h",
8 ],
9 target_compatible_with = ["@platforms//os:linux"],
10 visibility = ["//visibility:public"],
11 deps = [
12 ":generated_graph",
13 "//frc971/control_loops/double_jointed_arm:demo_path",
14 "//frc971/control_loops/double_jointed_arm:ekf",
15 "//frc971/control_loops/double_jointed_arm:graph",
16 "//frc971/control_loops/double_jointed_arm:trajectory",
17 "//frc971/zeroing",
18 "//y2023:constants",
19 "//y2023/control_loops/superstructure:superstructure_position_fbs",
20 "//y2023/control_loops/superstructure:superstructure_status_fbs",
21 "//y2023/control_loops/superstructure/arm:arm_constants",
22 ],
23)
24
25genrule(
26 name = "generated_graph_genrule",
27 outs = [
28 "generated_graph.h",
29 "generated_graph.cc",
30 ],
31 cmd = "$(location //y2023/control_loops/python:graph_codegen) $(OUTS)",
32 target_compatible_with = ["@platforms//os:linux"],
33 tools = [
34 "//y2023/control_loops/python:graph_codegen",
35 ],
36)
37
38cc_library(
39 name = "generated_graph",
40 srcs = [
41 "generated_graph.cc",
42 ],
43 hdrs = ["generated_graph.h"],
44 copts = [
45 "-O1",
46 ],
47 target_compatible_with = ["@platforms//os:linux"],
48 visibility = ["//visibility:public"],
49 deps = [
50 ":arm_constants",
51 "//frc971/control_loops/double_jointed_arm:graph",
52 "//frc971/control_loops/double_jointed_arm:trajectory",
53 ],
54)
55
56cc_library(
57 name = "arm_constants",
58 hdrs = ["arm_constants.h"],
59 target_compatible_with = ["@platforms//os:linux"],
60 visibility = ["//visibility:public"],
61 deps = [
62 "//frc971/control_loops/double_jointed_arm:dynamics",
63 ],
64)
milind-u0a7d28d2023-02-20 17:44:37 -080065
66cc_binary(
67 name = "arm_design",
68 srcs = [
69 "arm_design.cc",
70 ],
71 target_compatible_with = ["@platforms//os:linux"],
72 deps = [
73 ":arm_constants",
74 "//aos:init",
75 "//frc971/analysis:in_process_plotter",
76 "//frc971/control_loops:dlqr",
77 "//frc971/control_loops:jacobian",
78 "//frc971/control_loops/double_jointed_arm:dynamics",
79 ],
80)
Austin Schuhb83e1c72023-02-20 21:41:51 -080081
82cc_library(
83 name = "trajectory",
84 srcs = ["trajectory.cc"],
85 hdrs = ["trajectory.h"],
86 target_compatible_with = ["@platforms//os:linux"],
87 deps = [
88 "//frc971/control_loops:binomial",
89 "//frc971/control_loops:dlqr",
90 "//frc971/control_loops:fixed_quadrature",
91 "//frc971/control_loops:hybrid_state_feedback_loop",
92 "//frc971/control_loops/double_jointed_arm:dynamics",
93 "//frc971/control_loops/double_jointed_arm:ekf",
94 "@org_tuxfamily_eigen//:eigen",
95 ],
96)
97
98cc_test(
99 name = "trajectory_test",
100 srcs = ["trajectory_test.cc"],
101 target_compatible_with = ["@platforms//os:linux"],
102 deps = [
103 ":arm_constants",
104 ":trajectory",
105 "//aos/testing:googletest",
106 "//y2023/control_loops/superstructure/roll:roll_plants",
107 ],
108)
109
110cc_binary(
111 name = "trajectory_plot",
112 srcs = [
113 "trajectory_plot.cc",
114 ],
115 target_compatible_with = ["@platforms//cpu:x86_64"],
116 deps = [
117 ":arm_constants",
118 ":trajectory",
119 "//frc971/analysis:in_process_plotter",
120 "//frc971/control_loops:binomial",
121 "//frc971/control_loops:fixed_quadrature",
122 "//frc971/control_loops/double_jointed_arm:ekf",
123 "//y2023/control_loops/superstructure/roll:roll_plants",
124 "@com_github_gflags_gflags//:gflags",
125 "@org_tuxfamily_eigen//:eigen",
126 ],
127)