The first issue that needs to be addressed is straight tracking. The present two motor to two wheel design suffers because the two motors do not produce identical speed/torque. Applying full power to both motors should make the bot go straight if both motors are precisely calibrated. However, that's not the case.
One way to overcome this problem is with the use of an ``adder-subtractor'' differential like the one designed by Leo Dorst[LDAS]. Unlike the standard differential that directs power to the wheel experiencing the least resistance, the adder-subtractor provides a way to precisely control the left and right wheel axle when straight forward tracking is desired. The standard differential is designed for bots that might use a drivetrain similar to an automobile: two-rear wheels providing forward velocity and the two front wheels providing steering. The standard differential will direct the most power to the wheel experiencing the least resistance. This is good for the automobile (unless it gets stuck in the snow/sand) as it directs the power to the outer rear wheel on a curve. However, that is not what is wanted for the explorer bot.
![]() |
The adder-subtractor differential uses two of the differential gears (the Mindstorms kit only has one) and two motors to provide two axles of output, ``A+B'' and ``A-B''. In order to go straight, full power would be applied to motor A while motor B was held stationary (``frozen''). Then the two wheels receive the total output of motor A. To initiate a turn, motor B is either run in forward or reverse. For example, if the A+B output is hooked to the left wheel, the A-B output is hooked to the right wheel, motor A is run at full and motor B is run at full, then the output of A+B axle is approximately twice the output of just the A motor alone, the output of the A-B axles is approximately zero and the robot will turn to the right.
Another improvement that could be made in the current design is lowering the gear ratio from the motor to the wheels. I originally was investigating how to build a bot that would be able to carry a fifteen pound laptop around with it while it explored (in order to keep the RCX in range), so I originally required a lot of torque to move this mass. When I made the transition to a non-PC-carrying bot I did make adjustments to my gearing to get more speed, but I believe the present design still has too much torque. I base this belief on the fact that at present the 7 motor speeds that NQC provides all seem to be the same. That is, the present transmission provides so much torque (compared to the weight of the bot) that the motor is not burdened at low speed and therefore the wheels run the same speed whether the motor is set for low or high power. This meant that turns had to be implemented by either stopping or reversing one of the motors. Attempting to turn by running one motor at forward full and the other running forward at low-speed resulted in the bot going straight instead of turning. It would be nice if this was corrected so that turns while traveling forward could be implemented.