Thursday, December 31, 2015

Rolling Sphere Test....

BB-8 isn't too happy about this next video.  We're trying to make sure the sphere concept is sound before we add the motors & everything, so here goes....

Thursday, December 24, 2015

Happy Holidays!

Happy Holidays from Lego BB-8 and MCK-Y!

More pix of us (& L3-G0) at the Pacific Science Center's Discovery Circle Gala on Flickr.

I'm also on Facebook, Twitter, and YouTube.

Thursday, December 17, 2015

BB-8 Talks!

A full size Lego BB-8 is nice and cool, but wouldn't it be better if he acted like BB-8?

The first step to doing that would be to get him to talk!  So here goes!  Looks way better with some animated LEDs!

Yea, I know he needs the newer sounds, but the movie just came out you know?

His "voice" is a Windows Phone connected with a Y cable to a portable Bluetooth speaker and the microcontroller that does the LED levels.  The LEDs are little RGB chips that can be individually programmed.

I had to shave the front brick a little to get it thin enough to light up well, but I think it looks pretty good.  (Before shaving it was just a little yellow dot.  Interesting that the brick turned the light yellow).

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.


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"


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!

Saturday, October 31, 2015

Time to start building a Lego BB-8

Well, ordering ELEVEN THOUSAND Lego bricks (plus a few extras) takes a while. In the meantime I wanted to make a little helper template. The inside of BB-8 needs to be hollow so that our "hamster" robot can drive the body. So that means smooth. This Lego brick jig helps fill the void so that I can make sure I'm not invading the interior space when I build the model.  We have a digital file, but this helps reduce the errors.
It has a bunch of eyes because I needed flat tiles, after all, I don't want the panels to stick to the jig.  And eyes were cheap on "The Lego Wall" at the local Lego Store.

Initial jig for BB-8 interior shape.
Originally I was just going to do one quarter and mirror it, but decided that was too awkward, so I built another half.  The ordered Lego brick hadn't arrived, but I did have some loos brick.  Enough to do a few layers before I ran out of brick.
Start of the first edge of "Panel 3" of BB-8.
Eventually we got more brick and I could build more.  Different bricks are in different boxes, and basically the build area is a huge mess... I'd rather build than organize :)
BB-8 Build area.
Here's a closer view of the panel half built.  The jig is visible here, I didn't build the whole thing since the 2nd half is just a mirror.  You can see that there's a purple inner sphere in the digital model too, serving the same purpose: to keep the real shell model from invading into the interior of the sphere.
Jig and BB-8 building area
Of course I started more as soon as the first bricks started arriving, which meant that I ran out of the bits needed for the corners and had to stop.

Sunday, October 25, 2015

BB-8 Construction Zone!

Well, after some delay getting bricks and life interfering and all that, we've started building...  Here's a couple pictures of the building area.  Kinda chaotic!

Lego BB-8 Construction Area

Yes, that is L3-G0 in the background.
Artoo's doesn't realize there's going to be another droid in the house!
More pix in a bit.

Tuesday, April 28, 2015

Thinking about the body...

Well, one of the biggest tricks is "how big is BB-8"?  I took a bajillion pictures of her at Celebration, and have other references, so we have a vague idea.  She ran around Artoo, and as club builders, we certainly know his diameter.

Anyway, after punching in a bunch of numbers, I came up with just shy of 20" for BB-8's diameter.  Then you've gotta remember that the builders are from the UK, so inches are probably not their first measurement system of choice.  (Just listen to Lee & Oliver try to convert).  So 20" == 508mm.  Now that's a VERY interesting number.  Basically 500mm or 1/2 meter.  Now that is the kind of number you'd expect a UK design team to come up with.  I can just hear the conversation now:
"So, how big should she be?" asks the English builder
"About so" (holding arms about so far) says the Director.
"That looks like a half metre" (notice the English spelling)
"Ok, half meter it is" (American Director spelling).

So I'm going with 500mm.  There've been lots of discussions and numbers thrown out on the forums, but the next most common value is 20", which is pretty close.  Hopefully if I'm a little small it won't be noticeable.

Ok, so you've got a size, how do you make it into a Lego sphere?  Fortunately I'd seen a link to an online tool before, and a quick Bing search found me "Bram's Sphere Generator".  That cool tool make a sphere out of 6 identical panels.  I tried a bunch of different numbers and settings and options until I found one that seemed like it would work.

Adding some orange rings got me to this sphere:

Initial Lego BB-8 Draft Test Sphere.
It's beginning to look a bit feasible!

Sunday, April 26, 2015

Well, here we go...

You may have seen L3-G0, the Lego R2-D2's blog, but now there's a new droid in town, BB-8.
Photo of the Exhibition BB-8 at Celebration Anaheim
We first saw BB-8 in the first trailer for Star Wars VII: The Force Awakens, tearing through a sandy desert, looking like she was running from something.  Fans speculation ran rampant.  The and R2-D2 Builder's forum were full of discussions, was she a real physical prop, or just CG.  Even if she was real, was she just a puppet?

Then we saw her on stage at Celebration Anaheim, rolling in circles around R2-D2, teasing him.  BB-8's real!  She drives around. There're lights!  She makes noises!

I'd been toying with how BB-8 might be constructed prior to Celebration, but the details of her movements on stage provided a wealth of new information.  She can move her head independently of the body, peering to look at things.  The body itself is very agile, being able to roll in apparently any direction, and even twist in place.  More details for us crazy fans to try to figure out and reproduce.

Before Celebration, we had toyed with the idea of making a Lego BB-8, but when she hit the stage that turned into a "we've gotta do this!".

So now a long journey begins.  Can we make BB-8 in Lego?  Can we get her to move?  What kinds of problems are we going to run into?  Where do we even start?