-
Notifications
You must be signed in to change notification settings - Fork 29
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
Initial refactoring of human-dynamics-estimation #243
Comments
@Yeshasvitvs @kouroshD @diegoferigo @traversaro @S-Dafarra @prashanthr05 @GiulioRomualdi @DanielePucci @evalli-iit @claudia-lat please feel free to add any point I missed from the internal discussion, or any additional thought you had since. |
In my opinion things could be done in steps. Here below a proposal. A. Standalone hde library with algorithm
This would already be a great start. It does not touch the high-level architecture of hde but it would provide the desired refactoring. B. Allow programmatic usage of devicesCurrently, the devices are loaded by If no yarp ports are involved, maybe a first tentative I'd try is to exploit what @traversaro kindly implemented last summer robotology/yarp#2319, it seems a great match for the first prototype. It allows to operate programmatically on the devices without altering a single line or code. Bonus point, also the configuration files would be compatible with this approach. Then, moving on, devices could be updated to simplify even further their usage, and maybe removing yarp from our feet in the public APIs. Any comments / ideas? |
Thinking more about phase B above, if the desiderata is the following,
YARP should not be involved in any of the new libraries, not even privately. This means that, after stage A, some new high-level classes that provide all the functionality needed by the devices may be necessary. In this way, the online pipeline does not have to change. I think it's worth at first defining exactly what you want to achieve offline, and then decide the best phase B for the selected goals. |
Hi @diegoferigo sorry for taking some times to answer. I think we are aligned on starting addressing the point A you proposed in the comment above. In line with this, I have added an additional first point to the list due to some requirements we are currently having (@prashanthr05 @Yeshasvitvs) and that will be soon addressed:
Concerning the phase B, I think that can be further discussed after the phase A is achieved. In particular concerning what you commented above:
I think that might be a parallel task, but somehow independent from the final objective of having the main functionalities exposed as a library, and independent from |
We remove the activity on python bindings creation from this epic since it is left in icebox and close it |
This activity is still not clear so we have removed it |
As discussed, we are planning a refactoring of the code contained in human-dynamics estimation. Initially, the code contained in this repo was meant to be a collection of
YARP
applications able to interface sensors data (inwearables
format) withiDynTree
algorithms. With time, however, some algorithms were progressively implemented directly in the devices. The main objective is to progressively move from a collection of applications to a library+applications. This change would lead to some improvements:In order to do so, some initial steps have been detected:
InverseVelocityKinematics
andstateIntegrator
in a separate libraryHumanStateProvider
(and other blocks) into a separate library Move algorithms from HumanStateProvider to HDE library #247move theBerdy
algorithm inside this repomove from the interfaces to stand-alone objects that can be configured offline. (@diegoferigo maybe you can help with the definition of this task)An MVP for this activity might be the possibility to run kinematics and dynamics estimation offline in a single C++ module.
The text was updated successfully, but these errors were encountered: