import numpy as np from preprocessor.feature_extractor import MotokoFeatureExtractor def predict_grasp_stability(signal: dict[str, np.ndarray]) -> str: extractor = MotokoFeatureExtractor.from_config("preprocessor/preprocessor_config.json") features = extractor(signal) stability_score = float(np.clip(features["input_values"].mean() + 0.5, 0.0, 1.0)) return "stable" if stability_score >= 0.5 else "unstable" 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("grasp:", predict_grasp_stability(signal))