Table of Contents
Introduction to Robotics — Nov 2014-Dec 2014
About the Project
The Introduction to Robotics course covered the fundamentals of the meta-operating system ROS, as well as some basic algorithms for controlling behavior. Our final project was to write some sort of program for Baxter, the robot designed by Rethink Robotics. For our project, we used Image Servoing to identify a cup and then had Baxter's hand follow said cup.
The basic algorithm used to identify the cup was a Hough Transform algorithm. Basically, Baxter's hand looked for a circular object and followed it around.
Lessons Learned
While not very complex in nature, our project still took us a great amount of time. Our largest problem was figuring out how to connect our algorithm to Baxter's movements. We decided to use ROS with C, because our hough transform code was in C. But most of the examples and tutorials were written in Python. We had a difficult time finding useful resources, and as such, what we thought would be quick took a decent amount of time.
However, because we had to figure out most of these resources from scratch, I came away with a much greater understanding of ROS than if I had had tutorials to follow.
Media/Project Resources
Project Demo
Project Images
MyThinkSpace — Jan 2014-May 2014
About the Project
During my Junior year I learned of a class known as Startup Essentials, which basically went through how startups work and had students form groups of two to five people and start their own startup in a safe environment.
I and my partner’s first idea was to make a web application that allowed for collaborative writing between various parties. We needed to prove that our idea was a feasible product, so we held Empathy Interviews with our potential customer segment (writers).
We learned that a large amount of struggle in collaborative writing comes from the research involved. Collaborating on research and making research easily available was really hard. So, we performed our first pivot: instead of providing a place simply for writing, we would create an easy tool for collaborating on the research involved.
Our idea was a “virtual cork board.” People could keep boards with various media content and visually organize the content however they chose. They would also be able to draw connections between pieces of content. And, finally, these boards would be share-able between colleagues.
Armed with our new idea, we performed Problem Invalidation Interviews with various people. Since our product could now potentially be used for many different purposes - not just writing - we decided to interview large segments of people. This included mostly students and college faculty.
We performed 9 interviews in total and discovered that people really didn't struggle with collaborating or sharing resources with each other. Some people who worked on labs struggled with it, but for them it was mostly due to a complex paper trail, and our service was geared more towards digital content.
So, we decided to slightly change direction. Instead of the sharing and collaboration, we focused on the organization. As students we were quite aware of the struggles of staying organized, especially while working with others. We also understood that with the vast amount of specialized cloud services, related project items could be just about anywhere and everywhere. Our new idea was simple: allow people to bring their cloud services together and view all related items at once. In other words, a one-stop shop for all of their organizational tools. So we had another round of Problem Invalidation Interviews addressing our newer problem.
For this set of interviews, we were only able to interview 4 people in time. However, our success with these interviews was much better. We actually found people wishing for the system we were hoping to make without them knowing that it was our desired product!
We refined our idea based on the feedback received in these interviews to be, at a high level, mind-mapping software for research/project materials.
With a business model and idea that seemed to be on the right track, we moved on to making a Minimum Viable Product(MVP). For our MVP, we made a short video trying to show basic idea of our product. We made a quick and dirty app in Processing - with very little actual functionality - and explained it uses. We posted the video to YouTube and then shared the video on Facebook and other various social networks. We also showed our MVP to people in person. Our initial in-person showings gave a small glimmer of hope - people agreed that the product was interesting, but wanted to see more before “buying in”.
After a few weeks we began a second MVP, a newer, more professional-looking video. Once again, we promoted it on social media, but with more fervor than our previous attempt.
At about this time, we also entered our product in the CU New Venture Challenge as part of our course. We had to write an executive summary of our product for submission and also had a first round of feedback from a preliminary judging round. It was a great opportunity to show off our product to real Venture Capitalists and entrepreneurs.
At our preliminary judging round, we received a great response from the judges present. One even asked to be a beta tester. We also checked up on our video about a week after posting it. It had garnered about 18 Facebook Likes and 31 views on YouTube.
So, we began our third MVP, a call for beta testers. We put up a website with some screenshots we designed and created a Beta Sign Up Form. We once again sent it out on Social Media and then waited to see what traction we received.
During this time we participated in the New Venture Challenge Pitch Competition. One judge (a different judge from earlier) really liked our product and seemed genuinely interested. By the end of the class, our first MVP had garnered 21 views, our second had 37 views, and our website had 45 views. People we had talked to previously also contacted us to find out how the app was coming.
Lessons Learned
In the end, we ended up not building the app. However, I learned a lot about the process of starting a startup. Like many, I thought most people built a product and then threw it out to the sharks to see if it would fair well. But my experience in this class gave me a much better grasp of how creating a startup should work, and best practices for making a startup. One key point was not getting too attached to any single idea. Take an idea and run with it, but be willing to tweak it or change it dramatically. All that really matters is the original vision remaining intact in some way.
I also had a lot of practice in this class giving presentations, stepping outside my comfort zone, and collaborating with other students. I learned techniques for generating ideas and finding out if those ideas mattered to anyone. Overall, the class was a great experience.
I also learned, however, that I am not very fond of the startup experience. Prior to this class I had no idea how startups worked and was extremely curious and eager to learn more. I quickly learned that the startup culture did not appeal to me as much as I thought it would. Of course, if I found that perfect idea that I really would do anything for, then I would probably be thrilled to be in a startup. Honestly, startups rely a lot on passion and dedication. Giving up is always easy in a startup: you just stop. It is only the truly dedicated who go on to create the next Facebooks and the like.
Media/Project Resources
MyThinkSpace Screenshots
Downloads and Links
Computer Graphics Project — Oct 2013-Dec 2013
About the Project
For Computer Graphics, we were expected to create a scene using OpenGL and C. I created a basic one-story house with no windows or doors. To make the more complex objects I found OBJ files and fixed their lighting and texturing in Blender. I then imported these objects into my scene.
Lessons Learned
I think the biggest thing I learned from this course and this project is that I am not too interested in the low-level workings of computer graphics. Coding objects through OpenGL, and the mathematics of lighting and shadow, were not very interesting to me. The interactions of users and the applications brought to life through graphics are what I care about.
This course helped to push me towards my interests, and for that I am grateful.