After getting back our sonar from the repair shop, the Harvey Mudd students set out to debug the new control software which includes autonomous bearing and depth control. Ben is shown tuning gains for this controller in the attached image.
The students were able to get a functional P control auto bearing controller working, but had trouble with depth control due to a faulty depth sensor. Alistair (seen in pic below) was also able to debug some sonar data recording issues that had crept into our software.
The International Computer Engineering Experience Program is an opportunity for Cal Poly and Harvey Mudd students to apply their technical knowledge in an international context and to increase global citizenship across campus.
Thursday, February 28, 2013
Xocolata Calenta amb Xurros, y La Sagrada Familía
I have been in
Barcelona for the last few days after presenting my research at the VISIGRAPP
conference. In this time, I explored parts of Barcelona and wanted to
share some of the food, sites, and history with you.
Xocolata Calenta amb Xurros
I enjoyed Hot
Chocolate with Churros (titles in Catalan) from a small chocolate shop called
Petritxol near La Rambla (a popular outside mall in the El Raval district of
Barcelona). This is a traditional Spanish treat served in many of the local food
shops. The hot chocolate is very thick and sweet and is used as a dipping sauce
for the churros. Together, the hot chocolate and churros make a small meal and
are sometimes eaten for breakfast.
(Xocolata Calenta i Xurros from Petritxol) |
La Sagrada Familía
The Sagrada
Familía is a gothic style church dedicated to the Roman Catholic sacred family
of Jesus, Mary, and Joseph. Construction began in 1882 under the architect
Francisco de Paula del Villar. In 1883, Antoni Gaudí joined and took over the
planning of the Church and drastically changed the original plans. Gaudí
continued his work on La Sagrada Familía until his death in 1926. Construction
continues to this day and is following reconstructions of Gaudí’s original
plans; some of Gaudí’s models were destroyed in 1936 by Catalan Anarchists
during the Spanish Civil War. An estimated completion date has not been
announced, but there is speculation that it will be completed around 2026. More
information about La Sagrada Familía can be found here.
(La Sagrada Familía, Google Images) |
VISIGRAPP 2013
I presented my paper from last year’s ICEX work on the
Visualization and Hole Filling of two dimensional cistern maps on Sunday
morning at The International Conference
on Information Visualization Theory and Applications (part of VISIGRAPP
2013). The paper, “Uncertainty Visualization and Hole Filling for Geometric
Models of Ancient Water Systems”, can be found here. The work aims to reconstruct water tight
cisterns from occupancy grids and visualizes our calculated confidence of how
well our generated walls fit the existing local shape of the cistern. One of
the most compelling results is from a cistern beneath the Tas Silg temple site
in Malta.
Scribbler Robots Next Stop: Malta and Sicily!!
Hey everyone!
After six weeks, today was the last outreach event with the second grade class from Pacheco Elementary School. I can't believe how fast the six weeks flew by, but I am very happy with all that we accomplished. The kids not only got to be introduced to robots, but also got to see the stages of creating one.
We were able to get some pictures of our new scribbler robot lesson I mentioned in an earlier post. In this lesson, the kids were able to program the robot to make paths, shapes and even letters.
Andrew took on the role of the teacher for this lesson and introduced the scribbler robots and how we were going to program them.
Vanessa planning out a path with her group of students. They had a choice of six different directions. For example, in the picture we can see forward, small right turn, and small left turn.
Erik showing his group how to program their robot. Each of the six directions were programmed prior to the lesson plan, and the students had to decide the order of these directions to draw different shapes.
Ian and Jane testing their group's robot. The scribblers have a slot in the middle for a marker to be placed to be able to draw the path or shape that was programmed.
I am very excited to say that thanks to the Dr. Smith and Computer Engineering Dept. we will be able to bring the scribbler robots with us abroad. We saw the success of these robots here in SLO and we hope to be just as successful abroad. When in Malta and Sicily we will be dealing with kids ranging from 4th to 7th grade and in order to accommodate this, we are in the process of modifying our lesson plan that originally focuses on second graders.
Along with the new robot, Ian and I have teamed up to develop an online enrichment portion for this lesson. The online enrichment will consist of a simulation that will basically do what the robot does when we program a certain direction, except that no robot is actually needed. The purpose of this simulation is to allow the kids to continue with the learning and programming outside of class and really grasps the concepts that were presented.
By the end of the trip, I hope to get feedback from the teachers about our event. Evaluating the success of an outreach event like ours can be difficult but crucial. One of the goals of getting these evaluations will be to compare and contrast our learning goals to what the teachers think the students have learned. This can show how successful we have been and what needs improvement.
The projects within ICEX just seem to grow due to all the awesome ideas our group has, and therefore the workload is growing too. But when working with people who are equally excited as I am, and doing things I enjoy, I don't mind it one bit. Instead I am just more excited for the actual trip and all that we will accomplish.
More updates soon!!
After six weeks, today was the last outreach event with the second grade class from Pacheco Elementary School. I can't believe how fast the six weeks flew by, but I am very happy with all that we accomplished. The kids not only got to be introduced to robots, but also got to see the stages of creating one.
We were able to get some pictures of our new scribbler robot lesson I mentioned in an earlier post. In this lesson, the kids were able to program the robot to make paths, shapes and even letters.
Andrew took on the role of the teacher for this lesson and introduced the scribbler robots and how we were going to program them.
Vanessa planning out a path with her group of students. They had a choice of six different directions. For example, in the picture we can see forward, small right turn, and small left turn.
Erik showing his group how to program their robot. Each of the six directions were programmed prior to the lesson plan, and the students had to decide the order of these directions to draw different shapes.
Ian and Jane testing their group's robot. The scribblers have a slot in the middle for a marker to be placed to be able to draw the path or shape that was programmed.
I am very excited to say that thanks to the Dr. Smith and Computer Engineering Dept. we will be able to bring the scribbler robots with us abroad. We saw the success of these robots here in SLO and we hope to be just as successful abroad. When in Malta and Sicily we will be dealing with kids ranging from 4th to 7th grade and in order to accommodate this, we are in the process of modifying our lesson plan that originally focuses on second graders.
Along with the new robot, Ian and I have teamed up to develop an online enrichment portion for this lesson. The online enrichment will consist of a simulation that will basically do what the robot does when we program a certain direction, except that no robot is actually needed. The purpose of this simulation is to allow the kids to continue with the learning and programming outside of class and really grasps the concepts that were presented.
By the end of the trip, I hope to get feedback from the teachers about our event. Evaluating the success of an outreach event like ours can be difficult but crucial. One of the goals of getting these evaluations will be to compare and contrast our learning goals to what the teachers think the students have learned. This can show how successful we have been and what needs improvement.
The projects within ICEX just seem to grow due to all the awesome ideas our group has, and therefore the workload is growing too. But when working with people who are equally excited as I am, and doing things I enjoy, I don't mind it one bit. Instead I am just more excited for the actual trip and all that we will accomplish.
More updates soon!!
Wednesday, February 27, 2013
ICEX in the News
2013 ICEX Team |
CLA Student and Faculty to Study Underwater Archeology in Malta and Sicily
http://cla.calpoly.edu/cla_es_wgs_lehr_woods_in_
maltasicily.html
Maps, Bots, and a Neolithic Site
https://www.csc.calpoly.edu/news/ICEX_UniversityofMalta/
Monday, February 25, 2013
Updated Videoray Control Gui
Videoray Control Panel with sonar displays, auto-depth and auto-heading. |
In addition to displaying the real-time data used to operate the VideoRay (sonars, motor speeds, depth, heading), the GUI can also record everything timesynced using the record buttons. You can choose to either record in plain text or in ROS format -- both of which have their strengths. You can easily stop and start recordings, separate each scan in individual files or have them all in one file. The plain text recordings can be opened up in excel for easy on-the-field data processing.
We have also implemented auto-depth and auto-heading controls, which if used correctly, should improve our 3D sonar readings by a lot. Since we plan to do more 3D scans this year, we cannot rely on stationing our robot on the ground to make a scan. Many scans will be needed to be done while hovering above ground.
The GUI is mostly complete. Some other features might be added, such as a more comprehensive recording utility (record all at once, renaming, adding bookmarks/notes along the recording), an automatic theshhold setting for the sonar display, a more compact display so the sonars can be larger.
More Practice Deployments
Hi everyone!
For the past couple of weekends the team has been heading out to the Cal Poly pool to learn how to hook up the robot and control box, drive the robot, collect data, and pack up the equipment. In addition we have been playing around with the Harvey Mudd team's new Robot Operating System (ROS) based data collection tool.
Yesterday while everybody was there, we traded off writing in the logbooks, operating the SONAR computer, driving the robot, and managing the tether. We also deployed the new salinity, temperature, and conductivity sensor that we will be using to collect scientific data in the cisterns for Ian's project. It worked out well and we recovered data in a manageable format for further processing (.CSV). Here are some pictures from the training event, as well as the sonar mosaic of the pool that we deployed into. We have not yet created a grid map of the pool due to the difficulty of matching up scans containing mostly straight walls and scarce features.
For the past couple of weekends the team has been heading out to the Cal Poly pool to learn how to hook up the robot and control box, drive the robot, collect data, and pack up the equipment. In addition we have been playing around with the Harvey Mudd team's new Robot Operating System (ROS) based data collection tool.
Yesterday while everybody was there, we traded off writing in the logbooks, operating the SONAR computer, driving the robot, and managing the tether. We also deployed the new salinity, temperature, and conductivity sensor that we will be using to collect scientific data in the cisterns for Ian's project. It worked out well and we recovered data in a manageable format for further processing (.CSV). Here are some pictures from the training event, as well as the sonar mosaic of the pool that we deployed into. We have not yet created a grid map of the pool due to the difficulty of matching up scans containing mostly straight walls and scarce features.
Update on Cistern GUI and Intro to Teaching Module
Here is an update on the 3D data
visualization project! I have been working on fixing the lighting,
and I also added functionality to select between the different
cistern models. Available models are: M'dina Cathedral Sacristy, Case
Cutietta, House Ta'anna, and Convento Dei Cappuccinni.
Here is a live link:
http://users.csc.calpoly.edu/~zwood/ICEX/Cistern/shading.html
but it does not include the updated lighting code as of now. It will
be updated soon!
If you have Safari and the link says
“Could not initialize WebGL” refer to the following steps:
1.
In Safari, open the Safari
menu
and select Preferences.
2.
Then, click the Advanced
tab
in the Preferences window.
3.
Then, at the bottom of the window, check the Show
Develop menu in menu bar checkbox.
4.
Then, open the Develop
menu
in the menu bar and select Enable
WebGL.
Here are some screen shots:
M'dina Cathedral Sacristy |
M'dina Cathedral Sacristy |
House Dar Ta'anna |
Convento Dei Cappuccinni |
Case Cutietta |
Case Cutietta |
I have added functionality to remove the water, the textures, and the lighting as desired by the user. My next task is to add an overview of Malta, and allow the user to see the overview of the location of the different cisterns, and then be able to select which one they want to view. I am very excited to get started on this project and I look forward to sharing the results! This is going to be my final project for our graphics class.
Amanda and I are working to develop a teaching module that relates to the history of water in Malta, and explains the importance of water conservation and various conservation techniques. We have created two activities that will be part of our two, 45-minute lesson plans.
The first activity is called Clothesline Timeline of Malta’s History with Emphasis on Water and Society. The students will be given a few paragraphs on different topics about Malta's history. A few of the topics include the Knight's of St. John, French occupation, and World War II. We talk about the history as well as more recent water events. The students will then summarize the topic with a few sentences and pictures on a piece of paper, including the name and date of the event. These papers will be put together on a clothesline or string with clips attaching the papers in the order the events occurred. The students will then introduce the topic they read to the entire class so everyone can learn about all the different topics.
The second activity is called the The Effect of Water Scarcity in Malta. Students will be divided into groups, which will be called “neighborhoods.” In each neighborhood, the students will have a set amount of paper water droplets representing their water supplies. The students will be given a sheet which allows them to select how often they use water (from showering, gardening, etc). They will then have to calculate how much water they use per day and determine if between their neighborhood they will have enough water in their supply. Since the activity focuses on Malta, water shortages will be faced. The students will have to brainstorm different water conservation techniques as well as different water collection techniques. The students will have a follow up homework assignment that provides data from water usage and consumption in Malta.
The learning objectives for this activity are as follows:
1. Further students understanding of water scarcity in Malta
2. Help students realize the importance of water preservation
3. Understand the effect of personal actions with relation to the water supply
Andrew is going to make a graphical model of this activity as part of his final graphics project, so we are hoping to add this as an optional online or take-home activity for the students.
Our activities will be combined with homework assignments and descriptions for the teachers. This teaching module is part of our final project for our global engineering course. Amanda and I are excited to continue our external research and learn more about Malta as we get further and further along with our project.
-Vanessa
HOBO Testing and Data
Hey everybody! Testing and preparations for Malta have continued at a rapid pace here at Cal Poly. We have now deployed our new Onset HOBO Conductivity and Temperature datalogger twice, and captured some great data. This data is going to be sent to Ian, who will be constructing some great 3D visualizations of it. Prior to doing so, however, the HOBOware software included with the datalogger can be used to quickly observe trends from the offloaded data. Here's a couple of plots generated with the HOBOware software:
The above plot was made with data from our testing session on the 16th of February at the PCV pool. The extreme drops in the conductivity readings (solid and dotted gray lines) relate to when the sensor was briefing pulled out of the water for various reasons.
This plot contains data from our most recent testing session, February 23, also at the Poly Canyon Village pool. One element of this plot which I, personally, did not expect to see is the battery voltage level (straight green line). This provides a level of assurance regarding the lifetime status of the logger, as well as the reliability of the measurements. When the battery capacity begins declining, the supplied voltage will begin to droop below the nominal value of 3.6V, indicating that the measurements may no longer be 100% reliable, and we will soon have to return the HOBO to Onset for battery replacement and recalibration.
We are planning to deploy the ROV one more time before our departure for Malta, but may not deploy the HOBO in order to conserve the limited battery life of the logger. Early data captures are indicating that the HOBO system will fulfill our needs, and provide reliable data.
Water Ways Website is up!
I can’t believe there’s only one more week until we leave for Malta! We’ve done a lot in the past couple of weeks to prepare. Yesterday, the whole Cal Poly team went to practice flying the ROV at the pool. It was great to get more experience setting up the ROV, which I hadn’t done before. I also got to practice driving it around the pool, while other people traded off taking sonar scans and Erik recorded the bearing, time, depth, and sketched out the pool based on the scans. Of course, it will be a lot more difficult when we’re in Malta and we can’t see the ROV when it’s in the cistern!
I’ve spent this past few weeks working on the Water Ways website. We are still waiting on the permanent server but for now we are using Omeka’s premium package to host the site temporarily. This means that we have to use one of Omeka’s “themes” for the layout and design of the site, and have extremely limited authority to change it. But, I was able to pick a good theme to match our projects goals. Although we still don’t have everything up, we have a great start.
The first step: finalizing the logo! With the input of the rest of the team and months of deciding, I finally settled on this final logo design:
Along the top of the website is the horizontal primary navigation bar. It has pages about the site, about our partners, our research, teaching resources, and a contact page.
About the site: I put information here about the “Water Ways” site, like why we are examining the relationships between water, society, and technology and why these topics help determine the future of the Mediterranean. I also put information about ICEX and the great experience it creates for engineering students to get practice working in a foreign country.
Partners: Here I listed the sponsors: National Science Foundation (NSF) and Collaborative Research Experiences for Undergraduates (CREU), and how their goals coordinate with our program goals.
Research: Right now, I have the research broken up into three groups: Data collection, Interpreting data, and 3D cistern visualizations. Inside data collection users can explore students at work, sites we visit, or the ROV sonar scans. Inside the 3D cistern visualizations, they can explore 5 different cisterns that we have collected data and created visualizations out of. Vanessa took screenshots from different views of her WebGL cistern visualizations to display on the website.
Teaching Resources: still under construction. Vanessa and I are currently working on the first Educational Module that will go here, which will be a two-lesson plan for 7th-8th grade Social Studies classes, incorporating Maltese water conditions in the past, present, and future.
The website is no where near complete, but we have a great start to showcase some of the work we’ve done so far. I’ll be working on it more, and will have a lot to add after I actually visit Malta next week!
Here's a screenshot of the homepage, which has featured and recent items posted. Check out the website here: icex.omeka.net
-Amanda
Making a list, and checking it twice
We are in the final countdown. It is less than a week before we board a plane for Malta! And so begins the frantic last minute packing. Early in the project, I took responsibility for buying, managing, and packing tools. After 4 trips to Home Depot, 5 Amazon orders, 1 GoPro order, 1 trip to a dive shop, and 1 camera store expedition I think we are in pretty good shape...minus one more trip to Home Depot. The Cal Poly team now has a great set of tools to diagnose and solve the most common problems that we may run into.
During a trial run, on Saturday, a nob on the control box got stuck. Fortunately, I purchase the more expensive hex set a few weeks ago with Standard and SI sizes. With a little tinkering we had the control box up and running in a few minutes.
This week I plan to run through my list of tools with some of our veterans to see if there are any last things that might be handy.
In addition, the Harvey Mudd team has a toolbox. Dr. Wood took a trip down to LA this weekend to pick it up. Once I receive it I will merge and remove duplicates.
I have also been designated team photographer. I will be bringing my Nikon D300, a couple of zoom lenses, some extra batteries, and a flash. I am so excited to take pictures and am glad that it is part of my official duty, since I would have done so anyways. Yesterday I ordered a new 2 terabyte external hard drive to store all of these pictures (from the GoPros and D300). This means that I can keep every image that I take and worry about deleting when we return.
Finally, I have begun to make a list of personal items to pack and will start packing later this week. I am trying to keep my clothes and other items light since I will be bring a lot of other things with me (as seen above).
I can't wait!
Duct Tape Fixes Everything |
During a trial run, on Saturday, a nob on the control box got stuck. Fortunately, I purchase the more expensive hex set a few weeks ago with Standard and SI sizes. With a little tinkering we had the control box up and running in a few minutes.
This week I plan to run through my list of tools with some of our veterans to see if there are any last things that might be handy.
In addition, the Harvey Mudd team has a toolbox. Dr. Wood took a trip down to LA this weekend to pick it up. Once I receive it I will merge and remove duplicates.
I have also been designated team photographer. I will be bringing my Nikon D300, a couple of zoom lenses, some extra batteries, and a flash. I am so excited to take pictures and am glad that it is part of my official duty, since I would have done so anyways. Yesterday I ordered a new 2 terabyte external hard drive to store all of these pictures (from the GoPros and D300). This means that I can keep every image that I take and worry about deleting when we return.
Finally, I have begun to make a list of personal items to pack and will start packing later this week. I am trying to keep my clothes and other items light since I will be bring a lot of other things with me (as seen above).
I can't wait!
Stereo Tests
Since my last post, the team has run several tests in the Poly Canyon Pool. We have tested all of the ROVs systems and software, including the sonar, the new HOBO data logger, the ROS logging system, and others. During two of the dives we also attached the GoPros to capture more stereo image for disparity tests.
After our tests we have made the final decision to use MatLab's built in disparity functionally to build our disparity maps. However, our images still require some pre-processing before they can be run though the disparity function. The first step is hand-selecting the best images. Then I crop, resize, color match, and align the images.
Next they are run through MatLab and exported as a gray-scale image. These images are then cropped once again, and finally ready to be used to create geometry.
Below are some sample images of our results.
Check back soon for more updates!
After our tests we have made the final decision to use MatLab's built in disparity functionally to build our disparity maps. However, our images still require some pre-processing before they can be run though the disparity function. The first step is hand-selecting the best images. Then I crop, resize, color match, and align the images.
Right Image |
Left Image |
Left Image After Color Match |
Next they are run through MatLab and exported as a gray-scale image. These images are then cropped once again, and finally ready to be used to create geometry.
Below are some sample images of our results.
GoPro Image |
Final Disparity Map |
As you can see, there is still a significant amount of bad matching. This bad matching is the result of un-unique areas in the images. You can see in the image below that all of the circled areas have similar features and colors.
We are less concerned about this happening in cisterns because of the type of structures we will be focusing on.
Our biggest concern for capturing data right now is lighting. When the ROV does not produce enough light, the stereo images are darker and have less contrast. With less contrast most of the disparity maps turn out noisy and unusable. We have purchase a 95 lumen dive light this year to help shed some light on our subject. I will also be bringing some diffusion filters to spread the light evenly over the surface. Unfortunately, we like likely not have time to test the dive light before we leave. I guess it will be another opportunity to learn by doing!
Check back soon for more updates!
Sunday, February 24, 2013
Welcome to my 2013 project!
Hi everybody! Zoe", Spencer and I have roughed out some of the details of my project for this year's trip. In this blog post I'll talk about some of my project goals, and the progress I have made so far.
First, a background:
Last year the team purchased two HD GoPro Hero 3 cameras and an underwater housing that holds the cameras side by side. In this configuration, the cameras can collect depth information which can be fed into the sonar model to reconstruct some of the finer details present in cisterns. While we already have some pretty good sonar generated models, our sonar head has a limited resolution. We would like to be as accurate as possible when reconstructing the intricate surfaces inside the cisterns we deploy into, so last year we attempted to fuse some stereo data into the cistern mesh using "disparity maps" and "projective texturing".
We had limited success with last year's solution due to the fact that some of the best disparity mapping algorithms around were not robust enough to handle compressed fish-eyed occluded underwater pictures with sediment floating around. In addition, it was difficult to collect a full set of pictures of the walls of cisterns. We learned A LOT last year, and have appropriately readjusted our goals for this project. They are as follows:
1) Reincorporate GEOMETRY data captured via stereo into the model as accurately as possible
2) Reincorporate COLOR data captured via stereo into the model in a visibly appealing way
This year, I will be working on #1, and Spencer will be working on #2.
In our advanced computer graphics class we have been discussing various geometric modeling techniques, and I have come up with a few ideas. We now have a pretty good way to produce disparity maps (MATLAB has a great built in function to cover this for us). We still plan to fuse the data in our disparity maps into the sonar model, but now we have thought of a better way to do it.
Disparity maps can be thought of as a 'point cloud', or, a way of representing a ton of discrete points in 3D space. To picture this, the x and y coordinates of each point in the disparity map are stored in pixel space in the image, and the z coordinate of each point is stored in the intensity of the color value in the picture. Here's a picture of an aloe plant, and its corresponding disparity map:
We have a ton of disparity maps from inside the cisterns last year, but in my program I have been playing around with the aloe plant because I like it. What I have done is set up virtual projectors in a model scene, which PROJECT a point cloud based on a disparity map that is loaded in. This program will be used to manually line up each point cloud with the mesh. Once all point clouds are lined up, we will write out their new position in 3D world space into a file. These new points will be snapped to a volume (a 3D grid of integer value cell locations), and the cistern model volume info will be added in. From there we can use a technique called ray casting to check which points in the added disparity point cloud should be included into the cistern model. After this, we will reconstruct the model's surface from the new volume data.
I know that might not make much sense right now... but as I make progress I will post TONS of pictures! The great thing is that I have written all of the algorithms necessary to complete this task, just independently of each other. This project will merge a whole bunch of smaller computer graphics projects I've worked on!
Here is a pic of my progress so far. I have adjustable/movable projectors projecting point clouds into one of the cistern models from last year!
I didn't really line it up here, but ideally we'd have cool features like stairs that we took stereo pictures of. The stairs would be turned into a disparity map, which would be turned into a point cloud, which could be placed in the scene in the correct spot. Then, we add the stairs into the model. That's the plan!
More to come later!
First, a background:
Last year the team purchased two HD GoPro Hero 3 cameras and an underwater housing that holds the cameras side by side. In this configuration, the cameras can collect depth information which can be fed into the sonar model to reconstruct some of the finer details present in cisterns. While we already have some pretty good sonar generated models, our sonar head has a limited resolution. We would like to be as accurate as possible when reconstructing the intricate surfaces inside the cisterns we deploy into, so last year we attempted to fuse some stereo data into the cistern mesh using "disparity maps" and "projective texturing".
We had limited success with last year's solution due to the fact that some of the best disparity mapping algorithms around were not robust enough to handle compressed fish-eyed occluded underwater pictures with sediment floating around. In addition, it was difficult to collect a full set of pictures of the walls of cisterns. We learned A LOT last year, and have appropriately readjusted our goals for this project. They are as follows:
1) Reincorporate GEOMETRY data captured via stereo into the model as accurately as possible
2) Reincorporate COLOR data captured via stereo into the model in a visibly appealing way
This year, I will be working on #1, and Spencer will be working on #2.
In our advanced computer graphics class we have been discussing various geometric modeling techniques, and I have come up with a few ideas. We now have a pretty good way to produce disparity maps (MATLAB has a great built in function to cover this for us). We still plan to fuse the data in our disparity maps into the sonar model, but now we have thought of a better way to do it.
Disparity maps can be thought of as a 'point cloud', or, a way of representing a ton of discrete points in 3D space. To picture this, the x and y coordinates of each point in the disparity map are stored in pixel space in the image, and the z coordinate of each point is stored in the intensity of the color value in the picture. Here's a picture of an aloe plant, and its corresponding disparity map:
We have a ton of disparity maps from inside the cisterns last year, but in my program I have been playing around with the aloe plant because I like it. What I have done is set up virtual projectors in a model scene, which PROJECT a point cloud based on a disparity map that is loaded in. This program will be used to manually line up each point cloud with the mesh. Once all point clouds are lined up, we will write out their new position in 3D world space into a file. These new points will be snapped to a volume (a 3D grid of integer value cell locations), and the cistern model volume info will be added in. From there we can use a technique called ray casting to check which points in the added disparity point cloud should be included into the cistern model. After this, we will reconstruct the model's surface from the new volume data.
I know that might not make much sense right now... but as I make progress I will post TONS of pictures! The great thing is that I have written all of the algorithms necessary to complete this task, just independently of each other. This project will merge a whole bunch of smaller computer graphics projects I've worked on!
Here is a pic of my progress so far. I have adjustable/movable projectors projecting point clouds into one of the cistern models from last year!
I didn't really line it up here, but ideally we'd have cool features like stairs that we took stereo pictures of. The stairs would be turned into a disparity map, which would be turned into a point cloud, which could be placed in the scene in the correct spot. Then, we add the stairs into the model. That's the plan!
More to come later!
Friday, February 22, 2013
Hardware Upgrades: a Design Excursion
Sunday, February 10, 2013
ROS scans at Cal Poly
During our last day at Cal Poly, we all went to the pool and took some scans. We had the chance to try taking scans with two sonars at the same time, here are the results (vertical scans on the left, horizontal on the right) in chronological order such that each scan was in a deeper section of the pool then the last:
I attempted to normalize the horizontal scans to all face the same direction but did not come up with convincing results. The compass on the robot was not calibrated which may have caused some of the confusion. However we can still gather some interesting results, for example the headings during the second scan (shown below) had a standard deviation of 86 degrees which would explain the large amount of noise in the scans. In the future scans like these can be filtered into segments for which the ROV was competely stationary.
I attempted to normalize the horizontal scans to all face the same direction but did not come up with convincing results. The compass on the robot was not calibrated which may have caused some of the confusion. However we can still gather some interesting results, for example the headings during the second scan (shown below) had a standard deviation of 86 degrees which would explain the large amount of noise in the scans. In the future scans like these can be filtered into segments for which the ROV was competely stationary.
Another issue to fix is that the range of the scans does not appear to be the full 5 meters as desired: the edges of the pool are barely visible. The problem seems to be in some of the sampling rate settings on the sonar that we must set manually.
Finally I put together a mosaic of these scans. However due to the range issue overlapping area was limited so mosaicing required a lot of guess work.
Friday, February 8, 2013
New Pacheco Outreach Lesson
This week was the first week of Lesson 2 of our outreach workshop in Pacheco elementary school. This year we changed our lessons from the previous years by introducing a new robot, the scribbler robot. The Computer Engineering department here in Cal Poly was kind enough to let us borrow 10 of these robots to use during our 3rd and 4th week of outreach.
These robots have a GUI software were instructions can be dragged and placed and that makes the programming of these robots fairly simple. Using this software, we have implemented a lesson plan to show the students a little bit more about how programming works and allow them to tell the robot what to do.
The concept of programming can be abstract to some of the kids so we are trying to improve the lesson so the kids can wrap around the idea of following instructions one at a time and seeing how the robot can only execute one instruction at a time. The whole in the middle of the robot is a spot to place a marker so that the path can be tracked and compared to the instructions that were given to the robot.
The kids all really seemed to like being able to tell the robot what to do and seeing the end result in paper. Though some kids were at different levels when it came to designing different paths and shapes, all of the ICEX students that went to help did a great job of making sure that all the kids were engaged and were getting something out of the lesson.
The next lesson will consist of using binary encoder robots that are also the same ones we will be taking to Malta for the outreach there. I love seeing all the kids super excited about robots and I hope we are making a difference with these kids and the kids we will meet in Malta.
--
Cecilia
These robots have a GUI software were instructions can be dragged and placed and that makes the programming of these robots fairly simple. Using this software, we have implemented a lesson plan to show the students a little bit more about how programming works and allow them to tell the robot what to do.
The concept of programming can be abstract to some of the kids so we are trying to improve the lesson so the kids can wrap around the idea of following instructions one at a time and seeing how the robot can only execute one instruction at a time. The whole in the middle of the robot is a spot to place a marker so that the path can be tracked and compared to the instructions that were given to the robot.
The kids all really seemed to like being able to tell the robot what to do and seeing the end result in paper. Though some kids were at different levels when it came to designing different paths and shapes, all of the ICEX students that went to help did a great job of making sure that all the kids were engaged and were getting something out of the lesson.
The next lesson will consist of using binary encoder robots that are also the same ones we will be taking to Malta for the outreach there. I love seeing all the kids super excited about robots and I hope we are making a difference with these kids and the kids we will meet in Malta.
--
Cecilia
Subscribe to:
Posts (Atom)