![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
6.2.0 (2024-10-15)
- Use fully qualified node name in parameter events (#402)
6.1.0 (2023-06-15)
- Add empty set_atomically parameter service (#354)
3.0.9 (2023-03-22)
- Added documentation (#301)
- Fix parameter change event (#310) (#311)
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
6.2.0 (2024-10-15)
- Use fully qualified node name in parameter events (#402)
6.1.0 (2023-06-15)
- Add empty set_atomically parameter service (#354)
3.0.9 (2023-03-22)
- Added documentation (#301)
- Fix parameter change event (#310) (#311)
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
6.2.0 (2024-10-15)
- Use fully qualified node name in parameter events (#402)
6.1.0 (2023-06-15)
- Add empty set_atomically parameter service (#354)
3.0.9 (2023-03-22)
- Added documentation (#301)
- Fix parameter change event (#310) (#311)
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
6.0.0 (2023-06-15)
- Add empty set_atomically parameter service (#354)
3.0.9 (2023-03-22)
- Added documentation (#301)
- Fix parameter change event (#310) (#311)
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
Changelog for package rclc_parameter
2.0.6 (2022-01-25)
- no change
2.0.5 (2021-11-08)
- Fix parameter init
2.0.4 (2021-08-19)
- Added Quality Declaration Statement
2.0.3 (2021-07-26)
- Added test dependencies for rclc_parameter
2.0.2 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
Changelog for package rclc_parameter
1.1.2 (2023-03-31)
- Fix parameter tests timeout (backport #283) (#284)
- rclc_parameter: Fix rcl return values (backport #270) (#276)
- added documentation (#301) (#304)
1.1.1 (2022-03-16)
- Backport parameters (#263)
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
5.0.1 (2023-06-15)
- Add empty set_atomically parameter service (#354)
3.0.9 (2023-03-22)
- Added documentation (#301)
- Fix parameter change event (#310) (#311)
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |
Launch files
Messages
Services
Plugins
Recent questions tagged rclc_parameter at Robotics Stack Exchange
![]() |
rclc_parameter package from rclc reporclc rclc_examples rclc_lifecycle rclc_parameter |
ROS Distro
|
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
Additional Links
Maintainers
- Antonio Cuadros
Authors
- Antonio Cuadros
The rclc parameter package
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found here
This package provides the rclc API with parameter server instances with full ROS 2 parameter client compatibility. A parameter client has not been implemented for rclc (yet).
Ready to use code examples related to this tutorial can be found in rclc/rclc_examples/src/example_parameter_server.c
.
Table of contents
- Initialization
- Memory requirements
- Callback
- Add a parameter
- Delete a parameter
- Parameter description
- Cleaning up
Initialization
- Default initialization:
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server with default configuration
rcl_ret_t rc = rclc_parameter_server_init_default(¶m_server, &node);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Custom options:
The following options can be configured:
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
- max_params: Maximum number of parameters allowed on the
rclc_parameter_server_t
object. - allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a
set
operation is requested on a non-existing parameter. - low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
// Parameter server object
rclc_parameter_server_t param_server;
// Initialize parameter server options
const rclc_parameter_options_t options = {
.notify_changed_over_dds = true,
.max_params = 4,
.allow_undeclared_parameters = true,
.low_mem_mode = false; };
// Initialize parameter server with configured options
rcl_ret_t rc = rclc_parameter_server_init_with_option(¶m_server, &node, &options);
if (RCL_RET_OK != rc) {
... // Handle error
return -1;
}
-
Low memory mode:
This mode ports the parameter functionality to memory constrained devices. The following constrains are applied:
- Request size limited to one parameter on Set, Get, Get types and Describe services.
- List parameter request has no prefixes enabled nor depth.
- Parameter description strings not allowed,
rclc_add_parameter_description
is disabled.
Memory benchmark results on
STM32F4
for 7 parameters withRCLC_PARAMETER_MAX_STRING_LENGTH = 50
andnotify_changed_over_dds = true
:- Full mode: 11736 B
- Low memory mode: 4160 B
Memory requirements
The parameter server uses five services and an optional publisher. These need to be taken into account on the rmw-microxrcedds
package memory configuration:
# colcon.meta example with memory requirements to use a parameter server
{
"names": {
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=1",
"-DRMW_UXRCE_MAX_PUBLISHERS=1",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=0",
"-DRMW_UXRCE_MAX_SERVICES=5",
"-DRMW_UXRCE_MAX_CLIENTS=0"
]
}
}
}
At runtime, the variable RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES
defines the necessary number of handles required by a parameter server for the rclc Executor:
// Executor init example with the minimum RCLC executor handles required
rclc_executor_t executor = rclc_executor_get_zero_initialized_executor();
rc = rclc_executor_init(
&executor, &support.context,
RCLC_EXECUTOR_PARAMETER_SERVER_HANDLES, &allocator);
File truncated at 100 lines see the full file
Changelog for package rclc_parameter
4.0.2 (2023-03-22)
- Fix parameter change event (#310)
4.0.1 (2022-07-20)
- improved doxygen-generated API documentation (#301) (#302)
4.0.0 (2022-04-28)
- updated version for Humble release
3.0.8 (2022-04-14)
- Parameters fini memory (#253)
- Fix RCLC int parameter get (cherry-pick) (#272)
- rclc_parameter: Fix rcl return values (#270)
- Upgrade parameters (#274)
3.0.7 (2022-02-17)
- no changes
3.0.6 (2022-01-25)
- Add thread dependency to examples (Rolling) (#237) (resolves in this package only cpplint errors)
3.0.5 (2021-11-23)
- no change
3.0.4 (2021-11-17)
- Add rclc_parameter Quality Declaration (#144)
- Check all dynamic allocations in parameter server init (#169)
3.0.3 (2021-07-28)
- Version bump
3.0.2 (2021-07-26)
- Add test dependencies for rclc_parameter
3.0.1 (2021-07-17)
- Removed shared from rclc_parameter
- Ensure clean message when set_parameter
- Added QoS entity creation API
- Updated CMakeLists.txt
- Major vesion bump was neccessary because API change in rcl_lifecycle package
0.1.0 (2021-05-27)
- Initial release
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rclc_examples |