forked from epfl-lasa/modulo
-
Notifications
You must be signed in to change notification settings - Fork 1
feat: add extension descriptions #225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
d83e7a0
feat: add extension descriptions
domire8 5290d03
docs: changelog
domire8 5f65d92
fix: value
domire8 46431f8
feat: add validation
domire8 49036ba
fix: minimum
domire8 0a55ac7
fixmes
domire8 158f1aa
fix: changelog
domire8 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
27 changes: 27 additions & 0 deletions
27
source/modulo_components/extension_descriptions/modulo_component.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| schema: 1-0-2 | ||
| name: Component | ||
| description: | ||
| brief: A wrapper for rclcpp::Node to simplify application composition through unified component interfaces. | ||
| details: | ||
| This class is intended for direct inheritance to implement custom components that perform one-shot or externally | ||
| triggered operations. | ||
| virtual: true | ||
| inherits: "rclcpp::Node" | ||
| class: modulo_components::Component | ||
| type: component | ||
| parameters: | ||
| - display_name: Rate | ||
| description: The frequency in Hertz for all periodic callbacks | ||
| parameter_name: rate | ||
| parameter_type: double | ||
| default_value: 10.0 | ||
|
domire8 marked this conversation as resolved.
|
||
| validation: | ||
| range: | ||
| exclusive_minimum: 0 | ||
| predicates: | ||
| - display_name: In error state | ||
| description: True if the component is in error state | ||
| predicate_name: in_error_state | ||
| - display_name: Is finished | ||
| description: True if the on_execute_callback() method of one-shot components successfully finished | ||
| predicate_name: is_finished | ||
22 changes: 22 additions & 0 deletions
22
source/modulo_components/extension_descriptions/modulo_lifecycle_component.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| schema: 1-0-2 | ||
| name: Lifecycle Component | ||
| description: | ||
| brief: | ||
| A wrapper for rclcpp_lifecycle::LifecycleNode to simplify application composition through unified component | ||
| interfaces while supporting lifecycle states and transitions. | ||
| details: | ||
| This class is intended for direct inheritance to implement custom state-based components that perform different | ||
| behaviors based on their state and on state transitions. | ||
| virtual: true | ||
| inherits: "rclcpp_lifecycle::LifecycleNode" | ||
| class: modulo_components::LifecycleComponent | ||
| type: lifecycle_component | ||
| parameters: | ||
| - display_name: Rate | ||
| description: The frequency in Hertz for all periodic callbacks | ||
| parameter_name: rate | ||
| parameter_type: double | ||
| default_value: 10.0 | ||
| validation: | ||
| range: | ||
| exclusive_minimum: 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
...dulo_controllers/extension_descriptions/modulo_controllers_base_controller_interface.yaml
|
domire8 marked this conversation as resolved.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| schema: 1-0-2 | ||
| name: Base Controller Interface | ||
| description: | ||
| brief: Base controller class to combine ros2_control, control libraries and modulo | ||
| virtual: true | ||
| inherits: "controller_interface::ControllerInterface" | ||
| class: modulo_controllers/BaseControllerInterface | ||
| type: controller | ||
| parameters: | ||
| - display_name: Input validity period | ||
| description: The maximum age of an input state before discarding it as expired (in seconds) | ||
| parameter_name: input_validity_period | ||
| parameter_type: double | ||
| default_value: 1.0 | ||
| validation: | ||
| range: | ||
| exclusive_minimum: 0 | ||
|
domire8 marked this conversation as resolved.
|
||
| - display_name: Predicate publishing rate | ||
| description: The rate at which to publish controller predicates (in Hertz) | ||
| parameter_name: predicate_publishing_rate | ||
| parameter_type: double | ||
| default_value: 10.0 | ||
| internal: true | ||
| validation: | ||
| range: | ||
| exclusive_minimum: 0 | ||
|
domire8 marked this conversation as resolved.
|
||
| - display_name: Update rate | ||
| description: | ||
| The rate at which to evaluate the controller (in Hertz). Defaults to the controller manager rate if not set. | ||
| parameter_name: update_rate | ||
| parameter_type: int | ||
| default_value: null | ||
| optional: true | ||
| internal: true | ||
| validation: | ||
| range: | ||
| exclusive_minimum: 0 | ||
| - display_name: Is Async | ||
| description: Whether the controller should be evaluated asynchronously | ||
| parameter_name: is_async | ||
| parameter_type: bool | ||
| default_value: false | ||
| internal: true | ||
39 changes: 39 additions & 0 deletions
39
...ce/modulo_controllers/extension_descriptions/modulo_controllers_controller_interface.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| schema: 1-0-2 | ||
| name: Controller Interface | ||
| description: | ||
| brief: Controller interface class that includes custom parameters for derived controllers | ||
| virtual: true | ||
| inherits: modulo_controllers/BaseControllerInterface | ||
| class: modulo_controllers/ControllerInterface | ||
| type: controller | ||
| parameters: | ||
| - display_name: Hardware name | ||
| description: The name of the hardware interface | ||
| parameter_name: hardware_name | ||
| parameter_type: string | ||
| default_value: null | ||
| optional: true | ||
| internal: true | ||
| - display_name: Joints | ||
| description: A vector of joint names that the controller will claim | ||
| parameter_name: joints | ||
| parameter_type: string_array | ||
| default_value: null | ||
| optional: true | ||
| internal: true | ||
| - display_name: Robot description | ||
| description: The string formatted content of the controller's URDF description | ||
| parameter_name: robot_description | ||
| parameter_type: string | ||
| default_value: null | ||
| optional: true | ||
| internal: true | ||
| - display_name: Activation timeout | ||
| description: The seconds to wait for valid data on the state interfaces before activating (in seconds) | ||
| parameter_name: activation_timeout | ||
| parameter_type: double | ||
| default_value: 1.0 | ||
| internal: true | ||
| validation: | ||
| range: | ||
| exclusive_minimum: 0 | ||
|
domire8 marked this conversation as resolved.
|
||
54 changes: 54 additions & 0 deletions
54
...ulo_controllers/extension_descriptions/modulo_controllers_robot_controller_interface.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| schema: 1-0-2 | ||
| name: Robot Controller Interface | ||
| description: | ||
| brief: Base controller class that automatically associates joints with a JointState object | ||
| virtual: true | ||
| inherits: modulo_controllers/ControllerInterface | ||
| class: modulo_controllers/RobotControllerInterface | ||
| type: controller | ||
| parameters: | ||
| - display_name: FT sensor name | ||
| description: Optionally, the name of a force-torque sensor in the hardware interface | ||
| parameter_name: ft_sensor_name | ||
| parameter_type: string | ||
| default_value: null | ||
| optional: true | ||
| - display_name: FT sensor reference frame | ||
| description: The reference frame of the force-torque sensor in the robot model | ||
| parameter_name: ft_sensor_reference_frame | ||
| parameter_type: string | ||
| default_value: null | ||
| optional: true | ||
| - display_name: Command half life | ||
| description: | ||
| A time constant for the exponential decay of the commanded velocity, acceleration or torque if no new command is | ||
| set | ||
| parameter_name: command_half_life | ||
| parameter_type: double | ||
| default_value: 0.1 | ||
| validation: | ||
| range: | ||
| minimum: 0 | ||
| - display_name: Command rate limit | ||
| description: The maximum allowable change in command on any interface expressed in command units / second | ||
| parameter_name: command_rate_limit | ||
| parameter_type: double | ||
| default_value: null | ||
| optional: true | ||
| validation: | ||
| range: | ||
| minimum: 0 | ||
| - display_name: Task-space frame | ||
| description: | ||
| The frame name in the robot model to use for kinematics calculations (defaults to the last frame in the model) | ||
| parameter_name: task_space_frame | ||
| parameter_type: string | ||
| default_value: null | ||
| optional: true | ||
| internal: true | ||
| - display_name: Sort joints | ||
| description: If true, re-arrange the 'joints' parameter into a physically correct order according to the robot model | ||
| parameter_name: joints | ||
| parameter_type: bool | ||
| default_value: true | ||
| internal: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.