Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions example/src/parameters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,32 @@ admittance_controller:
validation:
gt<>: [ 15 ]
lt<>: [ 20 ]
lt_eq_fifteen_double:
type: double
default_value: 1
description: "should be a number less than or equal to 15"
validation:
lt_eq<>: [ 15 ]
gt_fifteen_double:
type: double
default_value: 16
description: "should be a number greater than 15"
validation:
gt<>: [ 15 ]
gt_fifteen_lt_eq_twenty_double:
type: double
default_value: 20
description: "should be a number greater than 15 and less than or equal to 20"
validation:
gt<>: [ 15 ]
lt_eq<>: [ 20 ]
gt_fifteen_lt_twenty_double:
type: double
default_value: 16
description: "should be a number greater than 15 and less than 20"
validation:
gt<>: [ 15 ]
lt<>: [ 20 ]
one_number:
type: int
default_value: 14540
Expand Down
2 changes: 1 addition & 1 deletion example/test/descriptor_test_gtest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ TEST_F(DescriptorTest, check_lt_eq) {
}

TEST_F(DescriptorTest, check_gt) {
EXPECT_EQ(descriptors_[4].integer_range.at(0).from_value, 15);
EXPECT_EQ(descriptors_[4].integer_range.at(0).from_value, 16);
EXPECT_EQ(descriptors_[4].integer_range.at(0).to_value,
std::numeric_limits<int64_t>::max());
}
Expand Down
26 changes: 26 additions & 0 deletions example_python/generate_parameter_module_example/parameters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,32 @@ admittance_controller:
validation:
gt<>: [ 15 ]
lt<>: [ 20 ]
lt_eq_fifteen_double:
type: double
default_value: 1
description: "should be a number less than or equal to 15"
validation:
lt_eq<>: [ 15 ]
gt_fifteen_double:
type: double
default_value: 16
description: "should be a number greater than 15"
validation:
gt<>: [ 15 ]
gt_fifteen_lt_eq_twenty_double:
type: double
default_value: 20
description: "should be a number greater than 15 and less than or equal to 20"
validation:
gt<>: [ 15 ]
lt_eq<>: [ 20 ]
gt_fifteen_lt_twenty_double:
type: double
default_value: 16
description: "should be a number greater than 15 and less than 20"
validation:
gt<>: [ 15 ]
lt<>: [ 20 ]
one_number:
type: int
default_value: 14540
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,14 @@ descriptor.additional_constraints = {{parameter_additional_constraints | valid_s
{%- if validation.arguments|length == 2 %}
{%- set range.lower = validation.arguments[0] %}
{%- set range.upper = validation.arguments[1] %}
{%- elif ("lower" in validation.function_name or "gt" == validation.function_base_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif ("lower" in validation.function_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.lower = validation.arguments[0] %}
{%- elif ("upper" in validation.function_name or "lt" == validation.function_base_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif "gt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.lower = "std::nextafter({}, std::numeric_limits<double>::infinity())".format(validation.arguments[0]) %}
{%- elif ("upper" in validation.function_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.upper = validation.arguments[0] %}
{%- elif "lt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.upper = "std::nextafter({}, -std::numeric_limits<double>::infinity())".format(validation.arguments[0]) %}
{%- endif %}
{%- endfor %}
{%- if range.lower is not none or range.upper is not none %}
Expand All @@ -29,10 +33,14 @@ descriptor.floating_point_range.at(0).to_value = {{range.upper if range.upper is
{%- if validation.arguments|length == 2 %}
{%- set range.lower = validation.arguments[0] %}
{%- set range.upper = validation.arguments[1] %}
{%- elif ("lower" in validation.function_name or "gt" == validation.function_base_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif ("lower" in validation.function_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.lower = validation.arguments[0] %}
{%- elif ("upper" in validation.function_name or "lt" == validation.function_base_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif "gt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.lower = "({} + 1)".format(validation.arguments[0]) %}
{%- elif ("upper" in validation.function_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.upper = validation.arguments[0] %}
{%- elif "lt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.upper = "({} - 1)".format(validation.arguments[0]) %}
{%- endif %}
{%- endfor %}
{%- if range.lower is not none or range.upper is not none %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,14 @@ descriptor.additional_constraints = {{parameter_additional_constraints | valid_s
{%- if validation.arguments|length == 2 %}
{%- set range.lower = validation.arguments[0] %}
{%- set range.upper = validation.arguments[1] %}
{%- elif ("lower" in validation.function_name or "gt" == validation.function_base_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif ("lower" in validation.function_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.lower = validation.arguments[0] %}
{%- elif ("upper" in validation.function_name or "lt" == validation.function_base_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif "gt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.lower = "std::nextafter({}, std::numeric_limits<double>::infinity())".format(validation.arguments[0]) %}
{%- elif ("upper" in validation.function_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.upper = validation.arguments[0] %}
{%- elif "lt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.upper = "std::nextafter({}, -std::numeric_limits<double>::infinity())".format(validation.arguments[0]) %}
{%- endif %}
{%- endfor %}
{%- if range.lower is not none or range.upper is not none %}
Expand All @@ -45,10 +49,14 @@ descriptor.floating_point_range.at(0).to_value = {{range.upper if range.upper is
{%- if validation.arguments|length == 2 %}
{%- set range.lower = validation.arguments[0] %}
{%- set range.upper = validation.arguments[1] %}
{%- elif ("lower" in validation.function_name or "gt" == validation.function_base_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif ("lower" in validation.function_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.lower = validation.arguments[0] %}
{%- elif ("upper" in validation.function_name or "lt" == validation.function_base_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif "gt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.lower = "({} + 1)".format(validation.arguments[0]) %}
{%- elif ("upper" in validation.function_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.upper = validation.arguments[0] %}
{%- elif "lt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.upper = "({} - 1)".format(validation.arguments[0]) %}
{%- endif %}
{%- endfor %}
{%- if range.lower is not none or range.upper is not none %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,14 @@ descriptor.additional_constraints = "{{parameter_additional_constraints|valid_st
{%- if validation.arguments|length == 2 %}
{%- set range.lower = validation.arguments[0] %}
{%- set range.upper = validation.arguments[1] %}
{%- elif ("lower" in validation.function_name or "gt" == validation.function_base_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif ("lower" in validation.function_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.lower = validation.arguments[0] %}
{%- elif ("upper" in validation.function_name or "lt" == validation.function_base_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif "gt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.lower = "({} + sys.float_info.epsilon)".format(validation.arguments[0]) %}
{%- elif ("upper" in validation.function_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.upper = validation.arguments[0] %}
{%- elif "lt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.upper = "({} - sys.float_info.epsilon)".format(validation.arguments[0]) %}
{%- endif %}
{%- endfor %}
{%- if range.lower is not none or range.upper is not none %}
Expand All @@ -27,10 +31,14 @@ descriptor.floating_point_range[-1].to_value = {{range.upper if range.upper is n
{%- if validation.arguments|length == 2 %}
{%- set range.lower = validation.arguments[0] %}
{%- set range.upper = validation.arguments[1] %}
{%- elif ("lower" in validation.function_name or "gt" == validation.function_base_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif ("lower" in validation.function_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.lower = validation.arguments[0] %}
{%- elif ("upper" in validation.function_name or "lt" == validation.function_base_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif "gt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.lower = "({} + 1)".format(validation.arguments[0]) %}
{%- elif ("upper" in validation.function_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.upper = validation.arguments[0] %}
{%- elif "lt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.upper = "({} - 1)".format(validation.arguments[0]) %}
{%- endif %}
{%- endfor %}
{%- if range.lower is not none or range.upper is not none %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,14 @@ descriptor.additional_constraints = "{{parameter_additional_constraints|valid_st
{%- if validation.arguments|length == 2 %}
{%- set range.lower = validation.arguments[0] %}
{%- set range.upper = validation.arguments[1] %}
{%- elif ("lower" in validation.function_name or "gt" == validation.function_base_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif ("lower" in validation.function_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.lower = validation.arguments[0] %}
{%- elif ("upper" in validation.function_name or "lt" == validation.function_base_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif "gt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.lower = "({} + sys.float_info.epsilon)".format(validation.arguments[0]) %}
{%- elif ("upper" in validation.function_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.upper = validation.arguments[0] %}
{%- elif "lt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.upper = "({} - sys.float_info.epsilon)".format(validation.arguments[0]) %}
{%- endif %}
{%- endfor %}
{%- if range.lower is not none or range.upper is not none %}
Expand All @@ -42,10 +46,14 @@ descriptor.floating_point_range[-1].to_value = {{range.upper if range.upper is n
{%- if validation.arguments|length == 2 %}
{%- set range.lower = validation.arguments[0] %}
{%- set range.upper = validation.arguments[1] %}
{%- elif ("lower" in validation.function_name or "gt" == validation.function_base_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif ("lower" in validation.function_name or "gt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.lower = validation.arguments[0] %}
{%- elif ("upper" in validation.function_name or "lt" == validation.function_base_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- elif "gt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.lower = "({} + 1)".format(validation.arguments[0]) %}
{%- elif ("upper" in validation.function_name or "lt_eq" == validation.function_base_name) and validation.arguments|length == 1 %}
{%- set range.upper = validation.arguments[0] %}
{%- elif "lt" == validation.function_base_name and validation.arguments|length == 1 %}
{%- set range.upper = "({} - 1)".format(validation.arguments[0]) %}
{%- endif %}
{%- endfor %}
{%- if range.lower is not none or range.upper is not none %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ from rclpy.clock import Clock
from rclpy.exceptions import InvalidParameterValueException
from rclpy.time import Time
import copy
import sys
import rclpy
import rclpy.parameter
from generate_parameter_library_py.python_validators import ParameterValidators
Expand Down