Skip to content

Commit a1d8e21

Browse files
committed
refactor(identification): patch filter configuration management in base identification
1 parent 58d52ba commit a1d8e21

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

src/figaroh/identification/base_identification.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def __init__(self, robot, config_file="config/robot_config.yaml"):
7070
self.model = self.robot.model
7171
self.data = self.robot.data
7272

73-
# Load configuration using the TIAGo-style approach
73+
# Load configuration initiating self.identif_config
7474
self.load_param(config_file)
7575

7676
# Initialize attributes for identification results
@@ -89,10 +89,17 @@ def __init__(self, robot, config_file="config/robot_config.yaml"):
8989
self.tau_ref = None
9090
self.tau_identif = None
9191
self.tau_noised = None
92-
self.filter_config = {
93-
'differentiation_method': 'gradient',
94-
'filter_params': {}
95-
}
92+
93+
# Set default filter configuration, can be overridden in subclasses
94+
self.filter_config = self.identif_config.get("filter_config", {
95+
"differentiation_method": "gradient",
96+
"filter_params": {
97+
"nbutter": 4,
98+
"f_butter": 2,
99+
"med_fil": 5,
100+
"f_sample": 100
101+
}
102+
})
96103
logger.info(f"{self.__class__.__name__} initialized")
97104

98105
def initialize(self, truncate=None):

src/figaroh/identification/config.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,19 @@ def _extract_signal_processing_params(identif_config, signal_processing):
165165
identif_config["ts"] = ts
166166
identif_config["cut_off_frequency_butterworth"] = cutoff_freq
167167

168+
# Build filter configuration dictionary
169+
filter_config_ = {}
170+
filter_config_["cutoff_frequency"] = cutoff_freq
171+
filter_config_["sampling_frequency"] = sampling_freq
172+
filter_config_["filter_type"] = signal_processing.get(
173+
"filter_type", "butterworth"
174+
)
175+
filter_config_["differentiation_method"] = signal_processing.get(
176+
"differentiation_method", "gradient"
177+
)
178+
filter_config_["filter_params"] = signal_processing.get("filter_params", {})
179+
180+
identif_config["filter_config"] = filter_config_
168181

169182
def _extract_joint_limits(identif_config, joints):
170183
"""Extract joint limit parameters.

0 commit comments

Comments
 (0)