Tuesday, November 17, 2015

How do I make him drive?

Well, since the body shell is being a little bit annoying, I have to think a bit about how he's going to drive.  I have a couple ideas and a few fallback plans, but there are a limited number of ways a BB-8 can drive.

Cheerleader

One style that comes to mind is what I call the "Cheerleader" after a video I saw of Murata's cool balancing Cheerleader robots.


In this style, the robot balances on a ball, and can move the ball in different directions by moving the motors underneath it.  One of the first BB-8 builders in the UK chose this approach.  That makes the "ball" (BB-8's body), pretty simple, but the head is a more complicated robot.

Celebration's reveal of the stage BB-8 showed some of the problems with this approach because BB-8 can lean his head without moving the ball, so the stage droid isn't a "Cheerleader"

Hamster

Another type is what we've generally taken to calling a "Hamster" in the club.  Hamster droids basically treat the body like a big hamster ball, with a robotic car hidden in the middle of the droid.  This is likely the approach the stage droid took, though there are a few different ways you can build a hamster.  Challenges are that the hamster has to be big enough to move the ball, and that you have to be able to open the body to service the hamster.

Hamster Car

The hamster "car" could even literally be an R/C car, driving around in the ball.  When the car drove, it would push the ball in that direction.  That's reasonably simple, although it would mean that BB-8 would have to do 3-point turns and couldn't pivot.  The stage droid showed movements in arbitrary directions, and even swiveled the body, so it probably isn't a car type hamster.

Omniwheel Hamster

An omniwheel drive robot is a typically a two, three or four wheel drive vehicle where the wheels are 120 or 90 degrees to each other.  Each wheel also has rollers that allow them to slide in a different direction than the wheel's rotational direction.  An omniwheel robot should be able to move in any direction, and can even spin in a circle.  A microcontroller sends appropriate signals to each wheel to allow for smooth movement.  Here's a short video I found of one on YouTube.
An omniwheel robot inside BB-8's body would allow him to turn in any direction, and even to spin the body in a circle.  The hamster could also have arms to keep it centered in the ball and more stable.

The Sphero BB-8 is like a two wheeled omniwheel hamster, and omniwheels are a likely candidate for the stage BB-8 we saw.

Hamster Cage

Another possibility is a frame like one of the gyroscope rides.  The outer frame of the gyro would be attached to the droid shell and then motors could swivel the axis to cause the shell to move.  In order for this to work, the interior car (where a person would be on a human gyroscope ride) would have to have enough weight to keep it upright.  If the center bit was too light, then it'd just flip over instead of moving the ball.  Since we need batteries anyway, this isn't a huge problem. 

A few builders are considering this approach, however it gets tricky with the frame getting in the way of other effects, like trying to control/attach the head.

A variation would be some sort of track on the interior that allowed omnidirectional movement.

The Power of Attraction

But if you do a hamster type droid, what about the head?  Most builders think that the head is attached by magnets to an arm on the hamster.  (This is again similar to how the Sphero works).  For more complex movements, the arm could pivot to make the head lean in the direction of the movement or to peer around corners.  It could also rotate.

A variation of the arm would be to have a car and track mount to the hamster doing basically the same thing.  A track would allow better control of the motion since you wouldn't have a 25cm arm with a large with on the end trying to be controlled by a couple motors in the middle.  The track could pivot like an Artoo dome, and the magnet attachment could also rotate.

It seems likely that the stage BB-8 is some form of the magnet attraction.  Challenges are balancing the magnets, the head still needs power for the lights, and the head needs to be light.  Additionally the head has to slide easily on the body, which could be done with round casters. 

Combination Mode

Another possibility is a combination of the two: an inner hamster and an independent cheerleader head.  They'd have to coordinate their movements, which makes the system more complex in some ways, but they wouldn't have to worry about the mechanical lever arms of the magnetic method.  A cheerleader head would probably still have to be lightweight (compared to the hamster) to enable leaning and peering gestures.  This is probably more complex than most BB-8 builders need.

What About My Lego BB-8?

The Lego BB-8 has an additional challenge that most builds don't have to worry about: Rough interior & exterior ball surfaces.  Omniwheels don't like driving over rough stuff, and an irregular surface makes it hard for the head to slide, and difficult to keep an even magnetic distance.

Because of the rough body, I'm leaning toward a combination hamster + cheerleader.  Perhaps even a simple R/C Crawler for the hamster as big rubber tires could easily navigate the rough bricks.  The trick is whether or not I can get the cheerleader to drive on the ball. 

Fallback plan is a hamster with a magnetically attached head, which probably requires smoothing out at least the inner sphere.  Smoothing out the sphere may help with the panel's current structural issues as we may be able to 3D print reasonably smooth plates to tie the panels together and also have a smooth interior.

Thursday, November 12, 2015

A Lego BB-8 Hemisphere!

Wow, it's starting to look like what it's supposed to be!  For once I don't really have to explain what it's supposed to look like!

Lego BB-8 Body Hemisphere

Lego BB-8 Hemisphere!

Though, again, some bits are complicated, so the red dots are substituting for missing bricks and showing where the white triangle panel buttons go.

Part of the reason building slowed down is that I'd only digitally designed panel 3 so far.  So while Lara was building the orange rings for the panels, I first had to design the pattern layout for the other panels on the computer. 

As I mentioned last time, the body is made of 6 panels designed to fit together into a sphere.  Conveniently BB-8 has 6 hatches, so each panel has one of the hatches in the middle.  Here's a view of the three completed panels, arranged as they attach.

Lego BB-8 Panels 6, 3, and 5 
We ran into a few problems this time.  First of all, when I'd ordered bricks we only had the design for Panel Three, so I just multiplied that times 6 for the six panels and padded the order a bit.  What I didn't think about was that maybe the other panels would want a different shape of brick, so the design ended up with a few in less-than-convenient sizes.  We made do, but it was annoying and used more bricks that I'd wanted.

The other problem is going to be a lot harder to solve.  Individually the panels are pretty strong, but they don't really attach at very many points.  Trying to arrange the panels for the picture above they wanted to fall apart, and even started splitting at the layers within the panels. 

I finally got it to stay together long enough for the photo, but this isn't going to work for a static (non-moving) model that has to sit for more than ten minutes, let alone a model that's supposed to drive around and interact with folks.  I have several ideas to solve the problem, but it's not going to be trivial; we'll see how hard it ends up being.

You can see symptoms of this problem in the interior photo below.  The white lines in the middle are where the bricks were separated enough to allow light to leak in from the lights outside.

Lego BB-8 Interior showing splitting seams
Lego BB-8 Interior showing splitting seams

Here it is a little more zoomed out.  I wanted you guys to be able to see how the panels are designed to attach to each other with a reasonably smooth join for the "hamster" robot to run around on.

Lego BB-8 Interior
Lego BB-8 Interior
Well, now I need to go design the next 3 panels... and figure out what to do to make it stronger.

Monday, November 9, 2015

The first BB-8 Panel, "Hatch 3"

The postman loves me I think, I'm getting so many packages of brick that he's leaving the "Property of USPS" plastic boxes with all the brick (yes, I leave them by the mailbox for him to collect). Anyway, we have a lot more brick, and so I managed to get the first panel MOSTLY done.

This picture is missing a few of the orange "buttons" on his the orange ring because I don't have the bricks under them yet.  The red dots are placeholders for where the white buttons go on the triangles, but this gives you an idea of the panel. 
Lego BB-8 Panel/Hatch 3
I'm feeling good about the panels, I was wondering about the strength because they're relatively thin, but I can hold it from the edge/end with one hand.  They seem pretty solid!

The design has 6 of these panels that attach at the edges to make a sphere.  They're kind of an ovalish shape and the "ends" of one will attach to the narrow sport of the next one.  Six panels means I have 5 left to do. 

Since both of the white ends are similar that means that the next step is basically an assembly line of the 10 ends of the panels, here's a picture of the beginning of that process.
Lego BB-8 Panel Assembly Line
And here's a picture of inside of Panel 3.  It's not as pretty, but still pretty round so the "hamster" can drive around on the inside of the ball.  I've attached two of the start of the adjoining panels so you can see how they attach.
Inside of Lego BB-8 Panel 3 with wings

That's all for now, but I feel like I'm on a Lego building roll!