It's been a while since I've had a little project with one of the Nao robots at the museum, but here's a quick one that I was asked to create on short notice. Over the past 4 or 5 years I've put together performances for big crowds, trade show booths, and private greetings, so I've gotten pretty good at programming some quick motions, adding some voice and sound effects, and then refining until its reasonably smooth.
Honestly, one of the biggest challenges with this platform is getting the voice just right, since I'm working with a text to speech engine. Sometimes this means tweaking the speed or using homonyms with nicer pronunciations ("humans" always sounds better as "hugh, mens".) Occasionally though it even means getting into adjustments to the pitch, emphasis, and pauses.
One of the most valuable tools I've found to help with refining both the vocals and the movements is to record video so I can really dissect things (in fact, most of the videos on this blog are saved from testing.) It can be incredibly useful to rewatch little snippets over and over to get a feel for what's good or bad as opposed to watching it in real time and trying to remember the details after the fact. It also helps to compare versions as you make small adjustments so that you can decide which option is better.
Showing posts with label Robots. Show all posts
Showing posts with label Robots. Show all posts
Monday, January 26, 2015
Sunday, November 9, 2014
Robotic Penguin
As my family's resident robot aficionado, I get all the cool robot links sent my way. This week, my future brother-in-law came across this interesting combination of robotics and adorable baby emperor penguins.
Obviously the immediate question was why I haven't build a robotic baby penguin of my own, so I set to work to provide a quick response. Spoiler alert: antarctic researchers have a much more substantial budget than I do.
Obviously the immediate question was why I haven't build a robotic baby penguin of my own, so I set to work to provide a quick response. Spoiler alert: antarctic researchers have a much more substantial budget than I do.
Wednesday, October 17, 2012
Formal Robot Night
The museum continues to keep me busy with more and more special robot assignments. Since the big event out in LA, I've also been working on more reliable programming for the Fast Forward exhibit and occasionally putting together a welcome message for Nao to share with important families when they visit.
In addition to everything above, the robot and I have also been tapped to help open this year's Columbian Ball. The ball is a black tie fundraiser that the museum hosts onsite each year and is one of the marquee annual events. Although I didn't have it for the demo below, Nao was given his very own little black tie to keep with the dress code.
Since I was out of town for the gala itself, I put together a little Windows app to let my colleagues easily trigger and control the introductions, adding yet another tool to the museum's robot toolbox.
In addition to everything above, the robot and I have also been tapped to help open this year's Columbian Ball. The ball is a black tie fundraiser that the museum hosts onsite each year and is one of the marquee annual events. Although I didn't have it for the demo below, Nao was given his very own little black tie to keep with the dress code.
Since I was out of town for the gala itself, I put together a little Windows app to let my colleagues easily trigger and control the introductions, adding yet another tool to the museum's robot toolbox.
Sunday, September 9, 2012
Fun with Exhibits
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.
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
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.
Sunday, May 20, 2012
Imagineers at Work
After a robotics performance Marty Sklar's house and a trip to Disneyland, there was one last stop on my list to round out my Los Angeles weekend. I've read so much about the long days and late nights bursting with creativity as the field of Imagineering was born. Things have come a long way since then, but there was still a magical, creative buzz in the air everywhere I looked.
![]() |
| Would it be inappropriate to just walk in and hand them a resume? |
![]() |
| Lots of construction means good days ahead for Imagineers |
![]() |
| Someday... |
![]() |
| Even the bus stops are festive! |
Saturday, May 19, 2012
Imagineering my Future
Tonight was the night that my biggest opportunity came to fruition. I was ecstatic when the museum invited me to travel out to LA to help setup and run the Nao robot performance at the Marty Sklar fundraiser. I've been working day and night on the robot's performance to start the evening, and the chance to be there rubbing elbows with the who's who of Imagineering has been the icing on the cake.
First, let me start off by thanking Mr. Sklar for his generosity, not just hosting the event, but also being so welcoming to those of us working and volunteering in his house the whole day beforehand. I had a few chances to talk with him, and he is full of great stories, encouragement, and advice.
I'm also happy to report that the performance went flawlessly, without any network hiccups or stumbles. Knowing that I'd be there in person, I actually ended up building messaging to the robot so that I could control actions discretely with my phone. This worked like a charm. I was able to start the main presentation on cue so that it seemed like the robot was really just starting up on its own.
I also put in a couple Easter eggs like having the robot fidget a bit after his spiel while others were talking and even sneezing at one point. I also gave myself controls so that I could have him clap along as other guests were introduced.
It all worked exactly like it was supposed to, and it was great watching the room full of theme park, robotics, and museum professionals hang on each sentence. Mr. Sklar had very kind and complementary words for me afterwards as well, so it's safe to say I was on top of the world.
To celebrate, since I was already in LA spending time with Imagineers, it seemed appropriate to spend a day in Disneyland, having never been. Tomorrow, more adventures!
First, let me start off by thanking Mr. Sklar for his generosity, not just hosting the event, but also being so welcoming to those of us working and volunteering in his house the whole day beforehand. I had a few chances to talk with him, and he is full of great stories, encouragement, and advice.
I'm also happy to report that the performance went flawlessly, without any network hiccups or stumbles. Knowing that I'd be there in person, I actually ended up building messaging to the robot so that I could control actions discretely with my phone. This worked like a charm. I was able to start the main presentation on cue so that it seemed like the robot was really just starting up on its own.
I also put in a couple Easter eggs like having the robot fidget a bit after his spiel while others were talking and even sneezing at one point. I also gave myself controls so that I could have him clap along as other guests were introduced.
It all worked exactly like it was supposed to, and it was great watching the room full of theme park, robotics, and museum professionals hang on each sentence. Mr. Sklar had very kind and complementary words for me afterwards as well, so it's safe to say I was on top of the world.
To celebrate, since I was already in LA spending time with Imagineers, it seemed appropriate to spend a day in Disneyland, having never been. Tomorrow, more adventures!
Tuesday, May 1, 2012
Going to Hollywood
I have very exciting new to share in this post. Having only recently gotten involved with robots at the Museum of Science and Industry, things have quickly escalated into a once in a lifetime opportunity. The museum is currently working to secure funding for a new, robot-oriented exhibit, and Disney Imagineering legend, Marty Sklar is planning to host a private fund raising event at his home on the west coast.
The guest list should include past and present Imagineers, which isn't surprising, given the numerous ties between the museum and Disney. Not only are there employees with stops at both institutions, but, though it's not widely publicized, Walt was actually born in Chicago, and I've read that a trip to the museum's Coal Mine exhibit was part of what sparked his passion for themed attractions.
Thanks to my wonderful friends at the museum, I've been invited to program one of the Nao robots to do the introductions for the evening. You read that right. My first serious assignment in animatronics programming would be performed for Imagineers in the home of one of the greatest original Imagineers himself.
It's no secret that one of my dream jobs would be to work as an Imagineer someday. I got involved in engineering because of the enjoyment I get using technology to create anything that moves and acts on its own. Whether it's an industrial robot or a holiday animatronic, after long hours designing, programming, and testing, being able to push a couple buttons and then watch the result take on a life of its own is a thrill that I will never get tired of.
Adding to the excitement, I was given a decent amount of creative freedom with the performance, so I've taken the opportunity to be creative with it. Hopefully I can entertain and amuse the attendees, make a good impression, and ideally build some rapport in the Imagineering community. Below is the latest rough draft. I'm going for something fun and a little unexpected.
The guest list should include past and present Imagineers, which isn't surprising, given the numerous ties between the museum and Disney. Not only are there employees with stops at both institutions, but, though it's not widely publicized, Walt was actually born in Chicago, and I've read that a trip to the museum's Coal Mine exhibit was part of what sparked his passion for themed attractions.
Thanks to my wonderful friends at the museum, I've been invited to program one of the Nao robots to do the introductions for the evening. You read that right. My first serious assignment in animatronics programming would be performed for Imagineers in the home of one of the greatest original Imagineers himself.
It's no secret that one of my dream jobs would be to work as an Imagineer someday. I got involved in engineering because of the enjoyment I get using technology to create anything that moves and acts on its own. Whether it's an industrial robot or a holiday animatronic, after long hours designing, programming, and testing, being able to push a couple buttons and then watch the result take on a life of its own is a thrill that I will never get tired of.
Adding to the excitement, I was given a decent amount of creative freedom with the performance, so I've taken the opportunity to be creative with it. Hopefully I can entertain and amuse the attendees, make a good impression, and ideally build some rapport in the Imagineering community. Below is the latest rough draft. I'm going for something fun and a little unexpected.
Tuesday, July 12, 2011
Teaching Robots to Punch
Well, you can't give a software engineer a Rock 'Em Sock 'Em Robots set for Christmas and expect him to be satisfied just pushing the little manual levers. I mean, it even requires convincing someone else to play with you.
I was amazed to see that a quick Google search turned up only 1 other instance of anyone trying to automate a Rock em Sock em game, so I set off to try it for myself.
Once I managed to pry the sonic welded pieces apart, the Red Rocker's torso was almost a perfect fit for Pololu micro DC motors, so giving my Red Rocker some muscle was fairly straight forward.
This setup let me attach the motors straight to the bicep, which definitely feels like a much cleaner engineering solution than just putting servos onto the existing levers. I put together a quick demo to prove that the motors pack a big enough punch. Enjoy the 'gun show'.
I was amazed to see that a quick Google search turned up only 1 other instance of anyone trying to automate a Rock em Sock em game, so I set off to try it for myself.
Once I managed to pry the sonic welded pieces apart, the Red Rocker's torso was almost a perfect fit for Pololu micro DC motors, so giving my Red Rocker some muscle was fairly straight forward.
This setup let me attach the motors straight to the bicep, which definitely feels like a much cleaner engineering solution than just putting servos onto the existing levers. I put together a quick demo to prove that the motors pack a big enough punch. Enjoy the 'gun show'.
Location:
Chicago, IL, USA
Saturday, June 25, 2011
Getting into Volunteering
A couple years ago at a New Years Eve party, I was introduced to a friend of a friend who happens to work at my favorite museum, The Museum of Science and Industry. She and I had a great conversation about robots, which is an area the museum wants to do more in and for which I have a personal and professional affinity.
Fast forward to present day and this all led to me getting to come in to the museum to play with one of their newest robots. MSI obtained several Aldebaran Nao robots to feature in the Fast Forward exhibit. These little guys are pretty advanced when it comes to commercial, off-the-shelf, humanoid robotics, so getting to spend a day programming one was a great opportunity.
With any luck this experience will enable me to get more involved with the museum as a volunteer, supporting some of these robots and finding unique ways to make use of them in addition to their current exhibit. I've included a rough cut below of the proof of concept I threw together today, including speech recognition, machine vision, and a little bit of animatronics.
Fast forward to present day and this all led to me getting to come in to the museum to play with one of their newest robots. MSI obtained several Aldebaran Nao robots to feature in the Fast Forward exhibit. These little guys are pretty advanced when it comes to commercial, off-the-shelf, humanoid robotics, so getting to spend a day programming one was a great opportunity.
With any luck this experience will enable me to get more involved with the museum as a volunteer, supporting some of these robots and finding unique ways to make use of them in addition to their current exhibit. I've included a rough cut below of the proof of concept I threw together today, including speech recognition, machine vision, and a little bit of animatronics.
Friday, March 25, 2011
Robots vs. Humans Soccer
Anyone who has frequented my blog entries knows that I am one of the biggest robot-enthusiasts around. That's why I was so excited to get a chance to attend a lecture at the Museum of Science and Industry given recently by Dr. Minoru Asada, a top researcher in modern robotics and one of the driving forces behind Robocup, and Mr. Ken Nagasaka, of Panasonic Factory Solutions of America.
Mr. Nagasaka addressed the revolution going on in hardware and how in just a few years, we've reduced huge factory-sized manufacturing lines down to the size of the just a room or a cell. This was an interesting presentation for me, as I have done a good deal of work with Panasonic PLC's, and Mr. Nagasaka gave a good history the whole company.
The really nerdy fun part from my point of view though was Dr. Asada's presentation. He showed many examples of the work being done in his lab, where the process of teaching robots to learn various tasks is shedding new light on human development.
He also presented several videos from Robocup, which, if you haven't checked in on in a while, has gotten a lot closer to its goal of challenging a human soccer team. This is another inspiring venture that basically is Dr. Asada's way of challenging electrical, mechanical, and software developers to work together in many technological frontiers, including AI, machine vision, and balance.
In all, the day was a great opportunity to see a glimpse of what the future of robotics and technology has in store. It is a reminder that often times the work we do as engineers is part of a bigger picture, where business, manufacturing, and everyday life are made better by automation technology.
Mr. Nagasaka addressed the revolution going on in hardware and how in just a few years, we've reduced huge factory-sized manufacturing lines down to the size of the just a room or a cell. This was an interesting presentation for me, as I have done a good deal of work with Panasonic PLC's, and Mr. Nagasaka gave a good history the whole company.
The really nerdy fun part from my point of view though was Dr. Asada's presentation. He showed many examples of the work being done in his lab, where the process of teaching robots to learn various tasks is shedding new light on human development.
He also presented several videos from Robocup, which, if you haven't checked in on in a while, has gotten a lot closer to its goal of challenging a human soccer team. This is another inspiring venture that basically is Dr. Asada's way of challenging electrical, mechanical, and software developers to work together in many technological frontiers, including AI, machine vision, and balance.
In all, the day was a great opportunity to see a glimpse of what the future of robotics and technology has in store. It is a reminder that often times the work we do as engineers is part of a bigger picture, where business, manufacturing, and everyday life are made better by automation technology.
Friday, December 25, 2009
A Roomba Christmas
Well, it's here. The moment you've all waited for.
Thanks to the holiday season, I have finally been able to follow up on my Roomba work!
Using the ROI 500 protocol from iRobot, I decided it would be a nice gesture to have Roomba do a little Christmas performance for everyone.
I created a serial tether to connect the Roomba directly to my PC and controlled it in real time with a LabVIEW 8.5 program.
I programmed Roomba to play notes as he dances back and forth and to blink its LEDs. All of the music is coming from Roomba’s speaker, not an external source.
Hope this helps brighten up your holiday!
Thanks to the holiday season, I have finally been able to follow up on my Roomba work!
Using the ROI 500 protocol from iRobot, I decided it would be a nice gesture to have Roomba do a little Christmas performance for everyone.
I created a serial tether to connect the Roomba directly to my PC and controlled it in real time with a LabVIEW 8.5 program.
I programmed Roomba to play notes as he dances back and forth and to blink its LEDs. All of the music is coming from Roomba’s speaker, not an external source.
Hope this helps brighten up your holiday!
Thursday, June 4, 2009
Teaching Roomba to Love
A few weeks ago, I was coerced by my girlfriend into buying one of those silly "floor cleaning robots". Yes, I mean a Roomba. I was skeptical, but I sat down and did some research. Little did I know that while I had been slaving away religiously vacuuming my own floors (ok, occasionally vacuuming my own floors…) since the first Roomba came out in 2002, the makers at iRobot had made amazing strides in autonomous floor cleaning technology!
While version 1 Roombas seemed to bumble around like an aimless freshman in orientation week, the current Roombas promise not to lodge themselves under your furniture or toss themselves down your stairs, can be scheduled to clean when you're not home, and even charge themselves! These videos convinced me that these little guys are actual engineered robots now-a-days.
So, after explaining to my cat that there would be a new addition to the family soon, I ran out that very night to bring home her new little sister, a 530 Series Roomba. I tore into the package like a kid on Christmas morning (or like an engineer opening up a floor cleaning robot). After naming her and waiting the agonizingly long 16 hours for the first battery charge, I started to step through the instructions. While flipping through the pages I was given one of the biggest, best surprises I’ve had in a long time.
Instead of a disclaimer about how any modification to Roomba would void her warrantee, I found a message encouraging programmers, engineers, and electronics enthusiasts to modify and add on to Roomba! They even put a serial connection in and provided a full set of commands (called ROI 500 or Roomba Open Interface 500) to completely control Roomba with a microcontroller or Bluetooth device! Thanks iRobot for embracing the robot enthusiasts at home. I look forward to collaborating with you from my apartment.
While version 1 Roombas seemed to bumble around like an aimless freshman in orientation week, the current Roombas promise not to lodge themselves under your furniture or toss themselves down your stairs, can be scheduled to clean when you're not home, and even charge themselves! These videos convinced me that these little guys are actual engineered robots now-a-days.
So, after explaining to my cat that there would be a new addition to the family soon, I ran out that very night to bring home her new little sister, a 530 Series Roomba. I tore into the package like a kid on Christmas morning (or like an engineer opening up a floor cleaning robot). After naming her and waiting the agonizingly long 16 hours for the first battery charge, I started to step through the instructions. While flipping through the pages I was given one of the biggest, best surprises I’ve had in a long time.
Instead of a disclaimer about how any modification to Roomba would void her warrantee, I found a message encouraging programmers, engineers, and electronics enthusiasts to modify and add on to Roomba! They even put a serial connection in and provided a full set of commands (called ROI 500 or Roomba Open Interface 500) to completely control Roomba with a microcontroller or Bluetooth device! Thanks iRobot for embracing the robot enthusiasts at home. I look forward to collaborating with you from my apartment.
Subscribe to:
Posts (Atom)






