1 / 1

Autonomous Robotic Object Detection (AROD)

Autonomous Robotic Object Detection (AROD). Team Members- Aydan Mufti, Sean Engelstad, Austin Ware, Nick Tysver, Sean McIlvane , Sebastian Torres, Ronan Patel, Karina, Shacori Valentine, Justis Barrett. Georgia Tech Mentors- Nick Molino , Dr. Charles Domercant , Dr. Kelly Griendling.

Download Presentation

Autonomous Robotic Object Detection (AROD)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Autonomous Robotic Object Detection (AROD) Team Members- Aydan Mufti, Sean Engelstad, Austin Ware, Nick Tysver, Sean McIlvane, Sebastian Torres, Ronan Patel, Karina, Shacori Valentine, Justis Barrett. Georgia Tech Mentors- Nick Molino, Dr. Charles Domercant, Dr. Kelly Griendling Introduction & Motivation Source Code Examples Object Detection The following source code was written in order to effectively test and develop methods for autonomous robotic motor control as well as wireless image object detection. The GOPRO programs utilize MATLAB which allows for seamless image processing as well as a horde of image processing demos on the web. Also, the Cloud9 programs are written in python and are setup specifically for the beaglebone, so that the beaglebone can receive the programs in its storage and then can be executed wirelessly using putty, an ssh client. The following MATLAB programs were written using image processing functions that were made specifically to convert image files for different types of image analysis such as image identification, glare reduction, and thresholding effects on binary images. The purpose of these programs is to find some way to identify unknown objects by simply comparing a new image with that of an old one to determine the similarity levels. • All of the photos used in object detection will be underwater pictures taken from a GORPO camera. We use the image processing MATLAB toolbox that contains necessary image processing functions that allow us to convert file types. The programs require a threshold(from 0 to 1, 0 being) which defines the percentage from white to black with which the boundary of white and black pixels lie. • LINE-METHOD: We have experimented with 2 methods- the line-drawing method and the strong points method. The first method involves using bwboundaries, a function that draws boundaries between white and black pixels to outline regions of the binary image after the threshold is chosen. The line-method is a bit more difficult as choosing a threshold that isolates the object is not always possible. The method completely relies on the quality of the binary picture and how well it represents the object. The graythresh function uses otsu’s method to find an optimal threshold that minimizes intraclass variance, but even then we have found that we run into issues. Our take on this method is that unless we find another route, it cannot consistently work. Also, we have not devised a way to use the lines to compare pictures. • STRONGPOINTS-The strongpoints method utilizes gradient change functions that identify the strongest points. Each function contains slightly different types of points. For example, there are detectBRISKfeatures, detectHarrisfeatures, detectSURFFeatures, and detectFASTFeatures. The detectHarrisfeatures function seems to work well for most pictures in our programs, thus we usually try HarrisFeatures(corner points). We also adapted a demo that finds and identifies objects in a cluttered scene, and we adapted the demo for our own purposes. We can then use this to compare files and find the number of similar points that have a certain degree of similarity. The strongpoints method we believe will have the best chance of success. •   The goal of the AROD project is to develop methods for object detection via an autonomous surface robot. The robot will maneuver the surface while taking pictures in order to gain information on submersed objects. The purpose of the project is to help develop the technology required to allow the Navy to conduct underwater searches in order to find such objects as enemy mines, wreckage, plane debris, or even just to explore the ocean floor. The need for this technology is tremendous as only a small part of the ocean has been explored. We are developing object detection technology that recognizes what shapes are in pictures in order to allow the Navy to find specific things underwater. The capabilities for underwater exploration technologies are endless. We plan to aid underwater exploration research by testing surface object detection which would be one step in the right direction. We are using a GOPRO camera and a beaglebone black, and use a computer that communicates wirelessly to the robo-boat. The Cloud9 programs were made using Pulse Width Modulation of the beaglebone’s ports to control the motor RPM. Pulse Width Modulation controls the duty cycle of the current which corresponds to a certain RPM. The motor RPMs then can together be translated into specific velocities and vectors which will allow us to move robots in patterns such as spirals, ladder patterns, or concentric circles. We use the regressions to use the computer to back calculate the duty cycle of the motor for certain velocities. Mission Statement • Identify objects using a database • Create motion programs to allow the robot to survey the area • Make the robot completely autonomous • Give it the ability to find objects under the water Robot Motor Control The MATLAB program named TraceObject2.m takes the file iPhone2.png and converts it from an rgb image(red-geen –bllue) to a grayscale image(shades of black and white) and uses a threshold to determine which pixels will become white and which will become black pixels to convert it to binary The AROD Project uses two TurnigyAerodrive motors mounted on the bottom of our robot with two brushless car ESC motor controllers to receive input from our beaglebone black. The beaglebone receives information about the type of current that needs to be supplied using PWM(pulse width modulation) in which the duty cycle and frequency are controlled. The change in the duty cycle directly affects the motor’s RPM. Duty Cycle is defined as the percent of time over the period in which the current is flowing(aka. Power at 1). The duty cycle may be explained by the following equations: D=duty cycle t = time with current of 1 over period T= period D = t/T D = 10% would be an example The beaglebone sends a pulsating signal of 0s and 1s defined by the duty cycle. Below is a model of the correlation between the Duty Cycle and the RPM(x10). The regression allows us to predict the RPM that the motor would produce at each duty cycle. Electronics Configuration Computer (Left) A cloud9 program with putty open(ssh terminal), (Right) a Matlab program that outlines the binary image of the phone, (Top) Another Matlab program that plots the White-Black ratio of pixels. MATLAB Conclusions In our summer internship, we learned how to code in python and MATLAB. With this knowledge, we learned image processing, object and text detection, pulse width modulation and motor control. Although we were not able to get the GOPRO setup, we have made programs that detect and recognize objects, faces, and text in pictures. We have some basic experience of what working at an office job would be like, and it has made us more responsible. Furthermore, the program has inspired us to continue pursuing an engineering and mathematics profession. We hope to one day be the ones making airplanes, UAVs, autonomous vehicles, and solving the tough problems. Motor controller GOPRO motor t Battery Putty (Above) the picture shows different duty cycles and frequencies for PWM. (Right) is a regression of the RPM vs. duty cycle regression[R^2 = .9885] Georgia Institute of Technology- Aerospace Systems Design Laboratory Motor controller Beaglebone black motor Battery ASDL STEP summer internship presentation- July 30th, 2014

More Related