Saturday, January 7, 2012

Winter Break

My winter break was quite busy, but during my spare time I did a little bit of work for ICEX. I am the scheduler for this trip and the program, so over the break I looked into ways to keep on top of it all to make sure all deadlines are met. Tyler gave me a link into a website called Trello and it seems like it's really going to help keep everything organized for me.

Also, I looked into using Google Earth to locate cistern sites. Unfortunately, I don't know much about Google Earth and wasn't able to figure out much. And lastly, I looked into a site called Omeka to use for my ICEX project. It seems like a good site in which to have a digital library and database for information we collect about Malta and its water and society.

This project using Omeka is targeted to be used to be a resource site for teachers and educators. It will (hopefully) have sources and information such that teachers can base lesson plans off of the information and resources on the website.

Robotics in SLO Update

Over break, I sent the ROV we have here at Cal Poly to VideoRay for repairs. Several parts needed to be replaced due to water leaking into the robot's hull. To my knowledge it is still under repair.

As for the software side of robotics, I worked on SLAM. I was able to get the scan matching algorithm working. This algorithm attempts to use SLAM to converge every possible pair of sonar scans of a cistern in order to localize the ROV for each scan's position.

Before we added the "Auto-converge" localization technique, we were manually mosaicking the sonar scans together and then measuring the displacement values between a reference scan and all the other scans. The displacement values for each scan were inputted into the code and used as the initial locations of the ROV when trying to add scans to a map. The code we have now does this mosaicking automatically.

The next step is to figure out how to prevent the particles from converging in the wrong location. I'm writing a paper on the Malta work from last year up till now, which is consuming most of my time.

Here are before and after images of merging two scans. Here I'm just using SLAM to add the second scan.



Using Scan Matching Algorithm w/ just 2 Scans




Friday, January 6, 2012

Winter Break Work:

Over break I implemented a bump map rendering system and researched stereo imaging. Both of these projects will be used to create more realistic, bumpy, cistern walls.

The bump map rendering system combines a surface texture, a bump map, and a mesh of vertices to create the illusion of surface deformations, or depth. The bump map is actually a map of normal vectors for each pixel in the map. The colors of each pixel in the bump map, red, green, and blue, determine the x, y, and z components of the normal vector at that pixel. Given the normal vector of a pixel, the position of a light, and some coordinate transformations, the amount of light that falls on any one pixel can be calculated. A grayscale mask can then be constructed to dim the desired pixels. The mask is then applied on top of the original texture to create the illusion of bumps. The following is a screenshot of a cylinder that has been textured with a yellow and blue checker grid and a bump map.







The renderer uses OpenGL and GLUT. I had never used either of these, so a good portion of my break was dedicated to setting up OpenGL and learning about the graphics pipeline. It was a great learning experience to be sure!

Stereo imaging will be used to create bump maps for the aforementioned renderer. The trick to stereo imaging is to capture two images simultaneously and then compare almost identical features in both images to compute the relative distance of those features using triangulation. I am currently planning on using the OpenCV libraries for camera calibrations and 3D map generation. After discussions, we are planning on mounting two GoPro cameras to the top of the Video Ray−as mentioned below.

ICEX Learning Goals

ICEX presents a fantastic educational opportunity. I am confident that this experience will have more to teach me than I can possibly imagine. However, I am particularly interested in the history of the country itself. Our Ethnic Studies class has a large module on Malta, but it focuses heavily on the engineering component of the country's culture. I hope to learn more about the actual historical development of Malta, from the age of the Greeks all the way through modern day.

My primary task with the team is the texturing of the sonar geometry model. I am very excited about this project, as it is my first experience with proper image processing and model generation. My main technical goal, therefore, is to greatly expand my understanding and expertise with the methods used for image processing via the creation of a robust and dependable texturing algorithm.

Thursday, January 5, 2012

Winter Projects Update

The first project I worked on was researching options for salinity and temperature sensors that we could connect to our robot. I ended up writing a report that can be briefly summarized as follows:

The most used tool to collect salinity and temperature data with a VideoRay ROV is the YSI Sonde with Multiple Water Sensors. The main problems were that it was too large and too expensive. Another option was to build the sensors. I found freely available circuit diagrams for these sensors and looking at the parts they would require, building them would cost very little. The problem with this option was that whatever we make would not be guaranteed to work in our application and environment.

