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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange

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

Package Summary

Version 3.0.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-11-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The cl_generic_sensor package

Maintainers

  • Brett Aldrich

Authors

No additional authors.

Generic Sensor Client

A SMACC2 client library for subscribing to ROS topics with optional timeout watchdog functionality. Built using a pure component-based architecture following SMACC2 best practices.

Features

  • Component-based architecture - Uses CpTopicSubscriber and CpMessageTimeout components
  • Optional timeout watchdog - Configurable message timeout monitoring
  • Type-safe - Template-based for any ROS message type
  • Event-driven - Posts SMACC2 events for message reception and timeouts
  • Flexible configuration - Configure topic and timeout at construction or runtime

Architecture

The multirole sensor client follows the ClKeyboard pattern where all functionality is implemented through composable components:

ClGenericSensor
    ├── CpTopicSubscriber (from smacc2 core)
    │   ├── Subscribes to ROS topic
    │   ├── Posts EvTopicMessage events
    │   └── Posts EvTopicInitialMessage events
    │
    └── CpMessageTimeout (optional)
        ├── Monitors message reception
        ├── Posts EvTopicMessageTimeout events
        └── Emits onMessageTimeout_ signal

Events Posted

  • EvTopicMessage<TSource, TOrthogonal, TMessageType> - Posted on every message
  • EvTopicInitialMessage<TSource, TOrthogonal, TMessageType> - Posted on first message only
  • EvTopicMessageTimeout<TSource, TOrthogonal> - Posted when timeout occurs (if configured)

Usage

Basic Usage (No Timeout)

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client for sensor_msgs::LaserScan
class ClLidar : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::LaserScan>
{
public:
  ClLidar()
  {
    this->topicName_ = "/scan";
    // No timeout configured - watchdog disabled
  }
};
}

Usage with Timeout Watchdog

#include <cl_generic_sensor/cl_generic_sensor.hpp>

namespace my_sm
{
// Create a client with 5-second timeout
class ClGps : public cl_generic_sensor::ClGenericSensor<sensor_msgs::msg::NavSatFix>
{
public:
  ClGps()
  {
    this->topicName_ = "/gps/fix";
    this->timeout_ = rclcpp::Duration(5, 0);  // 5 second timeout
  }
};
}

Constructor-based Configuration

// Direct construction with topic and timeout
ClGenericSensor<std_msgs::msg::String> sensor("/topic_name", rclcpp::Duration(3, 0));

Using in Orthogonals

class OrSensor : public smacc2::Orthogonal<OrSensor>
{
public:
  void onInitialize() override
  {
    auto sensor_client = this->createClient<ClLidar>();
  }
};

State Transitions with Events

```cpp

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package multirole_sensor_client

2.3.16 (2023-07-16)

### Added - Merged branch 'humble' from [robosoft-ai/SMACC2]{.title-ref} repository - Brettpac branch (#518) - Attempted fix for ros buildfarm issue - Further work on buildfarm problem - Co-authored-by: brettpac <<brettpac@pop-os.localdomain>> - Contributors: brettpac, pabloinigoblasco

2.3.6 (2023-03-12)

1.22.1 (2022-11-09)

### Added - Pre-release - Contributors: pabloinigoblasco

0.3.0 (2022-04-04)

0.0.0 (2022-11-09)

### Added - Progress in humble SMACC2 deb generation - Reverted commit dec14a936a877b2ef722a6a32f1bf3df09312542 - Ignored packages not to be released - Feature/master rolling to galactic backport (#236) - Updated mentions of SMACC/ROS to SMACC2/ROS2 - Progress on navigation rolling - Renamed folders, deleted tracing.md, edited README.md - Added smacc2_performance_tools - Performance tests improvements - Format cleanup for sm_respira_1 - Optimized dependencies in move_base_z_planners_common - Renamed event generator library - CI setup and file renaming - Updated launch command to ros2 launch sm_respira_1 sm_respira_1.launch - Added new feature, cb_wait_topic_message - Corrected all linters and formatters - Co-authored-by: Ubuntu 20-04-02-amd64 <<brett@robosoft.ai>>, Denis Štogl <<denis@stogl.de>> - Contributors: Denis Štogl, pabloinigoblasco

0.1.0 (Date: TBD)

  • Build-status table
  • Detailed install instructions (adjusted from [here](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver#readme))
  • Default build type set to [Release]{.title-ref} for faster performance and smaller executables
  • Updated examples section
  • Resolved missing dependency in smacc_msgs and reorganized for better overview
  • Fixed build issues
  • Fixed bug in smacc2 component
  • Cleaned up formatting in various packages
  • Optimized dependencies in move_base_z_planners_common
  • Corrected build-overview table
  • Updated and unified CI configurations
  • Manual installation of ros-rolling-ros2trace, now automated in setupTracing.sh
  • Reverted changes in commit f603166a4b3ccdfe96c64d9f9fb9d8b49fbf0e61
  • Restored all versions to 0.0.0
  • Ignored all packages except smacc2 and smacc2_msgs
  • Updated changelogs
  • Reformatting the whole project
  • Enabled all packages to compile
  • Added getLogger functionality and refactoring
  • Reactivated smacc2 nav clients for rolling via submodules
  • Edited tracing.md to reflect new tracing event names
  • Performance tests improvements
  • Various performance and bug fixes
  • Renamed event generator library
  • Used tf_geometry_msgs.h in galactic
  • Used galactic branches in .repos-file
  • Do not execute clang-format on smacc2_sm_reference_library package
  • Cleaned up trailing spaces
  • Added README tutorial for Dockerfile
  • Updated README.md
  • Updated tracing/ManualTracing.md
  • Added setupTracing.sh for automated installation of ros-rolling-ros2trace
  • Location of sh file assumed if user follows README.md under "Getting started"
  • Denis Štogl
  • Pablo Iñigo Blasco
  • pabloinigoblasco
  • reelrbtx
  • Declan Dury
  • brettpac
  • David Revay

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cl_generic_sensor at Robotics Stack Exchange