As a CS person, ingenious mechanical solutions to problems like this always amaze me. If I had to solve this problem I'd probably end up with a bunch of accelerometers and gyroscopes wired up to a complicated program trying to do rotation correction. Mine would be slow, heavy, and probably not work. And then some genius would tell me about Rollerons.
Makes me wonder how many of the problems we solve with code could be done in other ways.