This project was all about designing a robotic system from the ground up that could do various tasks. We were given a standard hardware platform and had to create all of the core functionalities and integrate them together. I was part of the navigation group and helped give our robots the ability to navigate in the real world. I also worked on designing a framework for specifying complex tasks in a way that the robot could understand and execute.
Viewing entries tagged
A few weeks ago I had the chance to attend RoboCup 2016 in Leipzig, Germany. RoboCup is sort of like the World Cup, but for robots. Various teams from around the world bring their robots together to compete in robotic soccer as well as all sorts of other events like search and rescue, the Amazon Picking Challenge, industrial logistics, and home service.
There are many different soccer leagues but the one that I was a part of was the Standard Platform League (SPL). This league requires all teams to use only Aldebaran Nao robots and the competition involves programming them to play soccer autonomously.
If you have read my previous post you will know that I recently built an automated ball catcher and programmed it to track and catch a ball. In this post I will talk about the software behind making the catcher work. The structure of the software can be broken down as follows: initialization, image analysis, flight path analysis, and cart control.
Launch a ball. Track the ball. Catch the ball. It is a simple concept - one that we humans learn at a very young age while playing ‘catch.’ But to get a robotic system to perform similar actions is a very different game. In this project I will talk about how I built and programmed my own autonomous system to track a ball in flight and catch it in an autonomous cart.
For one of my classes at Penn, I got a chance to learn all about how to make quad copters autonomous. All the 'drones' that have been becoming popular recently are almost all radio controlled, with some of the more expensive ones having a few layers of autonomy between it and the user. But for this class, we wanted to figure out how to make the quad completely autonomous - we wanted to get to a specified point without hitting obstacles with no other human input. We can do this by breaking this problem into three smaller parts: control, obstacle avoidance, and motion planning.