Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_file_load_plugin at Robotics Stack Exchange
Package Summary
| Version | 0.1.3 |
| License | Apache-2.0 |
| 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
File Load Plugin
Source code on GitHub.
This plugin provides the ability to load files into CLIPS using batch* and load* through configuration values.
NOTE
The plugin always sets the current module to MAIN before loading a file.
This ensures predictable behavior when loaded files define their own modules.
Since defining a defmodule in CLIPS automatically switches the current module,
subsequent file loads could otherwise operate in an unexpected module context.
Configuration
-
pkg_share_dirs: | Type | Default | |—————|———–| | string vector | [] |
- Description
- When specifying relative paths, look at the share directories of the listed packages to resolve them (in the specified order).
-
load: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS load* command when the plugin is loaded. Supports absolute paths or relative paths using the share directories specified above.
-
batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is loaded. This happens after the files specified in
loadare loaded. Supports absolute paths or relative paths using the share directories specified above.
-
cleanup_batch: | Type | Default | |—————|———–| | string vector | [] |
- Description
- Specify files to load using CLIPS batch* command when the plugin is unloaded. This may be used to clean up all loaded content to gracefully undo whatever was loaded in before. Supports absolute paths or relative paths using the share directories specified above.
Features
This plugin injects the user-defined code into the CLIPS environments and has no other effects.
For the difference between load* and batch* please consult the CLIPS Basic Programming Guide (PDF).
NOTE
It is recommended to use load over batch whenever possible due to the superior error handling of load.
E.g., when using batch, a missing closing parenthesis ) may lead to a silent failure as CLIPS treats this as an uncompleted command and waits for another closing parenthesis to appear before actually processing the input.
Usage Example
A minimal working example is provided by the cx_bringup package. Run it via:
ros2 launch cx_bringup cx_launch.py manager_config:=plugin_examples/file_load.yaml
Note, that while file-load.clp is loaded before file-load-batch.clp, the rules of file-load.clp will only be executed, once the CLIPS engine runs. hence, the expected output is that batch is printed before Hello World.
Configuration
File cx_bringup/params/plugin_examples/file_load.yaml.
clips_manager:
ros__parameters:
environments: ["cx_file_load"]
cx_file_load:
plugins: ["files"]
watch: ["facts", "rules"]
files:
plugin: "cx::FileLoadPlugin"
pkg_share_dirs: ["cx_bringup"]
load: ["clips/plugin_examples/file-load.clp"]
batch: ["clips/plugin_examples/file-load-batch.clp"]
cleanup_batch: ["clips/plugin_examples/file-load-cleanup-batch.clp"]
Code
File cx_bringup/clips/plugin_examples/file-load.clp.
```clips (defrule hello-world (not (hello)) => (printout green “Hello world” crlf)
File truncated at 100 lines see the full file
Changelog for package cx_file_load_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
| Deps | Name |
|---|---|
| ament_cmake | |
| rclcpp | |
| pluginlib | |
| cx_plugin | |
| cx_utils | |
| clips_vendor |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clips_executive | |
| cx_bringup |