The trailers for the new Star Wars movie (Star Wars: The Force Awakens) introduced a new Droid called BB-8. This curious little guy features a spherical body and a controlled instrumented head. More recently, the BB-8 droid was showcased in a Star Wars celebration event and to many peoples' surprise it is real and not a CGI effect!
We have a Sphero robot from Orbotix here at the office, and there was an immediate connection between BB-8 and the Sphero. All that remains is to add the head!
Many have already put together their version of the BB-8, but I wanted to have a physical model that I can play with in a virtual environment and explore some design options.
To build a model of BB-8 like robotic system in MapleSim (Maplesoft's physical modeling software environment), I first needed a couple things in place before going forward:
- A few simple CAD shapes (half-sphere, wheels)
- A component to represent the contact between two spheres (both outside contact and inside contact)
I used Maple’s plottools package to build the CAD files I needed. First a half-spherical shape:
Then a wheel:
The next step was to create the contact component in MapleSim. I used a Modelica custom component to bring together vector calculations of normal and tangential forces with a variety of options for convenience into one component:
Build the model:
We start with a spherical shape contacting the ground:
Then we add two wheels inside it, and a hanging mass to keep the reference axis vertical when the wheels turn:
Learning from published diagrams showing the internal mechanism of a Sphero, another set of free wheels improves the overall stability when motion commands are given to the two active wheels:
Now this model can be used to move around the surface by giving speed commands to the individual motors that drive to the two bottom wheels. What is needed next is the head and the mechanism to move it around.
Since the head can move almost freely, independent of body rotation, it has to be controlled via magnetic contacts and a controlled arm.
First, we add the control arm:
Now we need to build the head.
The head has an identical triangle to the one at the end of the control arm. At each vertex there is a ball bearing that would slide on the surface of the main spherical body without friction. The magnetic force between the corresponding vertices of the two triangles is modeled via the available point-to-point force element in MapleSim.
Once assembled, the MapleSim model diagram looks like this:
...and our BB-8 droid looks like this:
Seeing the BB-8 in action:
Now that we have constructed our droid in MapleSim, we can animate and see it in action!