No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.3
License GPLv2+ license
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/carologistics/clips_executive.git
VCS Type git
VCS Version master
Last Updated 2026-07-07
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CLIPS plugin to continuously refresh agendas and run CLIPS environments

Maintainers

  • Tarik Viehmann

Authors

No additional authors.

Executive Plugin

Source code on GitHub.

This plugin provides continuous and ad-hoc execution of CLIPS environments. Additionally, it enables reasoning about the current ROS and system time.

Configuration

  • refresh_rate: | Type | Default | |——–|———–| | int | 10 |

    Description
    Target rate (in Hz) with which agendas are refreshed and run is called. This is done sequentially for the registered environments.

  • publish_on_refresh: | Type | Default | |——–|———–| | bool | false |

    Description
    Whether to publish an empty message with each agenda refresh on the clips_executive/refresh_agenda topic. Mainly useful for debug purposes to measure the actual refresh rate.

  • assert_time: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether the latest ROS time as fact into the CLIPS environment on each iteration.
  • autostart: | Type | Default | |——–|———–| | bool | true |

    Description
    Whether to start periodic execution when loading the plugin.

Features

The executive plugin periodically runs all managed CLIPS environments at the configured refresh_rate. Each tick performs the following steps:

  1. Optionally asserts the current time as (time (now)) into the environment.
  2. Refreshes all agendas.
  3. If a focus_stack is configured for an environment, iterates through the stack in order, running each module’s agenda (respecting a possibly set rule_limit) before moving to the next. Otherwise, runs the MAIN module’s agenda.
  4. Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
  5. Optionally publishes the total number of rules fired on a topic.

Execution can be paused and resumed at any time via services, or a single tick can be triggered manually, regardless of the current pause state.

CLIPS commands can be sent directly to a managed environment via dedicated eval and build services. eval evaluates an expression using CLIPS Eval, while build defines a new construct using CLIPS Build. If no environment is specified, the command is executed in the first managed environment.

NOTE

When using a focus stack, the current module is reset to MAIN after each module’s agenda is run. This ensures that time assertion and other framework operations always operate in a predictable context.

NOTE

Eval is intended for invoking arbirary commands (e.g. (assert (foo)), (facts)), while Build is intended for defining constructs (e.g. (defrule ...), (deftemplate ...)).

ROS Interfaces

All interaces are prefixed by tha name of the CX node, followed by the name of the executive plugin, e.g., clips_manager/executive.

  • /ns/node/plugin/refresh_agenda: Topic where a mesage is published after each tick, indicating the number of rules that fired (requires publish_on_refresh).
  • /ns/node/plugin/pause: Service for stopping periodic ticks according to the configured refresh_rate.
  • /ns/node/plugin/resume: Service that for starting the periodic ticks.
  • /ns/node/plugin/tick_once: Serivce for ticking once.
  • /ns/node/plugin/eval: Service for processing a string as an eval command in a given environment.
  • /ns/node/plugin/build: Service for processing a string as an build command in a given environment.

Facts

If assert_time is set to true, it asserts the ordered fact time with the current ROS time as float.

(time ?ros-time-float)

Functions

This plugin adds deffunctions to retrieve the current time.

```clips

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package cx_executive_plugin

0.1.3 (2025-08-06)

  • 0.1.3
  • Contributors: Tarik Viehmann

0.1.2 (2025-07-16)

0.1.1 (2025-07-11)

  • project: prepare for first ros2 release
  • Contributors: Tarik Viehmann

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cx_executive_plugin at Robotics Stack Exchange