Component :: Part Positioning Guides

How can we make it easier to produce complex parts?




Concept

Looking at the range of press techniques and technologes developed for industrial applications, handling of the parts is usually the last portion of the work to be automated. When we think about automating the positioning of the parts, the whole thing starts to get complicated. There are so many motors and parts required to replicate the pick and place capabilities of the human arm, not to mention the path planning and calibration required to implement a working vision system.

For this component, I want to figure out the simplest way to provide feedback to an operator about where a metal part should be positioned in the bed of the sheet metal brake.

Preliminary Component Specifications
  1. Live video feed for bed monitoring
    1. ESP-32CAM or simply a laptop webcam
  2. Edge detection - detect where objects are in the video frame.
    1. Build with OpenCV functions
  3. Send feedback to user
    1. OpenFrameworks application.

Responsive image
Fig. 2-1. Proposed Component Scope




Vision System

To start testing this idea, I wrote an app in OpenFrameworks to see what kind of results I could get with edge detection on live webcam video.

  1. Using OpenCV
  2. Convex Hull to detect the boundaries of a shape
  3. Calculate coordinates from the convex hull polygon

Not that this is a sophisticated implementation of a vision system, but I can already foresee several issues:
Issue #1.
What exactly do we track? In high contrast applications, we can simply turn the image to black & white, subtract the background pixels, and get a fairly good silhouette. This setup works well with a highly curated stage setup, but I am trying to find something more robust - able to deal with a broad range of part sizes, light conditions, etc. Color tracking seems more generalize-able, but it's still quite sensitive unless we implement a sort of green screen effect to amplify the contrast.
Issue #2.
A vision system based on thresholding is highly sensitive to changes in light conditions. Using color detection on my hands, I get a different result even if I just tilt my hand to the side slightly, and the hue changes. This will only get worse if I'm using metal pieces where reflectivity on moving objects will make it harder to process the silhouette of the elements.
Issue #3.
If I want to detect where a singular object is, I really need the code to output a singular polygon. That is, typically, the threshold image might consist of several "blobs," when really I only want the one blob which corresponds to what I'm trying to track. I thought that I might be able to sort the incoming blobs by area - only saving the largest, but this isn't as consistent as I hoped. Due to the refresh rate of the video stream, and the sensitivity of the edge detection, sometimes, the number of blobs jumps drastically frame-to-frame, and I end up with multiple blobs displaying despite my sorting attempt.




Projection System?

Discussing the application of positioning metal parts in a brake, we started to think about how much guidance is really necessary. Does it really matter where the part is in the machine bed, or do we just need to communicate where it's supposed to go?

Nathan shared his distrust of vision systems, & Ilan suggested a projection system instead. Max introduced the idea of a laser galvanometer - a device which uses mirrors to rapidly redirect a laser to effectively draw lines on a surface.




Laser Guides

I really like the idea of the laser galvanometer, but as I was researching it more, I think I have to learn a bit more before I'm ready to design this kind of system. While it's nice to be able to redirect a laser rapidly to draw the whole outline of a shape, I also feel like that level of complexity is overkill for placing metal pieces in a clamp. I started to wonder, what is the simplest laser guide setup that I could use to reasonably locate flat parts on the machine bed?

Generally, industrial grade line lasers seems to be quite expensive. Until I have a more specific specification in mind, these Line Laser Modules available on Amazon seem like a decently accessible price point to begin experimenting with laser guides.



Development of this component is paused because Component :: Programmable Folding Mechanism took my focus, but I hope to revisit laser guides in the future.