Controlling Creatures with Linux
Although part of our design philosophy is to use as much off-the-shelf hardware as possible, we do have to design hardware for our specialized needs. Most manufacturers' idea of “small” simply doesn't come close to fitting inside an animatronic hamster.
The Digital Motor Controller (DMC), a specialized piece of hardware about the size of two postage stamps, is essential for animatronics. It distributes dozens of PWM (pulse width modulation) signals to motors inside the puppet. Steve, with the help of Glenn Muravsky, designed an SBC that was based on the Texas Instruments 320LF2406 motor controller DSP. The parallelism available on this chip allows it to do things one cannot do on a PC bus. Steve also implemented a closed loop PID algorithm on the chip for controlling custom motor servos.
Linux wasn't originally designed for hard real time at the kernel level, but with the advent of real-time extensions, we found we were able to prioritize our critical tasks while having the general-purpose operating system available.
Preemptive multitasking, memory protection, interprocess communication, networking and multimedia APIs were essential for everything else we wanted to implement that wasn't hard real-time. We found that the RTLinux architecture, where Linux itself runs as the lowest-priority task, gives us the option to add a lot of support applications on the same machine that runs real-time tasks.
The challenge of this project was not any one specific area but orchestrating the many different requirements at once without compromising the needs of any individual piece of the puzzle. Our soft real-time code needed a chance to run; our motion control code needed to run without interruption from lower-priority tasks; we needed to protect critical code segments from less important code segments; we needed to use generic kernel facilities; and we needed to use utility applications as part of our distribution. The facilities of the core operating system and the utilities around it sped our development, as we did not have to roll our own version of everything. But if we ever did run into a jam, we knew we had the source code and thus could be in control of our own destiny. So, ultimately, Linux was the only thing that came to mind that could meet all of our needs.
Incidentally, we've been running these new control systems 24/7 for three years now, and our uptimes average a few months. We frequently have reasons to move machines from one location to another, but we've never had a control system go down in production.
Where can you see the products of our new control system? We cut our teeth in 1999 with “Webisodes” featuring the Muppets on the Henson web site, www.muppetworld.com. We've done a number of live performances at tradeshows, amongst them an interactive CG Kermit the Frog for the keynote speech of SIGGRAPH 2000.
The maiden voyage of the new control system in motion pictures was in 2001 on Walt Disney's Snowdogs. The lead Husky in that film, named Demon, had an animatronic double for difficult shots—try to spot them. As we had hoped, the system performed flawlessly. We also performed an animatronic falcon for Stuart Little 2 during 2001. Horace D'Fly is a CG character who appears in an upcoming Henson home video feature Kermit's Swamp Years. We currently are planning to use the system for a sequel to Warner Brothers' Cats and Dogs, plus other feature productions involving animatronics. There is a lot of entertainment industry interest in using our CG back end to produce characters for motion pictures, television shows and video games in the near future. So, we'll see you at the movies!
Steve Rosenbluth is 34 years old, and is married to a wife and a cat. He hails from New York, DC, Florida, Montréal, Belfast and LA. He has been designing robotic creatures and related technology for 13 years. He spent his formative years learning stop-motion animation, sculpture, electronics, programming and small-business development. When not on computers, Steve enjoys biking, hiking and skating but regrets no longer performing guitar or trapeze.
Michael Babcock (michael@kanji.com) grew up in Montana in the mountains among trees and deer. He enjoys playing basketball, hacky-sack and the guitar and listening to The Fall. He has been using Linux since 1992. His programming interests include multi-lingual software (especially Chinese and Japanese) and abstract software design techniques. He has been working at Jim Henson's Creature Shop in Los Angeles for four years on a puppeteering control system, mostly doing network, user interface and 3-D graphics programming.
David Barrington Holt (dbh@la.creatureshop.henson.com) (aka DBH) is the creative supervisor of Jim Henson's Creature Shop in Los Angeles. Born and educated in London, England, he graduated with honours in Industrial Design at the height of the “swinging Sixties”, but his subsequent career has included fashion design, graphic art, photography and engineering model making. He has also trained as a psychotherapist, entertained “too many interests for his own good”, has a Russian wife from St. Petersburg and an 11-year-old son.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)




14 min 21 sec ago
2 hours 5 min ago
7 hours 57 min ago
12 hours 29 min ago
12 hours 29 min ago
14 hours 29 min ago
23 hours 15 min ago
23 hours 49 min ago
1 day 47 min ago
1 day 1 hour ago