PLATFORM > OVERVIEW
The Interbots Platform consists of three primary components: the hardware, the run-time software, and the content authoring tools. A brief overview of each of these components is outlined below; more detailed discussions can be found by following the links above.
Click here to download a larger version of this graphic.
Output Hardware
Almost all output hardware is controlled via DMX. The DMX protocol is typically used in theatrical or club situations to control a wide variety of lighting instruments as well as show automation. DMX is similar to MIDI in that it specifies for a number of channels (512) that can each be assigned a value (1-255). One interface can control almost all equipment on the kiosk, making scripting quite easy.
Performance Robot
The main component of the Interbots Platform is a performance robot, a custom-built animatronic figure with a wide degree of physical expression through body language and internal color-changing lighting. Our first robot was Quasi. We are now working on Quasi 2.0, an enhancement of the technology based on lessons learned from the first round.
USB-DMX Interface
The start of the control signal is an interface that plugs into a computer to interface with software. It generates the DMX values that all other components listen to. We use a Color Kinetics Smart Jack 3, but are also investigating lower-cost controllers made by ENTTEC.
Gilderfluke SER-DMX Servo Control Boards
We use these controller boards to convert the DMX signal to a PWM control signal that can drive the servos which make the robot move. Each one can control up to sixteen servos, and allow us to tweak safety limits in hardware to prevent errant signals causing damage.
Hitec Hobby Servos
The hobby servo has long been seen in radio control aircraft, vehicles, etc, but is rapidly becoming a very popular choice among robotics hobbyists for propulsion and other sorts of movement. Hitec has become the leader in this field, and has even released a special servo for robotics with titanium-alloy gears for long-life and extreme torque. Pololu Motor Controller Boards
These nifty little control boards allow one to use any sort of DC motor or actuator as a servo, accepting a standard PWM servo control signal as well as position feedback from a potentiometer or other sensor that can return an analog voltage.
DMX Relay Boards
In order to switch power on and off to our robot, as well as to switch other sorts of devices, we use DMX relay boards made by Blue Point Engineering.
DMX Dimmer Packs
Dimmer packs listen to a DMX control signal to control the levels of lights mounted around our robot character. Lighting can be used for setting a mood, illumination, and signaling that candy has been dispensed.
Color Kinetics LED Lighting
LED Lighting by Color Kinetics is used for the eyes and antennae of Quasi, and allows him to express a wide variety of emotions. Primary colors like red (anger) and blue (sadness) go a long way towards expressing emotion.
AutoTalk Controller
This board allows us to feed a line-level audio signal and move a servo in response to the amplitude. As a result we can use the sound of someone singing or talking, live or prerecorded, to move the jaw of our character in realtime. The effect is startlingly effective.
Video Display(s)
A VGA touchscreen LCD monitor allows us to display passive multimedia content as well as interactive games, menus, etc. Multiple monitors may be used for greater effect.
Candy Dispenser
A custom-built candy dispenser holds 22lbs of M&M's and 22lbs of Skittles candy, serving as an effective incentive to get people to interact with our robot on a regular basis. The dispenser features clear plexiglass windows to show the levels of candy remaining.
The Kiosk
Quasi lives in a kiosk that was designed and built to match the color scheme of the Entertainment Technology Center, and to provide a home for him and all his computing and support equipment. While on wheels, the first generation kiosk was designed to be mobile within the confines of the ETC facilities.
Input Hardware
Input hardware allows our robots to perceive their environment and to interact with guests. Information and values are passed to the runtime software which processes it and affects the outputs accordingly.
Video Cameras
Wide-area cameras as well as robot-mounted cameras allow us to receive a live video signal that can be analyzed by software or displayed on the Guided Performance Interface to help a live performer see the area around the robot.
Wide-Area Microphones
Stereo microphones mounted in the space around the robot allow software to listen to ambient noise levels. Notable changes in amplitude over the base noise level indicate a possible area of attention for the robot.
Shotgun Microphones
More focused microphones tuned for voice input feed signals to voice recognition software. This allows for natural-language human-robot communication.
Miditron I/O Board
A custom-designed micro-controller board converts analog voltage levels to MIDI signals from infrared rangefinders and motion detectors. The board also provides power to the infrared sensors.
Phidgets Interface Boards
The phidgets line of interface boards provide another (off-the-shelf) way to interface with sensors and small outputs.
Short & Long Range Infrared Sensors
Infrared sensors by Sharp are common in smaller robotics for rangefinding. We use an array of them mounted on front of the kiosk to detect fairly precisely whether objects (people) have entered a range within about five feet and where they are.
Motion Detectors
More commonly found in home and commercial security systems, these can inexpensively monitor a wide area for motion to pique the interest level of the robot.
iButton Readers
Most popularly known as the keys to the Segway Human Transporter, the iButton is a small, low cost, rugged transponder that can be attached to a keychain. When pressed to a reader, they give a unique serial number that can be matched against a database to identify a specific visitor's identity.
Inter-process Communication
IPC is a subscription service that allows all of the Interbots Applications to communicate with each other.
Character State Control System
The "brains" behind an Interbots character, CSCS is the decision making software that controls the character when it is performing. CSCS is comprised of networks of finite-state machines, and uses data stored in the character database when determining which transitions to execute.
Real-time Show Control System
RSCS is the actual software interface to the hardware. RSCS receives messages from CSCS specifying which animation files to load, which channels to play them on, and any sound files that need to be broadcast.
cVision
An implementation of Intel's OpenCV face tracking library, cVision is a face-tracking tool that allows the animatronic character to direct its gaze at human faces.
iButton Reader
iButtons are low-cost tags that store a unique serial ID. Carried on small keychains, iButtons allow the system to uniquely recognize individuals.
MIDI Reader
Information from the kiosk's proximity sensors is translated into MIDI by a custom board developed in-house. This information is then passed through a MIDI interface and the MIDI Reader application into CSCS.
Babble
This piece of software implements the open source Sphinx package for speech recognition, allowing keywords to be recognized by the system.
ipcXtra
This plug-in allows Macromedia Director to communicate with the IPC message passing system.
Behavior Authoring Tool
BAT provides an intuitive graphical interface to manipulate the data in the behavior database, allowing non-programmers to easily create character personalities and script all character behaviors.
Maya Plug-in
The Maya Plug-in allows 3D animators to create animations for the animatronic character, and export those animations directly to the character's servos.
Macromedia Director
A popular tool for authoring multimedia content, Director comes with a powerful scripting language and support for many media types. We developed a custom plug-in for it that allows information to pass easily from the touchscreen to the CSCS control application.
|