Saturday, July 16, 2016

Trevor Russo, Weeks 3 and 4, Finishing My First Node

When I started off the third week of my time at CMU, I felt like I was a long way off from learning how to code and accomplish my goal of creating a program for taking pictures and turning them into 3D Models. By the start of the fourth week I had already created a program that would subscribe to a camera and take pictures with a user's input and save them to a folder. This progress was possible due to a few factors. When Venkat and Dr. Likhachev came back from Berlin, they thought that the daunting task of three programs in one would be a rude awakening. Instead, Venkat decided to change my project to a simple ROS node, that wouldn't require me to use any of the Point Cloud Library that I had been preparing me for. This ROS node would subscribe to a camera, for example a Kinect, and ask the user if they would like to take a picture. Then a picture would be taken, displayed on the screen and saved in a folder for later use. I was able to write the User Interface pretty quickly, but the taking of the picture and the subscribing of the camera was a lot more difficult than I had expected. Fortunately, after some interrogation of the other interns in the lab, I was able to learn about callback functions, which are special functions that are designed to wait until the user calls upon them. Still, I felt like I was having some trouble, so I asked Shivam, another intern in the lab, for some advice, and as I outlined my code on the whiteboard, he told me that I had already basically finished. That got me to realize that my biggest barrier was not actually my level of skill, but that they were mental ones instead.
My ROS node displaying the UI and pictures that I had taken
After finally finishing my first project, my next task was to turn these many pictures into 3D models. Thankfully, I didn't have to create this program, but rather find some software on the internet that would help me accomplish my goal. The one I wanted to use, Autodesk 123D Catch, unfortunately doesn't work on a Linux computer, so I had to find another free solution. After a lot of searching, I settled on Insight3D, but only because it was the only program that didn't cost 200 dollars or ask me to install 7 different programs on top of compiling the main one. Unfortunately, it hadn't received an update in 5 years, so compilation proved to be a nightmare, with bugs popping up every time I told the computer to finish compiling. Fortunately, after some extended help from Venkat, I was able to finally install the program and test it out on some sample pictures of buildings. It will be a while until I can actually take photos with my program, as the PR2 robot is currently being updated by Venkat and our Software Engineer, Andrew.

Outside of the lab, I've been spending a lot of time with the two other interns, Joe and Shivam. They are both a part of a special program called the RISS, which is an 11-week paid internship in one of the robotics labs in the Robotics Institute. These past couple of weeks I've gone out to lunch and dinner with the two of them a lot. In addition, I spent the 4th of July at Joe's house, where we had some Chinese food and waffles in town and spent the evening shooting cups with a Nerf gun. And last weekend, I was talking to Shivam, who is from India, and he told me that he had never gone to a baseball game, to which I suggested that we go see the Pirates play the Cubs on Sunday. It was awesome to get to explain all the rules to someone who had never gone, and I even got to chat with some fellow Red Sox fans (I didn't have any other things to wear, so I wore my David Ortiz jersey). 

Top: Our view of PNC Park; Bottom: Shivam and I enjoying the game
Although my time at CMU got off to a slow start, I've really enjoyed my time here, and I'm somewhat sad that I only have 3 more weeks left. Being in a city by myself has been really fun and the real-life coding experience that I have received is probably going to be really valuable in the future. I hope everyone else's time at their labs has been going as great, as its been weird to see people finishing their time up while I am still working.

No comments:

Post a Comment