| 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)) | |