Automated laser queue implementation

The project storage ticket printer kiosk is functioning, so I can now take on another project. And the Automated Laser Queue is it.

The feature list is:

  • You must be on site to get into the queue. This is NOT a reservation system.
  • You must badge in to enter the queue.
  • Perform automatic verification of tool training requirement? Any reason why not?
  • You may request a specific machine or one of several (For Laser, any cutter, any Thunder, big Thunder only, Zing only, etc).
  • Do you also need the Thunder rotary attachment? Handle this informally?
  • You cannot be in the queue more than once concurrently.
  • Enter e-mail address or phone number (automatic retrieval from Active Directory, you may edit it) to be notified by mail or text when your turn comes up.
  • You are asked for an estimated job duration so that the system can come up with a very rough waiting time for each member.
  • You have N minutes to take your turn before you forfeit your slot.
  • Future functionality will allow viewing an anonymized depiction of the queue from outside.
  • Anyone may mark a machine -out of service- or return it to -in service-. Must badge in. Logged to prevent abuse.
  • Teachers may reserve machines for classes. Logged to prevent abuse. This must be done on the kiosk in addition to in the calendar system. This functionality may become integrated someday.
  • Committee may reserve machines for scheduled service. Logged to prevent abuse.
  • “Next” button to notify the next person in line. Requires badging in.
  • “Done” button to start the clock on the next person. Requires badging in.
  • “Cancel” button. Requires badging in.
  • A way for a member to let the next member “play through” and remain at the head of the queue. Handle this informally?
  • All activity logged with date and time.
  • Follow up version for 3D Fab with identical code and different configuration files.
  • This system is not integrated in any way with any laser. It does nothing to prevent someone from using a machine.

Issues:

  • Should use of the queue be mandatory?
    ** Consider this case: you show up to use a laser. There is no line. You start your job. Someone else comes along and gets into the queue behind you. The system has no way to know you are already there.

I will begin implementation in January. There are two touch-screen monitors with attached Raspberry Pi in the big Common Room. One of these will become the Automated Laser Queue. The other will be the same but for 3D Fab.

I will be coding in Python using the Flask micro framework. It will reuse some of the code from the AD Check Kiosk and the Project Storage Ticket Kiosk.

If I missed a feature or got one wrong, comment here. If you would like to help, let’s talk. If you would rather take the whole project, let’s talk as there are many other DMS projects I can do.

16 Likes

Really like the idea,

Can’t wait to see how accurate people are in estimating their time vs actual time used. I always hear it will be quick when I’m in line, but I find I tend to have a slightly different definition for quick. :wink: Might even be a possible way to audit the income from the lasers.

Being able to look back at the average time the laser is used per job will be a nice statistic to know. when considering adding more lasers in the future.

Thanks,
Bill

Bill, you are awesome!

My tuppence. If a laser isn’t in use, then requesting a spot in the queue shouldn’t be needed, however it may be empty because the last person is finished and the next person is on their way so checking that the queue is empty is a must. (Are we going to display the queue on a screen anywhere?)

For sure i would check that the person has completed the tool training in order to get a slot as they would be responsible for everything that takes place on that laser (in case they’re reserving for someone else)

If the rotary is transferable between the 3 lasers, then yeah i’d add that to the request.

Thats quite a bit of tuppence.

Thanks again Bill!

This is awesome!

Mandatory use of the queue would help with keeping users honest.

Maybe some kind of “express check-in” ? If nobody is using a laser and the queue is empty, just badge in and pick which machine you’re using?

3 Likes

Let’s be sure we’re avoiding this sort of situation:

11 Likes

Indeed.

Unfortunately, the queue system will not know machine run time because there is no connection between them. That’s not to say that it can’t be added later…

At the least, the queue would be able to say which users used the lasers at a given time (or at least which users occupied space on a laser cutter). That could be compared to which users paid for laser time.

I ain’t done nothing yet other than think about the requirements and write them up.

This is why I included that example. A smart person would badge in and get in the front of the queue first as it should not take more than a few seconds.

It would be very easy to do. I do not know whether Laser or 3D Fab already has or is planning any other way to gate access. Like I said, the queue cannot keep someone from using a machine.

The thought is to prevent one machine being idle waiting for the attachment.

I do not believe anything proposed is over-promised. The only unknown is texting people when their turn is up; I have been told that was easy.

Fully gripped that, I would bet the ratio of time the laser is claimed verses amount paid will be a possibility for auditing, once we have built some what of a base line. Just comparing Daily income from laser vs usage during that day would probably highlight issues quickly.

Yes, future versions will include some report generation. For now, everything is logged so that the data is preserved.

If you’ve ever been to the Central Market deli counter, you always take a number even with no apparent line. Otherwise a special request type will find a way to cut you in line… :stuck_out_tongue_winking_eye:

mmm, deli counter…

Say, can the Thunder cut a salami if we use the rotary attachment?

Possible solution: Require everyone to log in to the queue, if machine open you go right to it but system knows you are there. Would take a couple seconds to do, but should be less than 30 seconds.

Anyway to integrate logging into one of the laser computers with the queue? Not sure exactly how to work it out but that could be the mechanism to show someone else has started their job.

1 Like

Sorry for the stupid question but what does badging in mean? This sounds like a great idea that will defiantly help. Out of curiosity why will the touch screen be in the common room instead of the laser area. One of my ideas was to have the device to login by the laser but have some screens around dms that show the live queue for laser 3d fab and what ever else we add. This an example from the dvm.

1 Like

This is a stretch but possible even have a button by the laser and when it is pressed it just marks it being used

1 Like

Request for @Bill

Allow a “down for maintenance” that would “pause” the queue but not clear it. I sometimes find myself having to jump the line to do a quick fix for people and this would be nice to have so the line can continue after repairs.

3 Likes

Scanning your RFID badge, like you do at the doors or at the badge check stations the lobby.

For what this is worth, this is the software used by TXDOT/DMV, I do believe.
https://www.qless.com

3 Likes

Wow! Awesome ideas! I look forward to seeing it implemented.

Is there any way to integrate the queue system with the computer logins?

(1) Could “the system” to record you as being in the queue if you log in and there wasn’t anybody waiting? That way once the outside view of the queue is visible it would show that someone is actually using a laser.

(2) If you log onto a machine but there is someone in the queue ahead of you, would some type of a notice come up on the computer telling you that you aren’t next?

1 Like