.:: Previous Week ::: Next Week ::.
Week 2:
~ Monday, June 4 ~
I met Kristine today. Kristine is another CRA DMP student who will be working with Jessica on motion capture data and the perceptual issues of the uncanny valley. I showed her around Newell-Simon Hall and Wean Hall, introduced her at the mocap lab and enjoyed talking with her. Her unique summer experience started out with the necessity to befriend sponges and other household applicances to clean up all the mess that was left in her apartment from the previous tenants.
Running a script that distinguishes between the two Wiimotes: the light on each indicates which one is the first controller and which is the second |
I have been reading information on WiiLi.org about what people have done with Wiimotes: my particular interest was in what kinds of scripts people have used. Most of the scripts are written for games, although I liked the one that let you distinguish between the multiple remotes by lighting a different LED on each.
It seems that we would be able to easily get acceleration data using GlovePIE commands, however, there's no way to store the data in an output file. At least I don't think so... I will ask the experts at WiiLi.org but for now I am going to start exploring Wii C++ API for Windows.
The description on that website had a lot of terms I am unfamiliar with... The good ones to remember are:
API (Application Programming Interface) or simply the code that a computer system or a program library provides for a program that uses it.
HID (Human Interface Devices) also known as mice, keyboards, joysticks, etc. Thus, the Wiimotes are also in this category.
~ Tuesday, June 5 ~
Brrr... the weather is cold! It is rainy and windy, just like in Hawaii during the winter :)
The last few weeks I tried to allocate time to attend meetings, presentations and talks that were held on campus. They have covered a variety of topics and problems, which I didn't even know existed. I realized, that this internship, in addition to giving me a wonderful opportunity to gain research experience, also gave me a chance to be submerged into the world of professionals from who I can learn a lot.
This morning I got a chance to attend a thesis oral: a student from CMU was defending his PhD thesis on probabilistic planning for robotic exploration. I was very excited to see the actual format of defending a thesis and a level of work and preparation that were required to do the presentation... I believe that the more I know about what to expect from graduate school, the more prepared I will be to do my best, when I will be the one defending my thesis.
After the presentation I downloaded Lunar Lander, a program (Visual Studio solution) that used "a simple set of C++ classes that allow you to connect to your Wii remote through Windows' HID interface to send and receive commands" (it sounds a lot more complicated than it actually is :) ). However, because I had an older version of Visual Studio on my PC, I had to work on Takaaki's computer. Together we have set up the code, downloaded all the necessary libraries and tried running the game... Well, for some reason, which we couldn't figure out for the first 3 minutes, the game wouldn't start at all. This is when the attentive reading of the code comes in handy: the window with the game appeared only if the wiimote was connected to the PC. Otherwise, the user got no game and no warning. I really wish the code had more comments to ease the understanding of how and what the functions are actually doing! Makes me appreciate my professors at UHH making the insertion of comments almost a habit!
Graphics people's weekly meeting concluded this busy day. It was Takaaki's turn to present: he was describing his doctoral thesis and showed some impressive videos on how they made a real (human height) robot perform a traditional Japanese dance. Cool!!!
~ Wednesday, June 6 ~
The day started off with Ramesh Raskar's presentation at the Intel Research Center (right across the street from where I work). The talk was very interesting, presented some great and refreshing ideas and introduced innovative approaches to cameras and projectors. It made me interested in Computational Photography and I hope to attend Raskar's course if I go to the SIGGRAPH conference.
Today I finally got answers to the questions about recording acceleration data from wiimotes: not only is it possible but I now have a GrovePie script that does it! I quickly removed the commands that dealt with Nunchuks and ran the script to test how it works. Later, I had to adjust some more parameters (like, how many zeros should be outputted when you pause data recording). I recorded the values holding the remote at different positions: facing straight up, upside down, on its side, etc. By examining the contents of the acceleration file I noticed that the values sometimes are off: for example, in the middle of all the positive numbers, we got a negative number :( So, if we chose to use GlovePie we would have to clean-up the files first. I also found out that the maximum number of wiimotes that GrovePie supports is 8 but some Bluetooth devices can handle only up to 7.
The rest of the day was spent trying to install Visual Studio 2005 on my PC. Poor computer didn't have a disk that had more than 870 Mb to spare. Generally, this computer is used for video rendering, so it has a lot of huge files stored in it. Luckily, I found a person who had a 3 Gb folder left on the computer. She was able to move it to her PC and I got 2.2 Gb necessary to install Visual Studio's essential C++ components. Now I am all set to write my own code using Wii C++ API for Windows.~ Thursday, June 7 ~
Another day that started off with a great presentation. Jovan Popovich was a graduate student at CMU and he is now an associate professor at MIT! I was very happy that I got a chance to talk to him about graduate schools before his presentation. He explained some very good aspects, which I should consider when deciding whether or not to go to graduate school. We talked for probably half an hour but I felt like I've learned years worth of information!
After the presentation I researched on how to compute the distance from a sensor bar to the wiimotes. Right now we are not using the sensor bar but it's worth learning about what we can do with it, because we may incorporate it into our research later. The fact that we can use it to calculate depth can be combined with the acceleration data and probably used in a simulation... Just an idea.
Since Takaaki was using the wiimotes I couldn't use bluetooth on my PC (an issue that was brought up to Jessica's attention during the meeting). He showed me his simple C++ code to test the controllers, which displayed acceleration data on the screen. Since the code was supposed to work with IR I suggested trying it out with a sensor bar.
What is a sensor bar?
The sensor bar is powered by the Wii base unit, and contains 2 groups of IR [infrared] LEDs, spaced 7.5 inches apart (quoted from Wiili). The bar is misleadingly called "sensor," when in fact it doesn't sense anything: it's only purpose is to emit IR light. Using IR it is possible to estimate the distance between the wiimote and the "sensor" bar.
Takaaki showed me a cool way to test whether the sensor bar is actually on. Inside the bar there are 5 infra-red LEDs on each side, and since any camera phone can detect IR beacons, all I had to do to check whether the sensor bar was on is to look at it through my phone's camera. After I set up everything on my PC, Takaaki turned on the sensor bar and left me working with code. Very soon I was able to isolate the portion of the code that was outputting the IR data on the screen and after quick research I figured out how to properly orient the remote so that it sees the LEDs and starts recording data.
At the end of the day we had a meeting with Jessica. Jimmy, the fantom guy working with us on this project, was finally able to attend this time. We all discussed our progress and plans for the next week for when Jessica will be out of town. Takaaki will be busy writing his simulation and I will be working with Jimmy trying to simultaneously record the information from the wiimotes and the mocap cameras. Using this information we should use the nearest neighbor algorithm to find and display a similar pattern found in the mocap database. My other miscellaneous tasks for next week include figuring out where to put the wiimotes on the subject's body, how to make them stay without wobbling, which computer to use for the acceleration recording, etc.
Takaaki at work: Remote 1... ready... connect... Prepare Remote 2... ready... go... |
After the meeting I suggested that we test the devise capacity of our Bluetooth. Takaaki and I got two more wiimotes from Jessica's office and with a total of 6 wiimotes we ran the Wii C++ test. We were able to successfully connect only 5 wiimotes (even though Bluetooth would sometimes recognize the sixth one but never connected to it).
~ Friday, June 8 ~
Most of the day today I worked with SSH (Secure Shell) trying to move my website onto the CMU server. However, because File Transfer was disabled I had to figure out how to copy directories from Windows to Linux. After reading several FAQs and talking to Manfred I came to the conclusion that I should not resume my attempts to move the website until I can find a Linux machine that I can use.
Hmmm, I guess I haven't introduced Manfred yet... Manfred is from Germany and he is getting ready to write a thesis for his diploma (in the US it is equivalent to being a second year PhD student). He is here for the summer and his research is in robotics. I was really amazed by how much he knows about robots (well, I guess when you are the main go-to person who assists people working on different parts of the robot, you would learn a lot).
The rest of the day was spent filling out travel request forms for the SIGGRAPH conference. The thunder and rain outside made me wonder whether I would have to spend the weekend at home because of the storm.
~ Saturday, June 9 ~
Hurray! It's the weekend! And it is a beautiful day: sunny, no clouds and a nice light breeze :)
I stopped by the lab to see whether anyone was stuck in there ;) and after not finding anyone I headed downtown for the Three Rivers Art festival. The artworks were really beautiful: lots of paintings, handmade crafts, clothes, woodwork and much more. I took lots of pictures, got my feet wet in a fountain and got to see the Sneak Peak preview of Ratatouille. I then went on to explore downtown, took a train to South Hill Village, cruised around in a big mall and came back to Pittsburgh to enjoy a live concert at the Market Square. It was a nice day full of adventures :)
.:: Previous Week ::: Next Week ::.