I have been working on mobile robot navigation for an autonomous service robot project. During the Fall semester, the navigation team was able to successfully enable the robot to navigate the hallways, albeit with quite a bit of last minute hacking. This past semester, I have been continuing work on the navigation system as an independent study research project and I was able to actually achieve robust navigation!
Viewing entries in
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.
Robots are complicated and don’t always work correctly. That is why it is often far easier to do robotic design work in a simulation – they work perfectly every time there. Previously, our RoboCup team did not have any easy simulation tools, especially for testing behavior algorithms or strategies, which often require all the robots to be running for useful analysis. So, I took it upon myself to try and build such a simulation.
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.
Have you ever thought about how hard it is to walk? It's not something we often think about but, in reality, walking is incredibly difficult! Each step takes coordination between your brain and all the muscles in your legs. Each muscle has to move and contract in the proper sequence to move your leg out, place it on the ground, move forward, and repeat....