<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.eeros.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.eeros.org/feed.php">
        <title>Real-Time Robotics Framework - eeros_architecture:sequencer</title>
        <description></description>
        <link>https://wiki.eeros.org/</link>
        <image rdf:resource="https://wiki.eeros.org/_media/logo.png" />
       <dc:date>2026-05-06T12:56:49+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/sequencer/define_sequence?rev=1677367524&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/sequencer/exception_handling?rev=1427722708&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/sequencer/exceptions?rev=1506245958&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/sequencer/monitors?rev=1634738868&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/sequencer/sequence?rev=1733050204&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/sequencer/sequencer?rev=1753446926&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/sequencer/start?rev=1552551933&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/sequencer/step_or_sequence?rev=1771510146&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/sequencer/subsequence?rev=1446278740&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.eeros.org/_media/logo.png">
        <title>Real-Time Robotics Framework</title>
        <link>https://wiki.eeros.org/</link>
        <url>https://wiki.eeros.org/_media/logo.png</url>
    </image>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/sequencer/define_sequence?rev=1677367524&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-25T23:25:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Define your own Sequence or Step</title>
        <link>https://wiki.eeros.org/eeros_architecture/sequencer/define_sequence?rev=1677367524&amp;do=diff</link>
        <description>Define your own Sequence or Step

A sequence or step must be carefully designed in order to run as expected.

Write your own Class

Extend the class Sequence or Step, respectively. A step comprises a single operation and never runs concurrently to its caller. A sequence typically includes two or more steps and can run in parallel to its caller.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/sequencer/exception_handling?rev=1427722708&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-03-30T13:38:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Error Handler Usage</title>
        <link>https://wiki.eeros.org/eeros_architecture/sequencer/exception_handling?rev=1427722708&amp;do=diff</link>
        <description>Error Handler Usage

The error handler is also a sequence. However, it will be used in case of an exception, so the user knows that it is a recovery pass.
To create a new error handler, you have to derive from the class ErrorHandler built in the framework.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/sequencer/exceptions?rev=1506245958&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-24T09:39:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Exception Handling</title>
        <link>https://wiki.eeros.org/eeros_architecture/sequencer/exceptions?rev=1506245958&amp;do=diff</link>
        <description>Exception Handling

The following examples demonstrate how sequences and their monitors are able to handle various scenarios.

Sequence Supervised by Monitor

The situation below shows a monitor firing during the runtime of a sequence.
Monitor checks condition and causes a switch to an exception sequence after which the original sequence is restarted</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/sequencer/monitors?rev=1634738868&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-20T14:07:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Conditions and Monitors</title>
        <link>https://wiki.eeros.org/eeros_architecture/sequencer/monitors?rev=1634738868&amp;do=diff</link>
        <description>Conditions and Monitors

A monitor allows to supervise certain conditions of a robot during a sequence. Examples could include the following situations:

	*  A sequence steers a robot along a given path. A monitors checks for obstacles. As soon as an obstacle is close enough, the monitor causes a predefined exception sequence to be executed.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/sequencer/sequence?rev=1733050204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-01T10:50:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sequence</title>
        <link>https://wiki.eeros.org/eeros_architecture/sequencer/sequence?rev=1733050204&amp;do=diff</link>
        <description>Sequence

A sequence is a well defined course of steps. These steps run in a strictly sequential order until the sequence has finished or some condition causes the sequence to stop. In such a case the sequence could be repeated or another sequence could be started.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/sequencer/sequencer?rev=1753446926&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-25T12:35:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sequencer</title>
        <link>https://wiki.eeros.org/eeros_architecture/sequencer/sequencer?rev=1753446926&amp;do=diff</link>
        <description>Sequencer

The sequencer is responsible to run the main sequence. There is a single instance of the sequencer and therefore only one main sequence. Further, the sequencer contains a list with all sequences. Whenever you define a sequence it will automatically be added to this list. The list helps to retrieve a reference to a given sequence. This can be helpful is you wish to pass information into this sequence.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/sequencer/start?rev=1552551933&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-14T08:25:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sequencer</title>
        <link>https://wiki.eeros.org/eeros_architecture/sequencer/start?rev=1552551933&amp;do=diff</link>
        <description>Sequencer

A sequencer ensures that a robots can execute a series of user-defined tasks. Such a sequencer runs in non-realtime. The robot&#039;s motions are defined as a sequence of steps. The sequencer, which is an integral part of the EEROS framework, has to be assigned such a sequence. Each sequence may include many single steps which must run to completion (unless interrupted by the safety system). Additionally, several subsequences may be defined and added to the same sequencer.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/sequencer/step_or_sequence?rev=1771510146&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-19T14:09:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>How to Organize Sequences and Steps</title>
        <link>https://wiki.eeros.org/eeros_architecture/sequencer/step_or_sequence?rev=1771510146&amp;do=diff</link>
        <description>How to Organize Sequences and Steps

Sometimes its not obvious what should go into a separate step and what to pack directly into a sequence. Let&#039;s study the following example. 

A robot finished a homing sequence. It should move to a ready position before further action can happen. For this purpose a sequence</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/sequencer/subsequence?rev=1446278740&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-10-31T08:05:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Subsequence</title>
        <link>https://wiki.eeros.org/eeros_architecture/sequencer/subsequence?rev=1446278740&amp;do=diff</link>
        <description>Subsequence

A subsequence is a sequence which is called by another sequence. Such a subsequence can be called in a blocking or non-blocking way. Blocking means that the step waits (or blocks) until the subsequence has finished. Non-blocking means that subsequence and main sequence run concurrently.</description>
    </item>
</rdf:RDF>
