.: Project Journal


.: Week Ten - 9/6 - 9/10

This week was pretty boring. I had some trouble with my final report; it seems like most students use a research paper written by their group or something similar as their final report, and I don't have anything like that. However, after asking for help I was able to come up with an outline that I think will work. It took a really long time to write though - much longer than I thought. I also filled out my travel expense reimbursement spreadsheet, refined some bits of my website, and just wrapped up all the loose ends. I'm glad I did this program - not only did I learn a lot about the subject matter I worked in, but I learned a lot about myself - what I want to do, where I want to be, and just more about what I want out of my life.

.: Week Nine - 8/30 - 9/3

One of the biggest challenges I had in arranging my DREU experience was finding an apartment. I have a pet so I couldn't live in the student housing, so I definitely needed an apartment. I also had to have a major organ surgery with a long recovery in May when most students were beginning their research jobs. I wasn't able to start mine until the beginning of July, as that was the earliest I was able to travel after my surgery. That meant that my research experience extended into when school started for Berkeley (My college runs on a quarter schedule, so school doesn't start for me until the end of September). Because of that, I wasn't able to find a sublet that lasted my whole experience, so I have to move out this week. However, my mentor said I could finish up my research experience from home - primarily just writing the report and finishing up logistical things.

Therefore, this week was partially spent moving. I couldn't do the whole drive in one day, so we split it up into two. It was actually quite fun, as we got to drive for a while in wine country, then see the redwoods, and then finally stop along the coast for the night. The next day we made it into oregon after a couple hours.

After settling back in, I've started catching up on all of the things that I put off. I've been doing some more work on my website so I'll be ready to submit it next week, and have start working on my final report. This is proving to be quite challenging - many previous students have used papers written by a research group they worked with as a final report, but I don't have a resource such as that. My project was a bit more unconventional, and I'm not too sure how I'm going to write a complete report on it.

.: Week Eight - 8/23 - 8/27

This was a pretty frustrating week for me. I still had very little idea how to even begin to check the Jacobian at the beginning of the week, but eventually I realized that simply using the code we already have and eliminating unnecessary parts would be the best approach. I was also able to get some pointers from Soren on this, which was very helpful.

I wound up creating a brand new sample skeleton file - this is a text file that creates a 'skeleton' of sorts, by basically listing points in space that define a set of 'bones'. This was actually one of my favorite things this summer - it was really interesting to learn how to and then to create my own .xsf file, especially since there are very few resources on how to do this.  I then had to mess with the code quite a bit until it would accept my very simple skeleton file, which I edited to replicate an example out of the textbook. The it turns out the program was hardcoded in many areas in a way that made a small skeleton impossible to use, so it was quite a job tracking down all of the problems. However, I was able to, and wound up producing an incorrect (compared to our calculations) Jacobian. Whether this is an error in my skeleton file or the code or simply how I'm interpreting it remains to be seen.

The last day of the week I spent working with Ram to get the code working on his computer. Basically we had to take everything I did in 6 weeks and do it in one day! Since I had already done it (through trial and error..) and fixed the code so it worked and the executables ran, it didn't take that long and we got most of it working. I also did some serious packing this week, because I have to move out of my apartment very soon.

Week Seven - 8/16 - 8/20

This week I spent primarily figuring out more about the code. Ram has spent a lot of time throughout this summer explaining the math behind the articulated tracking, and I feel like I bit of an idiot - I'm sure he's explained the same thing to me ten times, and I think that i understand it at the time but then later realize that I missed a lot. I guess that's just how it works though - I'm missing a lot of background and context for some of it, and so it takes a while to understand! I'm finally starting to really get at least what is going on in the code though.

Once I got the executables working, Ram wanted me to go through the code and find out where each step of the articulated tracking was happening. At first I was a little panicked - I had some very vague ideas but there were so many things going on and what looked like duplicate places where the same thing was being done that it seemed like there was no way i'd be able to figure it out. However, after staring at it for a very long time and tracing through with the debugger, I found where I thought everything was happening. I then talked to Soren about it for confirmation. It turned out I was wrong about some of them (not surprising), but I actually had the right idea.

After getting all of that figured out, we wanted to check and see if the Jacobian was being computed as we thought it was in OpenTissue. The code doesn't seem to be doing what it should (or at least not as well as it should), and Ram suspected that the Jacobian may be the problem. So, he suggested I take an example from a textbook I read at the beginning of the summer and try to duplicate it through the code, and see if the code produced the correct answer.

I had a short work week this week because I am taking off on Thursday to go visit some family in Chico.

.: Week Six - 8/9 - 8/13

I made a lot of progress this week! I ended last week with a successful build (finally!) and this week I got the executables up and running. I was able to spend a lot of time chatting online with Soren, the visiting scholar who wrote the code a while ago. He helped me figure out what parts of it that I didn't understand were doing, as well as how to actually run each of the executables and what they were doing. When I build I still get about 50,000 warnings, but he showed me how to eliminate the only important ones and a way to cut down on the rest - just a simple change in the make file.

After chatting with Soren, all of the executables were running except for two - and one of those is unfortunately the most important one. I was able to trace through using the debugger that evening and the next day though, and eventually found the error and wound up getting it to work. The other executable still didn't work though, and it wasn't even catching an exception; it would just report an error as soon as I tried running it. It seemed to be a .dll issue, and I was a little afraid of messing around with that too much. So, I asked Ram if he could help me take  a look at it.

We spent quite a bit of time doing that, and went back and rebuilt OpenTissue using CMake to make sure we weren't missing anything there. We wound up finding the issue, but it would have been a huge pain to fix. After finding out from Soren that that specific executable wasn't very important, we decided to proceed without it.

I also spent this week planning a weekend trip to Chico to see some family. I'm really excited about it, because I haven't met some of them and the others I get to see very rarely. I think I'll be taking the Amtrak train, which will be a new experience.

.: Week Five - 8/1 - 8/7

I had a really nice weekend. I think the neatest thing about spending the summer in a completely new area like this is how easy it is to find new and interesting day trips. We went to Napa Valley on Saturday as planned and toured the Castello id Amorosa winery. It was one of the coolest things I've ever done - the winery is built as a replica of an Italian castle, and has a huge maze of tunnels underneath for storing wine.

On Sunday we went to Lake Chabot. It was really nice and warm (but not too hot!), which was a change from the cold and overcast summer we've had at Berkeley. It was absolutely beautiful. The lake grounds were really crowded with picnicking people, but once we got on the lake there were only a couple other people there. The drive there and back was especially beautiful!

It was kind of tough to go back to work on Monday after such an awesome weekend since I was so frustrated towards the end of the previous week. Luckily, Ram solved my problem for me relatively quickly. It turns out I was missing OpenCV - that's where all those files I needed were. Once I got that taken care of, a lot of the errors vanished. However, I still had a lot of them left. I spent the rest of the week tracking them down - there was one file that I just could not fix and wound up editing the code differently about 5 different times before I found the right solution. There were also still some randomly missing header files that seemed to be missing from visual studio itself, so I spent a while collecting all of those.

While I was doing this it gave me another good opportunity to get a little more familiar with the code. While I spent the week Ram was gone really going through it and studying it, actually trying to fix errors and understand how the files work together made it a lot more clear. Finally, at the end of the week I had a successful build. I still have a ton of warnings, but I'm not sure if many of those are important. I've also started talking to Soren more and emailing him specific questions about the code, and he's been very helpful. I'm hoping to be able to start getting the executables up and running next week with his help.

.: Week Four - 7/26 - 7/30

After my somewhat disastrous previous week, I decided that maybe using my desktop machine at work would be the best choice. It already has visual studio, so that made things much easier.

I transferred everything over (once again) to the desktop machine, and began gathering the different programs I'd need. Predictably, I ran into problems at every step of the way. I don't really have a ton of experience with C++ or with using and compiling different libraries and open source programs, so this probably took a lot longer than it should have because I made a lot of mistakes and didn't understand a lot of errors. However, I definitely learned a lot about the different programs and libraries I wound up using.  At the end of the week, I ran into a bunch of problems though that I can't figure out - I'm hoping Ram will know what to do next week. I think I'm missing a bunch of source and header files, but I'm not sure where to get them/what kind of package they're in.

.: Week Three - 7/19 - 7/23

Ram was at a conference in Singapore this week, so I was on my own. I got a copy of the articulated tracking code, along with the email address of the person who wrote it. It was really nice to have his contact information - there's nothing more frustrating than trying to figure out code someone else wrote.

The code is written in C++, which I've used before but not extensively. I spent a while just browsing through the code to figure out what was going on. On a high level I think I get what it's doing - on a lower level I have not a clue. But I don't think I need to; I think a basic understanding of it is what's important right now. One of my biggest challenges this week was figuring out how I was going to deal with the code. Visual Studio seemed like the best bet, but I don't have it on my Mac. I brought a PC with me as well, but it's old and has absolutely no battery life.  I started out on my Mac, trying to install CMake and everything to build the code. Then I realized how many extra things I needed to install and get to compile before I even started on the real code, and decided that Visual Studio was the way to go.

I then reawoke my PC after months of hibernation, only to find that I had left it in a virus-ridden state. I dealt with the best I could and started transferring everything over and installing CMake. I also needed to get a program called OpenTissue to compile - which of course required other programs itself to compile. It was like recursive program dependencies and it was very confusing and frustrating. Finally, I wound up with an approximate idea of everything I needed to install and found some good websites with tutorials for doing so. I was starting to work on this and making a little bit of progress, when my laptop started having some issues apparently I didn't take care of all the spyware and viruses that were floating around.

.: Week Two - 7/12 - 7/16

This week was more interesting. For the first half of this week, I finished up some more paper reading. It was a little easier to get through after reading the other material, but I still felt like some of it went over my head. Later on in the week, though, I got to go to the teleimmersion lab. We captured some data for Ram to use at a conference he was going.

Then later in the week we went back to capture some data for a visiting professor. His research involves robotics and walking - specifically, how to make robots walk like humans. For this data, we each put on the motion capture suit and

Information for the teleimmersion lab can be found here. We each put on a motion capture suit and walked across the floor several times. After 2 days of this, we spent some time looking at the data. We could see the points that had been attached to our legs walking, but only the points (we had them on our feet, at our knees, our hips, and a couple on our torsos, thighs, and calves). What was really neat was that you could identify who each video clip was, simply from a few points moving through space.

.: Week One - 7/5 - 7/9

I left Oregon little less than a week ago to begin driving down here to California. It was a really long drive, but we got to stop and see some family along the way to break it up a little. I spent the weekend alternately moving into my apartment and exploring San Francisco and Sausalito.

Even though I'm not working with any other DREU students (or even any other undergrads), I'm living with one. She's working for a different professor, and soon after being accepted to the DREU I was able to contact her and we decided to be roommates. We found an apartment through a friend of hers.

My first day of work was spent meeting with my mentor and the graduate student I will be working with - Ram. We then ran around campus trying to get all the administrative stuff set up, which is still unresolved. The rest of this week I read. A lot. All of my research background has been in HCI and a little bit of computer graphics, and I haven't had the math classes necessary for understanding a lot of what we do with particle filtering and articulated tracking. I read a few very math-heavy research papers and a couple chapters of a robotics textbook to get me started. It was really hard to get through the reading, but I feel like I understand so much more now. >