Research Journal

August 3 - August 9
Thursday - I presented my research for the Parasol group on Monday and at the USRG Symposium yesterday. This week, we are wrapping up our work and deciding what we are going to do during the school year. We are going to submit our paper to IJRR and to ICRA, so we need to revise those papers. Maybe I will get to go to New Orleans and Florida next spring!

July 27 - August 2
Tuesday - My boyfriend, JC, proposed to me Friday night. On August 27, it will be three years since we began dating. We're thinking about getting married next July.

The weekend wasn't just celebrating, however. :) I did get some work done. I added a method that counts the number of steps a module would have to take to get to the entrance cell of a pocket rolling clockwise or counterclockwise. That way, we can send modules to roll the shorter direction. It was more complicated than I had expected and had a few bugs in it. Copying and pasting code isn't always the safest thing to do.

This week, I am working on editing the journal paper and my USRG paper. I'm also going to practice my presentation.

Friday - I'm going home in a week, and I'm starting to get sad about leaving. I'm going to miss the research, I'm going to miss the lab and A&M, I'm going to miss my mentors, and I'm going to miss the other students. I spent the week finishing up my presentation and working on the USRG paper. I made several new figures for the presentation and for the paper. On Monday, I give my presentation to the Parasol group, and on Wednesday, I present to the USRG students. My paper is due Wednesday. Over the weekend, I'm going to cut down the paper because it's three pages too long.

July 20 - July 26
Monday - Last week, Jenny noticed that we don't need several chunks of code we had written for ordering the cells in the pocket. We had been making the process much too complicated. So, over the weekend, I commented out those parts of the program, and it works! The much simpler algorithm works as efficiently and correctly. Today, I tested the new algorithm against our old one, and they both had the same results. The good is that our algorithm is much easier to describe and more elegant. The bad is that I spent a long time coding those parts we don't need. I am happy that we have a more elegant solution now, though.

Today, I went to a seminar on checking the validity of data received from a second-hand source. I was happy because it was interesting and I followed a good portion of what he said. The speaker was Glen Nuckolls a Ph.D. student graduating in September from the University of California at Davis.

Tuesday - Jenny has simplified the algorithm yet again! Today, I am going to change the algorithm in the simulation to test our assumptions. I would be working on my paper for the USRG, but with our algorithm changing daily, whatever I write will be outdated tomorrow. I also shouldn't be making movies of the simulation because the simulation is constantly changing. I don't want to make figures and movies demonstrating our algorithm when they don't actually portray our algorithm.

Friday - I updated the simulation, so it will read an obstacle from a file instead of clicking the obstacle each time. I spent a long time finishing my power point presentation. My presentation for Parasol is August 4 and my presentation for USRG is August 6. I captured video of the simulation, but I can't put it on the web until our paper is published.

July 13 - July 19
Monday - I am working on editing the paper using vi. It is causing me some trouble. Every time I try to press backspace (which is more than I thought I did) it does what I think of as delete. So it is deleting several characters after the cursor before I realize what it's doing. My other problem occurs every time I forget to switch modes. I try to type something and end up executing a command instead. Or I try to type a command and insert text instead.

We are continuing to write the journal paper this week. I am working on making pocket figures for the paper and adding pocket definitions.

Wednesday - Last night, the USRG held a practice GRE test. I didn't know as much of the vocab as I thought I would, but I got more of the math problems right than I thought.

Ross, an undergraduate working in the lab, showed me how to use gvim, another word editor. Gvim has made my life so much easier! I can press backspace again, and I can click with the mouse where I want to edit! I have been making lots of figures with xfig and editing them to fit in the paper. I am getting used to the LaTeX commands, and I am enjoying editing the paper.

July 6 - July 12
This week we've been testing the simulation and writing the beginning of the journal paper. I am learning to use the vi editor. It's actually a lot less complicated than I had thought. I usually try to use mostly shortcut keys in other word editors, so this will be good after I learn all of the commands. I was going to find out how to use cvs or rcs so Jenny and I aren't editing the paper file at the same time, but Bonnie told us that cvs would merge our sentences together. It should only be used for programming.

Last week, I finished the online class I was taking on SQL, so I signed up for a web applications class this week.

I've been trying to find a good screen capture program to make a movie out of the simulation. So far, I've only found ones that capture the screen once a second. Because the modules move every fraction of a second, the movie misses most of the steps. I will put up some movies of the modules moving into interesting configurations as soon as I find a suitable program.

June 29 - July 5
Over the weekend, I finished the simulation, or so I thought. Monday, Jenny showed me simple examples she found where our algorithm doesn't work. The algorithm we had spent the last four weeks working on and coding into the simulation doesn't work. We spent hours finding a new algorithm. With Nancy Amato's help, we came up with a new algorithm that works for all cases we have found and actually does more than the old one. We had been planning on devising a different algorithm to handle a complex kind of pocket later this summer, but the new one handles those complex ones as well.

