Skip to content
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

[core] Add support of state aggregation and transmission constraints #599

Open
duburcqa opened this issue Mar 21, 2023 · 0 comments
Open
Labels
core enhancement New feature or request P2 Low priority issue

Comments

@duburcqa
Copy link
Owner

Transmissions, motors and even sensors may have some dynamic state that should be aggregated. Typically, the current-voltage regulation loop of DC motors, or the generic n-to-m transmissions. As such, it should provide an integrate method for position,velocity and our custom liegroup algebra implementation should rely on it instead of calling pinocchio::integrate, which is an easy refactor.

Note that the robot still do not have to manage its own global state, but it should provide computeForwardKinematics in place of the engine as it is current the case, but this should also be an easy refactor. The engine will still ilmplement its own computeAllTerms handling coupling forces and external. Yet, the computation of internal forces should be moved to computeForwardKinematics. Finally, Robot should provide its own neutral method (along with nq, nv corresponding to the full state) and robot.modelConfigSelector(q),`robot.modelVelocitySelector(v) to extract the position,velocity corresponding to the pinocchio model currently in used (flexible or not).

The joint bounds should no longer be registered and handled by the engine but rather delegated to the transmission. Each transmission should take care of enabling/disabling the related constraint if any and necessary. All the constraints extrinsic to a robot (i.e. with the environment or another robot) would still be managed by the robot but enable/disabled by the engine since it is the only one having access to the necessary information.

Concurrently, transmissions should be able to register constraints to the robot.

@duburcqa duburcqa added enhancement New feature or request core P2 Low priority issue labels Aug 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core enhancement New feature or request P2 Low priority issue
Projects
Status: To do
Development

No branches or pull requests

1 participant