Puppets.jpg

Robot Behaviors

Robot Behaviors

At the beginning of 2019, I joined a newly formed team at iRobot dedicated to designing robot behaviors for Roomba, Braava, and Terra. For the purposes of our work, we define “behaviors” as the way in which a robot acts in response to a particular situation or stimulus. This work is wide ranging and includes everything from navigation and coverage strategies, to cleaning behaviors, to audible/visible UI feedback.

Background

Historically, Roomba’s behaviors had been defined by the engineering team. They created mostly algorithmic behaviors intended to optimize things like room coverage, cleaning efficacy, mapping performance, and not getting stuck. While there was a general goal of making Roomba look smart as it moves around your home, this was a subjective measure that frequently took a backseat to the harder metrics.

We knew however, that people tend to ascribe personalities to their Roombas, and that this has a big effect on their feelings toward the product. People often name their robots (Rosie being the most common), and even deck them out with googly eyes or other swag. When a Roomba breaks, customers have been known to demand that their particular robot be fixed and returned to them rather than being given a brand new replacement.

People actually do this!

People actually do this!

We also knew that the way the robot moves plays a big part in shaping this personality, but we weren’t sure exactly how, or even what attributes (beyond looking “smart”) were desirable. Should Roomba act more like an old-school robot, with mechanical 90 degree turns, or should it move more organically, like a pet? How can we introduce moments of delight without compromising the robot’s performance as a cleaner?

While we are just beginning to answer some of these questions, it has already opened up new opportunities to improve the ownership experience and to make iRobot’s family of bots feel truly special and polished compared to its competitors.

Understanding the space

To start to get a handle on this, we worked with our research team to develop metrics, based on academic research and tailored to home robots, with which we could assess behaviors. We asked our customers what attributes they desired in an ideal robot vacuum, as well as what attributes their current robot vacuum most expressed.

Not surprisingly, intelligence was a top attribute. But so was gentleness, precision, friendliness, independence, and consistency. On the flip side, people did not want robots that would appear random, clumsy, or mechanical in their expression.

We also looked at best practices from the animation industry, including Disney’s 12 principles of animation. Concepts like anticipation and slow in, slow out can be directly applied to robot motion. Adding a little anticipatory windup before driving forward, for example, is a great way to give a Roomba life. Sudden vs eased acceleration has a big impact on how behaviors come across.

Comparing two methods (jerky & smooth) of sweeping up a spill.

Comparing two methods (jerky & smooth) of sweeping up a spill.

While these principles can help, Roomba is not simply an animation. It is a physical object with limited mobility and an important job to do. So we sought to understand how Roomba works, in detail, and to characterize the DNA of its motion. This was achieved through conversations with the engineering team, and also through watch parties with stakeholders, where we would gather and simply observe the robot moving around and identify opportunities for improvement

 Prototyping Methods

Our team realized that we had a limited toolkit from which to explore expressive behaviors. So we set out to develop some new prototyping methods that would let us experiment rapidly and try things beyond what the robot codebase was set up to easily achieve. A few of the methods we explored were:

  • Digital animation

  • Storyboarding

  • Low-fi puppeteering

  • Bodystorming

  • Remote-control driving

Impact

While this work is still ongoing, we have already made a noticeable impact on how Roomba and Braava express themselves. To start, we are systematically refining & testing behaviors that can be easily scripted—i.e. do not require closed-loop sensing. For example, backing off the dock at the start of a cleaning job, or scrubbing an especially dirty spot.

To further extend the impact of this work, we are documenting the system in the form of a behavior style guide. This includes things like motion limits and easing profiles alongside higher level user-centered principles… and of course, lots of visual examples. Going forward this will help to establish motion design as a core competency of iRobot and to establish a “behaviors DNA” that is evident throughout the portfolio.