BrickEngineer: LEGO Design

LEGO Engineering for LEGO NXT and Robot Enthusiasts

Little Rover with Instructions and Code


I have finally compiled building instructions for my Little Rover, which can be seen above in a 3D Rendering courtesy of POVRay.  An earlier version of this rover can be seen in this YouTube video:

Little Rover Prototype Video

Rover Design

The complete detailed building instructions can be found here in this 94-page pdf file.
Warning: it is about 9MB in size.  The design is not entirely compatible with the standard NXT Mindstorms Kit.  This design relies on two touch sensors, several 1×9 bent liftarms, and as far as I can tell from Peeron, the NXT Kit has only two.  This may require a little redesign.  Other compatibility issues and their solutions can be found in the Parts List in the instructions.

Remember to download the software DriveSmart here as well.
Installation instructions can be found in the zip file.

DriveSmart Code

The main file is called DriveSmart.rbt.  Drive Smart runs four threads:

Drive Thread
The Drive Thread (lowest one of the four) drives until a warning flag is set by one of the other
threads. It then waits until it gets an all clear message via the Wait Until Free block, and then
it starts driving again.

Bumper Threads
There are two threads that monitor the bumpers.
The reaction is only activated if nothing else is currently commanding the robot.  In this case the
bumper has been pressed and the robot will veer away from the hazard.

Ultrasound Thread
This thread monitors the ultrasound rangefinder.
The reaction is only activated if nothing else is currently commanding the robot.  When the robot
comes too close to a hazard, the robot is commanded to stop.  It then looks both ways and then turns
in the direction with more room.  If the robot is within 10 cm of a hazard on both sides, it then
backs up.

The robot can roam about a wide variety of rooms and not get stuck.
He does not detect stairs though!  So be careful.

Download: instructions and code.

Kevin Knuth

10+1 LEGO Design and Engineering Tips

1. Use only parts that are necessary…no less and no more.
In the course of trying to fortify a LEGO construction, it is extremely easy to get carried away and add too many parts. If you are like me, you have a limited supply of parts.  Using too many parts rapidly depletes your supply and can add significant weight to your creation.  If you are building a robot, this extra weight can really slow it down.

2. Build strong connections
We all know that when stacking bricks to make a wall, you need to stagger the bricks so that the next layer of bricks holds the bricks in the lower layer together by covering up the cracks.  This is one way to build strong connections.  You can do even better by bracing the wall with a beam by pinning it to technic bricks embedded in the wall.  By adding a few carefully chosen pieces, it is possible to significantly strengthen a structure.  Just be careful not to go crazy and violate Tip #1.

3. Be aware of design constraints
Every time you add a LEGO part to your creation, you limit the possibilities of what you can make.  When you have nothing you can make anything.  When you grab a brick, you can now only make things that have that brick in it.  Each part constrains the creation. Be aware of parts or constructs or mechanisms that place too strong of a constraint on your design.  You dont have to get rid of them, but just be aware of the role they play in constraining what you do next.

