artificial neural network based object recognizing robot
TRANSCRIPT
ANN Based Object Recognizing Robot College of Engineering Chengannur
ANN BASED OBJECT RECOGNIZING ROBOT
Ann MathewBeena Sara SamuelJaison Abey Sabu
Ragesh A R
ANN Based Object Recognizing Robot College of Engineering Chengannur
ABSTRACT
The aim of our project is to create an Intelligent Robotic Control Software that observes a work area
and retrieves the object requested by the user.
ANN Based Object Recognizing Robot College of Engineering Chengannur
HARDWARE REQUIREMENTS
• Robotic Arm (SCORBOT-ER 4u)
• Controller for Robotic Arm
• Web Camera with mounting facility
• Voltage Mapping Circuit
• Computer
ANN Based Object Recognizing Robot College of Engineering Chengannur
SOFTWARE REQUIREMENTS
• MATLAB 7.0– Image Acquisition Toolbox– Data Acquisition Toolbox– Image Processing Toolbox– Neural Network Toolbox– GUIDE
• SCORBASE 4.9– Control software for SCORBOT-ER 4u
Robotic Arm
ANN Based Object Recognizing Robot College of Engineering Chengannur
OUTLINE
• Image Acquisition
• Image Processing
• ANN
• Parallel Port Programming
• Circuit to convert +ve voltage to –ve
• Location calculation Algorithm
• Interrupt control algorithm
• GUI
ANN Based Object Recognizing Robot College of Engineering Chengannur
OVERVIEW
• Web camera mounted on stand
• Top view
• MATLAB Image Acquisition Toolbox
• Image Acquired using getsnapshot command
• Saved in an array for processing
ANN Based Object Recognizing Robot College of Engineering Chengannur
PROCESSING STAGES
• Convert to gray scale• Crop the image • Adjust Contrast• Convert to binary image• Sobel Edge Detection Algorithm• Image Dilation• Fill closed spaces (create blobs)• Find bounding box of each object• Create inputs for ANN
ANN Based Object Recognizing Robot College of Engineering Chengannur
IMAGE PROCESSING
Acquired Image
ANN Based Object Recognizing Robot College of Engineering Chengannur
IMAGE PROCESSING
Convert to Gray Scale
ANN Based Object Recognizing Robot College of Engineering Chengannur
IMAGE PROCESSING
Contrast Adjust
ANN Based Object Recognizing Robot College of Engineering Chengannur
IMAGE PROCESSING
Convert to Binary Image
ANN Based Object Recognizing Robot College of Engineering Chengannur
IMAGE PROCESSING
Edge Detection
ANN Based Object Recognizing Robot College of Engineering Chengannur
IMAGE PROCESSING
Image Dilation
ANN Based Object Recognizing Robot College of Engineering Chengannur
IMAGE PROCESSING
Find Bounding Box of each Object
ANN Based Object Recognizing Robot College of Engineering Chengannur
SOBEL EDGE DETECTION
• Performs a 2-D spatial gradient measurement on an image.
• Uses a pair of 3x3 convolution masks, one estimating the gradient in the x-direction (columns) and the other estimating the gradient in the y-direction (rows).
• A convolution mask is usually much smaller than the actual image and is slid over the image, manipulating a square of pixels at a time.
ANN Based Object Recognizing Robot College of Engineering Chengannur
INTRODUCTION
• An information-processing system that has certain performance characteristics in common with biological neural networks.
• Information processing occurs at many simple elements called neurons.
• Each connection link has an associated weight, which, in an ANN multiplies the signal transmitted.
• Each neuron applies an activation function (usually nonlinear) to its net input (sum of weighted signals) to determine its output signal.
ANN Based Object Recognizing Robot College of Engineering Chengannur
NEURON MODEL
f
a y
x 1
x
x
2
N
w
w
w
1
2
N
a w xi ii
N
1
ANN Based Object Recognizing Robot College of Engineering Chengannur
BASIC OPERATION
• Region within bounding box of Binary Image is passed into the ANN
• All objects in view are passed as input to the ANN till a match to target object is found
• If none matches then ‘not found’ is displayed
• If a match is found location is calculated and passed to the arm
ANN Based Object Recognizing Robot College of Engineering Chengannur
STRUCTURE
• Three layer Network is used
• No. of pixels within the bounding box of largest object determines the no. of input neurons
• Current implementation has 1763 input neurons (43 x 41)
• Number of hidden layer neurons is 10
• Number of output layer neurons is 5
ANN Based Object Recognizing Robot College of Engineering Chengannur
STRUCTURE
• Initial implementation had 3 neurons
• Failure to train correctly due to similarity between pentagon and square in binary image
• Goal = .00005
• Learning Rate = .05
ANN Based Object Recognizing Robot College of Engineering Chengannur
TRAINING PATTERNS
• CIRCLE : 1 0 1 0 1
• SQUARE : 0 0 0 0 0
• PENTAGON : 1 1 1 1 1
ANN Based Object Recognizing Robot College of Engineering Chengannur
TRANSFER FUNCTIONS
Hidden Layer Output Layer
ANN Based Object Recognizing Robot College of Engineering Chengannur
TRAINING ALGORITHM
• The Back propagation Training Algorithm is used to train the Network
• ALGORITHM– Forward Pass
• For each neuron in the hidden layer– Output OutH = f ( ∑input x weighth)
• For each neuron in the output layer– Output Out = f ( ∑Outh x weighto)
ANN Based Object Recognizing Robot College of Engineering Chengannur
TRAINING ALGORITHM
– Reverse Pass (Weight Updation)
• For each neuron in the output layer– Error E = Out (1-Out) (Target – Out)
– New weighto = Old weighto + η x E x OutH
• For each neuron in the hidden layer– Error Err = OutH (1-OutH) (∑E x weighto)
– New weight h = Old weighth + η x Err x input
ANN Based Object Recognizing Robot College of Engineering Chengannur
TRAINING PROCEDURE
• 50 images with three objects in view are used to train the ANN
• They are processed and the region within the bounding box for each object is used to train the network
• Thus a total of 150 object images are used for training, using corresponding target outputs.
• A button for training the network is provided in the GUI
ANN Based Object Recognizing Robot College of Engineering Chengannur
INTRODUCTION
• If a match to the target object is found then the location of that object must be determined
• The work space is divided into a 6 x 6 matrix and an inner 5 x 5 matrix. Each of these form a 30 x 30 pixel matrix on screen.
• Each of them is assigned a number from 1 to 61
ANN Based Object Recognizing Robot College of Engineering Chengannur
PASSING THE GRID NUMBER TO THE ARM CONTROLLER
• The grid number is passed to the arm controller using the parallel port (8 data lines)
• The arm controller has 8 interrupt pins to implement external control
• Thus the grid number is converted to some suitable 8 bit code
ANN Based Object Recognizing Robot College of Engineering Chengannur
SCORBASE SOFTWARE
• The SCORBASE software can perform operations on receiving control interrupts
• But the software does not permit logical operators. It only provides operations of the form – If interrupt n is on jump to location
• Thus we developed the following code for the 61 positions
ANN Based Object Recognizing Robot College of Engineering Chengannur
8 BIT GRID CODE
GRID POSITION CODE
1 0 0 0 0 1 0 0 0
2 0 0 0 0 0 1 0 0
3 0 0 0 0 0 0 1 0
4 0 0 0 0 0 0 0 1
5 0 0 0 1 1 0 0 0
6 0 0 0 1 0 1 0 0
- --------------------
ANN Based Object Recognizing Robot College of Engineering Chengannur
8 BIT GRID CODE
GRID POSITION CODE
- -------------------- - --------------------
- --------------------
59 1 1 1 0 0 0 1 0
60 1 1 1 0 0 0 0 1
61 1 1 1 1 1 0 0 0
ANN Based Object Recognizing Robot College of Engineering Chengannur
PASSING THE LOCATION
• The 8 bit code is passed to the controller via the parallel port.
• SCORBASE program runs in an infinite loop waiting for an interrupt combination.
• IMPLEMENTATION ISSUE– Positive voltage from parallel port– Negative voltage required as interrupt
ANN Based Object Recognizing Robot College of Engineering Chengannur
MEASURED VALUES
• From Parallel Port– High : +3.3V– Low : +0.76 V
• Required by the controller– Interrupt enable : -3V to -12 V– Interrupt disable: -2V to 12 V
• Solution : Voltage mapping circuit
ANN Based Object Recognizing Robot College of Engineering Chengannur
CIRCUIT DESIGN
• The circuit to convert positive voltage to negative voltage was designed using the IC 741 Operational Amplifier (OpAmp)
• The OpAmp is made to work as a comparator to check if it is high or low
• 1.5 V reference voltage was used
ANN Based Object Recognizing Robot College of Engineering Chengannur
SPECIFICATION
• SCORBOT-ER 4u• 5 axes + gripper
Axis 1: Base rotation Axis 2: Shoulder rotation Axis 3: Elbow rotation Axis 4: Wrist pitch Axis 5: Wrist roll
• Max Payload : 1 kg• Servo motors• Feedback
ANN Based Object Recognizing Robot College of Engineering Chengannur
APPLICATION
• Waste Screening on Conveyor Belt
• Egg screening
• Basic Concept of
Observe – Identify – Locate – Operate
can be used for several Robotic Applications– Eg. Medical Application
ANN Based Object Recognizing Robot College of Engineering Chengannur
FUTURE SCOPE
• The ANN can be trained for complex color images
• Manual control over the axis can be obtained by using the appropriate DLL file.
• Other precision applications can be developed