Journal #1 - Monday, June 03, 2013 - Sunday, June 09, 2013
I spent most of this week reading papers related to Motion Planning as well as discussing them during the meetings held on Wednesday and then Friday. On Monday we had an REU lunch and a tour of the campus, which reminded me of the highs school tours I did before coming here.
On Friday, we had an REU Pool party with free pizza so it was pretty fun. Afterwards a lot of the REU people from different departments hang out together and talked about all of what we did on the first week. On Saturday, some of the people in the group and I watched a movie in the theater we can reserve in the Traditions. We watched 21 Jump-street as suggested by Aaron and although we had a few technical difficulties setting it up, the movie itself was very enjoyable and it was also my first time watching it.
Journal #2 - Monday, June 10, 2013 - Sunday, June 16, 2013
This week I continued on the main crash course but also began getting ready for my actual project this Summer, which was explained to me on Monday. I have fallen a bit behind on the reading for the Crash Course I am also putting extra time after my lab (and a bit this weekend) to make sure I am ready for the meeting on Wednesday while not leaving my other responsibilities (i.e., reading background papers on Group behavior) for later so that I may start on my actual project soon.
This week I finished revising standards for a file that Jory had assigned me to review and then went over the procedures for checking in the changed file into svn. Afterwards, he gave me a small coding assignment to make a Random Neighbor Finder. Instead of starting right away I decided to hold the coding assignment until after I was done with the Crash Course discussion Question for Wednesday. The meeting on Wednesday went pretty well as I had prepared myself a lot for the discussion by reading both the chapter and the code beforehand.
On Thursday I did the coding assignment, it was very fun to finally get to code some on PMPL since as a Computer Engineer I love programming. On Thursday we had a REU meeting in which Dr.Backslapper explained the application for Early Admissions for Graduate school, and the benefits of it to those involved in the REU program this Summer. Also after the talk by Dr.Backslapper, four current PhD students had an open discussion for us to ask about graduate school. It was very interesting as I have already been planning to apply for graduate school. Preferably I would like to apply to PhD as Research is really something I have been wanting to do for a while but I am not sure if my application would be strong enough to get in for PhD so I was also thinking of Master with Thesis. Either way, it was an interesting talk
On Friday night, some of the group and I went to watch Man of Steele, the tickets for students are very cheap and since the REU students get a hr credit they also qualify as students so a lot of us got to come. On Saturday morning I had to wake up very early to go to Houston as it was Father's day weekend and I stayed there until Sunday night
Journal #3 - Monday, June 17, 2013 - Sunday, June 23, 2013
This week was the last official week of the crash course. On top of the usual crash course material, I also had three different deadlines for the REU program, namely the research proposal, the website and the ethics training. This weekend I need to find 3 papers to show Jory and see if he approves of them for my literature review. As I am (mostly) done with the Crash Course, it will not take the majority of my time any more. Therefore next week I should get some progress done on my project for the Summer.
On Wednesday we discussed Samplers, particularly (Probability Road-map, Expansive-Space Tree and Rapidly-expanding random Tree). I had never heard of the EST or RT method before so the chapter and the discussion about it were really interesting to me. On Thursday I worked on the website throughout the day whenever I got some ideas on what else to add. I also worked on my research proposal by fixing the errors and adding a works cited section as suggested by Dr. Amato. On Friday, I kept reading the paper and began answering the questions for the discussion later that day. I underestimated the time it would take me to fully understand the paper and answer the questions. Although I did answer all the questions I felt like I was not nearly as prepared as for previous discussions we had. This will help me plan out my schedule more appropriately next time.
This weekend was one of the most fun and most productive weekends I have ever had. Motorola came to Campus as a part of this event called MAKEwithMOTO. In this event they are trying to test the idea of "open hardware". They brought a lot of rooted Android phones(with an Arduino board attached to the back of them), 3D printers, laser cutters, motors, sensors, servos, etc and told us to make something cool. Something that someone, anywhere might need. On Friday we were there from 6 until 10 (Dr. Amato allowed me to leave early on that day) brainstorming ideas, picking our group and project, etc. In my group there were two Electrical Engineers(Ryan and Andrew), one Aerospace Engineer (Patricia), one Computer Scientist (Wally) and me (Computer Engineer).
On Saturday we were there for 12 hours just working on our project as much as we could. Our project was about making an automated security lock for bikes. Wally and I spent most of the day coding (and eating the free and surprisingly good food). Since I have more experience in hardware and particularly firmware than Wally, I was in charge of the system that combined the Arduino commands, done by Andrew and Ryan with the app Wally was working on. This entailed being able to receive a message from the Arduino and send a message to the user's phone through the Wally's app. We had two "check-ins" on Saturday in which we had to talk about our current progress and our challenges. Other teams and the people in charge of the event also gave us comments on what we were doing. This helped us keep focus of what is important and what is do-able on the short amount of time we got.
By the end of the project we had a lock (which was modeled and 3D printed by Patricia) that was operated through a servo which was controlled by the Arduino whenever the system on the bike received a lock/unlock message from the app. Also it would set up an alarm if the lock was tampered with and send a message to the app saying that the lock had been broken. It would also send its current coordinates to the app. At 3:00 pm we had to do a live demo with people watching us through Google Hangouts. Sadly our hardware was still very delicate as we did not have time to solder anything so while moving the bike to show it some wires came off and we had to do a quick fix mid-live show to get it working. Overall though, it went very well and we got to keep two rooted Android phones with the Arduino boards in case we wanted to keep working on it in the future. This whole experience taught me a lot about teamwork and how much we can get done even in just a day and a half when so many smart people join up to make something they are excited about. For photos and videos of the even you can visit MAKEwithMOTO's Google+ Page
Journal #4 - Monday, June 24, 2013 - Sunday, June 30, 2013
This week was the official start of my research and I began by looking into the old Frontier Exploration code. My goal is to add it to the new Group Behavior code. I have to make a better abstraction of our current code as well as think of the sensors and information sources necessary for it. In addition to this I also had three papers to read and present for the final part of the Crash Course.
The first paper I read was "Swarming behavior using probabilistic roadmap techniques" by O.B. Bayazit. This paper was about using PRMs (particularly MAPRM) with dynamic edges in the implementation of group behavior techniques. The second paper was "Negotiation and Cooperating in multi-agent environments" by Sarit Kraus. In this paper they talked about the benefits from using other disciplines (i.e., physics, game theory, sociology) in the study of DAI. In particular they mentioned negotiation and cooperation techniques using knowledge from these other fields. The last paper I read was "Shepherding behaviors in multiple shepherds" by Jyh-Ming Lien. The main contribution of this paper was using multiple shepherds to better control large or difficult flocks.
This week I also began writing the code for the new Frontier Behavior and it proved to be a bigger challenge than I thought. My code depends on a lot of stuff that is not yet written and not yet specified. So I have to write it as generally as possible so that is easy to change if the actual implementation is different than what I imagine it to be. I feel like I made good improvement though. Next week Andy will be back so I can ask him exactly how he is planning to implement the rest so I can finish what I have and start on a new one.
This weekend I stayed in College Station so I was able to hang out with the other REU people. We went to get some frozen yogurt after work and later we went out for some chicken strips at Layne's which is a locally famous chicken strips place. On Saturday a good group of us went Ice Skating for a few hours and then a few of us went to play pool as the Traditions has a pool room.
Journal #5 - Monday, July 01, 2013 - Sunday, July 07, 2013
This week I finished the frontier behavior code, but I am yet unable to test it as the code necessary to actually run and test behaviors is not yet completed. I started working a bit on the classes and functions necessary to get something showing but is yet far from done. Andy came back this week so Jory, Colton, Karen, Daniel and I all had a meeting with him so that we may discuss the proper hierarchy of the classes. Jory had asked me to prepare some questions so I had my questions ready for Andy and it was overall a good meeting that got me started on the code and helped me understand better how the code should be implemented
This week was 4th of July so we had Thursday off. Our mentor, Jory, had a BBQ at his house so a few of us in the Parasol lab went there to pass 4th of July. Afterwards we went on campus to see the fireworks. We had originally planned to go the George Bush Library which is where the fireworks were being held but it was too late and we figured it would be packed already. Instead we went to a large parking lot on campus and just saw the fireworks from there.
Journal #6 - Monday, July 08, 2013 - Sunday, July 14, 2013
This week I continued working on setting up the required elements to test my Frontier Behavior work. I finished the frontier behavior code last week so this week I have been focusing just on trying to add the necessary components for testing. I.e, implementing PMPL withing the Group Behavior code, how would the input file ideally look like, the desired abstraction hierarchy, etc.
On Wednesday Andy sent us the hierarchy of which class owns and has certain objects. (i.e., The agent owns a motion model). This helped a lot. Now I can set up a test input file that goes according to what Andy, Jory and Sam are planning for the new Group Behavior trunk.
This week I also did the Progress Report and 5 week evaluation for the REU and the DREU. In the beginning I was a bit annoyed that I had to take time out of my day to work on this when I could be working on finishing my code. But after writing it I realized that it helped me put into perspective what I had been doing this past 5 weeks, particularly in comparison to my Research Proposal.
Jory assigned Daniel to help me finish setting up the missing classes. After I finished the simulator class Daniel and I split the remaining parts. I told Daniel to work on the Load functions for Agent and Local Planner while I work on the Load function for Global Planner. For now I am merely adding a PRM-based Global Planner since it is easy to implement (most, if not all, of the necessary functions are within PMPL). I should finish the Load function of the Global Planner early next week. This should allow me test and fix any errors that might be within the frontier behavior code.
Journal #7 - Monday, July 15, 2013 - Sunday, July 21, 2013
This week I finished the testing elements necessary to test Behaviors. Last week I finished setting up a lot of the background framework (agents, motion models, simulators, etc) so this week I focused on making an actual testing scenario. I also added my first working Sensor and Information Source to work in-par with the Frontier Exploration.
Since I had done a lot code on the basic framework for different classes (and adding new classes) the past few weeks so on Monday I checked in my code. This allowed the rest of my group (Colton, Daniel and Karen) to look at what I had done and begin work on their individual assignments. On Monday I finished setting up the testing roadmap for Frontier Exploration and checking in the code.
Once I had the Frontier Exploration code running I added the first working Sensor and Information Source (vision sensor/info source). By Friday morning I thought I was already done with testing and I had a nice gnuplot showing how the agents were moving on the map. I checked in my code again (after asking Daniel to check for stds) and right as I was ready to move on I began finding a lot of bugs. It took me all day Friday and part of last night to completely debug the code and on Monday I will be doing my final check-in as part of Frontier Exploration.
Next week I will start helping Colton and Daniel with the graphics of Group Behavior. I am not exactly sure what I will be doing for graphics so I will have to discuss with Colton and Daniel to see what is currently missing and what do they need from me. Hopefully having a basic graphical interface to better show the agents moving won't take too long so I can work on a a different Behavior soon.
Journal #8 - Monday, July 22, 2013 - Sunday, July 28, 2013
This week I turned in my early graduate admissions application, finished my first behavior, sensor and information source. I helped Colton a bit on Graphics although for the most part him and Daniel already had most of the stuff working. I have started on Evacuation Behavior which is a much larger behavior and hopefully I have something showing by next week. Now that I have most of the testing elements done I can focus for the most part only on the behavior so it should be smoother and faster than the last behavior.
I began the new behavior by reading the old code for evacuation. This code is much larger then the last one and you can see the serious need of proper abstraction. A lot of the variables that should be only for evacuation behavior are put for all the agents and all the environments. This causes a lot of code bloat and is hard to read or expand.
Once I had an idea of how to start the Behavior I went back to my frontier exploration code to see what pieces of code could I re-use. I then began to move some functions around so that the Evacuation Behavior is as small as possible and re-uses as much code as possible. I have started to write the code and the hardest part right now is how to properly implement areas (safe, dangerous, exits). Jory said they should be a shared information source. Although I do understand how the areas should work, I am still a bit confused between the connection from exits to safe areas. I am going to read the old code some more this week and hopefully it can click fast so I can have something showing soon.
Next week I need to focus on finishing Evacuation Behavior, doing my abstract and final paper for the REU and beginning my poster. I asked Theresa if I could bring my laptop to show the simulations so that people can better appreciate the behaviors but I am not sure if she will let me.
Journal #9 - Monday, July 29, 2013 - Sunday, August 04, 2013
This week I finished Evacuation Behavior, and I started doing the final deliveries for the REU. We (Karen, Daniel and I) turned in the poster abstract on Wednesday and have started working on the Poster. Theresa still has not answered as to whether we can bring laptops to present simulations or not so I think they answer is going to be no.
I spent the first few days of this week finish Evacuation Behavior. I wrote a few testing environments changing the number and placement of exits and safe areas and it behaved just like expected. It works specially well with Daniel's RVO local controllers as long as the exits don't get jammed.
The last few days of this week we have been working on the poster. On Saturday we received feedback from Jory so we are currently still working on it. On Monday we are going to do a practice presentation and hopefully we will not need to change too much as we also need to work on the paper.
Next week I need to focus on finishing the poster and doing the final paper. These two are the last deliveries for the REU.
Journal #10 - Monday, August 05, 2013 - Friday, August 09, 2013
This is the last week and it has been super busy. The main focus this week was on the poster and the paper. We presented our poster on Monday (practice to REU), Wednesday (practice to Parasol), on Thursday (science department) and Friday (engineering department). I think I am now much more comfortable presenting that I was before. Presenting this poster has allowed me to grow as a presenter and I can now express my ideas while talking much more clear than before. Due to focusing so much on the poster we procrastinated writing the paper and we still have not finished it.
Overall this summer has been a great experience for me, and I have grown as a researcher, a presenter, and a computer scientist. Thanks to this Summer I am now considering graduate school more than ever as it showed me the benefits of doing research in something you honestly enjoy.