Because we have a completely different algorithm now, I am going to be frantically programming the simulation to run the new algorithm now. The summer is disappearing, and there is much more work to do now.

Tuesday, we formalized the algorithm, and tested it several times. We also went to a USRG luncheon where I presented my abstract. At 5, I went to a USRG seminar on resume writing.

Wednesday and Thursday, I spent all day working on the simulation. Friday, I went to Austin to celebrate the Fourth of July with Bonnie and Olga, two DMP students. We had a great time.

Saturday, I worked on the simulation and actually finished getting the algorithm implemented!

June 22 - June 28
Monday and Tuesday, I worked on the algorithm for the order cells in a pocket of an obstacle should be filled. It involved determining the priority of the cells, putting them into a priority queue, and then taking them out when appropriate. It went much quicker than expected.

Tuesday night I made another web site for the metamorphic robots. This web site is very basic, and it just includes a brief introduction to the topic and the papers published by the group about metamorphic robots. I'll put a link up to it when it's approved.

I read a very dense paper on the speed at which metamorphic robots can move on Wednesday. I also went to a seminar on parallel computing and met with Jenny to discuss some ideas about pockets in the obstacles.

Thursday, I wrote most of my abstract for USRG. The research students with the DMP at Texas A&M are participating in the Undergraduate Summer Research Grant program as well. The USRG requires an abstract, final paper, and presentation. The abstract is due Thursday of next week with a little presentation on it. Jenny is improving some of the code she wrote for the simulation, so I am waiting to modify that part to work with pockets in obstacles.

Friday, Jenny and I talked about some situations our algorithm doesn't consider. We are trying to come up with a methodical way to describe the new situation and a way to handle it.

I spent a very enjoyable weekend in Dallas.

June 15 - June 21
I finished writing the code to allow modules to exist outside of the screen area. I wrote several methods used to determine if a pocket, or indentation, in an obstacle is admissible (allowable).

I spent Tuesday writing some code to keep track of which cells are contacting each pocket cell. The rest of the week I worked on determining which pocket cells should be filled first. The simulation needed to know which cells were pocket cells and their relations, so I constructed a graph over the pocket cells. I also figured out how to select the pocket cell to be filled last. I used the graph to give the cells level numbers, so the simulation would know how deep the cells are in the pocket.

June 8 - June 14
Monday, I finished reading a few papers about research related to our topic. Tuesday and Wednesday, I spent reading through the simulation code. I also spent some time editing one of the methods to catch an error if the hexagons will be off the screen. Previously, it had just thrown an error and tried to continue even though it would not work. Now it gives the user a message telling them where to move the goal. I am trying to make it so the hexagons can go off the screen and not be displayed until they move into the screen.

June 1 - June 7
I finished the papers I started last week, and I started several new ones. Researching involves reading many papers.

I am trying to learn how to use Linux. The computers in the lab only run Linux, and I only have a little experience with it. In Operating Systems, I had to write programs on Unix machines, but I didn't learn enough. I should be pretty knowledgeable about Linux after this summer.

I am also looking at the simulation programs that go along with the papers. I will be writing the next simulation program, so I need to understand how the previous ones work. This week and next week, I will also be working on getting one of the previous simulations working.

I spent the weekend in Dallas with my family. We went to Grand Prairie to a flea market to look at classic cars.

May 26 - May 31
I moved to College Station from Dallas on Monday. I spent most of the week moving into my apartment and doing administrative things around campus like getting keys to the lab, a computer account, and a parking pass.

On Thursday, I met my mentor, Dr. Jennifer Walter, and some of the graduate students at Texas A&M. Dr. Walter told me about the basics of the project and gave me some papers to read.

I read Kinematics of a Metamorphic Robot System by Chirikjian, a paper about the properties of planar, hexagonal metamorphic robots. The paper is a good starting place for understanding the robots.

Next, I read Distributed Reconfiguration of Metamorphic Robot Chains by Jennifer Walter, Jennifer Welch, and Nancy Amato (the mentors I am working with). This paper draws from the system laid out by Chirikjian but alters and improves some of the aspects. The main focus of the paper is describing algorithms for moving a chain of the robots into a chain of the same orientation to a different place or moving the chain into a chain of a different orientation into a place that intersects with the initial place. The paper also describes what goal configurations are possible.

Then, I read of Concurrent Metamorphosis of Hexagonal Robot Chains into Simple Connected Configurations by Walter, Welch, and Amato. This paper extends the ideas in their previous paper by giving algorithms to transform linear chains into "blobs" instead of changing into a different linear chain. The algorithms for moving into an arbitrary blob are much more complicated. I haven't tackled the second half of this paper yet. Working on this web page is much easier.