Project Overview

3cups-gif
*3 Cups Tower Demo*

This is a ROS project developed as part of the ME495 - Embedded Systems in Robotics course at Northwestern University.

The goal of this project is to use the BAXTER robot to build a "HUGE" tower from plastic cups.

My role in this project was image processing using AprilTags. I implemented AprilTag detection using the apriltag_ros wrapper package and published the cups' transformations so that the Baxter would detect and keep track of the locations of the cups.

Demonstration

10 Cups Tower

10 Cups Tower Demonstration

6 Cups Tower

6 Cups Tower Demonstration

6 Cups Sorting

6 Cups Sorting Demonstration

Project Details

Gazebo Simulation

gazebo
*Gazebo Simulation Environment*
  • Baxter Simulator
  • Tool utilized to test code without a real robot
  • Get the position of the cups with get_model_state service
  • Set cup pose with set_model_state

Rviz

rviz
*Rviz Visualization*
  • MoveIt to set the planning scene and Rviz visualizer
  • Set the positions of the cups and tables
  • Add objects to the scene
  • Return information about the scene

Robot Control

control
*Robot Control Interface*

Let one hand first place what it’s grabbing, then let the other hand grab the next cup to place.

Computer Vision

cv
*Computer Vision Setup*
cvr
*Computer Vision Results*
  • We used apriltag_ros, which is a ROS wrapper of the AprilTag, to get x, y, z positions of the cups.
  • We mainly used Baxter's right-hand camera for tag detection, but we provided options to use the left camera or the head camera.
  • simulator.py, which is a MoveIt Python API, converts tf data to x, y, z positions and adds positions and visual cylinders that represent cups to the scene, which can be seen in Rviz.
  • arm_control nodes use those positions for Baxter's tasks of sorting or building cups.

Project Team Members

  • Dimitrios Chamzas
  • Dong Ho Kang
  • Yuxiao Lai
  • Gabrielle Wink