forked from HULKs/hulk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlib.rs
More file actions
138 lines (135 loc) · 6.51 KB
/
Copy pathlib.rs
File metadata and controls
138 lines (135 loc) · 6.51 KB
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
use std::{path::Path, time::Duration};
use source_analyzer::{
cyclers::{CyclerKind, Cyclers},
error::Error,
manifest::{CyclerManifest, FrameworkManifest},
};
pub fn collect_hulk_cyclers(root: impl AsRef<Path>) -> Result<Cyclers, Error> {
let manifest = FrameworkManifest {
cyclers: vec![
CyclerManifest {
name: "Vision",
kind: CyclerKind::Perception,
instances: vec![""],
setup_nodes: vec!["vision::image_receiver"],
nodes: vec![
// "vision::ball_detection",
// "vision::calibration_measurement_provider",
// "vision::feet_detection",
// "vision::field_border_detection",
// "vision::image_segmenter",
// "vision::limb_projector",
// "vision::line_detection",
// "vision::perspective_grid_candidates_provider",
// "vision::segment_filter",
],
execution_time_warning_threshold: Some(Duration::from_secs_f32(1.0 / 30.0)),
},
// CyclerManifest {
// name: "ObjectDetection",
// kind: CyclerKind::Perception,
// instances: vec![""],
// setup_nodes: vec!["vision::image_receiver"],
// nodes: vec![
// "object_detection::pose_detection",
// "object_detection::pose_filter",
// "object_detection::pose_interpretation",
// ],
// execution_time_warning_threshold: Some(Duration::from_secs_f32(1.0)),
// },
CyclerManifest {
name: "Control",
kind: CyclerKind::RealTime,
instances: vec![""],
setup_nodes: vec!["control::sensor_data_receiver"],
nodes: vec![
// "control::active_vision",
// "control::ball_filter",
// "control::ball_state_composer",
// "control::behavior::node",
// "control::button_filter",
// "control::calibration_controller",
// "control::camera_matrix_calculator",
// "control::center_of_mass_provider",
// "control::dribble_path_planner",
// "control::fall_state_estimation",
// "control::filtered_game_controller_state_timer",
// "control::foot_bumper_filter",
// "control::free_kick_signal_filter",
// "control::game_controller_filter",
// "control::game_controller_state_filter",
// "control::ground_contact_detector",
// "control::ground_provider",
// "control::kick_selector",
"control::kinematics_provider",
// "control::led_status",
// "control::localization",
// "control::motion::animation",
// "control::motion::arms_up_squat",
// "control::motion::arms_up_stand",
// "control::motion::center_jump",
"control::motion::command_sender",
"control::motion::booster_walking",
"control::motion::remote_control",
// "control::motion::condition_input_provider",
// "control::motion::dispatching_interpolator",
// "control::motion::fall_protector",
// "control::motion::head_motion",
// "control::motion::jump_left",
// "control::motion::jump_right",
// "control::motion::keeper_jump_left",
// "control::motion::keeper_jump_right",
// "control::motion::look_around",
// "control::motion::look_at",
// "control::motion::motion_selector",
// "control::motion::motor_commands_collector",
// "control::motion::obstacle_avoiding_arms",
// "control::motion::sit_down",
// "control::motion::stand_up_back",
// "control::motion::stand_up_front",
// "control::motion::stand_up_sitting",
// "control::motion::step_planner",
// "control::motion::wide_stance",
// "control::obstacle_filter",
// "control::obstacle_receiver",
// "control::odometry",
// "control::orientation_filter",
// "control::penalty_shot_direction_estimation",
// "control::primary_state_filter",
// "control::ready_signal_detection_filter",
// "control::referee_position_provider",
// "control::role_assignment",
// "control::rule_obstacle_composer",
// "control::sacrificial_lamb",
// "control::search_suggestor",
// "control::sole_pressure_filter",
// "control::sonar_filter",
// "control::support_foot_estimation",
// "control::team_ball_receiver",
// "control::time_to_reach_kick_position",
// "control::whistle_filter",
// "control::world_state_composer",
// "control::zero_moment_point_provider",
],
execution_time_warning_threshold: Some(Duration::from_secs_f32(1.0 / 83.0)),
},
// CyclerManifest {
// name: "SplNetwork",
// kind: CyclerKind::Perception,
// instances: vec![""],
// setup_nodes: vec!["spl_network::message_receiver"],
// nodes: vec!["spl_network::message_filter"],
// execution_time_warning_threshold: None,
// },
// CyclerManifest {
// name: "Audio",
// kind: CyclerKind::Perception,
// instances: vec![""],
// setup_nodes: vec!["audio::microphone_recorder"],
// nodes: vec!["audio::whistle_detection"],
// execution_time_warning_threshold: None,
// },
],
};
Cyclers::try_from_manifest(manifest, root)
}