I spent part of my freshman year and my last summer in Penn’s GRASP Lab working with robots. I was on the UPennalizers robot soccer & research team which programs humanoid robots to play soccer. We attended the 2012 RoboCup (the World Cup for robots) in Mexico in June and ended up as quarter-finalists.
Before talking about my experiences, a brief background about the GRASP Lab, my team and the RoboCup (this is not an advertisement, but I am still on the team and we do look for people enthusiastic in the field all the time). The General Robotics, Automation, Sensing & Perception (GRASP) Lab of University of Pennsylvania, was founded in 1979 by Ruzena Bajcsy. As indicated by the name, the GRASP Lab fosters projects varying from autonomous vehicles building to robots swarms study. One cool thing about the GRASP Lab is that unlike most college robotics labs, it provides study and research opportunities for undergraduates, even freshmen (like me last year). The UPennalizers RoboCup Team is among these perfect chances for a rookie to know what REAL robotics work is. It focuses on control and decision making for legged robotic agents and participates in RoboCup every year. RoboCup is an international robotics competition that draws teams from all over the world to build and program robots that play soccer. It consists of many leagues, and the one the UPennalizers participates in is the Standard Platform League (SPL), wherein all teams are required to use the same type of robot. That means a team’s performance is only based on their programs.
How did I get on the team? At the end of the fall semester in my freshman year, I decided to find some robotics work to do, mostly just for fun. Following a suggestion from my academic advisor, I sent e-mails to every Penn professor with robotics projects. Dr. Daniel Lee, the advisor of UPennalizers, was among the few professors who replied and he introduced the team to me. Getting in is no hard work: UPennalizers was, and still is open to anyone; as long as you are willing to spend the time struggling with robots, you are welcomed.
To start is always the most difficult part. Soon after joining the team, I started learning basic robotics and existing codes MYSELF. Yeah, with few programming experiences in Lua, the ‘weird’ programming language used by the team, I started to learn robotics. Of course I could always get help from old team members, but no one had enough time to explain everything. Today, having come through this process, I feel robotics is something one can get familiar with either by going to tons of lectures or by playing around with real robots. Apparently the latter is more efficient, both for me and the team. I still remember someone saying when I first joined the team, “If you know how to program, you’ll be fine in robotics.” It sounded crazy, but he was RIGHT. After some hard work in the spring semester, I was ready for deeper humanoid robot research in the coming summer.
Working on robotics in summer was more intense and professional: all team members gathered everyday and each worked on a different part of the project. Basically, to make four robots collaborate and play soccer, you need to worry about many things, from lower-level motion and cognition tasks (how a robot moves, sees objects) to higher-level localization and behavior designs (how a robot knows his position, when to defend, when to attack). Malfunctions in any sub-module result in bad team performance. My research area was vision, which helps robots to see crucial objects (ball, goal posts, and field lines) during a game. The way a robot sees things is quite similar to how humans perceive the world: First high speed cameras (eyes) take pictures of the environment; then the processor (brain) receives these pictures and divides them into colored blocks; finally to recognize objects, the processor checks for colored blocks with certain shapes, for instance, the soccer ball is a red circle and goal posts are yellow rectangles. Specifically, I did two things over the summer. First, I improved the camera driver so that our robots could take pictures more quickly (from 20 p/s to 30 p/s); second, I improved the line detection algorithm: the robots can better locate the lines they see. The real cool part of the summer was the RoboCup in late June. It was in Mexico, where I have never been to before. Game day schedules were crazy: though we only have few games a day, we had to spend a lot of time debugging and adjusting our codes all the time. Fortunately, the game stadium closed for 6 hours every day and that stopped us from working 24 hours a day. During the games, our robots usually saw the ball and goal posts faster than opponents due to the improvements in vision, leading to several scores and victories. We ended up in the quarter-finalists, which was acceptable. After RoboCup we had some free time and toured around Mexico City. We ate a lot of delicious (and quite cheap) local food, which made me never want to eat Mexican food again in the US!
Today I am still on the UPennalizers team. The annoying freshman rookie with tons of questions has turned into an old member answering questions from newcomers. Here I would like to share what I’ve learned: First, from a year’s experience in robotics, I know what academic research is like and I know I am not bad at it; Second, I learned how to deal with frustrations. To be honest, ‘what??!!’ happens much more often than ‘Oh Yeah!’ when you are dealing with robots. I cannot say how, but I managed to come through and become familiar with them. Third, I learned how to trust. My partners just left the whole vision part to me, a freshman with not much robotics background, and gave me the freedom to change anything in the area. Their trust really pushed me forward. Now I will carry on this trust and pass it to new people in the team. Finally, I learned quite a few professional things, from computer basics, to programming skills, to general robotics. This learning is still ongoing, and one won’t get the chance to know all these cool things from classes, especially for an Electrical Engineering major like me.
In conclusion, a year’s experience in Penn’s robot soccer team was not easy, but it was full of exciting and fun moments. It is very rewarding, and definitely worth the time I put in. I feel lucky to have found an opportunity to learn and research in an area I am interested in, and I highly recommend freshmen and sophomores to be bold when pursuing academic interests. You’ll most likely be exposed to a wonderful world.