![]() |
generate_parameter_library_example package from generate_parameter_library repogenerate_parameter_library_example generate_parameter_library generate_parameter_library_py parameter_traits tcb_span |
|
Package Summary
Tags | No category tags. |
Version | 0.2.3 |
License | BSD-3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/generate_parameter_library.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2022-08-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
- Paul Gesel
Authors
- Paul Gesel
Example:
Build the node
mkdir colcon_ws
mkdir colcon_ws/src
cd colcon_ws/src
git clone https://github.com/picknikrobotics/generate_parameter_library.git
cd ..
colcon build
Run the node
source install/setup.bash
ros2 run generate_parameter_library_example test_node --ros-args --params-file src/generate_parameter_library/example/config/implementation.yaml
You should see an output like this:
[INFO] [1656018676.015816509] [admittance_controller]: Control frame is: 'ee_link'
ROS 2 CLI
Run the following:
ros2 param list
You should see:
/admittance_controller:
admittance.damping_ratio
admittance.mass
admittance.selected_axes
admittance.stiffness
chainable_command_interfaces
command_interfaces
control.frame.external
control.frame.id
enable_parameter_update_without_reactivation
fixed_world_frame.frame.external
fixed_world_frame.frame.id
ft_sensor.frame.external
ft_sensor.frame.id
ft_sensor.name
gravity_compensation.CoG.force
gravity_compensation.CoG.pos
gravity_compensation.frame.external
gravity_compensation.frame.id
joints
kinematics.base
kinematics.plugin_name
kinematics.tip
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
state_interfaces
use_sim_time
All parameter are automatically declared and callbacks are setup by default. You can set a parameter by typing:
ros2 param set /admittance_controller control.frame.id new_frame
You should see:
[INFO] [1656019001.515820371] [admittance_controller]: Control frame is: 'new_frame'
Congratulations, you updated the parameter!
If you try to set a parameter that is read only, you will get an error. Running the following
ros2 param set /admittance_controller joints ["joint_new"]
will result in the error
Setting parameter failed: parameter 'joints' cannot be set because it is read-only
Running the following
ros2 param describe /admittance_controller admittance.damping_ratio
will show a parameter's description
Parameter name: admittance.damping_ratio
Type: double array
Description: specifies damping ratio values for x, y, z, rx, ry, and rz used in the admittance calculation. The values are calculated as damping can be used instead: zeta = D / (2 * sqrt( M * S ))
Constraints:
Min value: 0.1
Max value: 10.0
If you try to set a value out of the specified bounds,
ros2 param set /admittance_controller admittance.damping_ratio [-10.0,-10.0,-10.0,-10.0,-10.0,-10.0]
you will get the error
Setting parameter failed: Invalid value for parameter admittance.damping_ratio. Value not within required bounds.
If you try to set a vector parameter with the wrong length,
ros2 param set /admittance_controller admittance.damping_ratio [1.0,1.0,1.0]
you will get the error
Setting parameter failed: Invalid size for vector parameter admittance.damping_ratio. Expected 6 got 3
If you try to load a yaml file with missing required parameters
ros2 run generate_parameter_library_example test_node --ros-args --params-file src/generate_parameter_library/example/config/missing_required.yaml
you will get the error
terminate called after throwing an instance of 'rclcpp::exceptions::ParameterUninitializedException'
what(): parameter 'command_interfaces' is not initialized
[ros2run]: Aborted
Changelog for package generate_parameter_library_example
0.2.3 (2022-08-05)
0.2.2 (2022-08-03)
0.2.1 (2022-08-02)
- Fix scientific notation (#46)
- Contributors: Paul Gesel
0.2.0 (2022-08-01)
- Create stack allocated struct (#45)
- Fixed length arrays (#44)
- Fixed size string no default bug (#43)
- static OK to fix ODR errors (#41)
- Change package name (#40)
- parameter validators interface library (#32)
- Validate fixed length Strings (#33)
- Fixed size strings (#29)
- Contributors: Paul Gesel, Tyler Weaver
0.1.0 (2022-07-27)
- Example usage of generate_parameter_library.
- Contributors: Paul Gesel, Tyler Weaver
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | ament_cmake | |
1 | ament_cmake_core | |
1 | ament_lint_auto | |
1 | ament_lint_common | |
1 | rclcpp | |
1 | generate_parameter_library |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged generate_parameter_library_example at answers.ros.org
![]() |
generate_parameter_library_example package from generate_parameter_library repogenerate_parameter_library_example generate_parameter_library generate_parameter_library_py parameter_traits tcb_span |
|
Package Summary
Tags | No category tags. |
Version | 0.2.3 |
License | BSD-3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/generate_parameter_library.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2022-08-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
- Paul Gesel
Authors
- Paul Gesel
Example:
Build the node
mkdir colcon_ws
mkdir colcon_ws/src
cd colcon_ws/src
git clone https://github.com/picknikrobotics/generate_parameter_library.git
cd ..
colcon build
Run the node
source install/setup.bash
ros2 run generate_parameter_library_example test_node --ros-args --params-file src/generate_parameter_library/example/config/implementation.yaml
You should see an output like this:
[INFO] [1656018676.015816509] [admittance_controller]: Control frame is: 'ee_link'
ROS 2 CLI
Run the following:
ros2 param list
You should see:
/admittance_controller:
admittance.damping_ratio
admittance.mass
admittance.selected_axes
admittance.stiffness
chainable_command_interfaces
command_interfaces
control.frame.external
control.frame.id
enable_parameter_update_without_reactivation
fixed_world_frame.frame.external
fixed_world_frame.frame.id
ft_sensor.frame.external
ft_sensor.frame.id
ft_sensor.name
gravity_compensation.CoG.force
gravity_compensation.CoG.pos
gravity_compensation.frame.external
gravity_compensation.frame.id
joints
kinematics.base
kinematics.plugin_name
kinematics.tip
qos_overrides./parameter_events.publisher.depth
qos_overrides./parameter_events.publisher.durability
qos_overrides./parameter_events.publisher.history
qos_overrides./parameter_events.publisher.reliability
state_interfaces
use_sim_time
All parameter are automatically declared and callbacks are setup by default. You can set a parameter by typing:
ros2 param set /admittance_controller control.frame.id new_frame
You should see:
[INFO] [1656019001.515820371] [admittance_controller]: Control frame is: 'new_frame'
Congratulations, you updated the parameter!
If you try to set a parameter that is read only, you will get an error. Running the following
ros2 param set /admittance_controller joints ["joint_new"]
will result in the error
Setting parameter failed: parameter 'joints' cannot be set because it is read-only
Running the following
ros2 param describe /admittance_controller admittance.damping_ratio
will show a parameter's description
Parameter name: admittance.damping_ratio
Type: double array
Description: specifies damping ratio values for x, y, z, rx, ry, and rz used in the admittance calculation. The values are calculated as damping can be used instead: zeta = D / (2 * sqrt( M * S ))
Constraints:
Min value: 0.1
Max value: 10.0
If you try to set a value out of the specified bounds,
ros2 param set /admittance_controller admittance.damping_ratio [-10.0,-10.0,-10.0,-10.0,-10.0,-10.0]
you will get the error
Setting parameter failed: Invalid value for parameter admittance.damping_ratio. Value not within required bounds.
If you try to set a vector parameter with the wrong length,
ros2 param set /admittance_controller admittance.damping_ratio [1.0,1.0,1.0]
you will get the error
Setting parameter failed: Invalid size for vector parameter admittance.damping_ratio. Expected 6 got 3
If you try to load a yaml file with missing required parameters
ros2 run generate_parameter_library_example test_node --ros-args --params-file src/generate_parameter_library/example/config/missing_required.yaml
you will get the error
terminate called after throwing an instance of 'rclcpp::exceptions::ParameterUninitializedException'
what(): parameter 'command_interfaces' is not initialized
[ros2run]: Aborted
Changelog for package generate_parameter_library_example
0.2.3 (2022-08-05)
0.2.2 (2022-08-03)
0.2.1 (2022-08-02)
- Fix scientific notation (#46)
- Contributors: Paul Gesel
0.2.0 (2022-08-01)
- Create stack allocated struct (#45)
- Fixed length arrays (#44)
- Fixed size string no default bug (#43)
- static OK to fix ODR errors (#41)
- Change package name (#40)
- parameter validators interface library (#32)
- Validate fixed length Strings (#33)
- Fixed size strings (#29)
- Contributors: Paul Gesel, Tyler Weaver
0.1.0 (2022-07-27)
- Example usage of generate_parameter_library.
- Contributors: Paul Gesel, Tyler Weaver
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | ament_cmake | |
1 | ament_cmake_core | |
1 | ament_lint_auto | |
1 | ament_lint_common | |
1 | rclcpp | |
1 | generate_parameter_library |