Today gave us an opportunity to obtain some long-awaited data from a cave in Gozo.
At 7am Timmy drove us to Manoel Island Yacht Marina where we met our skipper, Paul.
After carrying all of the equipment on the boat, Austin, Tyler, Prof. Clark, Paul
and I departed and began our 1.5 hour voyage to Gozo. Apart from some heavy chop in the
beginning of the trip, the day was beautiful and the ride presented some incredible views
of Malta, Comino, and Gozo.
When we arrived we ran across some tour boats which continued to come to the cave
throughout the day, but for the most part we enjoyed uninterrupted access to the cave.
In addition to being the first time we had mapped a cave, today was the first time we had
ever used the Smart Tether. The Smart Tether is an advanced piece of equipment
that contains nodes every couple of meters which use accelerometers, rate-gyro sensors,
and magnetic sensors to track the orientation and position of the ROV. The Smart Tether
greatly increases the accuracy of our ROV localization which in turn helps us create better maps.
In each of our experiments we took turns piloting the ROV, logging data and sketching maps,
recording sonar and Smart Tether data, and working the Smart Tether.
We started off using the sonar to take horizontal scans of the underwater cave, but we weren't
able to get that far into the cave before running out of tether. We decided to add the
80 meter extension to our 40 meter Smart Tether, which allowed us to venture much deeper
into the cave. This time we attached the sonar vertically and got some great scans with
well-defined cistern-like walls. We ran across many fish, jellyfish, and even an
octopus which grabbed onto the ROV. After backing out of the cave, we deployed one more time
with the Smart Tether extension to take horizontal sonar scans. We ultimately got about 60 meters in
before turning back. Before leaving, we made sure to shoot some underwater video of the ROV with
one of the GoPros we brought along.
If all goes well, we should be able to use this data to create 3D maps of the caves using a
combination of the horizontal and vertical sonar scans for mapping and Smart Tether logs for
localization.
The International Computer Engineering Experience Program is an opportunity for Cal Poly and Princeton students to apply their technical knowledge in an international context and to increase global citizenship across campus.
Showing posts with label sonar. Show all posts
Showing posts with label sonar. Show all posts
Monday, March 19, 2012
Gozo Underwater Cave Mapping
Labels:
Austin Walker,
Chris Clark,
Drew Boik,
Go Pros,
Gozo,
mapping,
Smart Tether,
sonar,
Tyler Vitti
Location:
Triq Birbuba, Għarb, Malta
Tuesday, March 6, 2012
Convento Dei Cappuccini Carini
Phew. Today was full. Zoë and I woke up early to go on a run through some back streets in our town just outside of Carini (in the province of Palermo, Sicily). We meandered through all of the tiny little roads in search of an entrance to the enormous mountains situated nearby, but had no luck. Oh well, we have another half a week to try other roads. When we got back the group was up and ready to rock. We joined up, had breakfast, and loaded into the bus.
On the ride over to the first cistern, our Maltese friend Keith told us loads of information about our cultural research projects: namely gun control laws, engineering degrees from University of Malta, Maltese agriculture and horticulture, and some neat facts about the cisterns that we are deploying into. Keith is a graduate student at University of Malta studying archaeology, and is working on his Ph.D. He's a brilliant guy and we're grateful to have him accompanying us.

When we arrived, we hauled all of the equipment out of the van and crossed the street to the site. There was a horse standing around that distracted everyone for a bit before we set all of the equipment up. After getting the generator running and plugging the robot into the control box, we left the gear to take a small tour of the land from our Sicilian archaeologist friend Toto. He showed us some nearby water storage features that might tell us a little bit more about the cistern that we were deploying into. I walked back to the equipment and waited around for the others to do the same. Once we were all there, we booted up and deployed the robot into the well. The water level was too low to drive around or collect SONAR data (our SONAR was acting sporadically at the time anyways), so we just dropped the robot down and recorded video and depth.
We packed everything up, said goodbye to the horse, and got on our way to the next cistern. This one was located in a small city on top of a large mountain behind our hotel. The cistern was situated in a church courtyard, so we headed through the town and into the church to unpack.

At this point, SONAR was still working intermittently, so we deployed the robot, got a single scan that covered the entire simple bell shaped cistern, and drove around to get images for Tim's stereo imaging project. We did a bit of troubleshooting with the SONAR but had no luck. After packing all the gear up, we had some pizza down town, and drove back to the hotel.
When we arrived, our professors told Tyler, Brent, and I to run through a permutations chart with some sort of logical flow to get the SONAR working before the huge water gallery tomorrow. While we were developing a method that would find the misbehaving piece of equipment in the smallest number of permutations, Tyler fixed the problem (see post below). 15 minutes. Here is the most satisfying and least painful permutations chart ever documented:

