Robotic Grasping.....Intelligence

of 24 /24
ROBOTIC GRASPING OF OBJECTS USING ARTIFICIAL INTELLIGENCE

Embed Size (px)

description

Explores Robotic Grasping of objects using AI

Transcript of Robotic Grasping.....Intelligence

ROBOTICGRASPINGOFOBJECTSUSINGARTIFICIALINTELLIGENCESindhu S BabuUSN No: 1MS11TE053

Deepika Udupa KUSN No: 1MS11TE015

B.E- Telecommunication EnggGuide :Dr. K. R. Shobha Associate Professor MSRIT, Bangalore M. S. Ramaiah Institute of Technology,BLOCK DIAGRAM

VisionMinoru 3D webcamStereo visionTwo images captured from two camerasStandard 640x480 image20 frames/sec

Camera calibrationCheckerboard method is used for calibration

M. S. Ramaiah Institute of Technology,TriangulationDepth is calculated by triangulation, now we have the 3D point of the grasp point in camera frame

Predicting grasp point on the image

Dataset of synthetically generated objects and its corresponding grasp points.Different classes of image: mugs, cereal bowls, erasers, books, staplers, martini glass, thick pencilFeature extractionFeature detection- Harris corner detector and GFTT(Good features to track)Feature discription- SIFT128 - mx128 matrix where each row represents the feature description of that corner Each row is given a label ysix object classes

Machine learning

Logistic regression:Probability that a particular sample belongs to a positive class lies on the sigmoid curve. Threshold is chosen above which the positive class is defined.Confidence of predicting the grasp point was low. threshold had to be 0.4.

SVM with RBF Kernel:Tries to find a boundary that separates the classes.Linear kernel gave an accuracy of 4%, hence not suitableRadial Basis Functiob(RBF) maps features into higher dimensional spaces

Since the training set was much skewed with only % positive class, it did not perfrom well on this

J48 Decision treesQuinlans algorithm for generating a pruned or unpruned C4.5 decision tree.Splits the data into smaller subsetsoffers better classificationPerformed well, gave stunning results.

Mechanical design of the Arm

Katana Architecture5 DoF : base roll,shoulder, elbow, wrist pitch, wrist roll. Parallel plates as gripperAluminium flats, 3mm thick, 25mm wide, for links. Steel spacersBall bearing 6006-ZZ used at the base roll and 6003-ZZ at wrist roll.Servo torque Calulations

W1=20gml1= 3cmW2=100gml2=17cmW3=200gml3=10cmW4=100gml4=6.5cmW5= 140gm l5=16.5cmW6=56gmW7=172gmW8=80gmW9=160gmW10=200gm

Gripper servo = l5*W10= 200*16.5= 3.3Kg/cm

Wrist roll= (l5/2)* W9= (16.5/2)* 160=1.32Kg/cm Wrist pitch= (l4+l5/2)*W9+ l4*W8+(l4/2)*W7 =(6.5+16.5/2)*160+ 6.5*80+ (6.5/2)*172 =3.439Kg/cmElbow=(l3+l4+l5/2)*W9+ (l3+l4)*W8+(l3+l4/2)*W7+l3*W6+(l3/2)*W5 = 10.139Kg/cm

Shoulder=(l2+l3+l4+l5/2)*W9 + (l2+l3+l4)*W8 + (l2+l3+l4/2)*W7 + (l2+l3)*W6 + (l2+l3/2)*W5 + l2*W4 + (l2/2)*W3 =20.175Kg/cm

Bearing at the load takes all the load. Hence, servo with lesser torque ratings can be used.

Base6 Kg-cmShoulder19 Kg-cmElbow16 Kg-cmWrist Pitch12 Kg-cmWrist Roll6 Kg-cmParallel Plate Gripper6 Kg-cm (2 No.s)Electronic Design

Servos draw a lot of current i.e, up to 2A, Hence we used SPMS(switched mode power supply)All the servos operate at 5VServos are controlled through PWM waves supplied through arduino Mega PWM pins.Servos are moved in steps of 2 degreesForce sensing resistors are used at the tips of the gripper to classify the kind of grasp required.Medium grasp of objects is achieved with a threshold of 500.Kinematic solution for the joint anglesForward kinematics to calculate the initial positionCalculated using DH parameters

The transformation from base frame to the end effector frame T0-4= T0-1*T1-2*T2-3*T3-4

Transformation from camera frame to end effector frame. Pure Translation

Tcan-4= Tcan-base*T0-1*T1-2*T2-3*T3-4

Frame diagram of the arm is shown below DH Parameter table iaii-1dii109031217002310003400104500165Inverse Kinematics

1: base roll2 : shoulder3 : elbow4: wrist pitch5 : wrist roll

1 = atan2(y, x)2 = atan2(y, x) atan2(k2 , k1 )where,k1= l1+ l2 cos 3 and k2= l2 sin 3

3 = atan2(sin3 , cos3 )where,

4 = - 2 - 3

The calculated theta values are passed to the arduino through serial port.