Giter VIP home page Giter VIP logo

kdl_codyco's People

Contributors

andreadelprete avatar francesco-romano avatar myl1ne avatar traversaro avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

stmen

kdl_codyco's Issues

Rename TreeGraph data structure in UndirectedTree

The data structure used for nearly all the algorithms in kdl_codyco is named "TreeGraph", that does not mean anything .
To avoid generating confusion in the users it should be renamed UndirectedTree, that make immediately clear the main difference between KDL::CoDyCo::UndirectedTree and KDL::Tree (which instead is a directed tree).

iCub compatible compliation

Within the iCub users, some people do not "make install". Binaries and include are copied by the default compilation config in the "current build" directory. The associated directory "bin" is added to the path. Include files are resolved thanks to the environment variable $ICUB_DIR. kdl_codyco and orocors_kdl are instead included thanks to the EXPORT_PACKAGE functionality of cmake. This second option is not compatible with shared home-directories (currently used in certain iCub setup) and this poses issues to be solved if we want to maintain shared home-directories.

Migrate all subtree related algorithms to SubTreeTraversal

Currently all the implementation of subtree related algorithms (subtree regressors, iDynTreeContact) are implemented using custom (and thus error-prone) code. We should migrate them to using SubTreeTraversal and appropriate loops.

Add Traversal class for subtree

Add subtree specific version of the KDL::CoDyCo::Traversal class to execute the same loops on the full tree (using an UndirectedTree and a "complete" KDL::CoDyCo::Traversal) and on the subtree (using an UndirectedTree and a "subtree" KDL::CoDyCo::Traversal) .

Bug in backward torque regressor

There is a bug in dynamicRegressorGenerator that has en effect on the regressor for the estimation of a torque from the internal F/T sensors.

Serialization documentation

Document the design choice of Serialization, employed in all the Solvers and that are based on TreeSerialization and TreeSerialSolver.

Introduce world base position/orientation in solvers

Currently no information about the position/orientation of the base link with respect to the world is considered in the solver/loops.
While not necessary for dynamics (if initial velocity/acceleration and residual wrench is expressed in base link reference frame), this is a common requirement for a lot of tasks (floating base jacobians, floating base mass matrix) and is actually implemented as a workaround in iDynTree (and consequently in the yarp implementation of the iWholeBodyModel interface.
To avoid errors, improve efficiency and expose base_world functionality also in kdl_codyco solvers is would make sense to move this base world position/orientation logic in kdl_codyco solvers/loops.
Current functionality would be preserved by setting input world_base transformation to the identity.
To avoid the explosion of the number of input parameters it could make sense to define a "FloatingBasePosition := KDL::Frame X KDL::JntArray" object and a "FloatingBaseMotion := KDL::Twist X KDL::JntArray" .

[subtreeRegressor] subTree regressor plucker frame

The subtree regressor equation can be written in an arbitrary (plucker) reference frame. While the formulation is equivalent from the dynamics point of view, it is not equivalent from the identification point of view, because the relation between the noise of the sensors and the noise in the equation is affected by the frame placement.
In the meanwhile that this ambiguity is solved from the scientific point of view, leave to the user the possibility do define the plucker frame for the subtree regressor (currently it is fixed to the base of the robot tree). The choice should be given between sensor frames or link frames (eventually with an additional fixed transformation).

Implement algorithm for computing Operational-Space Inertia matrix

Issue to track the implementation of the Operational-Space Inertia matrix.
Useful reference of a recent paper on a new algorithm to compute the Operational-Space Inertia Matrix, with pointers to previous algorithms: http://www2.ece.ohio-state.edu/~wensingp/Papers/WensingFeatherstoneOrin12-ICRA.pdf .

Probably also a less elaborate algorithm (as the Rodriguez or the old Featherstone one) with respect to the one presented in the paper is ok to implement.

Unit test to write: check implemented algorithm output with OSI calculated with the classical formula JH^{-1}J^T .

cc @EnricoMingo

Note to self: probably a good example to start introducing interfaces also on low level loop functions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.