PHEW. It works. We coded for a bit, had a 2 and a half hour dinner/fun conversation, and now we're headed to bed.
On the ride over to the first cistern, our Maltese friend Keith told us loads of information about our cultural research projects: namely gun control laws, engineering degrees from University of Malta, Maltese agriculture and horticulture, and some neat facts about the cisterns that we are deploying into. Keith is a graduate student at University of Malta studying archaeology, and is working on his Ph.D. He's a brilliant guy and we're grateful to have him accompanying us.
When we arrived, we hauled all of the equipment out of the van and crossed the street to the site. There was a horse standing around that distracted everyone for a bit before we set all of the equipment up. After getting the generator running and plugging the robot into the control box, we left the gear to take a small tour of the land from our Sicilian archaeologist friend Toto. He showed us some nearby water storage features that might tell us a little bit more about the cistern that we were deploying into. I walked back to the equipment and waited around for the others to do the same. Once we were all there, we booted up and deployed the robot into the well. The water level was too low to drive around or collect SONAR data (our SONAR was acting sporadically at the time anyways), so we just dropped the robot down and recorded video and depth.
We packed everything up, said goodbye to the horse, and got on our way to the next cistern. This one was located in a small city on top of a large mountain behind our hotel. The cistern was situated in a church courtyard, so we headed through the town and into the church to unpack.
At this point, SONAR was still working intermittently, so we deployed the robot, got a single scan that covered the entire simple bell shaped cistern, and drove around to get images for Tim's stereo imaging project. We did a bit of troubleshooting with the SONAR but had no luck. After packing all the gear up, we had some pizza down town, and drove back to the hotel.
When we arrived, our professors told Tyler, Brent, and I to run through a permutations chart with some sort of logical flow to get the SONAR working before the huge water gallery tomorrow. While we were developing a method that would find the misbehaving piece of equipment in the smallest number of permutations, Tyler fixed the problem (see post below). 15 minutes. Here is the most satisfying and least painful permutations chart ever documented:

PHEW. It works. We coded for a bit, had a 2 and a half hour dinner/fun conversation, and now we're headed to bed.
Labels:
bell,
Brent Williams,
church,
Cistern,
Erik Nelson,
horse,
keith,
pizza,
run,
sonar,
Tyler Vitti
Sonar Bugs Fixed!
We have been having problems during our first scans with intermittent sonar performance. The sonar would frequently hang or pause, often corrupting our captures or disrupting a scan. After we returned from today's sites, Brent, Erik, and I layed out all of our cables and parts in an attempt to isolate the problem. We very quickly singled in on a software mis-configuration; the SeaSprite sonar scan software was expecting data on a different COM port than the hard-wired COM1 on the back of the laptop. We suspect that the optical RS485 converter was still getting the communication close enough, but would occasionally drop packets, causing the intermittent sonar.
Regardless of the cause, after setting the configuration to COM1 we were able to successfully capture reliable sonar data. We tested the configuration with all of our spare parts as well, to confirm that we had no broken or mis-configured components. Once everything had been confirmed working, we packed up the robot and control cases with a full set of parts, then packed up all the extras in the second control box. Tomorrow should bring us data much easier and much more quickly; this fix is a huge sigh of relief to all of us!
Regardless of the cause, after setting the configuration to COM1 we were able to successfully capture reliable sonar data. We tested the configuration with all of our spare parts as well, to confirm that we had no broken or mis-configured components. Once everything had been confirmed working, we packed up the robot and control cases with a full set of parts, then packed up all the extras in the second control box. Tomorrow should bring us data much easier and much more quickly; this fix is a huge sigh of relief to all of us!
Labels:
data collection,
debug,
glitch,
sonar
Wednesday, February 22, 2012
Technical Update - Mapping and Image Processing
Departure is nearly upon us! We have been doing a great deal of work the last few weeks getting everything ready. Erik and I had an opportunity recently to drive the ROV in the pool and perform a full mapping run. We positioned the ROV in strategic locations throughout the pool and captured a series of sonar scans. These were fed through Billy's mapping program to generate a map of the pool.
It was an excellent opportunity for us to practice the teamwork and processes necessary for a full deployment, including setup, un-boxing, deployment, scanning, assembly, and take-down. After the session I feel a great deal more comfortable with the equipment and software we will be using in Malta.
In addition, I have been doing further research on the topic of image processing. In particular, I need to smooth the back-scatter out of the cistern photos, then sharpen the images and equalize their appearance for texturing. Smoothing will be done using a median filter, as shown below. Notice how an increasing filter size greatly reduces the noise in the picture. However, it also blurs the subject of the image. This effect may be reversed using a laplacian mask to re-sharpen the transitions of the image. Once this process is complete, I hope to have a clear, sharp picture ready for texturing. The final step will be to equalize the gamma across all images so they blend smoothly together on the final mesh.
Tim is also doing some image processing work with his 3D imaging project. I am hoping that the research I have done for texture smoothing will also be able to help him in generating his bump and disparity maps.

