This is an idea for a robotic toy, consisting of a sturdy
plastic sphere, which has one robot rolling around inside it,
and one robot balancing on top of it, and of course a
remote control.
The two robots have a lot in common with one another.
They both have holonomic drives, accelerometers,
gyroscopes, a digital compass, a kalman filter or two, a
radio receiver, and a proportionalintegralderivative
controller.
Each bot's drive system is surrounded by a rigid airtight
shell, the edge of which has a very tiny amount of
clearance between itself and the ball. Each shell has a fan
which constantly removes air from inside the shell,
essentially making it into a suction cup. Atmospheric
pressure on the outside of this shell pushes the shell (and
the drive wheels!) firmly towards the ball.
This suction is similar to what allows wall climbing toy cars
to work. It reduces the chance of accidental separation,
and it means that the bots can position themselves
*anywhere* on the ball, including at the balls horizontal
equator, without falling off.
The remote controller has (at least) two two-axis control
sticks, one controlling each bot. There's also a digital
compass in it, like the one in the bots.
Each bot constantly tries to maintain a position on or in the
ball at a specific angle -- namely, however much that bot's
control stick is pushed away from the neutral position.
If either control stick is not being pushed at all, the
corresponding bot will try to remain exactly at the top or
bottom of the ball.
If either control stick is pushed all the way in any
direction, then the corresponding bot will try to try to
remain at the equator of the ball.
Each bot also has a target angle relative to north that it
tries to seek -- this is the angle of the remote control
relative to north *plus* the clockwise/counterclockwise
angle of that bot's control stick.
Basically, if you face towards the bot, and push a control
stick up (towards the bot), that bot will try to move to the
side of the ball which is away from you. If you push a
control stick rightwards, that bot will move the the side of
the ball which is on your right side, etc.
If it's in the budget, there should be a camera on the outer
bot, with a remote controlled pan motor which spins the
head, and perhaps also a tilt motor which angles the
camera up and down.
In case you're wondering, why *two* bots, the answer is
simple -- it lets the bot move in one direction, while
angling it's head in another, and perhaps pointing it's eye in
a third. Just don't use this power to look up skirts, that
would be mean. And silly.
This lets your BB8 or BB9E seem much more "alive" than
what you can do with just one bot. Decorating the ball
and outer bot to looks like one of these two Star Wars
droids is, of course, absolutely mandatory.