15-494/694 Cognitive Robotics:
2019 Final Project Ideas

Inter-Room Path Planner

  • Extend current path planner to generate more complex navigation plans with explicit doorway passage steps.
  • Replan if a doorway is blocked.
  • Maneuver effectively in tight quarters.

Cozmo's Magic Dream House

  • Navigate between rooms using the inter-room path planner.
  • Navigate between floors, using the elevator.
  • Modify the world map viewer to display rooms and room names.
  • Operate the elevator by pressing a button.
  • Move objects around within the house.
  • Produce a cool demo.

The Kidnapped Smart Robot Problem

  • The "kidnapped robot problem" is when a robot is picked up and moved to a new place, and must then figure out where it ended up.
  • The cozmo-tools particle filter responds to this by randomizing the particles and trying to use landmarks to re-localize. But what if no landmarks are visible in the camera image?
  • This project will develop smart strategies for searching for landmarks to help the robot self-localize. This will involve moving both the head and the body.
  • The problem is more difficult when the robot is in a tight space because collisions with walls or objects can throw off its odometry.

Neural Net Line Follower

  • Train a set of neural networks to allow the robot to follow lines on the floor made from colored tape.
  • Basic network follows a straight or gently curving line.
  • Another network detects forks in the road.
  • Another network guides the robot to take the left fork (or the right fork).

Transfer Learning: Gesture Recognition

  • Use a pre-trained deep neural network as the hidden layer for a new, rapid feature learner.
  • See gesture recognition demo at the Teachable Machine.
  • Teach Cozmo to recognize hand gestures using the GPU.
  • Links: Teachable Machine source, and news blurb.
  • The original version of Teachable Machine used SqueezeNet. The current version appears to use MobileNet.

CIFAR-10 on Cozmo

  • The CIFAR-10 dataset contains 6,000 images of each of 10 object classes (cars, planes, birds, etc.)
  • Deep learning models have achieved up to 96.5% accuracy on a separate test set.
  • PyTorch includes the CIFAR-10 dataset. Implement a deep learning model on Cozmo and use it to allow Cozmo to recognize novel images in the learned class.

Forklift Attachment

  • Write code to visually detect and dock with a pallet using the Hexnub lifting kit attachment.
  • Pallet detection could be done with a convolutional neural network.
  • Modify the path planner to model the shape of the robot with the lift attachment; this is necessary for accurate collision detection in the RRT search algorithm.

AruCo and Custom Marker Detector

  • Similar to the cube detector exercise, but look for AruCo and custom markers that are partiall out of the camera frame.

Vector Robot Support

  • Vector is a more advanced robot than Cozmo, with a similar SDK.
  • Vector includes a higher resolution camera with a wider field of view, a laser rangefinger, a capacitive touch sensor on the head, and a microphone array.
  • Modify the cozmo-tools package to support Vector.

Fun With Quboids

  • Quboids are cardboard cubes with custom markers on the faces and magnets inside.
  • Design lift attachment for capturing and dragging quboids.
  • Assemble quiboid structures using the magnets to snap them together.
  • See the 2017 projects for an initial take on this idea by David Kyle; there is room for refinement and extension.

Chip Manipulation

  • Chips are the size of quarters or poker chips and can be pushed around with a lift attachment.
  • Since we can only push, not pull them, the path planner must be restricted to make only shallow turns.
  • The current path planner has code for this that is not completely correct.
  • It would be useful to design other chip manipulation operations, such as flipping a chip.

Dave Touretzky
Last modified: Mon Jun 5 03:15:58 EDT 2017