Thursday, February 16, 2012
Pool mapping test run
In the past week Tyler and I mapped the pool as a test run before we take off for Malta (12 days to go!!). We drove the ROV around and took SONAR data at 5 or 6 spots along the bottom of the pool, and another 5 readings 1 meter from the bottom. We grabbed Billy's software and put the scans together to make a mosaic and a map of the pool.


The next image is the SONAR map that was generated using Billy's software. After creating special files that contain information on the bearing, depth, and time that a SONAR reading was taken, a scan can be loaded in. Then we load in a second scan, and a particle filter is used to converge the two scans. This can be done with different SONAR scans until a complete map is generated. Since this was the first set of SONAR data that Tyler and I took, we did not have the gain up high enough to fill in all of the holes around the pool. This makes Jeff's hole filling algorithm work a bit harder to produce a final map a little further down the line.

The image to the left is the SONAR mosaic. This is a dry copy/paste of all of the SONAR scans after being cropped and rotated in an image processor. The 6 spots in the middle of the image are noise around the location that the scan was taken from. When the SONAR map is made all of this noise gets cut out.

The next image is the SONAR map that was generated using Billy's software. After creating special files that contain information on the bearing, depth, and time that a SONAR reading was taken, a scan can be loaded in. Then we load in a second scan, and a particle filter is used to converge the two scans. This can be done with different SONAR scans until a complete map is generated. Since this was the first set of SONAR data that Tyler and I took, we did not have the gain up high enough to fill in all of the holes around the pool. This makes Jeff's hole filling algorithm work a bit harder to produce a final map a little further down the line.
This is the method that we will use in Malta to produce our cistern maps. After the map gets generated, Jeff runs his hole filling algorithm and the map file will get passed to Tim and Tyler. They will add textures taken from the GoPro cameras strapped to the ROV. After that, the file gets passed to Brent who will be modifying it to include salinity and temperature visualizations. The map will finally get passed to me, and I will upload the mesh into Unity3D to create a 3D version that can be rotated, translated, and scaled by the viewer. This file will be embedded into an online frame, and anybody that wants to will be able to view our data!
More to come soon!
Sunday, January 29, 2012
SLAM Project Update
Well it has been a while since I was suppose to post this, but that just means I'll have better results. So I've been working on optimizing the SLAM code to generate better maps and also increasing the likelihood of the particles converging for a given set of sonar scans. I started by focusing on filtering the sonar data to optimize the overlap between scans.
By filtering the data, I can use more of the data already present in the sonar scan to help increase the likelihood of the particles converging.
My next focus will be on refining the filtering algorithm to output cleaner sonar measurements. I also need to work on the scan matching algorithm to load in the first scan at an ideal location where edges won't be cut off. This occurs when the size of the occupancy grid is small and the first scan is loaded in the middle of the map. I'm also waiting for the ROV motor to come in the mail so that I can fix the ROV and then be able to map the pool at the LAIR. This will give us truth data to calculate the error in our algorithm.
By filtering the data, I can use more of the data already present in the sonar scan to help increase the likelihood of the particles converging.
My next focus will be on refining the filtering algorithm to output cleaner sonar measurements. I also need to work on the scan matching algorithm to load in the first scan at an ideal location where edges won't be cut off. This occurs when the size of the occupancy grid is small and the first scan is loaded in the middle of the map. I'm also waiting for the ROV motor to come in the mail so that I can fix the ROV and then be able to map the pool at the LAIR. This will give us truth data to calculate the error in our algorithm.
Subscribe to:
Posts (Atom)



