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

Different inertia parametrizations and Physical consistency #2296

Merged
merged 36 commits into from
Oct 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e065f7b
added conversion from logcholesky to inertia
simeon-ned Jun 20, 2024
ed1d341
added pseudo inertia conversion
simeon-ned Jun 21, 2024
f79f7bf
fixed typo in logcholesky
simeon-ned Jun 21, 2024
04c48f4
added logcholesky jacobian, fixed pybinds
simeon-ned Jun 21, 2024
d3c91cf
removed unnecesary comments
simeon-ned Jun 21, 2024
bce65ae
added unit tests for logcholesky and pseudo in py
simeon-ned Jun 22, 2024
ce9252f
test: conversions tests
lvjonok Jun 23, 2024
dbb9f9c
style: apply pre-commit
lvjonok Jun 23, 2024
6883144
Feature/modified inertia (#2)
simeon-ned Jun 29, 2024
fc089c6
removed outdated python tests
simeon-ned Jun 29, 2024
8e42220
minor reordering in tests
simeon-ned Jun 29, 2024
0973d19
removed outdated cpp tests
simeon-ned Jun 29, 2024
9bc69bc
renaming, minor refactoring
simeon-ned Jun 30, 2024
db640c6
code formatting, minor style fixes
simeon-ned Jul 2, 2024
ef3986c
removed unnecessary constructors, minor fixes
simeon-ned Jul 13, 2024
58cfe70
Update include/pinocchio/spatial/inertia.hpp
simeon-ned Jul 13, 2024
0340bf9
exposed inertia transforms
simeon-ned Jul 14, 2024
2a4efe9
exposed pseudo inertia
simeon-ned Jul 14, 2024
e420061
exposed log cholesky
simeon-ned Jul 14, 2024
3e104ba
removed unecesarry comments
simeon-ned Jul 14, 2024
8e65a4f
fix: update bindings
lvjonok Sep 30, 2024
a4315f8
fix: formatting issues
lvjonok Sep 30, 2024
9c2cfbf
feat: expose pseudo inertia and logcholesky
lvjonok Sep 30, 2024
d16b0a2
fix: update codacy
lvjonok Sep 30, 2024
565ae75
fix: update changelog
lvjonok Sep 30, 2024
f48a0ae
fix: update python bindings for pseudo inertia and logcholesky
lvjonok Sep 30, 2024
3bf481b
fix: add proxy `toDynamicParameters`
lvjonok Sep 30, 2024
30cb503
fix: update spatial to work well with bindings
lvjonok Oct 1, 2024
f8bcf1e
test: inertia parametrization
lvjonok Oct 1, 2024
743a959
python: Remove compiler diagnostic pragma
jorisv Oct 3, 2024
c5ba2fb
python add PseudoInertia::toInertia binding
jorisv Oct 3, 2024
9e15fdb
python: Add cast method to PseudoInertia and LogCholeskyParameters
jorisv Oct 3, 2024
6269bea
python: Use last __array__ API
jorisv Oct 3, 2024
bdbafce
python: Add some guards when providing vector of size (10, 1)
jorisv Oct 3, 2024
a0397f0
changelog: Add entry
jorisv Oct 3, 2024
9a2d915
unittest: Rewrote some code to please codacy
jorisv Oct 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Add compatibility with NumPy 2 `__array__` API ([#2436](https://github.com/stack-of-tasks/pinocchio/pull/2436))
- Added argument to let users decide of root joint name when parsing models (urdf, mjcf, sdf) ([#2402](https://github.com/stack-of-tasks/pinocchio/pull/2402))
- Allow use of `pathlib.Path | str` for paths in python bindings ([#2431](https://github.com/stack-of-tasks/pinocchio/pull/2431))
- Add Pseudo inertia and Log-cholesky parametrization ([#2296](https://github.com/stack-of-tasks/pinocchio/pull/2296))

### Fixed
- Fix linkage of Boost.Serialization on Windows ([#2400](https://github.com/stack-of-tasks/pinocchio/pull/2400))
Expand All @@ -22,6 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Fix class abstract error for Rviz viewer ([#2425](https://github.com/stack-of-tasks/pinocchio/pull/2425))
- Fix compilation issue with MSCV and C++17 ([#2437](https://github.com/stack-of-tasks/pinocchio/pull/2437))
- Fix `pinocchio-test-py-robot_wrapper` when building with SDF and collision support ([#2437](https://github.com/stack-of-tasks/pinocchio/pull/2437))
- Fix crash when calling `Inertia::FromDynamicParameters` in Python with wrong vector size ([#2296](https://github.com/stack-of-tasks/pinocchio/pull/2296))

### Changed

Expand Down
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,19 @@ or via pip (currently only available on Linux):

## Table of contents

- [Table of contents](#table-of-contents)
- [Introducing Pinocchio 3](#introducing-pinocchio-3)
- [Pinocchio main features](#pinocchio-main-features)
- [Documentation](#documentation)
- [Examples](#examples)
- [Tutorials](#tutorials)
- [Pinocchio continuous integrations](#pinocchio-continuous-integrations)
- [Performances](#performances)
- [Ongoing developments](#ongoing-developments)
- [Installation](#installation)
- [ROS](#ros)
- [Visualization](#visualization)
- [Citing Pinocchio](#citing-pinocchio)
- [Citing specific algorithmic contributions](#citing-specific-algorithmic-contributions)
- [Questions and Issues](#questions-and-issues)
- [Credits](#credits)
- [Open-source projects relying on Pinocchio](#open-source-projects-relying-on-pinocchio)
Expand Down Expand Up @@ -265,7 +269,8 @@ The following people have been involved in the development of **Pinocchio** and
- [Joris Vaillant](https://github.com/jorisv) (Inria): core developer and manager of the project
- [Sebastian Castro](https://roboticseabass.com) (The AI Institute): MeshCat viewer feature extension
- [Lev Kozlov](https://github.com/lvjonok): Kinetic and potential energy regressors
- [Megane Millan](https://github.com/MegMll) (Inria): Features extension and core developper
- [Megane Millan](https://github.com/MegMll) (Inria): Features extension and core developer
- [Simeon Nedelchev](https://github.com/simeon-ned): Pseudo inertia and Log-cholesky parametrization

If you have participated in the development of **Pinocchio**, please add your name and contribution to this list.

Expand Down
2 changes: 2 additions & 0 deletions bindings/python/spatial/expose-inertia.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ namespace pinocchio
void exposeInertia()
{
InertiaPythonVisitor<context::Inertia>::expose();
PseudoInertiaPythonVisitor<context::PseudoInertia>::expose();
LogCholeskyParametersPythonVisitor<context::LogCholeskyParameters>::expose();
StdAlignedVectorPythonVisitor<context::Inertia>::expose("StdVec_Inertia");
#ifndef PINOCCHIO_PYTHON_NO_SERIALIZATION
serialize<StdAlignedVectorPythonVisitor<context::Inertia>::vector_type>();
Expand Down
2 changes: 2 additions & 0 deletions include/pinocchio/bindings/python/context/generic.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ namespace pinocchio
typedef MotionTpl<Scalar, Options> Motion;
typedef ForceTpl<Scalar, Options> Force;
typedef InertiaTpl<Scalar, Options> Inertia;
typedef PseudoInertiaTpl<Scalar, Options> PseudoInertia;
typedef LogCholeskyParametersTpl<Scalar, Options> LogCholeskyParameters;
typedef Symmetric3Tpl<Scalar, Options> Symmetric3;

// Multibody
Expand Down
Loading
Loading