-
Notifications
You must be signed in to change notification settings - Fork 39
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
Implement the MultiStateWeightProvider and refactor the WeightProvider #555
Merged
Conversation
This file contains 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
3440c52
to
d204e91
Compare
S-Dafarra
reviewed
Sep 2, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly comments about documentation
src/System/include/BipedalLocomotion/System/ConstantWeightProvider.h
Outdated
Show resolved
Hide resolved
d118a28
to
9e94ed5
Compare
@S-Dafarra I think I handled all your comments |
brew fails as already reported in: robotology/robotology-superbuild#1234 |
47b22e2
to
a1c507c
Compare
- Remove IWeightProvider - Now ConstantWeightProvider does not inherit from IWeightProvider but from Advanceable<Eigen::VectorXd> - Change the signature of all the methods that took as input an IWeightProvider (IWeightProvider -> PortOutput<Eigen::VectorXd>) - Update the python bindings accordingly
…alSystem component
a1c507c
to
654c63a
Compare
654c63a
to
1c640db
Compare
S-Dafarra
approved these changes
Sep 5, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
The
MultiStateWeightProvider
is a provider that will allow us to perform gain scheduling. The user should provide a configuration file containing the name and the weight for each state. Then the provider will interpolate among the states using a FirstOrder stable system. The settling time of the system should be set in the configuration file.I also implemented the associated tests and the python bindings.
I also add the possibility to set the weight provider directly in the
ILinearTaskSolver::addTask()
method.The PR also introduces the concept of output and input ports. These two interfaces contain functions to get and set signals only. And advanceable inherits from them. Thanks to this w can split the concept of advanceable from the concept of getting values. For instance
Now the user knows that
f
will only get the output of the advanceable and nothing more, (for instance it will never calladvance
orsetInput
)This substitutes #507