4. Dont become TOO attached to your creation.
Sometimes we find that we really really like a certain aspect of the construction or a set of parts, but nothing else works. The tendency is to get rid of everything else and then build up around those parts we really like. However, these parts are placing strong constraints on the design… often too strong, which is why nothing else works. The solution is to get rid of the problem. In this case, you have to get rid of the set of parts you like because it is over-constraining the rest of the design. You dont have to destroy it (see Tip #9)… just set it aside, but be sure to remove it from your creation.

5. Be open to new ideas.
There is always more than one way to solve a problem. Be open to new, and seemingly crazy ideas. Sometimes these lead to ingenious solutions. If you suspect that you are having problems similar to those described in Tip #4, take some time out to brainstorm and see if you can come up with a new idea!

6. Build in stages.
Designing a complex structure or mechanism in one step is almost impossible. Break the construction up into stages, and consider each stage separately. Sometimes a given stage will still be too complex. If so, break that construction up into stages as well. Just be aware of the dangers in Tip #4 above. Your solution for one stage might be awesome, but if it doesn’t work well with your solution as a whole… it has to go. Again, if you have enough parts, keep your creations. Otherwise, at the very least preserve their memory by building them in a LEGO Computer Aided Design (CAD) system.

7. Watch for opportunities.
Sometimes we get lucky and we find that a part or a set of parts can serve two or more functions. This is an excellent situation as it saves you both parts, size and weight. Watching out for these opportunities, and taking advantage of them when you can, can really help make an elegant and efficient design. Just be careful not to become too attached to the idea, as you could end up in trouble as described in Tip #4.

8. Study your design.
When you are all finished, take some time to study and test your design. Consider both form and function. When considering form, you are concerned mainly with aesthetics (beauty). What do you like about the design? What dont you like? Is it too big? Is it bulky? Can it be made smaller, sleeker, more elegant? When considering function, you are concerned mainly with its operation and effficiency. Does it do what it is supposed to? Do the parts go together well? Does it vibrate? Do the gears mesh properly? Does it get stuck? Is there too much friction in the system? Could it be smoother? Is it safeguarded against parts breaking in high torque situations? Then consider the big picture. What did you do right? What did you do wrong? If you could do it over again, what would you change?

9. Keep your designs
I have mentioned this tip several times above. If you have enough parts, and enough room, keep your creations. Otherwise, at the very least preserve their memory by building them in a LEGO Computer Aided Design (CAD) system and generate building instructions. That way you can keep a good idea. Who knows if it will come in handy later?

10. Do it over again!
When building mechanisms that require careful consideration of either form or function, you should plan to make several prototypes (a prototype is a first design). Don’t destroy what you just constructed. You may need to refer to it by copying a part of the design that worked well. You may also need to see if you have improved the form or function by comparing it to your first attempt. I personally plan to make at least three prototypes until settling down with a final design.

11. Color coordinate your creation
I dont apply this rule to my first prototypes, but as I settle in on a final design, I work to choose the brick colors carefully. Of course, we do not always have enough parts to do this, but it is worth the extra effort. Colors scattered all over a design leads the eye to seeing it as haphazard rather than elegant. A careful choice of colors can really enhance the form of your creation. You can also use colors to enhance the function by color-coding functional segments of your design. This is maybe better for illustrative purposes (as in a LEGO CAD design), but usually I choose the latter and aim for an elegant coloration.

Kevin Knuth
Albany NY

LEGO Triangles

LEGOs are designed to go together to form rectangles.  Here I present some possibilities for equilateral triangles, which can be extended to form hexagons.  Some of the more recent triangle designs, which I present below are being used in a current design for a tri-wheel drive system for a Mindstorms rover I am currently constructing.

These first triangular designs are equilateral triangles (same side lengths), and can be put together to form hexagons as well.  These are extremely sturdy constructs and may find use in triangular or hexagonal bases.

Below is the smallest LEGO equilateral triangle.  The parts used to construct it are shown to the right.  It often takes a bit of pressure to snap this together since it is a tight fit, so take care when doing so.

One can make equilateral triangles of any size this way.

Big Triangle

If the connectors are a bit cluncky,
one can use the thin technic liftarms with the small axles to secure the triangle.

Alternate Triangle Design

Here is a rotating image of the result so you can get a good look.

Alternate Triangle Design

The two following designs are slightly alternate forms.
One uses beams of length 11, but is offset slightly so that there are empty peg holes at the corners of the equilateral triangle.

Alternate Triangle Design

The following design uses beams of length 9, and lacks holes at the triangle corners.

Alternate Triangle Design

The following triangle is composed of beams of length 11, and has a a 3-blade rotor in the center to act as an axle.  The parts list and instructions can be found here.

Equilateral Triangle with Axle

An animated version illustrates how the braces hold the central rotor in place.

Equilateral Triangle with Axle

Geneva Mechanism

The Geneva Mechanism takes smooth rotary motion and converts it to intermittent rotary motion. One can think of it in electronics terms as changing the duty cycle of the oscillation.  This is a mechanical version.

Geneva mechanisms were invented in Switzerland for use in clockwork so that the hands of a clock would snap rapidly to their new positions rather than move smoothly across the face of the clock. They are also used to advance movie film in film projectors and are responsible for that clicking noise that film projectors make.

LEGO Geneva Mechanism

Here is a rendering of a Geneva Mechanism designed from LEGO parts. This rendering was made using MLCad in the LDraw package in conjunction with L3PAO and POV Ray.  Below the mechanism in operation.  This process will be described in detail in a future post.

LEGO Geneva Mechanism

The building instructions are straightfoward and can be downloaded in this zip file.

I am looking into using such a mechanism in a LEGO laser scanner, which can be used in instrument or robotics applications.

A smaller LEGO Geneva Mechanism created by Leo Dorst of the Intelligent Systems Laboratory in Amsterdam can be found here, although I have not been able to get it to work myself.

Meta-Parts: Part III

This is a continuation from Meta-Parts: Part I and Part II and consists of a library of LEGO constructs that can in many cases act as liftarms for bracing various structures. Here we consider constructs made from the LEGO axle joiner perpendicular.

Axle Joiner Perpendicular Constructs I
These LEGO constructs are even more sturdy and can be used as extremely strong braces. These are especially good for LEGO Mindstorms NXT projects.

Axle Joiner Perpendicular Meta-Parts

Axle Joiner Perpendicular Constructs II
This figure shows the wide array of constructs that can be made with both the axle joiner perpendicular pieces. These pieces are constructed from either two or three of these joiners. An example showing seven of them is below. The number of combinations is staggering.

Axle Joiner Perpendicular Meta-Parts

I have found such LEGO constructs to be especially useful in robotics applications.

Meta-Parts: Part II

This is a continuation from Meta-Parts: Part I and consists of a library of LEGO constructs that can in many cases act as liftarms for bracing various structures. Note that these LEGO designs can easily pull apart when you apply forces in certain directions—usually within the plane of their design. They will not be stable for constructions requiring that they withstand forces in those directions. However, if you need to brace against forces that are directed out-of-plane, or to prevent torsion (twisting). These constructs may help. If you are desperate, and are willing to sacrifice purity, a drop of superglue will do wonders.

Planar Constructs
This is a strange set where the construct has round holes that lie in a plane. Some of these constructs are quite strong, but the next set is even stronger still.  These construct provide alternative ways to stabilize axles.

Planar Meta Parts

Rectangular Constructs
The following rectangular constructs are typically much stronger than the previous constructs. These examples sport round holes at either the corners of the side centers.

Rectangular Meta-Parts

Square Constructs
These squares are quite sturdy, and can be constructed to have a good number of round holes in the square interior. The constructs in the lower row enable one to firmly attach two beams at 90 degree angles to create cross shapes.

Square Meta-Parts

Content Protected Using Blog Protector By: PcDrome.