A Collaborative Pick and Place industrial application using ROS gear interface

Developed a ROS package which uses two UR10 (Universal Robots) to simulate a pick and place industrial application for kit building

The project can be found on github. This project is a collaborative work of 6 people as part of my graduate coursework ENPM809B : Building a Manufacturing Robot Software System

My Role and Responsibilities

I worked on the majority part of the project. My main contributions were,

  • Collaborating with group members and brainstorming ideas in approaching solutions for the problems.

  • Converting ideas into working code with little debugging and high readability.

  • Making the code very generalized and robust by implementing reusable methods,

  • integrating individually developed methods by group members into one single complete package.

  • Keeping track of all programming changes with version control.

  • Unifying all individual ideas and merging into the pipeline while making sure the pipeline is properly augmented.

  • I contributed towards every part of the project including Sensor Blackout Challenge, Unexpected Dropping parts Challenge, Quality Check Challenges, Pose correction challenge, Flipping part challenge, Order-Update challenge.

  • Worked on installing sensors according to our requirement.

This ROS Package can perform the following tasks

  • This package builds multiple kits for the Final Project based on the requirement.

  • It builds entire kits based on the order.

  • It handles the sensor blackout while still continuing to build the kit.

  • It has the abilty to detect faulty parts and replace them. Also implements a smart strategy on how to deal with faulty parts if there is a sensor blackout.

  • It also checks for the updates to an order.

  • It identifies sudden drops of parts during pick and place. Also implements smart strategies to correct the pose of dropped parts even during sensor blackout.

  • It takes smart decisions between modifying the current kit or building a whole new kit if that order is updated.

  • It implements smart strategies to preserve the belt parts while updating an order.

  • It takes the help of other arm to flip the parts if required, as described in the order.

  • The robotic arms help each other if one of them is not able to reach a part while building a kit.

  • It can build multiple orders with at most two shipments each.

  • It assumes multiple waves of conveyor belt parts (at least 2 waves)

See how it works

Check for faulty products and replaces them with good parts. Handles sensor blackout challenges very well

Handles in-process Order updates while kit building. Smartly removes unwanted parts, modify poses of useful parts, adds new parts based on the update