\ Dish-n-Dash - Design

Design

Our approach to creating an automated waste sorting system

Design Criteria & Functionality

As we planned out the project and began working on it, these were some of the goals we set for the overall design of the project:

  1. Robot should be able to detect object in the bowl, whether it be an apple, banana, orange, fork, spoon, or cup, and properly classify it as either a food item or utensil item.
  2. Robot should be able to detect the bowl and compute a proper offset from the centroid to grasp the bowl.
  3. Camera should be properly calibrated such that the robot can reach the bowl and pick it up.
  4. Robot should be able to properly tilt the bowl such that the object within the bowl drops into the correct category bin.

Design Choices & Tradeoffs

  1. Bowl - We decided to use a bowl to pick up the objects instead of directly picking up the objects. We found that using the bowl allowed us to pick up a variety of different objects regardless of their size.
    1. Tradeoff: Since the edge of the bowl was very thin, we needed to modify the gripper by adding an extra cushion. This allowed us to reach the requirement of actually being able to pick up the bowl.
  2. RealSense Camera - We chose to use the RealSense Camera as our vision source, as opposed to the cameras attatched to the Sawyer itself and AR tags. We chose not to place an AR tag on the bowl/object itself because that would make classifcation of the object difficult (the object would get occluded with the AR tag). With the RealSense camera, we are able to get the depth information, allowing for pixel to point conversion.
    1. Tradeoff: The camera calibration is very sensitive. In order to properly compute the transforms between the different frames, we need to manually calculate the translation between the robot frame and camera frame everytime. This is prone to human error.
  3. Fixed Bin Location - We chose to fix the locations of the compost and utensil bin due to limitations of the camera view.
    1. Tradeoff: Flexibility.
  4. intera_interface & MoveIt! - We chose to use inverse kinematics and motion planning through the intera_interface package and the MoveIt! pipeline.
    1. Tradeoff: The process to run the entire trajectory can sometimes be a little slow.
  5. Fixed Joint Angular Velocity for Tipping - We chose to simplify the tipping trajectory by limiting the movement to only rotating joint 4 after reaching a standard fixed starting point.
    1. Tradeoff: This limits the range of motion of the robot, so the robot can only tip objects into bins within a certain distance from the robot.