Semi-Automated Production

When we first figure out how to make a new thing, that’s a special moment. Another special moment comes when we have made the same thing enough times to know what works, what doesn’t, how the build can go wrong and how to prevent or mitigate those issues. But after we’ve made the same thing more than a few times, it is liable to become tiresome, in which case – enter automation.

If we were designing a factory, we might look at the most efficient way to automate a single production line making a specific product, to reduce the labor cost of high-volume manufacturing. Almost every part of that is the opposite of what I’m after. Where there is automation in this project, it is a matter of making do with whatever devices that we either have to hand or can fabricate locally, and using them in innovative ways to enable at least some automation.

One of the goals of this project is uplifting folks by meeting them where they are and guiding them towards more circular and sustainable manufacturing methods. That means we’ll need a few things:

  • Some kind of specification framework to allow the user to list all the tools and devices they have in the workshop that could be used on a project.
  • A system to indicate which steps can or cannot be automated by a given automation setup.
  • A system to suggest what might be built next to improve the state of automation.

To get things started, let’s suppose that we have within our workshop a dedicated space for manufacturing. Inside this space are specific tools and machines and we know or can measure all of their relative positions. Tools must be physically manipulated, but a machine could also be controllable over a local cable or network link. What are the kinds of commands that might be given to automate a production process?

  • Given that object X is in the neighborhood of position Y, find its precise location.
  • Move a manipulator tool to position Y.
  • Grab object X with a manipulator tool.
  • Move the picked up object to position Z.
  • Rotate the picked up object in a specific way.
  • Ungrab the picked up object.
  • On machine X, initiate process Y e.g. by sending a command or pressing a button
  • Wait X amount of time, or until you receive signal Y from machine Z

These are all pretty basic operations, but you don’t need a rich language for this aspect of the problem – it’s just a kind of glue that can stick together other processes. These kinds of commands might already be supported by an existing language like G-code.

Even with this, how do we go about automating production flows? I would argue that the first step is to decouple “steps within a device” from “steps that transfer a tool or component to or from a device” – automating the former can be seen as enriching the programming interface of the device. That interface lists the specific operations that the machine can perform, what parameters can be specified for the operation, and to what extent the operation can be automated. Automating movement between machines starts to enable the end-to-end automation of entire flows.

Decoupling these two problems does not mean that they need different kinds of solutions – just that they should not be tightly interdependent. For example, a CNC table or lathe might have multiple cutting tools that it can use. If the device in use has already automated the process of selecting and installing a given tool, then we can just initiate that process; if not, we could potentially automate that step using commands to pick up tools and move them to an install/uninstall position on the CNC table. If the workshop lacks the manipulators needed to achieve this, then the machine can pause and wait for a human to follow on-screen directions.

With a flexible and modular automation system, we can start a job with raw materials in a supply feed, and have a flow that uses a lathe to make axles and similar metal parts, with a 3D printer to make plastic parts and enclosures, and final assembly performed by automated manipulators. Anyone with a complete set of equipment and software can immediately tailor such a recipe for their own workshop layout, and begin end-to-end production. With a less complete set of equipment, you might need to get your hands dirty, or if you have the ingredients you can follow other recipes to help build out your workshop more before you start.

I’m not talking about Subnautica levels of automation, where an entire facility is constructed at the press of a button. I’m not talking about factory automation, in which individual production lines are ruthlessly optimized to be efficient for a specific operation. I’m talking about flexible semi-automation that meets you where you are. This is the way of the future.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *