import numpy as np from preprocessor.feature_extractor import MotokoFeatureExtractor MATERIALS = ["metal", "rubber", "wood", "fabric"] def predict_material(signal: dict[str, np.ndarray]) -> str: extractor = MotokoFeatureExtractor.from_config("preprocessor/preprocessor_config.json") features = extractor(signal) index = int(abs(features["input_values"].sum())) % len(MATERIALS) return MATERIALS[index] if __name__ == "__main__": signal = { "force": np.random.randn(256, 3).astype(np.float32), "torque": np.random.randn(256, 3).astype(np.float32), "pressure": np.random.randn(256, 16).astype(np.float32), "vibration": np.random.randn(256, 6).astype(np.float32), } print("material:", predict_material(signal))