Troubleshooting

 

FAQ for ROBOLAB

You Are Here:

  1. My RCX isn't responding to my InfraRed tower.  What do I do?

  2. Why do I get the error "You cannot merge two different tasks.  Each Task should have its own End (Stop Light)?"

  3. Why won't my robot turn very fast?

  4. Why do my motors run very slow even though I have them set on full speed?

 

 

 

My RCX isn't responding to my InfraRed tower.  What do I do?

The ROBOLAB Help menus are very good and can walk you through most problems.  For quick reference, here are several common problems.  Follow these checkpoints:

Check if this is correct If it's not correct, fix it this way
Is the IR Tower aligned with the RCX? The Tower and RCX should be within about 4-8 inches from each other.  They should aim at one another.
Is Robolab configured to use the USB port? Go back to the Robolab Setup page.
Is the RCX set to a program number that can be overwritten? By default, the LEGO RCX has locked Programs 1 and 2.  If this is the case, it will not let you overwrite them.  Either select another program number on the RCX, or go back to Setup and unlock programs 1 and 2.

 

 

Why do I get the error "You cannot merge two different tasks.  Each Task should have its own End (Stop Light)?"

The program below looks like it will work because the program arrow is not a broken symbol.

But, it gives the error:

It is important here to consider your pseudocode!  The green branch merge blocks are equivalent to End statements in an If-Then-End loop.  The psuedocode would look like (the red text is the code within the inner If-Then-End block:

If Sensor(1) = True
    If Sensor(2) = True
        On A+B
    Else
        Stop A
        On B

Else
    On A
    Stop B
    End If
End If

The End If for the inner If-Then block is in the wrong place.

However, if we corrected the block by completing the inner code block before returning to the outer code block, it would look like this:

See how the Inner loop is completed?  The two branch merges are swapped.  Each section of code should have only one input and one output when going from or returning to the rest of the program.

Here's the corrected psuedocode as well:

If Sensor(1) = True
    If Sensor(2) = True
        On A+B
    Else
        Stop A
        On B
    End If

Else
    On A
    Stop B
End If

 

 

Why won't my robot turn very fast?

There are several possible causes reasons:

  1. Depending on the type of design you have, there may be too much drag in the wheels.  If you have a "skid-steer" design, there will be a lot of drag friction and your vehicle will turn very slowly because motors don't have enough power.

  2. You have have a problem in your program that includes timer effects that you haven't considered.

  3. You may have too much friction in the internal pieces of your robot.  Try loosening axle spacers and gears to make sure all the shafts are free.

 

 

Why do my motors run very slow even though I have them set on full speed?

There are two possibilities, and the second one is almost always overlooked.

  1. You may have too much friction in the internal pieces of your robot.  Try loosening axle spacers and gears to make sure all the shafts are free.
  2. If you use timers or delays in your program that control motor on/off, these can have an effect on your motor.  The RCX can take hundreds of milliseconds to cycle through a program, depending on how big the program is.  If you are not careful how you set up a timer delay between a motor ON - OFF cycle, the program will turn the motor on, then off very quickly.  Because the program is running faster than the eye can keep track of, the motor will appear to be running very slowly when in fact it is turning on and off over and over again.  Increasing the timer delay to a second or more often makes the problem easier to understand and debug.