Stall

STALL blocks monitor the encoders within the Scribbler 3 Robot responsible for detecting tail wheel and drive wheel rotation.


detect stall

The detect stall block allows for the detection of stalled drive wheels, a stalled tail wheel, or an overall stall condition ("stuck"). If the specified sensor/system stalls, the detect stall block provides a value of true (is) or false (is not).

  • tail wheel is not spinning: provides a value of true if the tail wheel is stopped (not spinning), and false if it is spinning (should NOT be used on its own to determine if the Scribbler is stuck)
  • tail wheel is spinning: provides a value of true if the tail wheel is spinning (not stopped), and false if it is stopped (should NOT be used on its own to determine if the Scribbler is stuck)
  • drive wheels are stopped: provides a value of true if the drive wheels are being driven but are not spinning (should NOT be used on its own to determine if the Scribbler is stuck)
  • drive wheels are spinning: provides a value of false if the drive wheels are being driven but are not spinning (should NOT be used on its own to determine if the Scribbler is stuck)
  • Scribbler is stuck: provides a value of true if the system has determined that it is stuck by monitoring both the drive and tail wheels
  • Scribbler is not stuck: provides a value of true is the system has determined that it is not stuck by monitoring both the drive and tail wheels

The detect stall block needs to be used with the following tips in mind:

  • The detect stall block cannot detect stalls while the S3 is executing a drive speed (ms) block with a specified time in milliseconds, or a drive distance block.
  • The detect stall block CAN detect stalls while the S3 is executing maneuvers set by a drive block.
  • A false stall will be detected if the stall sensor block is checked while the robot is not in motion yet, so separate the drive block and the detect stall block by 500 ms.

 


DEPRECATED: detect stall (old), tail wheel stall, drive wheel stall

These blocks have been deprecated.  They will still work in programs that already have them, but they are not available for new programs.  They may also appear orange, signifying that they should be replaced as soon as possible.  These blocks were replaced to provide more flexibility by allowing both if and else conditions when combined with the if...do block.

The functionality of the detect stall (old) block can be recreated using a handful of other blocks.  Most users will be able to combine the if...do block with the current detect stall block:

For users who needed the functionality provided by the "was" and "was not" conditions, you can set up two variables to track the current and past values of the stall sensor: