Chores are boring - specifically laundry. Alfred does them for you.
What it does
Alfred follows: If a human is in the frame, Alfred tracks them. If you move left or right, Alfred will turn so it can see you. If you move towards Alfred, it backs up. If you move away from Alfred, Alfred follows you.
Alfred fetches: Alfred navigates the space around it to find an item of clothing, moves toward the item, picks it up with its arm, puts it his secondary storage container, and then navigates back to you to drop the item off.
How we built it
Spatial analysis for navigation is done with the Kinect which then communicates to the base running on ROS. An Arduino controls the arm. We built and integrated an IOS app for the user to switch between modes.
Challenges we ran into
The typical approach to working with the Turtlebot is to ssh into the onboard computer to either teleoperate or autonomously navigate. However, the constraints of the event network made this connection extremely slow. We made custom networking code with python raw sockets to bypass this so that the Kinect analysis was able to communicate with the moving base.
What we learned
We learned how to integrate Microsoft technologies with the Robot Operating System (ROS).
What's next for Alfred
More commands! If there are multiple people in the frame, we want Alfred to recognize you and follow only you.