Robot Vacuum is 26.7% busy?

A quick glance at the first Neato driver I found does everything via polling. Polling is bad because it means it runs your driver code over and over needlessly while the vacuum isn't even doing anything. It also uses def for everything, too, so the Groovy runtime spends a ton of extra CPU cycles boxing/unboxing everything and doing all the other extra work that using def causes. I've seen def cause code to run well over 100x slower than static typed code, and if everything is statically typed then adding an @CompileStatic annotation makes it run many times faster still. None of that is used in the driver I looked it. It's an 'ok' driver in the sense that it probably does what it's supposed to, but definitely not in any way optimized for low CPU usage.

So if you're using the driver from here, then that's why. It's polling and using def everywhere.