Bespoke Robot Society:Toddler Testing

From Bespoke Robot Society
Jump to navigation Jump to search

Toddler Testing

This is BRS rant number four, about why testing your robots in the real world—with actual toddlers—makes them better.

The Real World Includes Toddlers

It's very important to test your robots in the real world. And guess what? The real world includes toddlers.

A lot of robotic projects fail because they encounter an edge case that was never tested for during development. Why not encourage testing with the metaphor of a toddler who will break anything they can, however they can?

Edge Cases in Human Form

Toddlers do not share your preconceptions of the happy path of how to use your robot. They will:

  • Poke and prod it
  • Attempt to dismantle it
  • Smash it
  • Toss it
  • Drop it

They are edge cases in human form—unpredictable, creative, and relentless in their exploration.

This relates to moving beyond toys—real robots need to handle unexpected interactions, not just the controlled scenarios we design for.

Why Toddler-Friendly Robots Matter

There's another aspect of this, which is that I actually do want robots that toddlers can play with. I want toddlers to be exposed to these things and start to understand:

  • "Oh, hey, look—this is a thing that's exhibiting behavior"
  • "It has parts that I can remove"
  • "I can add the parts back on"
  • Maybe even start to imagine how to change the behavior

How could I interact with this robot? I'm going to block its path. I'm going to draw a fork in the lines. Just whatever it takes to get kids thinking about systems and interactivity and cause and effect is a good thing.

Cheap robots that validate their exploration without risking a lot of money are a great tool for that. This supports the philosophy of making robots accessible to everyone.

What Toddler Testing Improves

Durability

This happened to me while I was revising SimpleBot. The toddler got hold of the bot and dropped it off a table. One of the motor mounts snapped. I didn't freak out—I just went back to CAD and made that part twice as beefy.

It was not a big drop, maybe a couple of feet, but it's the sort of thing that could feasibly happen in a school or something. Having that toddler test—you know what, you're going to need to make this part a bit thicker—that is a valid test.

Simplicity

If your parts are kind of fragile, or have sensitive gears, or fine parts that can be bent out of shape, a toddler will find those and bend them. They will cause that fragile part to stop working.

If your robot can continue to function after being handled by a toddler, that's a good design. The principles that make robots actually useful also make them robust.

A Story from Airman Leadership School

This was probably going on closer to two decades ago now. I had built a little Arduino robot. Back in those days, the Arduino was powered by a 9-volt battery and the motors by four double-As.

I'm just showing my classmates what I'm working on recently. I put the robot down and flip the switch, and it starts driving ahead. You know, it's the military—everyone thinks they're cute. Some guy stands up, goes in front of it, and puts his boot in the way.

The distance sensor on the front of it got up within a couple inches of his boot, started turning clockwise, and then kept going forward around his foot.

In that moment everyone was just like "ooh." I don't think that back in those days, when Arduino was kind of a new thing going around, anyone expected it to have that reactivity. They just did not remotely expect it to do that. The guy just expected it to run into his boot and not have any reaction to him being there.

If we can do that same level of autonomy—that your toddler picks up and moves the robot, and when it gets set back down it continues its task—that's going to make it more robust to other, more realistic disruptions too.

Simulation vs Reality

Simulation is good. But toddlers are real. That's the idea here.

Real-world conditions change. You need to have not just random noise from your simulation, but actual random events from things your robot has to deal with.

Be robust. Let a toddler try your stuff. If your robot survives a toddler, it will survive anything.