MIDN 1/C Hansen, MIDN 1/C Fincher, MIDN 1/C Keith, MIDN 1/C Noyola, MIDN 1/C Topp Advisor: CAPT Nicholson, USN Problem Statement To design an autonomous underwater vehicle to compete in the annual Association of Unmanned Vehicle Systems International and Office of Naval Research AUV competition in San Diego. Background Competition • 6th year competing • Placed highly in recent competitions Current Strengths • Navigation by dead reckoning using DVL Current Weaknesses • No mission devices (grabber, launcher, etc.) • Sensors are not fully integrated Competition • 15th Annual Robosub Competition • This year’s theme: The Ides of March • Consists of a series of underwater obstacles • Points awarded for completion of obstacles (partial credit discretionary) • It is not required that you attempt every obstacle Research • Other Team Projects (Top Three) 1) 2) 3) Team Sonia ETS Cornell University of Florida • Experience of former team members and our advisor Parts List Reused Parts SeaCon Conectors Quantity Cost 11 $ Total 110 Wireless Network Components Daylight Readable Laptops 2 $ 3,379.95 Keller America Leverage Pressure Sensor 1 $ 200.00 Technodyne Model 300 Thrusters 6 $ 2,804.88 NiMH Batteries 6 $ 28.95 Reused Parts $ 1210.00 $ 379.96 $ $ 6,759.90 200.00 $ 16,829.28 $ 1 $ Teledyne DVL 1 $ 28,100.00 $ 28,100.00 Filter and A/D Board 4 $ 17.76 $ 71.04 Multi-Current Smart Charger 4 $ 29.95 $ 119.80 Underwater Switch for Divers 1 $ 55.53 $ 55.53 $ Cost Total PNI TCM2.6 Compass 2 $ 1,679.00 $ 3,358.00 Router 2 $ 150.00 $ 300.00 Buoy and Tether 1 $ COGNEX IS5400-C Color Sensor 2 $ 7,210.00 IS Right Angle Ethernet Cable 4 $ 180.00 $ 720.00 IS Right Angle Power Cable 4 $ 170.00 $ 680.00 Power Distribution Circuit 4 $ 83.00 $ 332.00 $ 245.10 $ 245.10 $ 36.95 $ 73.90 30 $ 30 $ 14,420.00 173.7 ALP-365 Acoustic Locator Flexi-Pinger 999.00 Quantity 999.00 Power Circuit Parts Xbee Pro 60mW series 2 Total Old Materials (estimate) $75,000 Parts List New Parts Quantity Cost Total Wires Caswell 1/8” Stainless Shafts 5 $ 2.75 Caswell Rotary Seals 12 $ 2.00 $ 12.00 $ 13.75 $ 24.00 $ 10 $ 123.75 x1 $ 134.55 x1 $ 258.30 $ 25 $ 25 95.00 $ 95.00 Fiberglass (Frame) $ 145 Torpedo System $ 30 Dropper System New SeaCon Connectors 2 Pelican 1120 Case 1 Pelican 1450 Case 1 $ Total New Materials (estimate) Total Materials (estimate) $615 $75,615 Functiona l Block Diagram Demonstration Plan Follow Path • • Buoys • • Actuator triggered by the cameras Use the cameras to fine tune the position PVC • • Navigate through gates using Dead Reckoning Implement cameras for primary navigation Bins • • Use cameras to identify correct buoy Use cameras to fine tune position Gates • • Navigate with Dead Reckoning Implement cameras for primary navigation Pick up the PVC and surface Return PVC to original position and resurface Surfacing through Octagon • • Utilize SONAR (passive) to identify correct octagon Utilize SONAR (passive) to navigate to correct octagon Responsibility Breakdown Cameras Fincher Code Frame Actuators Wiring P S P S P S P S Hansen P Keith Noyola Topp SONAR S P Key: P = Primary S = Secondary Frame and Actuators MIDN 1/C Hansen MIDN 1/C Noyola Frame Design • Increase adaptability • Allow more room for actuators • Allow for future modifications Grabber Design Figure 1: Pin design Figure 2: Wheel design Figure 3: Target to be picked up Torpedo Design Figure 5: Torperdo launcher Figure 4: Torpedo targets Dropper Design Figure 6: Dropper design Figure 7: Dropper targets (Bins) Wiring MIDN 1/C Hansen Wiring Example *Kill Switch Board* Thrusters (wire #1 from each) Fwd Down Aft Down Port To Camera Box Light (#5) Stbd Kill Switch Relay Kill Switch Power Wiring Example Software MIDN 1/C Topp Background: Navigation • Programmed in C & run in Linux • In the past, the groups have relied heavily on waypoint navigation. – Essentially, the groups would enter a specific point based on the fix of the vehicle & would have the vehicle navigate to the point. • Previous groups have attempted to use camera navigation but have been unsuccessful. • Our goal is to successfully implement camera vision into our system navigation. Basics of the Code • Essentially, we use a shared memory function to store all of the necessary variables – This allows variables to be called up in several different programs & be stored to one common function. • Ex: In the “maneuver.c” program, there is a switch function based on case numbers – – – – case 0 = maintain position case 1 = waypoint navigation case 2 = camera navigation case 3 = SONAR navigation • In the “forward camera.c” program, if a buoy or a bin is detected, the following line of code is executed: – shm_struc->positionControlMode = 2; • This stores “2” as the positionControlMode variable through the shared memory function. This variable can then be recalled in the “maneuver.c” program, activating camera navigation. Waypoint Navigation • Historically, this has been the most reliable method of navigation for the vehicle. • Takes a reading from the DVL (using compass and speed over ground) and navigates the AUV to the desired waypoint. • Will use this for most obstacles except the buoy and bins obstacle. Buoy Obstacle • The officials will release a certain order of colors to hit. • A menu pops up prompting the user to choose a color. • The choice of color stores variables xRed, yRed, etc. • Camera vision navigation is then implemented to navigate to desired buoy. Camera Vision: Basics • The forward camera outputs a certain string of numbers: – 1 = passing, 0= fail – [row, col] of the centroid of the detected object – Color as the equivalent integer to ascii character • • • • Red = 114 Green = 103 Yellow = 121 No Match = 78 Camera Vision Pseudocode Example • If the camera detects an object (output = 1) – shm_struc->positionControlMode = 2; which switches to camera vision navigation – We then read the x coordinate for the centroid and store it in variable xRed/xGreen/xYellow – The depth of the object is given at the competition, so it will be preprogrammed into the system. – We then calculated the pixels/degree of the camera • • • • # columns = 640 FOV = 15° Pixels/degree = # columns/FOV Pixels/degree = 42.7 pixels/1 degree Camera Vision Navigation Logic • We then implemented the following line of code: – shm_struc->ord_head = 42.7/xRed; • This line takes pixels per degree and divides it by the pixel position of the object • The output ord_head is a degree value to be implemented in the camera vision navigation portion of the code. • This portion of coding simply orders Romulus to navigate to the ordered heading. Camera Vision Navigation • After the camera hits the correct buoy, it switches back to waypoint navigation to move on to the next obstacle. Camera Vision: Fail Check • I have added a “timeout” feature to the code. Essentially, if the robot has switched to camera navigation, after 1 minute of not finding a buoy or a bin it will switch back to waypoint navigation. Bins • This uses essentially the same logic as buoys but instead of color, the downward camera will output variables corresponding to shapes. • The code will then execute the appropriate sequence in order to drop the projectile into the correct bin. Cameras MIDN 1/C Fincher Cameras Cognex 5400C • Onboard processing • In-Sight Explorer software • C-mount lens Buoys • Forward camera • Find curved edge first • Find color next – Bank of three colors • Pass depends on both fixtures • Trouble with thresholding Bins • Downward camera • PatMax • Thresholding – Contrast – Rotation – Scale SONAR MIDN 1/C Keith Passive SONAR • Competition Requirements • ORE Multi-Beacon • SONAR Operation Basics – Four Omni-Directional Hydrophone’s – Data Processing Circuit – Code SONAR & The Competition • Two 9’ diameter octagon shaped surfacing areas • One of the pinger’s is turned on before each competition run • Goal is to surface completely inside the correct Octagon • Practice and Competition Pinger going at the same time ORE 4330B Multi-Beacon • Transponder/Responder modes • Same ‘pinger’ used in the competition • Set to frequency between 22kHz and 30kHz • Requires Driving Mechanism Multi-Beacon Circuit Hydrophones • Reson TC4013 omni-directional hydrophone • Output…. SONAR Data Processing Circuit • • • • • AD605 Variable Gain Amplifier Multiple feedback active band pass filter Voltage Divider and Comparator with Hysteresis Digital Signal processing microcontroller Three simultaneous outputs • RS232 UART • Serial Peripheral Bus (SPI) 64K Serial Memory • 10-Bit Quad DAC SONAR Code • Written in C • Two programs – Sonar.c program gets the Azimuth, Elevation, Status, and tells which pinger is being detected – Navigationcenter.c filters multiple sensor data to determine most likely position Special Thanks to Project Advisor Captain Nicholson, USN Systems TSD Rickover Machine Shop Rickover Hydro Lab