Open Source Workshop Automation

This post presents Marmot Chirp, an Intelligent Workshop Assistant (IWA) to be used at the Unit One workshop. It is an implementation of Home Assistant that could find its physical expression on a Raspberry Pi. However, there may be issues that require other hardware to be used. Thus, a more likely alternative would be a Gigabyte Brix EKi3A IoT unit with:

  • Intel 7th Generation Core i3-7100U Processor
  • Fanless 0.76 liter volume design: 180(W) x 117(D) x 36(H) mm, Weight 978g
  • 1 x COM port (RS232)*
  • 2 x USB 3.1 (1 x USB Type-C™), 2 x USB 3.0
  • HDMI 2.0 plus Mini DisplayPort 1.2 Outputs (Supports dual displays)
  • 2 x SO-DIMM DDR4 Slots 2133 MHz, Max 32GB
  • 1 x M.2 SSD (2280) slot
  • IEEE 802.11ac, Dual Band 1×1 Wi-Fi & Bluetooth 4.2 NGFF M.2 card
  • Gigabit LAN
  • Headphone/Microphone Jack
  • VESA mounting bracket (75 x 75mm + 100 x 100mm)
GB-EKi3A Brix iot
Gigabyte Brix IoT platform

Regardless of the computer used, it will have to be fitted with additional equipment: speaker, microphone and light. The light will be off (indicating system is not functioning), steady on (system is in use), pulsing on (system in standby mode).

Why Chirp?

An intelligent personal assistant needs a name, so it knows when it is being activated. Female names are often used, eg Alexa and Siri. I pity the poor girls with those names, or anyone living in proximity to them, with such assistants. Similarly, an IWA has to be addressed, so it knows when users want something done. One of the most important characteristics in naming an intelligent assistant, is that the name is unique, and not used in normal conversation. In a workshop, calling the IWA Plywood or Lathe is just asking for trouble. Here, the name used is Chirp.

bty
The Unit One Workshop, at Vangshylla, Inderøy, Norway

Dialogue

There are a lot of different situations in a workshop where a user would want to interact with a IWA, and other situations where the workshop owner, through the IWA wants information from a user.

Much of the terminology used would be based on voice procedure used in other situations.

1. Visitor arrival

The IWA has proximity and other sensors to detect the presence of a visitor.

A. Known user.

IWA: Welcome to Unit One. I’m Chirp, an intelligent workshop assistant. Who are you?

Brock: Chirp, I am Brock

IWA: Welcome Brock. Your personal safety equipment is in box <A/ B/ C/ C/>.You are logged in at <time> on <date>.

B. Unknown user.

IWA: Welcome to Unit One. I’m Chirp, an intelligent workshop assistant. Who are you?

Cynthia: Chirp, I am Cynthia

IWA: I don’t recognize you, Cynthia. Please use the computer to log in or register yourself.

IWA: Thank you for registering, Cynthia. You are inside the Unit One workshop, where people use technology to make the world a better place. In front of you is box <A/ B/ C/ D> containing your personal safety equipment, including safety glasses, hearing protection, gloves, and respirator. Please use the equipment you need. Please note that there is a first aid kit and a fire extinguisher near the entrance, and a second fire extinguisher at the end of the workshop, near the Annex. These are to be used when needed. If you need help, just call me by my name, Chirp. You are logged in at <time> on <date>. Please remember to log out when you leave.

I have heard some interesting titles used by an IPA to address one or more users. The one in particular that I would want to avoid is, “Yes, Master.”

2. Other Events

A. Audio (video?) contact with house, referred to as Fjellheim, meaning mountain home, in Norwegian:

User: Chirp

IWA: Yes?

User: Chirp, Patch me through to Fjellheim.

Event: Telephone rings Brock or Trish, depending on who is home.

(Postive response) IWA: Contacted Fjellheim

(Negative response) IWA: No one is at home at Fjellheim.

With a positive response, a dialog would then follow. The IWA would be listening to the entire conversation waiting for its name and new instructions. The conversation would end with:

User: Chirp, terminate.

IWA: Conversation terminated.

B. Audio contact with emergency services:

User: Chirp

IWA: Yes?

User: Patch me through to <emergency services/ambulance/ fire department/ police>.

Event: IP telephone contacts appropriate service

(Positive response) IWA: Contacted <service>

(Negative response) IWA: Unable to contact <service>

C. Turn on electrical circuit for a particular machine (but not the machine itself, except dust control and air).

User: Chirp

IWA: Yes?

User: Enable <dust/ air/ drill/ band saw/ mitre saw/ table saw/ planer/ router/ sander>

Event: Circuit turned on for <dust/ air/ drill/ band saw/ mitre saw/ table saw/ planer/ router/ sander>

Positive IWA: <dust/ air/ drill/ band saw/ mitre saw/ table saw/ planer/ router/ sander> enabled.

Negative IWA: Unable to enable <dust/ air/ drill/ band saw/ mitre saw/ table saw/ planer/ router/ sander>

D. Turn off electrical circuit for a particular machine (turn off the machine itself for dust control and air).

User: Chirp

IWA: Yes?

User: Disable <dust/ air/ drill/ band saw/ mitre saw/ table saw/ planer/ router/ sander>

Event: Circuit turned off for <dust/ air/ drill/ band saw/ mitre saw/ table saw/ planer/ router/ sander>

Positive IWA: <dust/ air/ drill/ band saw/ mitre saw/ table saw/ planer/ router/ sander> disabled.

Negative IWA: Unable to disable <dust/ air/ drill/ band saw/ mitre saw/ table saw/ planer/ router/ sander>

3. Visitor Departure

Person: Chirp

IWA: Yes?

Person: <name of person> is leaving.

IWA: Goodbye <name of person> Please put your personal safety equipment in box <A/ B/ C/ C/>.You are logged out at <time> on <date>.

What other events need to be controlled? What other comments do you have about an intelligent workshop assistant?

Update: 2021-12-20 at about 21:00.

This weblog post was originally published 2017/10/29 at 05:49, which is four years and fifty-two days ago. This is a trial to see if eliminating Needs the title, has any consequences. That is because, at the time of publication, this post formed part of a Needs, Seeds and Weeds website that belonged to my daughter, Shelagh. In addition, other things are also out of date, or my opinions have changed. Apart from the title, the text above remains as it was, content changes are found below.

Internet connectivity. The workshop is in theory connected to the server (Mothership) with a fiber optical cable. Theoretically, inside the workshop the cable terminates at a switch. In practice none of these installations have taken place, yet. The cable has been purchased, tubing has been laid between the workshop and the house, but work is needed to get the cable from the outside of the house to the server.

Inside the workshop the switch could be something as simple as a Unifi Flex Mini, with five Gb Ethernet PoE connections, one in, and four out. For about ten times the price, 10Gb Ethernet PoE connections can be supplied using a Unifi Flex XG unit. Wifi should not be a problem if a Unifi 6 Lite access point is connected to one of the ports.

As discussed in a recent post about Forth, the machine controller would be programmed in Forth. This could be a single unit attached with an Ethernet cable to the switch. At the present time, this unit could be a Raspberry Pi 4B.

For design, engineering, administrative and other purposes a relatively high powered workstation computer should be available. An Asus Zen AiO machine was purchased used to be a kitchen controller. This machine was rejected, and could be taken into use in the workshop. It comes with a touch-screen.

With an access point, machine controller and workstation in use in the workshop, three of the four output ports of the switch are in use.