Final Project: Robotic Grasp Stability Classification
Total Points :20
Project Overview
In this project, you will design and implement a machine learning pipeline to predict the stability of robotic grasps using sensor data from the Mia robotic hand. For an understanding of the typical structure of an ML pipeline, refer to the chapter Introduction: Course Overview and Machine Learning. The project involves working with real-world robotics data, which includes time-series measurements from force sensors and finger positions, as well as geometric properties of objects.
Core Objectives
- Design and implement a complete ML pipeline.
- Handle complex, multi-modal data (time series + geometric features).
- Make and justify methodological decisions based on acquired knowledge.
- Evaluate model performance using suitable metrics.
- Report and summarize findings effectively.
Dataset Overview
You will use the RIC’s Grasp Stability Estimation Dataset, which includes:
- Metadata (.json) Files: Containing descriptions of each grasp attempt, such as object details, grasp type, outcome labels, and paths to sensor data.
- Sensor Data (.csv) Files: Time-series data captured during each grasp, including finger forces, angles, and wrist torques.
- Geometric Features File: Static object features such as softness and width at grasp points.
Note: Revisit provided preprocessing tutorial notebook for dataset details.
Tasks and Deliverables
1. Data Analysis and Preprocessing (6 points)
Subtasks (if applicable):
- Analyze and visualize dataset characteristics.
- Handle variable-length time-series data.
- Process categorical and numerical features appropriately.
- Identify and handle potential outliers and noise.
Deliverable:
- A documented description of preprocessing steps with clear justifications for each decision.
2. Feature Engineering (4 points)
Subtasks (if applicable):
- Derive meaningful features from time-series data.
- Combine sensor data with geometric features.
- Select or extract relevant features for modeling.
Deliverable:
- A detailed explanation of feature engineering approaches and the rationale behind them.
3. Model Development (5 points)
Subtasks (if applicable):
- Choose and implement suitable ML algorithms.
- Establish a baseline model for comparison.
- Address class imbalance issues.
- Implement Leave-One-Out Cross-Validation (LOOCV).
- Perform hyperparameter tuning to optimize model performance.
Deliverable:
- Well-structured code demonstrating model training, hyperparameter tuning, and a clear justification for chosen algorithms.
4. Evaluation and Analysis (5 points)
Subtasks (if applicable):
- Select and apply appropriate evaluation metrics.
- Analyze and interpret model performance.
- Discuss limitations and propose potential improvements.
- Visualize results effectively.
Deliverable:
- A comprehensive well documented jupyter notebook, demonstarting a complete implementation of a typical ML pipeline.
Submission Requirements
-
Code Implementation
- Python code that is well-documented and clearly structured.
- A step-by-step implementation of the ML pipeline, including LOOCV.
-
Technical Summary and Interpretations
Wherever applicable:
- Brief methodology descriptions and justifications.
- Results analysis, visualizations, and discussions of challenges and solutions.
Hints
- Address temporal aspects of sensor data effectively.
- Evaluate trade-offs between false positives and false negatives in predictions.
- Explore the relationship between object properties and grasp success.