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

Revise README #932

Merged
merged 9 commits into from
Nov 9, 2021
Merged

Revise README #932

merged 9 commits into from
Nov 9, 2021

Conversation

traversaro
Copy link
Member

@traversaro traversaro commented Nov 7, 2021

A README revamp was long overdue, so I did it.

Main points:

  • Add an introduction section, briefly explaining what iDynTree is and what it is not.
  • Simplify installation, focusing on how to install iDynTree via conda and via robotology-superbuild. The installation from source is still documented and all the related quirks are still documented, but in a separate build-from-source.md doc that is meant to be consumed by experienced users.
  • Removed details on how to install qt, YARP and ICUB as they are not anymore dependency of iDynTree
  • Add documentation of tools such as ìdyntree-model-info and idyntree-model-view.

I hope the README is more readable now.

@traversaro traversaro changed the title Revise README [WIP] Revise README Nov 7, 2021
README.md Outdated

###### vcpkg
If you use [`vcpkg`](https://github.com/Microsoft/vcpkg), you can install all the required and optional dependencies of iDynTree using the following command:
You can easily the library with [`conda`](https://github.com/conda-forge/osqp-eigen-feedstock) using the following command
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*install

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Fixed in ad39853 .

@traversaro traversaro changed the title [WIP] Revise README Revise README Nov 7, 2021
@traversaro
Copy link
Member Author

traversaro commented Nov 7, 2021

@VenusPasandi @fabiodinatale @valentino-razza @CarlottaSartore One of the goal of this cleanup is to make the README more clear as I wanted also to work on some tools that could be useful when working with URDF models, so feel free to read the new README and tell me if it is clear enough!

@traversaro
Copy link
Member Author

The "Usage in Python" section can be improved, but to be honest I am not super sure how it works, and if we are going to enable both SWIG and pybind11 backends, I would prefer to write it after we do that.

README.md Outdated
The **major characteristic features** of iDynTree are:
* It is written in **C++**, with **Python** and **MATLAB** bindings.
* It uses an **undirected graph data structure** (`iDynTree::Model`) that is used to represent robots, to easily change the **base link** that you are using for your kinematics and dynamics computations without the need to reload your model or change your joint or link serializations. This is done as iDynTree was developed for floating-base robots such as humanoids, in which the most convenient choice of **base link** can change.
* It contains support for **reading and writing URDF files** from a `iDynTree::Model`, making it useful to write tools that modify robot models and saves them back to file. This is done as iDynTree was developed to developed **tools for identification of kinematics and dynamics parameters**.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a typo: developed to developed

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, fixed in 830ad70 .

@traversaro traversaro merged commit b67596c into master Nov 9, 2021
@traversaro traversaro deleted the revise-readme branch November 9, 2021 08:33
@traversaro
Copy link
Member Author

I merged the PR, if you have further comment feel free to provide them even if the PR was merged.

* It contains an implementation of the algorithm used in the iCub humanoid robot to **estimate the joint torques without the need of collocated joint torque sensors**, exploting the specific **undirected graph data structure** . This is done as this was one of the originally goal for the implementation of iDynTree. See the class [`iDynTree::ExtWrenchesAndJointTorquesEstimator`](https://github.com/robotology/idyntree/blob/master/src/estimation/include/iDynTree/Estimation/ExtWrenchesAndJointTorquesEstimator.h) and [Chapter 6 of "Modelling, Estimation and Identification of Humanoid Robots Dynamics"](https://traversaro.github.io/traversaro-phd-thesis/traversaro-phd-thesis.pdf).

To avoid confusion, it is also useful to clarify what **iDynTree is not**:
* It is not the **fastest C++ library** for kinematics and dynamics multibody computations for robotics. It is not slow, but if have an application in which you need the absolute fastest library, check out [Pinocchio](https://github.com/stack-of-tasks/pinocchio).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo mistakes: ...but if have an application... you missing.


##### macOS
You can install most of the required and optional dependencies of iDynTree using [homebrew](https://brew.sh/) with the following command:
You can easily install the C++ and Python library with via [`conda-forge`](https://conda-forge.org) using the following command

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo mistake: with via, I think there is a repetition.

To compile the python bindings based on [pybind11](https://github.com/pybind/pybind11) set to `TRUE` the `IDYNTREE_USES_PYTHON_PYBIND11` option.

**NOTE**: the generated bindings are not compatible with the bindings generated by SWIG. Do not expect your Python code to use either of the two without modifications.
If this is not working, make sure that you are launching `matlab` after having activated the conda environment (if you installed iDynTree via conda) or after having sourced por executed the correct setup script (if you installed iDynTree via the robotology-superbuild).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo mistake: por

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants