![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged cx_protobuf_plugin at Robotics Stack Exchange
![]() |
cx_protobuf_plugin package from clips_executive repoclips_executive cx_bringup cx_clips_env_manager cx_msgs cx_plugin cx_ament_index_plugin cx_config_plugin cx_example_plugin cx_executive_plugin cx_file_load_plugin cx_protobuf_plugin cx_ros_msgs_plugin cx_tf2_pose_tracker_plugin cx_ros_comm_gen cx_tutorial_agents cx_utils |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | GPL-2.0-or-later |
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 | 2025-06-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tarik Viehmann
Authors
cx_protobuf_plugin
This package offers the `cx::ProtobufPlugin’ plugin that allows to communicate via protobuf through protobuf_comm.
Usage
Register this plugin with the plugin manager. It’s configuration parameters are depicted in this example setup below.
clips_manager:
ros__parameters:
environments: ["main"]
main:
plugins: ["protobuf"]
protobuf:
plugin: "cx::ProtobufPlugin"
# When specifying relative paths, look at the share directories of the listed packages to resolve them.
# Attempts to resolve the relative paths in order of the listed packages
# Defaults to an empty list
pkg_share_dirs: ["cx_bringup"]
# Specify directories to look for protobuf messages.
# Supports absolute paths or relative paths using the share directories specified above.
# Defaults to an empty list
proto_paths: ["proto"]
This automatically makes all proto files in the given paths available for serialization and deserialization and is the recommended use for this plugin.
It is also possible to instead register types explicitly by looking them up from a linked library. However, this requires to build a shared library from proto files and then link it together with the cx_protobuf_plugin.
In order to accomplish this, this plugin offers two cmake macros:
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a list of protobuf message definitions PROTO_FILES.
cx_generate_linked_protobuf_plugin_from_proto(NEW_PLUGIN_NAME PROTO_FILES)
# Generates a new plugin called NEW_PLUGIN_NAME (should be a name in CamelCase, e.g., CustomProtobufPlugin) given a shared library that is linked against via target_link_libraries().
cx_generate_linked_protobuf_plugin_from_lib(NEW_PLUGIN_NAME SHARED_LIBRARY_TARGET)
CLIPS Features
This plugin defines deftemplates, rules and user-defined functions that are described below.
It allows two differnet way of communication. Either via broadcast peers or via client server connection.
Deftemplates
; Asserted by the create-subscription function.
; Retracted by the destroy-subscription function.
(deftemplate protobuf-msg
(slot type (type STRING)) ; (package + "." +) message-name
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from ; address and port
(cardinality 2 2)
)
(slot rcvd-at (type FLOAT)) ; ros timestamp in seconds
(slot client-type (type SYMBOL)
(allowed-values SERVER CLIENT PEER)
)
(slot client-id (type INTEGER))
(slot ptr (type EXTERNAL-ADDRESS))
)
(deftemplate protobuf-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
(deftemplate protobuf-server-receive-failed
(slot comp-id (type INTEGER))
(slot msg-type (type INTEGER))
(slot rcvd-via (type SYMBOL)
(allowed-values STREAM BROADCAST)
)
(multislot rcvd-from (cardinality 2 2))
(slot client-id (type INTEGER))
(slot message (type STRING))
)
Defrules
It defines defrules and a defglobal to clean up the fact once the end of the agenda is reached:
```lisp (defglobal ?PRIORITY-PROTOBUF-RETRACT = -10000 )
(defrule protobuf-cleanup-receive-failed (declare (salience ?PRIORITY-PROTOBUF-RETRACT)) ?f <- (protobuf-receive-failed (comp-id ?cid) (msg-type ?mt) (rcvd-from ?host ?port) (message ?msg)) => (retract ?f) (printout t “Protobuf rcv fail for “ ?cid “:” ?mt “ from “ ?host “:” ?port “: “ ?msg crlf)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rclcpp | |
cx_plugin | |
cx_utils | |
pluginlib | |
protobuf_comm |
System Dependencies
Name |
---|
protobuf |
python3-jinja2 |
Dependant Packages
Name | Deps |
---|---|
clips_executive | |
cx_bringup |