Showing posts with label technical. Show all posts
Showing posts with label technical. Show all posts

Thursday, March 22, 2012

Finishing Up!

Today was a work day for the team, and we all made excellent process. Drew and I have finished video editing, and Jeff and Billy are hard at work on the final maps. We should have everything completed and uploaded to the final database within a few hours! We're all very excited, although it is somewhat upsetting to have our time here on Malta drawing to a close.

My official project on the team was the visualization of cisterns using projective texturing. Today I was able to make the last few tweaks to my texture blending, and have been successful in producing some pretty nice looking visualizations!

These visualizations consist of three main components; texture projections, shading, and blending. The textures, captured from the GoPro cameras on the ROV, are filtered by hand to choose the most pleasing and appropriate textures. After this, the program loads the textures with a list of coordinates and 'projects' the texture onto the wall of the model, using matrix transformations to generate texture coordinates per vertex in the vertex shader.

Shading creates a rudimentary form of light on the model, giving it the illusion of depth and dimension. In this case, only a basic diffuse shading is used. More advanced lighting is not necessary, as the textures are already lit as seen by the robot.

Blending creates a smooth transition between textures by scaling back the per-texture contribution on areas of overlap. This image shows the fragment shader being used to calculate the regions and magnitude of texture overlap. These calculations are then multiplied by the diffuse shading value and then the texture sampler to determine the value of each pixel of the cistern and produce the final visualization:

Monday, March 5, 2012

Tech Update

It's been a busy week here. Yesterday we packed up early in the morning and took a ferry from Valletta, Malta to Pachino, Sicily. From there we hopped a few buses and took a beautiful ride through the country, passing by the world's most active volcano (Mount Etna) along the way. We reached our hotel in Carini (in the province of Palermo, Sicily) in the afternoon and got situated for deployment. Billy will talk about that, so I will cover the other things that have been going on. Despite the nagging fatigue that we are all feeling, there have been some really great project improvements. Since these will also be addressed in similar blog posts, I will give a little update on mine: the archaeologist graphical interface.

I have already put together a majority of the framework for the interface, and recently began loading in cistern meshes. Due to the fact that Billy and Jeff have their code complete (aside from per-cistern fine tuning), the three of us can pump out a cistern model and have it online in about an hour. We will be doing this for each new cistern that we deploy the robot into. My project is still running into some choppiness which will be sorted out in 2-3 days.

Here is a sample of my progress as of today.

Note: If you are running Linux, you may run into difficulty with the Unity3D plugin.

I am still working on the textures/lighting of the cistern and water, the spherical linear interpolation of the rotational trackball (should be a quick fix!), and the photo selection on the right hand side of the interface. It may not be very easy to see, but right now all that the photo selection does is highlight a region on the wall that the selected picture shows. Once the photo selection is complete the model will rotate so that the highlighted area that the picture displays will be more visible and a frustrum with the robot's position and angle of view will be shown. I also intend to use Tim's higher quality go-pro pictures, rather than these stills from the video stream from last year. I might end up adding a big pop-up version of the photo as well. We'll see what happens. Aside from that, it's time to start rapidly uploading and spitting out cisterns as we deploy into them!