Everyone with a cat knows that they get bored easily. If a toy doesn’t move by itself, preferably in a random manner, they aren’t going to play with it for long.
Sand tables can be great cat entertainers, but there is no way to get them to produce the sort of random movement that will keep a cat entertained for a long time. Until now!
I wrote a simple spreadsheet in Google Sheets, specifically for entertaining cats with a sand table. You specify the maximum X and Y dimensions of the table, the maximum and minimum speeds desired, and a maximum and minimum dwell time for each point. The spreadsheet then generates random coordinates to move to, applying all those constraints.
Here are a few sample lines of the resulting gcode:
G1 X546 Y363 F64923 G4 S2.1
G1 X517 Y746 F64796 G4 S.7
G1 X204 Y392 F89477 G4 S1.8
G1 X33 Y168 F65892 G4 S1.3
Note: I amusing a Duet wifi controller board and it doesn’t complain about having the G4 dwell commands on the same line as the G1 command. I don’t think it will be a problem, but your controller might not like it.
I just generate 500 or so lines of gcode, copy and paste them into a text editor like notepad++, and save as a gcode file. Then I upload the file to the table (Arrakis 2.0) and it’s ready to run.
Ms. Kitty seems to like it: https://photos.app.goo.gl/zZhs2iZdGps2zUqR9
If you had a RPi or other computer connected to the table, it probably wouldn’t be too hard to generate random gcode on the fly and have it work for as long as you want to let it run.
The spreadsheet is here: https://docs.google.com/spreadsheets/d/1QV8cvX3I4aIIumwh7v_pbPom3gbowbOx4qiEkEJ9IeA/edit?usp=sharing
The spreadsheet currently has only straight line motion, but I am planning to add arcs and circles using the G3 command.