BrickVista Logo BrickVista Flowers
Flowers Flowers Flowers Flowers
           Home  Models  Themes  Features  Links
   YogiCub  M.O.P Rover
    Systems Control

The Real ABS version of YogiCubPerformance
So how does YogiCub perform - quite well given the right conditions. Overall the Rover had enough structural integrity to perform well over rough and uneven lounge room terrain (Carpet, piles of magazines and the odd TV remote).

The mechanical construction of the Rover worked well but in some situations the wheel assemblies exhibited signs of being ‘under engineered’ – Wheels became unaligned, or in one case fell off, rendering the Rover useless without adjustment or repair.

Yogi Cub was fast in a straight line but was inconsistent when turning. This was due to an assumption regarding the performance of motors I made early in the design process when modeling a steering event, rather than a physical problem of differences in actual RPM in wheel motors (See Steering Shortcomings below)

When behaving, YogiCub’s steering worked just like the real thing. However programming it very quickly became tedious. This was due to a limitation of the software used, rather than the capacity of the RCX.

Overall YogiCub performed as expected and is a solid Rover. While somewhat simple in its execution it has laid the foundation for subsequent LEGO® Rovers.



Shortcoming - Steering
It comes as no great surprise that the greatest area for improvement on YogiCub is the design and implementation of the wheel assemblies. This concerns three areas on the current implementation:


Crown gearFirstly, the steering drive train had a 56:1 gearing reduction and this generated more than enough force to turn all four wheel assemblies. The weakness lie in the Crown gear (and its mounting) used to drive and pivot the turntable onto which the the wheel assemblies were attached. The Crown gear is made of a slightly flexible ABS as opposed to the ridged ABS found in other gears. Because of its mounting, when being driven it exhibited considerable flex and occasionally slipped a tooth (the dreaded click) over the outer ring of the turntable. Once this happened, it was all over. One, or sometimes two wheels were out of register with the others and YogiCub failed to go any further.

Redesign how the pivot turntable is driven. Gears which drive the turntable are to be braced, preferably to have axles supported at both ends, rather than just one (This implies using gears other than a Crown gear). May require a lower gear ratio to smooth out movement.



Fastening PinA second, more intermittent, problem was the loss of a wheel after performing a long sequence of steering maneuvers. The successive lateral loading on the wheel caused by repetitive turning and forward movement prompts the fastening pins to pop out of their mounts within the wheel. Once one pin is out, it is only a mater of time before the others follow suit - Quite funny to watch a wheel with independent thought going it alone.

Have a second fasting method utilizing the axle of the wheel (Not used currently).



Turning CircleThe third area for improvement focuses on what wasn’t implemented, as apposed to what was. It stems from my (in hindsight) inexperienced assumption that the duration required to turn the Rover through a prescribed angle (say 90) would be consistent – As it turned out, it wasn’t!

When turning YogiCub’s wheels always rotate through 45. Having reached this, individual wheels are driven to turn the Rover through the desired angle of turn (whether 90, 180, 360, or whatever). My downfall was having no way to accurately measure this. I assumed it could be measured as a time based event rather than a controlled event.

YogiCub’s turning relied on a calculation involving Rover dimension, wheel circumference, motor speed, and time. Assuming all of these factors are consistent during operation no problem. Rover dimension and wheel circumference don’t change. Time for the most part is relative, and we perceive it as being consistent. This leaves motor speed as the culprit. It does change quite considerably during operation and this renders any time-based calculation useless.
As it turns out, (a no-brainer in retrospect) motor speed varies with available battery power and wheel resistance. The less battery power the slower the wheel will turn. Therefore less distance traveled during a specified time period. The more resistance applied to the wheel, the more power required to turn it, slightly reducing the motor’s speed. – I can’t win.

Build a Rotation sensor into a Wheel assembly to monitor actual wheel revolutions as they happen (as apposed to predicted). Even better, have two (mounted to wheel assemblies on either side of the rover) and have the RCX average out the two readings for more accurate turning. This will enable consistent interpretation of a calculation based on Rover dimension and wheel circumference only. We don’t need to worry about motor gearing and speed – simple.




Direct Drive HubsShortcoming - Speed
YogiCub is fast, maybe too fast for autonomous control. While straight line speed is desirable, it comes at the expense of control and traction. Consistently in the field trials it would have been desirable to have a lower top speed for some more raw climbing power. When faced with a moderate obstacle YogiCub's slowed quite suddenly, almost shuddering. My initial gearing selection of 3:1 need needs to be revised to smooth out wheel drive and increase traction.

Increase gearing to 24:1




LEGO Mindstorms 2.0Shortcoming - Systems Control
Even to perform very simple steering tasks the programming and coordination of wheel assemblies and drive motors is pushing practical the limits of the LEGO® Mindstorms software. The primary limitation is the software’s interface itself. Programming is quick at a superficial level but quite repetitive and obstructive when trying to program anything with Object Orientated (OO) logic.

Use Bricx CC and NQC for future programming and development.




The Future
Where to from here? Apart from making the design modifications identified above the next logical step is to incorporate a working ‘rocker-bogie’ suspension system.

This will entail scaling up the Rover’s size and weight by about 40%. All drive and power trains will require strengthening, and the wheels and their assemblies will be re designed to support the extra weight.

I plan to implement a new steering control system, (both mechanical and software) based loosely off Miguel Agullo’s innovative 'skid-steering' solution.

This new Rover will also carry a simple sensor payload enabling it to measure and record its environment.


Rocker bogie suspension arm

Left side suspension arm of YogiCub's bigger brother. Note the 'rocker-bogie' configuration and the steering drive train running through the sub-structure.


New improved wheels

The new Rover will have larger wheels to handle the increased weight.



I am very happy with the design of YogiCub, as it meets all the engineering goals and criteria I established at the start of the project. You will be pleased to know that YogiCub’s bigger brother is already in development and taking shape. Watch out for him this coming winter.

Stay tuned and play well.
Tom Beattie

    LEGO Rover
Download Code

How did YogiCub get its name? See the rock called Yogi, watch Sojourner capture an image and turn on the surface of Mars. YogiCub is the first in my series of LEGO® Rovers implementing NASA Rover systems and technology.

YogiCub LEGO Rover

Windows YogiCub | .wmv | 5.2mb


How does YogiCub turn and steer? Find out by watching the movie below

MER Turning

Windows YogiCubSteering
| .wmv | 5.1mb


Look at the elements which go into YogiCub's Mechanical Subsystem and how they enable YogiCub to drive and turn.

Mechanical System

Windows MechanicalSubsystem
| .wmv | 4.2mb


LEGO Mindstorm RCX 2.0

Miguel Agullo’s Differtimento Rover is a ‘skid-steering’ Rover that uses differentials to automatically transform its wheel base to provide better traction while turning.

Check it out here.

  Previous  YogiCub Home Wheels Motivation Steering Drive & Steering Control Build Specifications Field Trials
 About Us  Site Index  Legal Info  Contact