My work to increase reliability of the robots in Fast Forward continues. We're still having motor temperature problems, falls, and occasional other crashes, so I'm investing some more in a simplified program. It's safe to say that, even though I'm a volunteer, this is my dream job.
I've been a big fan of the "show side" of Imagineering for as long as I can remember. You get to create personality and character in an otherwise robotic animatronic using just your own programming and choreography. You can captivate a guest's attention and create a spark of life, bridging the gap between what's real and what's make believe in a magical suspension of disbelief.
Obviously, with a Nao robot, I only have limited resources to achieve this, but, as the uncanny valley suggests, too much realism can be a burden, and I believe that personality can go a long way towards creating the magic. Obviously Nao is a robot, but hopefully I can make him seem like a robot that's really talking to you, sharing his excitement and telling some dad jokes.
Considering that this exhibit is a short, recurring show I also wanted to have a little bit of replay value, so even though the main script is always the same, I made sure that the examples in the middle and the action at the end vary randomly each time. Hopefully for the kids who just want to sit and watch robots all day, this little investment helps them enjoy it even more.
Saturday, September 8, 2012
Friday, September 7, 2012
Day to Day Reality
Now that the excitement of special promotional work has died down, I've been trying to help with the museum's permanent robot exhibit in Fast Forward. This exhibit was originally programmed by Aldebaran when the museum purchased its 3 Nao robots, but it's had some bumps in day to day operation.
Aldebaran was very honest from the start that the Nao's are not hardened, industrial grade robots, so running 8+ hours per day, 7 days a week would definitely be a stretch. For this very reason, they started with 2 backup and a 5-10 minute rest break between each 2 minute show to allow the battery to charge and the motors to cool.
Not surprisingly, given that all of his major joints are raw, non-reinforced servo motors, lots of moving or even simply standing against gravity take a pretty rapid toll on the motors, which heat up quick. Tuning the power to minimal stiffness and being smart about the types of motion can make a big difference in the amount of runtime you can get before the motor alarms trigger a shutdown.
Even with the optimizations made by Aldebaran, we were still struggling to run the entire day without heat issues, so I took a couple approaches. The first was to spend a couple Saturdays just running the program and capturing motor temperatures so we could plot them and find the specific joints causing problems.
I also added some alarm detection for things like overheating or falls, which also happen from time to time, especially when excited visitors reach over the rails to shake Nao's hand. As you might imagine, any of these showstoppers are a big deal when guests are expecting a consistently running show, so to help us handle when things do go wrong, I set it up to send out notification emails with a description of the problem. It's not a silver bullet, but more data and better visibility will hopefully mean we can incrementally improve.
Lastly, I've been working on my own, simplified rework of the performance to scale down movement and hopefully buy us more time each day. We've been running it a bit and it's exciting to be able to add even a little bit of a running exhibit to my resume.
Aldebaran was very honest from the start that the Nao's are not hardened, industrial grade robots, so running 8+ hours per day, 7 days a week would definitely be a stretch. For this very reason, they started with 2 backup and a 5-10 minute rest break between each 2 minute show to allow the battery to charge and the motors to cool.
Not surprisingly, given that all of his major joints are raw, non-reinforced servo motors, lots of moving or even simply standing against gravity take a pretty rapid toll on the motors, which heat up quick. Tuning the power to minimal stiffness and being smart about the types of motion can make a big difference in the amount of runtime you can get before the motor alarms trigger a shutdown.
Even with the optimizations made by Aldebaran, we were still struggling to run the entire day without heat issues, so I took a couple approaches. The first was to spend a couple Saturdays just running the program and capturing motor temperatures so we could plot them and find the specific joints causing problems.
I also added some alarm detection for things like overheating or falls, which also happen from time to time, especially when excited visitors reach over the rails to shake Nao's hand. As you might imagine, any of these showstoppers are a big deal when guests are expecting a consistently running show, so to help us handle when things do go wrong, I set it up to send out notification emails with a description of the problem. It's not a silver bullet, but more data and better visibility will hopefully mean we can incrementally improve.
Lastly, I've been working on my own, simplified rework of the performance to scale down movement and hopefully buy us more time each day. We've been running it a bit and it's exciting to be able to add even a little bit of a running exhibit to my resume.
Subscribe to:
Posts (Atom)