User Tools

Site Tools


sequencer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sequencer [2019/04/16 15:56] – [Auto Moving Sequence] grafsequencer [2020/03/04 10:23] (current) – [Parking Sequence] ursgraf
Line 1: Line 1:
 ====== Sequencer and Sequences ====== ====== Sequencer and Sequences ======
 +
 For more informations how sequences and the sequencer work, have a look at[[http://wiki.eeros.org/eeros_architecture/sequencer/start|]] in the [[http://wiki.eeros.org|eeros wiki]]. For more informations how sequences and the sequencer work, have a look at[[http://wiki.eeros.org/eeros_architecture/sequencer/start|]] in the [[http://wiki.eeros.org|eeros wiki]].
  
 An overview of all sequences is show below. An overview of all sequences is show below.
-{{ :delta:software:sequencer.jpg?900 |Sequences of the Delta roboter}}+{{ :delta:software:sequencer.png?900 |Sequences of the Delta roboter}}
  
 ===== Main Sequence ===== ===== Main Sequence =====
-The main sequence starts shortly after the executor started running. It is responsible to initialyze 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 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 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. 
  
 ===== Homing ===== ===== Homing =====
  
-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 [[calibration|]]. 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. +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 //ready//. As soon as ''Homing Sequence'' finishes a safety event is triggered, which causes the safety system to change to ''slHomed'' level. 
-===== Auto Moving Sequence===== +===== Circle 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 locationFor this the tool center point (TCP) is moved above the first location and lowered to a small distance above the blockThe TCP is then lowered further with reduced speedAfter a short while the actual position is read back which allows to conclude which block is presentThis procedure is repeated for all four positions. As soon as the detection sequence is done sorting will startThe 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.+As soon as the safety system reaches the level ''slAutoMoving'' it will start the ''CircleSequence''First the TCP is moved to a start position on the circle. Then the circle planner in the Control System is activated and the robot will perform a circular movement. The ''CircleSequence'' repetitively runs step ''Wait''. \\ 
 +The ''CircleSequence'' is equipped with two monitors 
 +  * Mouse Monitor: This monitor checks if the mouse is moved. As soon as this condition is met, the current sequence is aborted and the ''MoveMouseExceptionSequence'' gets startedThis sequence triggers the safety event "doMouseControl". This causes the safety system to change to ''slMouseControl'' level. 
 +  * BlueButton Monitor: Another monitor permanently checks if the blue button is pressedIts associated exception sequence stops the current sequence, moves the TCP to its initial position and triggers a ''stopMoving'' event. The safety system will return to ''slSystemReady''. 
 + 
 +===== Mouse Sequence ===== 
 +The ''MainSequence'' starts the ''MouseSequence'' as soon as the safety system jumps into level ''slMouseControl''. As long as the mouse gets moved, the ''MouseSequence'' will be active and the TCP will duly follow the position given by the mouse. This sequence is equipped with two monitors. 
 +  * Timeout Monitor: If the mouse doesn't send any event for 2 seconds, this monitor starts the ''MouseTimeoutExpectionSequence''. This exception sequence aborts the ''MouseSequence'' and causes the safety system to fall back to level ''slAutoMoving'', which in turns restarts ''CircleSequence''
 +  * BlueButton Monitor: Another monitor permanently checks if the blue button is pressed. Its associated exception sequence stops the current sequence, moves the TCP to its initial position and triggers a ''stopMoving'' event. The safety system will return to ''slSystemReady''. 
 + 
 +===== Parking Sequence ===== 
 +The ''MainSequence'' starts the ''ParkingSequence'' as soon as the safety system jumps into level ''slParking''. The TCP moves to a park position before the driving signals to the motors are set to zero. Finally a ''parkingDone'' event is triggered
  
-The step ''Wait'' in the ''AutoMoveSequence'' is equipped with monitor. This monitor checks if the mouse is moved, or a mouse button is pressed. As soon as this condition is metthe current running sequence is aborted and the ''MoveMouseExceptionSequece" gets startedThis 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.+===== Abort Monitor and Condition ===== 
 +For a system under development it is advantageous to be able to stop the running application by pressing ''CTRL-C''. For this purpose every sequence and step is equipped with an abort monitor together with an abort condition, see [[https://wiki.eeros.org/eeros_architecture/sequencer/monitors]]
  
-===== Mouse Control Sequence ===== 
  
  
-The "Main Sequence" now starts the "Mouse Sequence". As long as the mouse gets moved, or buttons are pressed, the "Mouse Sequence" will be active. This sequence is equipped with a "Time Out Monitor". If the mouse doesn't send any event for 2 seconds, this Monitor triggers the "MouseSequenceTimeOutExpectionSequence". This "Exception Sequence" aborts the "Mouse Sequence", moves the TCP back to the init position and triggers the Safety Event "doAutoMoving".\\ \\ 
-The calibration sequence is described in [[calibration|]]. 
  
sequencer.1555422991.txt.gz · Last modified: 2019/04/16 15:56 by graf