Day 7: (Tue Sep 21, Week 4) Asynchronous: Suitcase Simulation

Notes for 2021-09-21.

I’m sorry I’m unable to join you in person today, but please review the following in lieu of class.

Our next step to formulate a set of experiments to run within the milieu of a suitcase show. To support this, I am preparing a single physical testbed for us to share incorporating four stepper motors within a suitcase. It won’t initially include sensors, just position actuators, so the first tests will need to depend on physical dynamics rather than sensing and computation. Each motor includes a circular mounting plate to which can be attached dowel pins or screws to drive a removable component which you will develop. You will also have the freedom to add additional props or materials on top of the playfield inside the suitcase.

This will happen in two parts starting with the exercise I’ll introduce on Thursday. First, in new pairings we will sketch a trial performance which could work on the testbed, then see how much can be simulated in Webots. In the second phase, each pair will fabricate any needed mechanisms or props, then at a scheduled time test and document the result on the common testbed.

Simulation Documentation

../_images/suitcase-demo1.png

I have prepared a prototype simulation which models the physical testbed, please see Suitcase Robot Model.

The demo world is suitcase-demo.wbt within the updated Webots.zip.

Please note the world includes several objects defined by proto files, which are templates incorporating embedded Lua scripting. The objects can be expanded into base nodes if needed.

Testbed Documentation

../_images/IMG_2338_suitcase_testbed_11.jpeg

The aluminum suitcase has an inserted structure containing four stepper motors, Arduino drive system, and 12V power supply. The motor shafts have hubs installed onto which are mounted wooden discs with a mounting hole pattern. The Arduino USB cable and motor power cord can be routed out the slots in the left rear corner.

Please take good care not to damage or modify the equipment case, it is my own property and has some history.

The SolidWorks CAD files for the testbed can be downloaded as suitcase-testbed.zip or individually browsed at suitcase-testbed/.

The electronics use an Arduino with a CNC Shield on top incorporating four A4988 stepper motor drivers. Documentation can be found at CNC Arduino Shield.

A likely approach for programming the system is to write control scripts in Python which communicate over USB with Arduino firmware which moves the motors. An initial candidate for that firmware is the StepperWinch Arduino Sketch.

With this strategy, we can also use wrapper code to emulate the Webots interface but transmit motion commands to the Arduino. This will enable some degree of transfer from the simulator to the hardware. I have a prototype written but not yet published.