On June 7th, 2014 a group of very talented individuals helped Make-A-Wish Idaho make a wish come true for a very impressive young man Brody Copat.
Brody is fighting brain cancer and was recently granted a wish through Make-A-Wish Idaho. Brody’s wish however, was not a normal wish :). During Brody’s treatment he kept busy and kept his spirits up watching How To Train Your Dragon and drawing the lovable Dragons depicted in the Dreamworks animated film. When Make-A-Wish asked Brody for his wish he asked for a Dragon! Normally this would be a tall order, but as it happens someone at Make-A-Wish knew about Pleo, a robotic life form, and one of Pleo’s creators Caleb Chung who was co-creator of the Furby and other very interactive toys. Make-A-Wish contacted Caleb to see if he could help make Brody’s wish come true and the rest is history. Caleb with the help of Len Levitt and Make-A-Wish Idaho put together the “Dragon Dream Team” to create a Dragon for Brody. I was privileged to be part the dragon team and such an awesome wish. What follows is a behind the scenes look at the Dragon build! Keep in mind this is biased toward the electronics and embedded systems, there was way more work involved from everyone else also!
I wish Brody the best and want to thank Make-A-Wish and Caleb for giving me the opportunity to be a blessing to Brody and his family by helping grant Brody’s extraordinary wish!
Dragon Dream Team:
Logistics: Everyone at Make-A-Wish!
Baby Toothless Model, Creative Support and Dragons 2 Premier!: Dreamworks Animation
Dragon Creator & Modeling: Caleb Chung
Project Manager, Wing & Skin Design: Len Levitt
Paint & Texture: Julian Ledger
3D Texturing : League 43
Animation & Puppet Software: Gerry Ens
Modeling & Mechanical Design: Travis Dean
Electronics & Embedded Systems: Jason Peterson
Dragon Crate: Greg Peterson
LET ME KNOW IF I HAVE MISSED SOMEONE!
We had a very short development cycle. From conception to Dragon it was roughly three months, luckily we had a proven platform for development, meet Pleo!
Pleo is a very advanced robotics platform. He can walk, sing, feel, hear, look around and interact with his environment as close to a baby dinosaur as I have ever seen… if I have ever seen a baby dinosaur… Pleo is a perfect baby dinosaur but we needed a dragon. Pleo has four legs, a head and a tail but he needed more! For a dragon Pleo would need a head with moveable ears, eyes, and of course smoke and a blue Nightfury projectile. He would also need new skin, bat like wings and other cosmetic upgrades. The artistic direction for what a baby Nightfury would look like was graciously supplied by Dreamworks as a 3D model superimposed over the existing Pleo skeleton, it was then up to Travis Dean with TD Development and Caleb to modify, hack, sculpt and print new dragon parts that seamlessly integrated with the existing Pleo substructure and mechanics. This turned out to be one of the more challenging parts of the project. It is very difficult to go to and from organic modeling software and CAD software and keep everything working in sync but Travis made it happen!
Our initial hopes for genetically engineering Pleo’s DNA into a Nightfury mutation revolved around re-compiling Pleo’s brain to be aware of it’s new dragon parts: new wings, ears, voice, smoke, jaw, and an inner ear (gyro and accelerometer). This turned out to be a logistics nightmare and had to be abandoned about half way thought the build. Fortunately we had a backup plan. Instead of Pleo controlling the new dragon parts, now called the “dragon prosthetic”, we decided we could create a “smart prosthetic”… a prosthetic system that could determine the state Pleo is in and seamlessly complement his normal behavior, adding in the dragon parts and new sounds where appropriate! This worked well and there was now no need to re-compile a new Pleo brain, however it made the embedded system in the prosthetic more complicated then we had previously planned for. I had to upgrade processors and port the systems to a new processor mapping and speed… The secret sauce in all of this is Pleo has a serial port which can be enabled to spit out everything that he is thinking, the problem we encountered is the serial port spits out EVERYTHING he is thinking. Parsing the serial stream fast enough, picking out the relevant behavior information, and then playing prosthetic animations was a challenge!
There was a lot of stuff to fit into the small cavities of the dragon caracas as can be seen above, listed below:
- 2 custom servo motors ( motors, gearboxes, feedback potentiometers )
- 1 dual motor driver board
- 1 gyro and accelerometer board
- 2 smoke fans
- 2 smoke generators
- 1 jaw servo
- 2 ear servos
- 1 SD card board
- 1 ogg / mp3 player board
- 1 microcontroller board
Wire path was one of the biggest issues with getting everything put together. Surprisingly wiring took up most of the available nooks and crannies. I have remedy for this when the need arises again, stay tuned…!
Another issue that kept rearing its ugly head is feature creep. This happens in every project and for my usual contract work there are strict limits on what can and can’t be changed during the final build of a project. This was however an unusual project and as things progressed and more functionality needed implemented (in the dragon prosthetic instead of the Pleo brain) the design had to be upgraded and changed on the fly. I started with one small processor to run the prosthetic. Initially this was intended to receive small packets of serial data from the Pleo processor and trigger prosthetic animations and sounds. This was going to be done with a hardware UART. I also needed a UART for the PC tether and animation system and a UART for the MP3 player (these were software based). In the end when we could not re-compile the Pleo software to include said triggers this single processor could not keep up with Pleo’s constant vomiting of serial status… so I moved on and included two small processors, one for the Pleo communication and for the the prosthetic animation. This worked well until I tried adding the PID controllers for the custom wing servos, this time I ran out of memory… so with one last upgrade moved everything to a much larger single processor.
I have been working on a distributed micro-controller system and if it was mature enough I would have used it to solve both the issues of wire path and feature creep. I could have used a 4-wire bus to interlink small processors and been able to add functionality as smaller nodes instead of one monolithic super-micro-contoller…
After the final push to get the baby Nightfury together there was of course some problems (the day before we revealed it to Brody, 1:30AM)… the jaw servo failed during final animation recording…. two hour fix later…. one of the wing motors seized up… one and half hours later and some voltage adjustments at 5:45AM we had a fully functioning new baby Nightfury! All that was left was paint… so we thought!
The only system in the dragon prosthetic that wasn’t completely tested was the smoke generator… The smoke system relies on two small chambers of vegetable glycerine that it vaporizes to create smoke. We had opted not to fill and therefore test the final smoke system before dress rehearsal because the new dragon still needed paint. To get the proper texture and paint job he need laid on his back for some time. The smoke liquid would leak during painting and cause all sorts of problems. This in the end would come back to bit us. The smoke generator uses a lot of current. Pleo himself also uses a lot of current. I had figured that there was some over engineering in the existing Pleo switch and that it should be able to handle the additional current for the smoke generator… I was wrong and the switch failed about an hour before the reveal! I got a call from Caleb to bring what I could and hopeful get the dragon fixed ASAP at this point he was completely dead and I had no idea what could be the problem! I grabbed my tools and extra Pleo parts and Caleb and I did some quick trauma surgery in the green room of the theater with everyone getting dressed around us. I diagnosed the problem in about 15 minutes and it took another 20 minutes or so to replace the switch ( rushed in by Drew Rawlings, thanks Drew! ), with just minutes to spare we brought the baby Nightfury back to life!
This was an amazing project to be a part of. I hope we helped bring some joy to Brody and his family in the midst of such difficult circumstances.
If you would like to learn more about Brody’s wish here are some more media links: