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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
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
Maintainers
- Tarik Viehmann
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:
- Optionally asserts the current time as
(time (now))into the environment. - Refreshes all agendas.
- 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
MAINmodule’s agenda. - Repeats steps 2-3 until no rules fire, ensuring cross-module interactions are fully resolved.
- 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
evalcommand in a given environment. -
/ns/node/plugin/build: Service for processing a string as an
buildcommand 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 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
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |