Skip to content

Commit 0aa0f93

Browse files
Motion cycler and cleanup (HULKs#2211)
* hulk-booster: Remove unused dependencies * Remove `crates/vision` * Move motion into own crate and cycler * Remove unnecessary dependencies * Remove moved motion modules
1 parent 0cea0b7 commit 0aa0f93

38 files changed

Lines changed: 195 additions & 4530 deletions

Cargo.lock

Lines changed: 117 additions & 239 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ members = [
1313
"crates/code_generation",
1414
"crates/communication",
1515
"crates/context_attribute",
16-
"crates/control",
1716
"crates/coordinate_systems",
1817
"crates/egui_bevy",
1918
"crates/energy_optimization",
@@ -33,6 +32,7 @@ members = [
3332
"crates/hungarian_algorithm",
3433
"crates/kinematics",
3534
"crates/linear_algebra",
35+
"crates/motion",
3636
"crates/motionfile",
3737
"crates/object_detection",
3838
"crates/opn",
@@ -50,7 +50,6 @@ members = [
5050
"crates/step_planning",
5151
"crates/step_planning_solver",
5252
"crates/types",
53-
"crates/vision",
5453
"crates/walking_inference",
5554
"crates/world_state",
5655
"crates/zed",
@@ -117,7 +116,6 @@ color-eyre = "0.6.3"
117116
communication = { path = "crates/communication" }
118117
compiled-nn = "0.12.0"
119118
context_attribute = { path = "crates/context_attribute" }
120-
control = { path = "crates/control" }
121119
convert_case = "0.7.1"
122120
coordinate_systems = { path = "crates/coordinate_systems" }
123121
ctrlc = { version = "3.4.5", features = ["termination"] }
@@ -168,6 +166,7 @@ linear_algebra = { path = "crates/linear_algebra" }
168166
log = "0.4.25"
169167
mcap = "0.15.0"
170168
mlua = { version = "0.10.3", features = ["luajit", "serialize", "vendored"] }
169+
motion = { path = "crates/motion" }
171170
motionfile = { path = "crates/motionfile" }
172171
nalgebra = { version = "0.34.1", features = [
173172
"convert-glam030",
@@ -257,7 +256,6 @@ types = { path = "crates/types" }
257256
urdf-rs = "0.9.0"
258257
uuid = { version = "1.12.1", features = ["v4"] }
259258
v4l = { version = "0.12.1", git = "https://github.com/HULKs/libv4l-rs", rev = "be65819073514b193d082dd37dbcc2cfac3f6183" }
260-
vision = { path = "crates/vision" }
261259
walkdir = "2.5.0"
262260
walking_inference = { path = "crates/walking_inference" }
263261
watch = "0.2.3"

crates/bevyhavior_simulator/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ clap = { workspace = true }
1717
color-eyre = { workspace = true }
1818
communication = { workspace = true }
1919
context_attribute = { workspace = true }
20-
control = { workspace = true }
2120
coordinate_systems = { workspace = true }
2221
ctrlc = { workspace = true }
2322
fern = { workspace = true }
@@ -32,6 +31,7 @@ ittapi = { workspace = true }
3231
kinematics = { workspace = true }
3332
linear_algebra = { workspace = true }
3433
log = { workspace = true }
34+
motion = { workspace = true }
3535
nalgebra = { workspace = true }
3636
ndarray = { workspace = true }
3737
object_detection = { workspace = true }
@@ -48,7 +48,6 @@ step_planning = { workspace = true }
4848
tokio = { workspace = true }
4949
tokio-util = { workspace = true }
5050
types = { workspace = true }
51-
vision = { workspace = true }
5251

5352
[build-dependencies]
5453
code_generation = { workspace = true }

crates/control/src/lib.rs

Lines changed: 41 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,41 @@
1-
pub mod a_star;
2-
pub mod active_vision;
3-
pub mod ball_state_composer;
4-
pub mod behavior;
5-
pub mod button_filter;
6-
pub mod calibration_controller;
7-
pub mod center_of_mass_provider;
8-
pub mod dribble_path_planner;
9-
pub mod filtered_game_controller_state_timer;
10-
pub mod foot_bumper_filter;
11-
pub mod free_kick_signal_filter;
12-
pub mod game_controller_filter;
13-
pub mod game_controller_state_filter;
14-
pub mod ground_contact_detector;
15-
pub mod ground_provider;
16-
pub mod kick_selector;
17-
pub mod kinematics_provider;
18-
pub mod led_status;
19-
pub mod localization;
20-
pub mod motion;
21-
pub mod obstacle_filter;
22-
pub mod obstacle_receiver;
23-
pub mod odometry;
24-
pub mod orientation_filter;
25-
pub mod path_planner;
26-
pub mod penalty_shot_direction_estimation;
27-
pub mod primary_state_filter;
28-
pub mod ready_signal_detection_filter;
29-
pub mod referee_position_provider;
30-
pub mod role_assignment;
31-
pub mod rule_obstacle_composer;
32-
pub mod sacrificial_lamb;
33-
pub mod search_suggestor;
34-
pub mod sensor_data_receiver;
35-
pub mod sole_pressure_filter;
36-
pub mod sonar_filter;
37-
pub mod support_foot_estimation;
38-
pub mod team_ball_receiver;
39-
pub mod time_to_reach_kick_position;
40-
pub mod whistle_filter;
41-
pub mod world_state_composer;
42-
pub mod zero_moment_point_provider;
1+
// pub mod a_star;
2+
// pub mod active_vision;
3+
// pub mod ball_filter;
4+
// pub mod ball_state_composer;
5+
// pub mod behavior;
6+
// pub mod button_filter;
7+
// pub mod calibration_controller;
8+
// pub mod center_of_mass_provider;
9+
// pub mod dribble_path_planner;
10+
// pub mod filtered_game_controller_state_timer;
11+
// pub mod foot_bumper_filter;
12+
// pub mod free_kick_signal_filter;
13+
// pub mod game_controller_filter;
14+
// pub mod game_controller_state_filter;
15+
// pub mod ground_contact_detector;
16+
// pub mod ground_provider;
17+
// pub mod kick_selector;
18+
// pub mod kinematics_provider;
19+
// pub mod led_status;
20+
// pub mod localization;
21+
// pub mod obstacle_filter;
22+
// pub mod obstacle_receiver;
23+
// pub mod odometry;
24+
// pub mod orientation_filter;
25+
// pub mod path_planner;
26+
// pub mod penalty_shot_direction_estimation;
27+
// pub mod primary_state_filter;
28+
// pub mod ready_signal_detection_filter;
29+
// pub mod referee_position_provider;
30+
// pub mod role_assignment;
31+
// pub mod rule_obstacle_composer;
32+
// pub mod sacrificial_lamb;
33+
// pub mod search_suggestor;
34+
// pub mod sole_pressure_filter;
35+
// pub mod sonar_filter;
36+
// pub mod support_foot_estimation;
37+
// pub mod team_ball_receiver;
38+
// pub mod time_to_reach_kick_position;
39+
// pub mod whistle_filter;
40+
// pub mod world_state_composer;
41+
// pub mod zero_moment_point_provider;

crates/hulk_booster/Cargo.toml

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,43 +11,35 @@ cross-compile = true
1111
[dependencies]
1212

1313
approx = { workspace = true }
14-
audio = { workspace = true }
1514
ball_filter = { workspace = true }
1615
bincode = { workspace = true }
17-
blake3 = { workspace = true }
1816
booster = { workspace = true }
1917
buffered_watch = { workspace = true }
2018
byteorder = { workspace = true }
2119
bytes = { workspace = true }
22-
calibration = { workspace = true }
2320
cdr = { workspace = true }
2421
chrono = { workspace = true }
2522
clap = { workspace = true }
2623
color-eyre = { workspace = true }
2724
communication = { workspace = true }
28-
control = { workspace = true }
2925
coordinate_systems = { workspace = true }
3026
ctrlc = { workspace = true }
3127
derive_more = { workspace = true }
32-
eframe = { workspace = true }
33-
energy_optimization = { workspace = true }
3428
env_logger = { workspace = true }
3529
fern = { workspace = true }
3630
framework = { workspace = true }
37-
futures-util.workspace = true
31+
futures-util = { workspace = true }
3832
geometry = { workspace = true }
3933
hardware = { workspace = true }
4034
hsl_network = { workspace = true }
4135
hsl_network_messages = { workspace = true }
42-
hula_types.workspace = true
36+
hula_types = { workspace = true }
4337
hulk_widgets = { workspace = true }
4438
ittapi = { workspace = true }
4539
libc = { workspace = true, optional = true }
4640
linear_algebra = { workspace = true }
4741
log = { workspace = true }
48-
motionfile = { workspace = true }
49-
nalgebra = { workspace = true }
50-
ndarray = { workspace = true }
42+
motion = { workspace = true }
5143
object_detection = { workspace = true }
5244
parameters = { workspace = true }
5345
parking_lot = { workspace = true }
@@ -58,16 +50,13 @@ sensor_receiver = { workspace = true }
5850
serde = { workspace = true }
5951
serde_bytes = { workspace = true }
6052
serde_json = { workspace = true }
61-
simulation_message = { workspace = true }
6253
systemd = { workspace = true, optional = true }
6354
tokio = { workspace = true }
6455
tokio-tungstenite = { workspace = true }
6556
tokio-util = { workspace = true }
6657
types = { workspace = true }
67-
vision = { workspace = true }
6858
walking_inference = { workspace = true }
6959
world_state = { workspace = true }
70-
yuv = { workspace = true }
7160
zenoh = { workspace = true }
7261

7362
[build-dependencies]

crates/hulk_imagine/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ buffered_watch = { workspace = true }
1414
calibration = { workspace = true }
1515
clap = { workspace = true }
1616
color-eyre = { workspace = true }
17-
control = { workspace = true }
1817
coordinate_systems = { workspace = true }
1918
energy_optimization = { workspace = true }
2019
framework = { workspace = true }
@@ -27,6 +26,7 @@ indicatif = { workspace = true }
2726
ittapi = { workspace = true }
2827
linear_algebra = { workspace = true }
2928
mcap = { workspace = true }
29+
motion = { workspace = true }
3030
motionfile = { workspace = true }
3131
nalgebra = { workspace = true }
3232
ndarray = { workspace = true }

crates/hulk_imagine/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ fn main() -> Result<()> {
8484
.wrap_err("failed to create image extractor")?;
8585

8686
replayer
87-
.control_subscriptions_sender
87+
.motion_subscriptions_sender
8888
.borrow_mut()
8989
.insert("additional_outputs".to_string());
9090

@@ -124,7 +124,7 @@ fn main() -> Result<()> {
124124
};
125125
mcap_converter.attach(attachment)?;
126126

127-
let control_receiver = replayer.control_receiver();
127+
let control_receiver = replayer.motion_receiver();
128128

129129
write_to_mcap(
130130
&mut replayer,

crates/hulk_manifest/src/lib.rs

Lines changed: 7 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -23,73 +23,16 @@ pub fn collect_hulk_cyclers(root: impl AsRef<Path>) -> Result<Cyclers, Error> {
2323
execution_time_warning_threshold: Some(Duration::from_secs_f32(33.0)),
2424
},
2525
CyclerManifest {
26-
name: "Control",
26+
name: "Motion",
2727
kind: CyclerKind::Perception,
2828
instances: vec![""],
29-
setup_nodes: vec!["control::sensor_data_receiver"],
29+
setup_nodes: vec!["motion::sensor_data_receiver"],
3030
nodes: vec![
31-
// "control::active_vision",
32-
// "control::ball_filter",
33-
// "control::ball_state_composer",
34-
// "control::behavior::node",
35-
// "control::button_filter",
36-
// "control::calibration_controller",
37-
// "control::center_of_mass_provider",
38-
// "control::dribble_path_planner",
39-
// "control::fall_state_estimation",
40-
// "control::filtered_game_controller_state_timer",
41-
// "control::foot_bumper_filter",
42-
// "control::free_kick_signal_filter",
43-
// "control::ground_contact_detector",
44-
// "control::kick_selector",
45-
// "control::led_status",
46-
// "control::localization",
47-
// "control::motion::animation",
48-
// "control::motion::arms_up_squat",
49-
// "control::motion::arms_up_stand",
50-
// "control::motion::center_jump",
51-
"control::motion::command_sender",
52-
"control::motion::booster_walking",
53-
"control::motion::remote_control",
54-
// "control::motion::condition_input_provider",
55-
// "control::motion::dispatching_interpolator",
56-
// "control::motion::fall_protector",
57-
// "control::motion::head_motion",
58-
// "control::motion::jump_left",
59-
// "control::motion::jump_right",
60-
// "control::motion::keeper_jump_left",
61-
// "control::motion::keeper_jump_right",
62-
// "control::motion::look_around",
63-
"control::motion::look_at",
64-
"control::motion::motion_selector",
65-
// "control::motion::motor_commands_collector",
66-
// "control::motion::obstacle_avoiding_arms",
67-
// "control::motion::sit_down",
68-
// "control::motion::stand_up_back",
69-
// "control::motion::stand_up_front",
70-
// "control::motion::stand_up_sitting",
71-
// "control::motion::step_planner",
72-
// "control::motion::wide_stance",
73-
// "control::obstacle_filter",
74-
// "control::obstacle_receiver",
75-
// "control::odometry",
76-
// "control::orientation_filter",
77-
// "control::penalty_shot_direction_estimation",
78-
// "control::primary_state_filter",
79-
// "control::ready_signal_detection_filter",
80-
// "control::referee_position_provider",
81-
// "control::role_assignment",
82-
// "control::rule_obstacle_composer",
83-
// "control::sacrificial_lamb",
84-
// "control::search_suggestor",
85-
// "control::sole_pressure_filter",
86-
// "control::sonar_filter",
87-
// "control::support_foot_estimation",
88-
// "control::team_ball_receiver",
89-
// "control::time_to_reach_kick_position",
90-
// "control::whistle_filter",
91-
// "control::world_state_composer",
92-
// "control::zero_moment_point_provider",
31+
"motion::command_sender",
32+
"motion::booster_walking",
33+
"motion::remote_control",
34+
"motion::look_at",
35+
"motion::motion_selector",
9336
],
9437
execution_time_warning_threshold: Some(Duration::from_secs_f32(1.0 / 500.0)),
9538
},

crates/hulk_mujoco/Cargo.toml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,33 @@ license.workspace = true
66
homepage.workspace = true
77

88
[dependencies]
9-
approx.workspace = true
10-
audio = { workspace = true }
9+
approx = { workspace = true }
1110
ball_filter = { workspace = true }
1211
bincode = { workspace = true }
13-
blake3 = { workspace = true }
1412
booster = { workspace = true }
1513
buffered_watch = { workspace = true }
16-
calibration = { workspace = true }
1714
chrono = { workspace = true }
18-
color-eyre.workspace = true
15+
color-eyre = { workspace = true }
1916
communication = { workspace = true }
20-
control = { workspace = true }
2117
coordinate_systems = { workspace = true }
2218
ctrlc = { workspace = true }
2319
derive_more = { workspace = true }
2420
eframe = { workspace = true }
25-
energy_optimization = { workspace = true }
2621
env_logger = { workspace = true }
2722
fern = { workspace = true }
2823
framework = { workspace = true }
29-
futures-util.workspace = true
24+
futures-util = { workspace = true }
3025
geometry = { workspace = true }
3126
hardware = { workspace = true }
3227
hsl_network = { workspace = true }
3328
hsl_network_messages = { workspace = true }
34-
hula_types.workspace = true
29+
hula_types = { workspace = true }
3530
hulk_widgets = { workspace = true }
3631
ittapi = { workspace = true }
3732
libc = { workspace = true, optional = true }
3833
linear_algebra = { workspace = true }
3934
log = { workspace = true }
35+
motion = { workspace = true }
4036
motionfile = { workspace = true }
4137
nalgebra = { workspace = true }
4238
ndarray = { workspace = true }
@@ -57,7 +53,6 @@ tokio-util = { workspace = true }
5753
types = { workspace = true }
5854
walking_inference = { workspace = true }
5955
world_state = { workspace = true }
60-
zed = { workspace = true }
6156

6257

6358
[build-dependencies]

0 commit comments

Comments
 (0)