Skip to content

SupreetKurdekar/Adaptive-Manual-Assembly-Tracking-and-Guidance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adaptive Manual Assembly Tracking and Guidance

Introduction

The idea behind this project is to create an interactive system between a human and a computer that efficiently tracks the assembly process without hindering the workflow of the human operator. This simple tracking system can save many hours of laborious video annotation that is traditionally required in the process of assembly sequence optimization and design for assembly prototyping.

While such systems already exist most of them are stuck to one rigid predefined assembly sequence. This system allows one to explore different assembly sequences, to select bad sequences, remembering them for future users and also affords the user the opportunity to return to a feasible state in the assembly.

Connectivity Graph

The assembly component connectivity graph is the only input required by the system. In a commercial setting this can be directly extracted from a CAD model of the assembly.

chair_connect

AND/OR Tree for Assembly Sequence Encoding

This AND/OR Tree is the heart of the system. The tree captures all possible assembly sequences - feasible and infeasible. This tree is automatically generated from the Connectivity Graph.

Each node represents a sub-assembly among all possible sub-assemblies in final subassembly.

The hierarchy shows the direction of assembly, wherein addition of each new piece, takes the system one assembly step further.

Geometrical Infeasibility is when two sub-assemblies have no connectivity in the connectivity according to the connectivity graph.

Mechanical Infeasibility is when a previous connection makes further connections impossible.

Chair_and_or

Experimental Setup for assembly of Hand Drill

Experimental_Setup Experimental_Setup

Initial AND/OR Tree after using Connectivity Information

image

Demo

Yellow Boxes depict which objects the system thinks can be assembled next. Over time, the system understands which ones are truly feasible. We can see as more infeasible sequences are found, better suggestions are depicted.

expt_6_comp.mp4

Updated AND/OR Tree after single experiment

image

Hueristics to find Feasible Sequences

A heuristic is any approach to problem solving or self-discovery that employs a practical method that is not guaranteed to be optimal but is nevertheless sufficient for reaching an immediate, short-term goal or approximation.

The system allows an expert to encode such heuristics into the graph. We find the set of nodes that specify a certain user-defined critera as infeasible. The system automatically sets the correct edges to be infeasible.

Heuristics for Drill Assembly

  1. The left and right handles must be attached only after all internal parts have been connected.
  2. The battery must be assembled in the very end.

Final AND/OR Tree after applying Heuristics

Feasible_drill_tree

TODO

  1. Extract final feasible graph.
  2. Apply dynamic programming approach to finding the shortest time sequence to time weighted tree

Hardware requirements

  1. Realsense RGBD camera.

Software requirements

Libraries required:

  1. PyRealsense
  2. networkx
  3. OpenCv
  4. Plotly
  5. Matplotlib
  6. Numpy
  7. Sci-Py
  8. Pickle

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages