Package symbol

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

Package symbol

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
jazzy

Package Summary

Tags No category tags.
Version 6.2.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version rolling
Last Updated 2025-06-04
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

6.2.0 (2024-10-15)

  • fix rclc_example: memory leaking in msg.data allocation (backport #386) (#387)

6.1.0 (2023-06-15)

  • no changes

3.0.9 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329)
  • Updated documentation (#332)
  • Updating README: updated table of contents and adding missing examples. (#335)
  • Added documentation about number_of_handles in all examples. (#341)

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

Package symbol

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
kilted

Package Summary

Tags No category tags.
Version 6.2.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version rolling
Last Updated 2025-06-04
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

6.2.0 (2024-10-15)

  • fix rclc_example: memory leaking in msg.data allocation (backport #386) (#387)

6.1.0 (2023-06-15)

  • no changes

3.0.9 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329)
  • Updated documentation (#332)
  • Updating README: updated table of contents and adding missing examples. (#335)
  • Added documentation about number_of_handles in all examples. (#341)

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

Package symbol

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 6.2.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version rolling
Last Updated 2025-06-04
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

6.2.0 (2024-10-15)

  • fix rclc_example: memory leaking in msg.data allocation (backport #386) (#387)

6.1.0 (2023-06-15)

  • no changes

3.0.9 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329)
  • Updated documentation (#332)
  • Updating README: updated table of contents and adding missing examples. (#335)
  • Added documentation about number_of_handles in all examples. (#341)

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

Package symbol

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
eloquent

Package Summary

Tags No category tags.
Version 6.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version master
Last Updated 2023-06-23
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

6.0.0 (2023-06-15)

  • no changes

3.0.9 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329)
  • Updated documentation (#332)
  • Updating README: updated table of contents and adding missing examples. (#335)
  • Added documentation about number_of_handles in all examples. (#341)

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

  • Initial release

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

Package symbol

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle

ROS Distro
dashing

Package Summary

Tags No category tags.
Version 1.0.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version dashing
Last Updated 2021-07-20
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions.

  • example_executor.c provides the example for the RCLC-Executor. It creates one publisher and one subscriber and configures the RCLC-Executor accordingly. Then the spin_some() function is demonstrated.
  • example_executor_convenience.c provides the example for the RCLC-Executor with the convenience functions from rclc. It creates one publisher and one subscriber and configures the RCLC-Executor accordingly. Then the spin_some() function is demonstrated.
  • example_executor_trigger.c demonstrates the trigger condition of the RCLC-Executor.
  • example_service_node.c implements a service node with the RCLC-Executor.
  • example_client_node.c implements a client node with RCLC-Executor.

The reduction of code lines for configuring the necessary RCL objects for RCLC-Executor directly with RCL objects compared to using the convenience functions is about 24%:

  • example_executor.c: 92 LoC (lines 56-148)
  • example_executor_convenience.c: 70 LoC (line 17 + lines 57-126)

counting only the lines of code in which the RCL objects are defined).

Example RCLC-Executor using RCL objects directly

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/$ROSDISTRO/setup.bash

Step 2 Build the package Download and build the the packages rclc and rclc_examples in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples  example_executor

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Example RCLC-Executor with convenience functions

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/eloquent, setup the ROS2 environment by:

~$ source /opt/ros/eloquent/setup.bash

Step 2 Build the package Download and build the the packages rclc and rclc_examples in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor with the convenience functions from the package rclc.

The binary of the example is example_executor_convenience.

~/ros2_ws/$ ros2 run rclc_examples  example_executor_convenience

The same setup as in the example_executor, just using the RCLC convenience functions. You should see the exact same output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0:

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

1.0.1 (2021-07-17)

  • Updated version

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

  • Initial release

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

Package symbol

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
galactic

Package Summary

Tags No category tags.
Version 2.0.6
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version galactic
Last Updated 2023-01-25
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions.

  • example_executor.c provides the example for the RCLC-Executor. It creates one publisher and one subscriber and configures the RCLC-Executor accordingly. Then the spin_some() function is demonstrated.
  • example_executor_convenience.c provides the example for the RCLC-Executor with the convenience functions from rclc. It creates one publisher and one subscriber and configures the RCLC-Executor accordingly. Then the spin_some() function is demonstrated.
  • example_executor_trigger.c demonstrates the trigger condition of the RCLC-Executor.
  • example_service_node.c implements a service node with the RCLC-Executor.
  • example_client_node.c implements a client node with RCLC-Executor.

The reduction of code lines for configuring the necessary RCL objects for RCLC-Executor directly with RCL objects compared to using the convenience functions is about 24%:

  • example_executor.c: 92 LoC (lines 56-148)
  • example_executor_convenience.c: 70 LoC (line 17 + lines 57-126)

counting only the lines of code in which the RCL objects are defined).

Example RCLC-Executor using RCL objects directly

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/$ROSDISTRO/setup.bash

Step 2 Build the package Download and build the the packages rclc and rclc_examples in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples  example_executor

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Example RCLC-Executor with convenience functions

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/eloquent, setup the ROS2 environment by:

~$ source /opt/ros/eloquent/setup.bash

Step 2 Build the package Download and build the the packages rclc and rclc_examples in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor with the convenience functions from the package rclc.

The binary of the example is example_executor_convenience.

~/ros2_ws/$ ros2 run rclc_examples  example_executor_convenience

The same setup as in the example_executor, just using the RCLC convenience functions. You should see the exact same output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0:

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

2.0.6 (2022-01-25)

  • [backport galactic, foxy] data_available optimization (#212)

2.0.5 (2021-11-08)

  • Bumped version

2.0.4 (2021-08-19)

  • Added pingpong example (example for C++ support)

2.0.3 (2021-07-26)

  • Bumped version

2.0.2 (2021-07-17)

  • Added example for parameter server
  • Added example for quality of service entity creation API
  • Added example for subscription with context
  • Added example for executor_prepare API

2.0.1 (2021-05-28)

  • added quality declaration

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

  • Initial release

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

Package symbol

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
foxy

Package Summary

Tags No category tags.
Version 1.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version foxy
Last Updated 2023-06-12
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World! Callback: I heard: Hello World! Published message Hello World! Callback: I heard: Hello World! Published message Hello World! Callback: I heard: Hello World! Published message Hello World! Callback: I heard: Hello World! Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

1.1.2 (2023-03-31)

  • Example real-time concurreny timer and subscription (backport #329) (#331)
  • updated rclc_examples (backport #332) (#333)
  • Updated README in rclc_examples (backport #335) (#337)

1.1.1 (2022-03-16)

  • Backport parameters (#263)

1.1.0 (2022-01-25)

  • Feature request: check for valid ros context in spin_some (#165) (#167)
  • Ignoring unsuccessful SERVICE_TAKE (#175) (#177)
  • added pingpong example (backport #172) (#187)
  • [backport galactic, foxy] data_available optimization (backport #212) (#213)

1.0.2 (2021-07-17)

  • Bumped version (tag with version 1.0.1 already exists)

1.0.1 (2021-07-17)

  • Added example for quality of service entity creation API
  • Added example for executor prepare API
  • Added example for subscription with context

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

  • Initial release

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

Package symbol

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
iron

Package Summary

Tags No category tags.
Version 5.0.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version iron
Last Updated 2023-12-14
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

5.0.1 (2023-06-15)

  • no changes

3.0.9 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329)
  • Updated documentation (#332)
  • Updating README: updated table of contents and adding missing examples. (#335)
  • Added documentation about number_of_handles in all examples. (#341)

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

  • Initial release

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange

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

rclc_examples package from rclc repo

rclc rclc_examples rclc_lifecycle rclc_parameter

ROS Distro
humble

Package Summary

Tags No category tags.
Version 4.0.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rclc.git
VCS Type git
VCS Version humble
Last Updated 2025-05-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example of using rclc_executor

Additional Links

No additional links.

Maintainers

  • Jan Staschulat

Authors

  • Jan Staschulat
  • Arne Nordmann

General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.

The rclc_examples package

The rclc_examples package provides examples for using the RCLC-Exector and convenience functions for creating RCL objects like subscriptions and timers.

Table of contents

Minimal publisher-subscriber

The example example_executor.c demonstrates basic features of the rclc package and the rclc-Executor to setup a publisher and a subscriber. This example uses also the convenience functions to configure rcl objects, like subscriptions, timers, etc. This saves in this case about 24% of lines of code compared the the same application with direct rcl-API, as described in the setup Minimal publisher-subscriber only with RCL-API.

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download and build the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

Step 3 Run the example executor demo.

The binary of the example is example_executor.

~/ros2_ws/$ ros2 run rclc_examples example_executor

Example output:

Created timer with timeout 1000 ms.
Created subscriber topic_0:
Debug: number of DDS handles: 2
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!
Published message Hello World!
Callback: I heard: Hello World!

Minimal publisher-subscriber only with RCL-API

Step 1 Setup ROS 2 Workspace

Open a terminal with ROS 2 workspace. Assuming that the ROS 2 installation resides in /opt/ros/ROSDISTRO, setup the ROS2 environment by:

~$ source /opt/ros/ROSDISTRO/setup.bash

Step 2 Build the package Download the rclc repository in a workspace (for example ros2_ws). Then source the workspace:

~/ros2_ws/$ colcon build --packages-up-to rclc_examples
~/ros2_ws/$ source ./install/local_setup.bash

It should build these packages:

  • rcl_yaml_param_parser
  • rcl
  • rclc
  • rclc_examples

Step 3 Run the example executor.

The binary of the example is example_executor_only_rcl.

~/ros2_ws/$ ros2 run rclc_examples example_executor_only_rcl

The publisher publishes the message Hello World!in topic_0 at a rate of 1Hz and the subscriber prints out in the callback Callback: I heard: Hello World!.

You should see the following output:

```C Created timer with timeout 1000 ms. Created subscriber topic_0: Debug: number of DDS handles: 2 Published message Hello World!

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rclc_examples

4.0.2 (2023-03-22)

  • Example real-time concurreny timer and subscription (#329) (#330)
  • Updated documentation (#332) (#334)
  • Updating README: updated table of contents and adding missing examples. (#335) (#336)
  • Added documentation about number_of_handles in all examples. (#341) (#342)

4.0.1 (2022-07-20)

  • no changes

4.0.0 (2022-04-28)

  • updated version for Humble release

3.0.8 (2022-04-14)

  • Fix RCLC int parameter get (cherry-pick) (#272)
  • Upgrade parameters (#274)

3.0.7 (2022-02-17)

  • no changes

3.0.6 (2022-01-25)

  • Create service context in main (#224)
  • Add thread dependency to examples (Rolling) (#237)

3.0.5 (2021-11-23)

  • no change

3.0.4 (2021-11-17)

  • added pingpong example (#172)
  • Provide lifecycle services in the rclc lifecycle nodes (#51)
  • RCLC Actions Implementation (#170)

3.0.3 (2021-07-28)

  • Version bump

3.0.2 (2021-07-26)

  • Version bump

3.0.1 (2021-07-17)

  • Added example for parameter server
  • Added example for executor prepare API
  • Added example for quality of service entity creation API
  • Added example for subscription with context

2.0.0 (2021-04-23)

  • added codecov support
  • new API of rcl_lifecycle in Rolling required major version bump

1.0.1 (2021-03-29)

  • Windows port
  • Compatibility sleep function (Windows, POSIX-OS)
  • Fixed RCL lifecycle API change for Rolling

1.0.0 (2021-03-04)

  • Updated version

0.1.7 (2021-01-20)

  • Updated version

0.1.6 (2021-01-20)

  • Updated version

0.1.5 (2020-12-11)

  • Added support for services,clients and guard_conditions to rclc executor

0.1.4 (2020-11-25)

  • Fixed error in bloom release

0.1.3 (2020-11-23)

  • Added rclc_lifecycle package

0.1.2 (2020-05-19)

  • Fixed compiler errors for bloom release

0.1.1 (2020-05-14)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclc_examples at Robotics Stack Exchange