Saturday, August 6, 2011

Lego Technic 8258 Crane Truck Review: Drive, Tow, Lift, Tilt, Repeat

Among all the dust being (rightfully) spread these days around the massive new Unimog, it's difficult to focus on other Technic trucks. But I will actually do a little flashback and take a look at the slightly older, but not much less fascinating 8258, which I've had my sights on for some time already.

Lego-8258-Truck-Review-Main

Huge, at over 3,5 kg and 1877 parts (only a few percent less than Unimog's 2035 and at the same level as the 8421), it is undoubtedly among the flagships. And as you would imagine, almost two thousand parts imply quite a lot of functionality cramped in the generous volume a truck offers. Just like most real-world trucks, its cabin tilts to reveal an engine ― a V8 in this case, connected to the 3rd pair of wheels. Two front wheel pairs are steered (the front pair steering more than the 2nd, just as it should) through a HoG cylinder on the top. The cabin is just decorational, there's unfortunately not much to control about it, beside adjustable mirrors.

Lego-8258-Truck-Review-Closed But again, the crane is a masterpiece of Lego engineering. It can be rotated and its two arms independently tilted, all with a XL motor, two large linear actuators and a couple of gearbox parts. Thanks to a clever coaxial drive inside the turntable, relying on transmission rings and extenders, the crane can rotate without limits in either direction. Great design ― tight and efficient. The last arm of the crane can be extended, and the rope with a hook spooled manually; controlling even those functions with a motor in the chassis would be just too much. A manual ratchet locks the rope and prevents it to unwind under heavy load. The fourth function of the motor is to extend or retract two pairs of outriggers ― their ends are manually opened or closed, and have quite a reach and enough sturdiness to carry the entire vehicle and its load. And it's worth mentioning that the battery pack is very easily replaced; one does not need to break open half of the bodywork.

Looks are "standard" for this class of models: nicely shaped contours using the panels and Technic plates, with a few details such as the exhaust pipe, lights and horns. Just sufficient not to obscure the mechanics inside, but altogether, well judged.

Lego-8258-Truck-Review-Crane Mechanically, it's brilliant and a great lesson (especially the complex crane), but actually not devoid of flaws. I've found two; neither of them is too critical, but they need to be addressed. First, the steering system could have been a bit stronger, or been geared down a bit more. It is easy to steer while driving the truck, but while stationary it puts parts under some strain, as there are four large tyres to rotate, all very grippy under the weight of the truck. Second and more important, despite the truck having three clutch gears to prevent damage when the movements get blocked, it is not always on them that the system gives: often some other gear will skip and crackle, opening the way for some gear wear. Perhaps the final stages are just geared down a tiny bit too much.

But regardless, if you're asking me whether this is a good value for money, it certainly is. It's not the Unimog, but it offers almost just as much, while it can be found today for significantly lower price. Especially if you're aiming at building material, and not just the excitement of having something that came fresh from the factory.

▪ BUILDING, IDEAS AND CONCEPTS

As said, the mechanical ideas (especially the coaxial drives in the base of the crane) are great, and something one should add to his lexicon of Lego tricks. And, predictably, it's not the easiest to build: often you will connect large modules in a delicate way, have to synchronize gears, find the choreography to fit one part inside the other, etc. Nothing scary, especially if you're experienced, but it requires some patience (in my case, about 6 and a half hours of patience).

Lego-8258-Truck-Review-LightsOn Besides, the parts structure of 8258 is somewhat... unusual. Some typical Technic parts are used very scarcely, which probably reflect Uwe Wabra's building style and preference (he designed the model). For instance, there are unusually few half-width beams, and lots of linear actuator holders that are employed for something else instead. Inconventional, but effective ― and that's what counts, after all.

▪ PARTS SUPPLY

What needs to be said after the starter fact that it's got slightly shy of 2000 parts? Tons, tons and megatons of standard Technic building material in red, black, yellow and grey, including some valuable parts: PF battery pack, switch and XL motor, eight nice truck wheels, three clutch gears, and two large linear actuators. Also the panels, triangular, round and flat, are particularly useful. As mentioned before, some classes of parts are almost missing, but that doesn't mean this is not a good addition to your inventory.

▪ EXPANSIONS

Absolutely. It is a great modular platform, and could be easily rebuild to accomodate some other machinery instead of the crane, redesign the cabin or add a full-size trailer. The power pack is there, so there could be some more power functions added, and even converting it into a car-transporter or something of the kind shouldn't be a problem.

Lego-8258-Truck-Review-Opened ▪ GENERAL PROS & CONS

+ Tons of building material
+ Good value for money today (it's sliiiightly older already)
+ Clever construction
+ Fun to play with
+ Power functions

- Difficult to build
- Clutch gears don't always protect from skipping
- Steering could be more geared down

▪▪ VERDICT ▪▪

A typical Lego Technic flagship ― huge, with lots of functions, great to play with, sturdy and mechanically clever, and providing a good assortment of parts. It's not flawless, but still is seriously good, and among the best role models to get your hands on if you're into building trucks. At least grey or red ones. :)

Lego-8258-Truck-Review-Bottom  Lego-8258-Truck-Review-Engine  Lego-8258-Truck-Review-Parts

Legoism reskinned

As you may have noticed, the dark-themed Legoism is no more. The reason is not that I got bored of it or have ended some depressive period in my life, but that it should be more eye-friendly to the photos with the white background I'll try to make for the new posts. It should look cleaner, and now that Sariel has published a comprehensive photo processing tutorial for exactly the purpose, I've got no more excuses to stick with the 1990's web look (the only thing that was missing was an animated GIF of fireworks).

By the way, this is just the first step of the face-lift; the second one, coming up shortly, will change all of the fonts used in the blog to Comic Sans.

On an unrelated note, some minor additions to Technic Tips have been done.

Monday, August 1, 2011

Iridium: Simple file-based sequential NXT motor control

After a bit of typical Summer-induced inactivity for which I beg pardon, here is something possibly useful for the NXT fans.

First of all, a bit of introduction to the problem wouldn't harm. NXT smart brick is a great device, but its architecture and software imply some limits. For many implementations, those limits are completely irrelevant, but in some special cases they can become a nuisance. One of them is inconvenience and inefficiency of creating long sequences of independent motor moves within the NXT-G programming platform, and difficulty of creating them automatically. There are certain tricks that can help, such as flashing the firmware with custom code, Bluetooth-mailbox instruction systems, but these are usually cumbersome and require a lot of hassle for just a simple task.

Therefore, there is some space for a solution in between. Take, for example, a plotter: if manually aligned, in its simplest implementation it requires no sensors neither any logic structure; all that is required is to move motors in a specific, but rather long controlled sequence. Far too long to create (or even worse, debug) directly within NXT-G, but still too simple for many to go through the battle with firmwares, messaging, etc.

So I've opted to make a simple file-based solution. Create a file with lots of numbers and upload it on the device, then have an NXT program read it and move the motors accordingly. Don't let me be misunderstood: this is not a workaround or even something completely new in the NXT sphere - all these functions are normally supported by NXT (i.e. NXT-G supports reading raw, linebreak separated numbers from a text file). This is just an example of implementing them for the purpose in question.

The file structure is really easy to understand. It consists of successive number pairs, with the first one always indicating the type of instruction, and the second being the "value" of the said instruction. Specifically, instruction types 1, 2 and 3 refer to moving the three motors, for a value that follows them. In other words, a sequence "1, 45, 2, -360" will rotate the first motor 45° in positive direction, and then rotate the second motor one full circle in negative direction.

Obviously, this sequence can continue as long as the NXT brick's internal memory allows which, taking in account the storage requirements per instruction, can extend to 10000 or even more instructions, probably more than its batteries and owner's patience can last anyway.

Besides the motor movement instructions, there are some others that may prove useful: number 11 followed by a number between 1 and 100 will set the motor power of all the upcoming movements to that value (that is, all until the next number 11 instruction). Likewise, number pairs 12, 0 and 12, 1 will choose whether the system will proceed or, respectively, wait for the current instruction to finish before executing the next. Number 13 followed by a number allows to set amount of milliseconds to wait between each instruction.

Finally, when encountering instruction 0, the sequence will terminate. If it was followed by a 1, it will also play a sound to notify the user.

As you can see, despite offering no real logic or dependency on sensors, this is a rather simple way to automate many successive motor movements. Such files can be very easily edited on any computer with a simple text editor, or automatically created by some software or using a dedicated library (I'm working on one for my favourite language - Python). It can even be automated further, using e.g. an external software such as NeXTTool by John Hansen to upload the instruction file to the NXT and run it, allowing the user to control everything from the computer, at least if it is all right to have the NXT connected to the computer all the time.

Here you can download (File > Download original) the .RBT and .RXE file for NXT and a sample instruction file. It must always be Iridium.txt, unless you're ready to slightly modify the RBT file.

If you like it, and find some cool usage for it, I'd be glad if you would drop a link or a description in the comments. Have fun!

(One final note, if you are interested, the name of this project has nothing to do with LEGO. It is just a coincidence I have had a periodic table on my desk at the time I started making it, and one minifig was standing on the Iridium's box.)