In 2012 I set out to design and build a mobile scenery platform that could move freely on stage overcoming the limitations of a traditional track and winch system. The drawbacks of a traditional winch and track system are; limited travel pattern, set up time, and cost. A winch can only move in a predetermined path and has difficulty making sharp turns. Set up time for a winch and track system is considerable, the track and sub floor must be installed as well as running aircraft cable and installing turn around pulleys. Commercial winch systems are cost prohibitive, some costing over $20,000.

What I came up with was a compact platform that could fit under a stock 4’ x 4’ or 4’ x 8’ platform. The overall height of the robot with a platform installed is only 9 inches; this is an acceptable height for a step making it possible for an actor to easily interact with the platform. The robot was designed and modeled in Autodesk Inventor, a 3D modeling software that allowed the structural and spatial constraints to be determined without actually starting the build. I was able to determine the smallest possible profile while ensuring strength through preforming a structural analysis.

At the heart of the robot is an Arduino Ethernet. An Arduino is an open source microcontroller platform that is affordable and easy to use. The Arduino Ethernet has an onboard Ethernet chip that was connected to a wireless router. The PC connects to the wireless router and is the means of secure wireless communication between the robot and PC. This method is superior to standard RF communication because it is not as susceptible to interference from outside sources and it does not produce as much interference. This is an important consideration when working with wireless microphones.

All of the control electronics were mounted between the two 12 volt 100 Ah AGM batteries. The AGM batteries are spill proof even when punctured, this in addition to their price were the main reasons for choosing AGM batteries over another type. A Sabertooth 2×50 HV drove the high torque NPC gear motors. The Sabertooth is a full feature motor controller that can interface with many different control devices including the Arduino thus making it ideal for this project.

While cost and performance were a major concern in my design even more so was safety. The final system was equipped with emergency stop buttons, proximity sensor, dead man switch, and loss of signal cut off. The emergency stop buttons are commercial units from automation direct that were modified to accept a CAT5 cable. The buttons plug into the “ESTOP Junction Box” which is an Arduino Uno that communicates with the PC via USB. These buttons are modular and can be placed anywhere they are needed around the theatre. The proximity sensor was based on a buried wire pet containment system. A boundary wire was placed around the borders of the stage and connected to the transmitter. The collar from the system was mounted on the robot and modified to send a signal to shut off the motor and engage the brakes if the platform travels too close to the edge of the stage. In order for the robot to respond to input from the joysticks the trigger buttons on the controller must be pressed. This prevents unintentional movement of the robot and ensures that if the controller is dropped or accidentally pressed that nothing happens. In case of PC failure or signal interference the loss of signal cut off feature disables the motors and engages the electronic brakes. The PC sends a UDP packet to the robot via Wi-Fi every 100ms, if the Arduino does not receive a signal every tenth of a second it disables the robot.

There are three different programs running at all times on three different pieces of hardware. The main program runs on a PC, the robot has a program that it runs, and finally the estop junction box has a separate program. Both the estop junction box and the robot are Arduino based systems and are written in the Arduino IDE. The program on the estop junction box monitors the state of the emergency stop button. That information is sent to the PC via a serial communication over USB. The control software that runs on the PC was written in Microsoft Visual Basic and was designed with ease of operation in mind. The software takes input from a wired Xbox 360 controller; if all of the safety parameters are met then the PC takes that input and assembles it into an array that is sent robot as a UDP packet. The program on the robot decodes the UDP packet that it receives from the computer and translates that into movement. The program that runs on the robot also keeps track of the last time it communicated with the control PC. If the elapsed time is greater than allowed then it automatically stops the robot and locks the wheels.

During testing I was able to effortlessly move a total weight of 900 lbs without any decrease in speed or acceleration. The battery life is greater than 4 hours of continuous run time. Range is dependent on the Control PC’s Wi-Fi antenna. Even with the built in antenna on my laptop I was able to achieve a range of around 200 ft. Overall this is a flexible, easy to set up and easy to use mobile platform with endless opportunities.


Arduino and Visual Basic Source Code