User Tools

Site Tools


Sequencer and Sequences

For more informations how sequences and the sequencer work, have a look at in the eeros wiki.

An overview of all sequences is show below. Sequences of the Delta roboter

Main Sequence

The main sequence starts shortly after the executor started running. It is responsible to initialize the robot by stepping through the safety levels up to slSystemReady. From there the user can choose whether she wants to carry out a calibration, start normal operation or switch off the system again. The main sequence has an associated EmergencyMonitor. This monitor helps to detect an emergency condition (if the red button was pressed) and will interrupt the main sequence. Upon returning from the emergency state the monitor will cause a restart of the main sequence.


The homing of the Delta robot is done in the Homing Sequence. The three axis are raised by driving the three motors upwards with constant speed until the end stop. At this point the encoders are set to their initial position. The angle of this initial position can be determined from the mechanical constraints, see motors_init. From there the tool center point is moved to position zero, which is defined by all axis being in a horizontal position. As soon as Homing Sequence finishes a safety event is triggered, which causes the safety system to change to slAxisHomed level.

Auto Moving Sequence

As soon as the safety system reaches the level slAutoMoving it will start the AutoMoveSequence. This in turn repetively runs the SortSequence followed by a step Wait and the ShuffleSequence. Sorting is done by first detecting which block can be found at which location. For this the tool center point (TCP) is moved above the first location and lowered to a small distance above the block. The TCP is then lowered further with reduced speed. After a short while the actual position is read back which allows to conclude which block is present. This procedure is repeated for all four positions. As soon as the detection sequence is done sorting will start. The missplaced blocks have to be moved with the aid of the MoveSequence. The steps of this MoveSequence can be easily understood. The step Grab turns on the magnet in the TCP while Release drops the block.

The step Wait in the AutoMoveSequence is equipped with a monitor. This monitor checks if the mouse is moved, or a mouse button is pressed. As soon as this condition is met, the current running sequence is aborted and the MoveMouseExceptionSequece gets started. This sequence moves the TCP back to the initial position, and triggers the safety event “doMouseControl”. This causes the safety system to change to slMouseControl level.

Another monitor supervises the whole AutoMoveSequence. The BlueButtonMonitor permanently checks if the blue button is pressed. Its associated exception sequence stops the AutoMoveSequence, moves the TCP to its initial position and triggers a setStopMove event.

Mouse Sequence

The MainSequence starts the MouseSequence as soon as the safety system jumps into level slMouseControl. As long as the mouse gets moved, or buttons are pressed, the MouseSequence will be active and the TCP will duly follow the position given by the mouse. Pressing the left or right button will trun on the magnet in the TCP. This sequence is equipped with a MouseSequenceTimeOutMonitor. If the mouse doesn't send any event for 2 seconds, this monitor starts the TimeOutExpectionSequence. This exception sequence aborts the MouseSequence and causes the safety system to fall back to level slAutoMoving.

Here again, as well as in the AutoMoveSequence, the BlueButtonMonitor allows to interrupt by pressing the blue stop button.

ntb/sequencer.txt · Last modified: 2019/08/09 16:14 (external edit)