Animatronics covers a wide range of applications, power levels and interfaces, as well as different actuator methods.
Don Labriola
Animatronics is a very interesting field which covers a wide range of applications, power levels and interfaces, as well as different actuator methods.
Puppets are the term for characters that interact with guests or actors with the help of human intervention — the puppeteer. A complex puppet typically has multiple puppeteers to handle different aspects of the puppet. Think of the dolphin robot used in several movies. One puppeteer controlled the many actuators involved in the body and tail motions, while another focused on the face, mouth, eyes.
The motions were controlled real-time via RC plane-type controllers; in this case with a wired connection as the dolphin puppet (Fig. 1) was in salt water, which greatly attenuates RF signals. The use of real-time puppets allows for much more life-like interaction with the actors as the puppeteers can improvise with the actors in the shoot. The RC style controllers typically use 1-2 millisecond PWM signals (Fig. 2), with multiple axes multiplexed into a single TTL stream. As high as 20 channels may be commonly multiplexed. This multiplexed stream may be carried via an RF signal or via wires (bottom of Fig. 2). Within the puppet, a demultiplexor splits the single stream into multiple individual PWM connections, with one connection to each servo. The PWM signal can represent either a position (as was used for this puppet) or a speed, such as for the forward motion of an RC-truck. The exact positions can be mapped to PWM duration, and multiple axes can be joined together via the RC-controller so that up-down and left-right can be easily controlled, even though there may be many axes coupled to actually make the motion in a puppet as complex as this one. Typically, 1.5 milliseconds represent the neutral location, with 1 millisecond being one extreme end, and 2 milliseconds being the other extreme range. Some controllers and servos can extend this timing to allow 0.5 milliseconds to 2.5 milliseconds ranges for a bit more accuracy.
Shows refers to scenes which include the mechanized characters and the surrounding set and props. These can be used either in theme park “theatres” or scenes in rides. For shooting scenes in a movie, the motions of the camera, the lighting, and any characters are often synchronized to the shutter speed of the camera (film or now more commonly video), so that multiple layers can be filmed individually and then post-production combined. The timing of the motion with respect to the shutter can be controlled to vary the level of blur present. Static images with no blur look very artificial, while over-emphasizing the blur can make for a creepy super fluid motion effect.
DMX-512: Where lighting and special effects are included, DMX-512 is the standard for digital communication. DMX-512 controllers can control lighting flood orientation, color, intensity, smoke machines, camera location and shutter, focus, and the props and characters, so that these can all be synchronized to the camera. DMX-512 is a well-defined serial stream with a RS-485 hardware format. The most basic format uses a 250k-baud (4uS/bit), 1 start bit, 8 bit data, no parity, 2 stop bit format (44uS per “slot”) with a minimum 2 slot (88uS) break to indicate the starting of a new frame. The first character defines the “universe” (which devices are to respond to the frame) as well as special packets, and the remaining up-to 511 slots carrying data to control the various devices. More advanced versions of DMX-512 allow for diagnostics with the controlled devices being able to respond to special query packets. Multiple slots can be combined to allow 8, 16, 24, and 32 bit data to be represented in the stream; these are normally configured as big-endian (MSB sent first). Each device checks the sent universe (first byte in the frame) addressing that device, and then counts off the bytes to see which bytes or groups are applicable to that device. Some devices include the ability to check the first 100 slots to help avoid corrupted data. Although DMX-512 can convey up to 512 slots, shorter frames are commonly used to allow the frames to be fast enough to allow a frame of data to by synced to one shutter of the camera. Figure 3 shows a short frame, starting with break characters to mark the start of the frame, the mark after frame to let the serial converter settle after the break, and then the slots (8 total in this example). The frame then repeats.
Analog control: Earlier shows also used analog channels to control motions, with a dedicated analog channel and its return used for each actuator. These were commonly either 0-10v or +/- 10v signals. The signal is sent relative to the dedicated reference signal with a differential amplifier used to remove ground difference between the show controller and the individual axis electronics. Analog control requires many individual wire pairs to be run and can have ground noise issues. As such, analog control is being designed in less frequently, while other digital methods are gaining market share.
CAN protocol: Many shows and ride props are starting to go over to CAN (Controller Area Network). This protocol originated at Bosch for control of under-the-hood electronic control units, and was designed with multiple levels of protection to help ensure delivery of the correct data. The data is carried as a differential signal, on the CAN-H and CAN-L signal bus. Two electrical states exist on the bus — “Dominant” — which represents a “0” level and has CAN-H driven high and CAN-L driven low, and “Recessive” where none of the nodes is driving the bus, and the terminating resistor pull CAN-H and CAN-L to a small residual differential voltage. Each driver is essentially “diode-or’ed” on the bus, allowing multiple can drivers to simultaneously assert a dominant level without loss of signal. After a quiet (recessive) period between frames, any device with a message to send asserts a dominant start bit. All other devices having a message to send synchronize to this start bit and also assert their own start bits. The identification for the packet — called the COB-ID — is then sent, with each of the devices having a message sending each bit from high to low, while also monitoring the CAN bus. Figure 4 shows three nodes all trying to send a message. As long as each node sees the bus in the same recessive or dominate state that node has driven, the node may proceed to the next bit. If the state does not match, then that node loses the arbitration and must wait for the frame to complete before trying again. This allows the highest priority frame (lowest numbered COB-ID) to proceed on its first try while lower priority messages are delayed until no higher priority message is vying for the bus. Multiple types of frames are defined allowing different modules to communicate in one-to-one communications, as well as one-to-many (or none) broadcasts, and background status (heartbeat) messages as well as network management control. Each frame can carry 0 to 8 bytes of data for basic CAN; newer CAN-FD allows longer data fields up to 64 bytes, as well as higher data rates for the data fields and data CRC portions of the frame. An important aspect is that a particular COB-ID may only be assigned to a single device on the bus to allow proper arbitration.
Figure 5 shows a full frame with 2 bytes of data for the basic CAN signals (non-FD). Not shown in the figure is bit-stuffing: all of the units on the bus resynchronize their timing with each transition of the bus to compensate for differences in their internal clock speeds. To prevent too much drift in their relative timing, the protocol does not allow more than 5 bits of the same polarity before a bit of the opposite polarity is inserted (stuffed) into the frame. These extra bits provide the transitions needed to resynchronize timing between units. These extra bits make the frame time slightly longer dependent upon the data present, and are discarded when the frame is received.
Both real-time show information and back channel diagnostics can share the bus by proper assignment of priority through the selection of which COB-ID numbers are assigned to which functions. CANopen focuses on how these COB-IDs are used as well as standardizing the various interactions between modules. There are multiple CAN protocols with varying flexibility.
Ethernet: Ethernet is continuing to become less expensive, but not to the levels of the already described protocols. Higher level automation supports the added size and cost, but most animatronics has not yet made that jump to the lowest level of actuator. Ethernet, however, is commonly used to drive one level up from the bottom actuator, bringing show data to the analog output cards, CAN output cards, and DMX output cards, with each of these cards commonly controlling 8 to 32 actuators.
Combination: Multiple communication types may be combined. Figure 6 shows a water fountain show. This application used both DMX and CANopen. The DMX was used for the main show choreography. This included controlling pumps, pointing the fountain head in polar coordinates, setting light colors, and pointing/spinning certain fan type nozzles. CANopen was used to calibrate each station. Each fountain is mounted to concrete set within the fountain. The nozzle needs to be calibrated to compensate for tilt — front and back and side to side. It also needs to be calibrated for rotation so all fountains agree on what is zero degrees — “North.” Calibrating each fountainhead then makes it much easier to program the show rather than having to compensate these variations inside the show itself. This also eases maintenance if a fountain must be replaced. Recalibrate the new fountain head and the show stays the same. The local axes monitored both their primary DMX position slots, some diagnostic control slots, and their paired axis. The two axes interacted via a lever arm, which required adjusting the position of each actuator to compensate for the effects of the lever arm. Again, doing this compensation at the motor controller level allows the show to output desired angles to make programming multiple shows across the many fountains much easier. The CANopen backchannel allows diagnostic functions to run while the show is active without affecting timing of the show.
Actuators: The actuators cover a wide range of speeds, sizes, and power ranges. These can vary from the tiny actuators designed for RC planes to multi-horsepower motors to move props.
At the low end are open loop air cylinders which are switched on and off. The rate of movement may be adjusted by controlling the rate of air flow, but changes in friction can affect the motions. There are also closed loop air cylinders which use feedback and proportional valves to make the motions better controlled. The quality of motion and the price both go up. The moving seal can limit the no-maintenance life of both of these actuator types, as can the quality of the air supply.
The small RC plane-type controllers are commonly a small brush motor with potentiometer feedback, although brushless motors with absolute feedback are available. These are usually limited to 1-2 millisecond PWM control. These compact actuators greatly gear down the motor, trading speed for higher torque. The small size can handle functions like eye and eyelid movement, small light props such as ears and tails. The DC brush motors tend to have a shorter life — from a few hundreds of hours, to a few thousands of hours for high-quality units. Brushless motors commonly go 10k to 20k hours at the low end to significantly more — the quality of any gear train starts to dominate the life expectancy at that point.
Up a level are brushless motors with integral gear heads; single stage harmonic drive type gearheads can gear 300:1 to produce substantial torque with good life expectancy. This style of motor can range from 5 mm diameter through full industrial robot cable motors.
Figure 7 shows a 3-axis rig operated via CANopen used to move the bartender in the Passengers movie front and back and side to side while also rotating the actor playing the bartender. The actual low pitch growl of the high toque hybrid servo motors was recorded and mixed into the soundtrack of what a robot of the future would sound like! The rotation was done with an A34HC-2 motor and a 5:1 gearhead to rotate approximately 180 pounds of actor and rig 180 degrees in 0.5 seconds — although they tested this motion down to about 0.3 seconds!
QuickSilver supports power levels from ~20W up to 600W, with CANopen, PWM, and/or DMX across most of the product line, supporting voice coil actuators, DC brush motors, and both 2- and 3-phase brushless servo motors.
Donald Labriola P.E. is president at QuickSilver Controls, Inc. He has been working with step motors since high school, and has had these motors operating fieldoriented closed loop control since 1984.
don_labriola@quicksilvercontrols.com