1) The document discusses using machine learning classifiers to predict whether a robotic grasp of an object will be robust based on joint state data from simulations. 2) Several classifiers were tested on a dataset from 992,641 grasps, with Random Forest and J48 achieving the best accuracy of around 80-83%. 3) Features related to joint velocities and efforts were most important for prediction. Further validation on physical robots is needed to test the models.
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
Grasping dataset
1. Grasping Dataset
Robotic grasping robustness prediction using classifiers
Professors
Marcelloni Francesco
Ducange Pietro
Student
Gabriele Sisinna
516706
MSc Bionics Engineering
2. Introduction
(I)
In the industrial field, interest in robotic manipulation and the
various grasping technologies has increased
Knowing in advance whether a grasp is robust or not would
save time and optimize assembly lines in complex processes
The following dataset was provided by the Shadow Robot
Company (Kaggle) through simulation in a dedicated sandbox
3. Introduction
(II)
Based on the current joint state we want to predict the stability of
the grasping pose
In simulation, there’s an easy way to check whether a grasp is
stable or not. Once the object is grasped, if the grasp is stable,
then the object shouldn’t move in the hand.
This means that the distance between the object and the palm
shouldn’t change when shaking the object.This measure is very
easy to get in simulation!
4. Dataset
The data obtained by simulation refer to the position, speed and effort
of the joints of the mechanical manipulator
Opening the dataset (.csv) withWeka → conversion to .arff format
All the attributes are Numeric except for experiment_number which
contain a string label for simulation purpose
The whole analysis presented has been developed withWeka +
MATLAB
Attributes Instances
30 992,641
(Lots of data…)
5. Preprocessing
experiment_number, measurement_number and all the xx_xx_pos attributes
were deleted for two reasons:
1. Velocity and position are linked by means of the first derivative
(redundancy)
2. The aim is to find a classifier for robustness that is independent of the
object (no position attributes): contain no information that is useful for
the data mining task at hand
After eliminating the “pos” attributes, we arrive at a total of 19 attributes for
speed, torque and robustness
Attribute Type
H1_F1_J1_VEL
H1_F1_J1_EFF
NUMERIC
NUMERIC
H1_F1_J2_VEL
H1_F1_J2_EFF
NUMERIC
NUMERIC
.
. .
. .
H1_F3_J3_VEL
H1_F3_J3_EFF
.
.
ROBUSTNESS NUMERIC
6. Outlier
To find outlier and extreme values the unsupervised filter
interquartile range can be used
Outlier and extreme_values attributes were created
Unsupervised Instance Filter → RemoveWithValues:This filter
removes instances according to the values of an attribute.
RemoveWithValues
InterquartileRange
7. Robustness
distribution
Due to the simulation process, many physically unfeasible values
were created
All this values were deleted keeping only the plausible range of
robustness attribute value spanning from 0 to 220
Playing with InterquartileRange filter and outlier factor we can
obtain the following histogram for the robustness attribute
8. Thresholding
of robustness
class
A threshold of 100 for the robustness was found accetable to
discriminate between good and bad grasp.
I’ll set the same threshold to divide the robustness values in two
distinct classes (1: good grasp, 0: bad grasp)
Class “robustness” is balanced, then accuracy can be used as
performance index
9. Data reduction
Resample
(10%)
It would be useful to do the analysis on the entire dataset with
900.000 instances, but this was not possible from a computational
point of view with my laptop
It’s possible to extract a random meaningful subsample thanks to
the Resample weka filter
I can do this because during the simulation the values related to
grasping are generated randomly, and I am extracting a random
quantity (10%) with replacement from the same distribution
10. CrossValidation
(10-fold)
A step that creates stratified cross-validation folds from incoming
data
Divide a dataset into 10 pieces (“folds”), then hold out each piece
in turn for testing and train on the remaining 9 together.This gives
10 evaluation results, which are averaged.
In “stratified” cross-validation, when doing the initial division we
ensure that each fold contains approximately the correct
proportion of the class values.
Despite the resample, the extrapolated instances are about
83.000.The number of folds used is 10 accordingly
11. FeatureSubset
Selection
The feature selection step is implemented embedded in the training
phase of the classifier, thanks to the "AttributeSelectedClassifier"
block.
for example CfsSubsetEval was used as evaluator with J48 classifier
15. J48 Naive Bayes Logistic
80.08 % 76.61 % 76.18 %
0.3705 0.430 0.390
0.801 0.766 0.762
0.165 0.214 0.227
0.841 0.785 0.772
0.801 0.766 0.762
0.800 0.767 0.763
Accuracy
RMS
TP rate
FP rate
Precision
Recall
F-Measure
Classifiers Performances
From the data shown in the table, the J48 classifier is the most performing for this task.
16. RandomForest
Ensemble
methods
The creation of the model for the classifier takes a time in the
order of minutes
RandomForest (10-fold)
Accuracy 83.55 %
RMS 0.336
TP rate 0.836
FP rate 0.143
Precision 0.855
Recall 0.836
F-Measure 0.836
J48
80.08 %
0.3705
0.801
0.165
0.841
0.801
0.800
17. Conclusion
Random forest classifier creates a set of decision trees from randomly
selected subset of training set. It then aggregates the votes from different
decision trees to decide the final class of the test object.
J48 and Random Forest showed the highest performances
The instances correctly classified in the cases mentioned are approximately
80% and 83%
New simulation settings for the generation of grasping should be verified,
including a different physical engine
The data obtained should be validated on the physical system to ensure the
kinematic compatibility of the data produced in simulation and by the
classification algorithms
18. References
Grasping Dataset
https://www.kaggle.com/ugocupcic/grasping-dataset
Data Mining: Concepts andTechniques, 3rd ed. (Jiawei Han, Micheline
Kamber and Jian Pei)
https://www.cs.waikato.ac.nz/ml/weka/
https://www.shadowrobot.com/
Smart Grasping Sandbox
https://github.com/shadow-robot/smart_grasping_sandbox
Slides aboutWeka made by prof. Ducange