2. • Problem Definition
• Project Overview
• Introduction to Java Application
• Introduction to Robot System
• Introduction to Image Processing
• Stepwise Procedure Of Entire Project Run.
• Java Application Details
• Robot System Details
• Image Processing Details
• Experimental Run
• Conclusion
3.
4. Mine Detection
System
Robot System Java Application
Image
Processing
• Project divided into 3 different parts based on work background required.
• It includes :
• Robot System with Atmega Microcontroller System
• Java Application providing User Interface
• Image Processing used for Self Alignment And Obstacle Avoidance Of Robot.
5. Robot SystemServer Computer
Net Beans
Application
Image
Processing Open
CV
Motor Driving Circuitry
Server Side XBEE Pro Module On Board XBEE Pro Module
Microcontroller Circuit
On Board Camera
User
Serial Transmission
UART Channel
6. • Proves to be User Interface for entire System.
• Provides Real Time mapping of robot system (communication through
RS232 – Serial transmission ).
• Provides operational functionality such as
1. Start Of Mining Sweeping Robot System
2. Start Of On Board Camera Input for Image Processing.
3. Abort Of Mission
4. Pause Of Mission.
• Provides Database storage facility.
• Java Net Beans IDE 7.0
• MySql
• XBEE CTU application.
7. • Autonomous Inbuilt Code
• Features on board processing with Atmega microcontroller for
execution of process and development of Virtual Grid for traversal.
• Motor Driving Circuitry ( L298 )
• Wireless Communication to / from Server Computer (Java App. And
Image Processing ) through XBEE Pro module Serial UART transmission.
• Wireless On Board Camera
• BASCOM AVR 1.11.0 IDE
• AVRDude / SinaProg Hex Downloader
• XBEE CTU application.
• Robot Base (30 *25)
• Motors ,Batteries
• M/c Circuit , Motor Circuitry, XBEE
module
8. • Contouring Image Frame.
• Object Segmentation of Surrounding.
• Optical Flow
• Focus Of Expansion Of Flow Vectors.
• Time To Contact Calculation for Obstacle Avoidance.
• Suitable Object Capture for Self Alignment Code ( Object Tracking ).
• Visual Studio 2010 Visual C++
• OpenCV 2.1.0 Library
• XBEE CTU application.
10. Robot SystemServer Computer
Net Beans
Application
Image
Processing Open
CV
Motor Driving Circuitry
Server Side XBEE Pro Module On Board XBEE Pro Module
Microcontroller
On Board Camera
User
Serial Transmission
UART Channel
STEP 1 COMMUNICATION WITH M/C
11. Robot SystemServer Computer
Net Beans
Application
Image
Processing Open
CV
Motor Driving Circuitry
Server Side XBEE Pro Module On Board XBEE Pro Module
Microcontroller
On Board Camera
User
Serial Transmission
UART Channel
STEP 2 COMMUNICATION WITH CAMERA
12.
13.
14. 1. Class javax.comm is imported to use the built in function for serial communication.
2. Connection will be established using inbuilt function
CommPortIdebtifier.getPortidentifiers();
3. serialPort.setSerialPortParams are used to set the baud rate databits,stopbits etc.
4. outputStream.write(messageString.getBytes()) is used to write and
numBytes = inputStream.read(readBuffer) is used to read.
5. W
A D
S
6. serialPort.close() is used to close the connection.
15. • Database of mine detection will be stored on the server .
• Database - MySql
• Data will be stored in two tables as follows:
1. Place table:
2. Mine table:
3.Linking table
Place no: Place length breadth
Mine no X co-ordinate Y co-ordinate Updated Date Updated Time Count
Place no: Mine no:
20. Image After Zero Crossing Filter Polygon Contoured Image
CONTOURING IMAGE FRAME
21. OBJECT SEGMENTATION
INPUT IMAGE WATERSHED SEGMENTATION
The task of segmentation is to break up an image into a series of
regions which correspond uniquely to objects. There are various
methods available to perform segmentation.
• Contouring the image and then flood fill the contoured object.
Watershed segmentation
• Grab Cut segmentation
23. OPTICAL FLOW
• Obtain Contoured Image
• Get Best Features OF frame from first Image Capture ( Lucas Kanade )
• Plot these points on first image ( p1 )
• Perform pyramidal subtraction on depth of the image.
• Draw points on new image frame. ( p2 )
• Draw Flow Vector from p2 to p1 depicting change in motion.
26. LENGTH OF SEGMENTED OBJECT COMPARISON METHOD
• The midpoint of an object is found and a line is drawn from the midpoint to the
(minx,miny) point of the object.
• The length of this line of the object increases as the object comes closer to the camera.
• In every new frame the new length is compared to the length of the object in the initial
frame.
• Tracing multiple objects is easy.
27. SELF GENERATED ROBOT ALGORITHM
• Virtual Grid Mapping Through X Y co-ordinate mapping. Mapping of input Length
and Breadth into 10*10 (x*y) grid.
• Sending back of Mine Locations and its own positioning through UART channel to
Server.
• Knowing Of Robot Positioning at all times through Direction Bit O .
W / 2
S / 0
A /1 D / 3
• The Robot will never get ‘ lost’ and always remains with the Virtual Grid (Example
illustrated ahead) .
28. VIRTUAL GRID MAPPING
OBSTACLE AVOIDANCE
USING IMAGE
PROCESSING
ROBOT SELF GENERATED
LOGIC TO REMAIN
WITHIN GRID
MERGER OF TWO MODULES
29. 200 X 200 UNITS
O=2
O= 3 / 1
O= 0
O= 3
O= 0 2
0
1 3
Still Remains Within Virtual Grid
30. REFERENCES
•Optical Flow - Lucas Kanade, Horn Schunck
•Learning OpenCV –Computer Vision
•Segmentation Using Optical Flow – Christoper Goring
•Real Time Quantized Optical Flow – Camus
•Zero Crossings- Marr
•Optical Flow With Stereo Navigation – Stavens
•REU Programs – Cynthia Atherton
•Intelligent Object Extraction – Paul Andre
•Atmega 128 , Xbee Pro , L298 Datasheets
•Optical Flow Estimation – Weiss
•Simultaneous Matting and Composing – Yang
•www.sourceforge.net
•www.wikipedia.com
•www.stackoverflow.com
•www.opencv.wiki.com
•www.youtube.com
•www.codeproject.com
•www.msdn.microsoft.com