After the team read the report, it was agreed that the YSI Sonde with Multiple Water Sensors was too expensive and we would most likely need to build all our sensors. Fortunate for us, during the break Dr. Clark was contacted by an employee of the company that makes our ROV and was offered a temperature sensor. Currently the team is working on connecting our sensors to a microcontroller to better organize the collection of data.

The second project I worked on was the Google Earth project. This project is about displaying the cultural and scientific data, that we will be collecting in Malta and Sicily, in a way that is useful for archaeologist, marine biologists, teachers and students. I was specifically working on evaluating the application, Google Earth, as a practical way to disseminate our information. My findings supported the use of Google Earth as a way to connect geographical and location based data with the database of our scientific and cultural data. I also built an example web page connecting Google Earth with some of our older data that can be seen below.

Monday, January 2, 2012

Winter Break Update

Happy New Year everyone!

Before break, the Princeton team met up at swimming pool to get some data to work with over break up until our trip to Malta. I've been working on making use of that data. We took both vertical and horizontal scans of one end of the pool in an atempt to simulate the environment of the Maltese cave. The idea is to use horizontal scans (along with data from the smart tether we'll be getting; Drew is working on that) to connect the vertical scans. Then, the walls of the cave are "grown" outward from the vertical scans to give a full 3D map of the cave.

I'm a huge history buff, so I've been looking into Maltese history, both ancient and recent. For most of it's history, Malta has been ruled by a foreign power (Greece, Britan, France, and others). They only recently got their independence in 1964. Of course there is only so much you can learn from reading, so I'm looking foward to getting the opportunity to actually talk with some locals about their contry's history. I'm also interested to see what the Maltese perspective is on some of the recent events in the news.

Winter Break Progress

Over winter break I had two tasks. The first task was to do some investigation into Google Earth's ability to display our findings. The second was to get everything prepared for our labs at Pacheco. The progress I made towards these two projects is summarized below:

Google Earth
I'm convinced that Google Earth will be a sufficient tool for sharing our results. It has every feature that we need: html formatting, easy to link to files from databases, image/video embedding, descriptions of each site, underground depth/maps. Additionally, it is commonly used software, making it easier to spread our findings.

That said, there are a few things that I haven't figured out yet. I don't know how to share a google earth file so that multiple people can edit it at once (aside from e-mailing the other person the file). I think the program has this capability, but I haven't figured out how it works yet. Another problem is that when you create a map of a place below ground (cisterns are below ground) the polygon won't show up on a map embedded into a website. The last problem is that I can get an embedded video to work on MY copy of google earth, but can't get an embedded video working in an embedded blog post like this one. Anyways, problems aside, here is a little sample that I made up.


If you have the Google Earth plugin installed, you should be able to view this. The camera should pan to my house and you will see some information about it when you click it. If you double click "Erik's house", it will zoom in to street view. Additionally, you may click the green polygon on the ground to see an outline of my underground lab, and again, some information on that. As far as I can tell, this is what we need for the project.



Pacheco Labs
I received a copy of the powerpoints and lecture notes from last year, and have been discussing everything with Chris, Jane, and the teacher from Pacheco (Jill). Looks like we're all going to meet up as a group on Wednesday at 12:10 to talk about the curriculum and maybe do a run through of the first demo that we will do for Jill's class on week 2. The first demo is a discussion of robotics, engineering, and then a demo of a line follower robot.

Over break I borrowed a Lego Minstorms kit from professor John Chen to make a line following robot. I got him working, but just barely. I was testing him out on brown cardboard with black electrical tape and poor lighting, and Jill's classroom is black/grey carpet so we will need to use masking tape. I will be going to her classroom on Wednesday afternoon to test out this one. The bots that we will be using for the week 4 & 5 demos will be borrowed from Jill, and the bots for the week 6 & 7 demos are in the LAIR, but need some repairing. I'll get to that in a week or two. That just about wraps everything up for now. More from me later!

Oh, and here are a few bad photos of the bot that I made for the first lab.