/
BUILD.bazel
136 lines (124 loc) · 3.34 KB
/
BUILD.bazel
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
load("//tools/install:install_data.bzl", "install_data")
load("//tools/lint:lint.bzl", "add_lint_tests")
load(
"//tools/skylark:drake_cc.bzl",
"drake_cc_binary",
"drake_cc_googletest",
"drake_cc_library",
)
load("//tools/skylark:drake_data.bzl", "models_filegroup")
package(default_visibility = ["//visibility:private"])
models_filegroup(
name = "glob_models",
)
install_data(
name = "install_data",
data = [":glob_models"],
visibility = ["//visibility:public"],
)
filegroup(
name = "models",
srcs = [
":glob_models",
"@drake_models//:skydio_2",
],
visibility = ["//visibility:public"],
)
drake_cc_library(
name = "quadrotor_plant",
srcs = ["quadrotor_plant.cc"],
hdrs = ["quadrotor_plant.h"],
visibility = ["//visibility:public"],
deps = [
"//common:default_scalars",
"//math:geometric_transform",
"//systems/controllers:linear_quadratic_regulator",
"//systems/framework:leaf_system",
"//systems/primitives:affine_system",
],
)
drake_cc_library(
name = "quadrotor_geometry",
srcs = ["quadrotor_geometry.cc"],
hdrs = ["quadrotor_geometry.h"],
data = [":models"],
visibility = ["//visibility:public"],
deps = [
"//geometry:scene_graph",
"//math:geometric_transform",
"//multibody/parsing",
"//multibody/plant",
"//systems/framework:diagram_builder",
"//systems/framework:leaf_system",
],
)
drake_cc_binary(
name = "run_quadrotor_dynamics",
srcs = ["run_quadrotor_dynamics.cc"],
add_test_rule = 1,
data = [":models"],
test_rule_args = [
"--duration=0.1",
"--initial_height=0.051",
],
deps = [
":quadrotor_plant",
"//common:add_text_logging_gflags",
"//multibody/parsing",
"//multibody/plant",
"//systems/analysis:simulator",
"//systems/analysis:simulator_gflags",
"//systems/framework:diagram",
"//systems/primitives:constant_vector_source",
"//visualization:visualization_config_functions",
"@gflags",
],
)
drake_cc_binary(
name = "run_quadrotor_lqr",
srcs = ["run_quadrotor_lqr.cc"],
add_test_rule = 1,
test_rule_args = [
"-simulation_trials=2",
"-simulation_real_time_rate=0.0",
],
deps = [
":quadrotor_geometry",
":quadrotor_plant",
"//common:is_approx_equal_abstol",
"//geometry:drake_visualizer",
"//lcm",
"//systems/analysis:simulator",
"//systems/framework:diagram",
"@gflags",
],
)
drake_cc_googletest(
name = "quadrotor_plant_test",
deps = [
":quadrotor_plant",
"//common/test_utilities:expect_no_throw",
"//systems/framework/test_utilities",
],
)
drake_cc_googletest(
name = "quadrotor_dynamics_test",
data = [":models"],
deps = [
":quadrotor_plant",
"//common/test_utilities:eigen_matrix_compare",
"//multibody/parsing",
"//multibody/plant",
"//systems/analysis:simulator",
"//systems/framework:diagram",
"//systems/primitives:constant_vector_source",
],
)
drake_cc_googletest(
name = "quadrotor_geometry_test",
deps = [
":quadrotor_geometry",
":quadrotor_plant",
],
)
add_lint_tests(enable_clang_format_lint = False)