Skip to content

Adding a spline joint to the joint collection#2784

Open
MegMll wants to merge 168 commits into
stack-of-tasks:develfrom
MegMll:topic/spline_joint
Open

Adding a spline joint to the joint collection#2784
MegMll wants to merge 168 commits into
stack-of-tasks:develfrom
MegMll:topic/spline_joint

Conversation

@MegMll

@MegMll MegMll commented Oct 10, 2025

Copy link
Copy Markdown
Collaborator

Description

In this PR, we introduce the new spline joint to pinocchio. This implementation is based on the paper of Lee et al. available here

It allows to define a number of SE3 frames, that will define the movement and dynamics of the joint. It's very useful for biomechanics, but can be used in other applications.

Here are videos of two examples written by @lpuch

Future

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

👋 Hi,
This is a reminder message to assign an extra build label to this Pull Request if needed.
By default, this PR will be build with minimal build options (URDF support and Python bindings)
The possible extra labels are:

  • build_collision (build Pinocchio with coal support)
  • build_casadi (build Pinocchio with CasADi support)
  • build_autodiff (build Pinocchio with CppAD support)
  • build_codegen (build Pinocchio with CppADCodeGen support)
  • build_extra (build Pinocchio with extra algorithms)
  • build_mpfr (build Pinocchio with Boost.Multiprecision support)
  • build_sdf (build Pinocchio with SDF parser)
  • build_accelerate (build Pinocchio with APPLE Accelerate framework support)
  • build_all (build Pinocchio with ALL the options stated above)

Thanks.
The Pinocchio development team.

@pgraverdy pgraverdy added the pr status wip To not review in weekly meeting label Oct 13, 2025
@MegMll
MegMll force-pushed the topic/spline_joint branch from f464bc1 to 660af02 Compare October 13, 2025 11:43
Comment thread include/pinocchio/src/multibody/joint/joint-collection.hxx
Comment thread include/pinocchio/multibody/joint/joint-spline.hpp Outdated
Comment thread include/pinocchio/multibody/joint/joint-spline.hpp Outdated
Comment thread include/pinocchio/multibody/joint/joint-spline.hpp Outdated
Comment thread include/pinocchio/multibody/joint/joint-spline.hpp Outdated
Comment thread include/pinocchio/multibody/joint/joint-spline.hpp Outdated
Comment thread include/pinocchio/multibody/joint/joint-spline.hpp Outdated
Comment thread include/pinocchio/multibody/joint/joint-spline.hpp Outdated
Comment thread include/pinocchio/src/serialization/joints-data.hxx
Comment thread include/pinocchio/src/serialization/joints-model.hxx
Comment thread include/pinocchio/src/multibody/joint/spline-utils.hxx Outdated
Comment thread include/pinocchio/src/parsers/graph/graph-visitor.hxx
Comment thread src/parsers/graph/model-graph-algo.cpp Outdated
Comment thread unittest/casadi/joints.cpp Outdated
Comment thread unittest/casadi/joints.cpp Outdated
Comment thread unittest/cppad/joints.cpp Outdated
Comment thread unittest/finite-differences.cpp Outdated
Comment thread unittest/casadi/joints.cpp Outdated
Comment thread unittest/finite-differences.cpp Outdated
Comment thread unittest/joint-generic.cpp
Comment thread unittest/joint-generic.cpp Outdated
Comment thread unittest/joint-spline.cpp Outdated
Comment thread unittest/joint-spline.cpp Outdated
Comment thread include/pinocchio/src/multibody/joint/joint-spline.hxx
Comment thread include/pinocchio/src/multibody/joint/joint-spline.hxx
@jorisv
jorisv force-pushed the topic/spline_joint branch from 2e60ca8 to 096a5ec Compare November 26, 2025 10:22
Comment thread unittest/finite-differences.cpp Outdated
jorisv
jorisv previously requested changes Nov 27, 2025
Comment thread unittest/finite-differences.cpp Outdated
Comment thread unittest/joint-generic.cpp
@MegMll
MegMll force-pushed the topic/spline_joint branch 2 times, most recently from d5ac733 to 75dacff Compare December 11, 2025 11:15
@florent-lamiraux

Copy link
Copy Markdown
Member

Please be aware that modifying the joint collection breaks the API.

@jorisv

jorisv commented Dec 12, 2025

Copy link
Copy Markdown
Contributor

@florent-lamiraux We are not considering adding a joint an API break.
If your code rely on JointCollection order or must handle all the joints inside it, please, create your own joint collection.

@MegMll
MegMll marked this pull request as ready for review December 12, 2025 14:40
@MegMll
MegMll force-pushed the topic/spline_joint branch from e15d6fb to 00bc40a Compare December 15, 2025 10:06
@Ipuch

Ipuch commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

@MegMll and I were talking about this PR. As Megan left WILLOW and she is full time on other projects now, it's hard for her to pursue the debugging that this PR requires, and looking for why the tests were not passing. Does anyone would like to help and/or review this PR?

Here is the focused help, that would be appreciated and could unlock our next developments.

  • We don't know why window tests with python doesn't pass ?
  • We don't know why it compiles with MacOs Arm, but the test doesn't pass when executed ?

Let us know in which time frame anyone can help, before @MegMll totally loose track of what she had undertaken.

@jorisv

jorisv commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Hello @Ipuch,

Now we released pinocchio 4, I will probably be able to work again on this PR next month.
I will also check if there is some other engineer in the team able to work on it.

@MegMll
MegMll force-pushed the topic/spline_joint branch from f60f2c7 to 025c789 Compare April 14, 2026 14:47
@MegMll
MegMll dismissed jorisv’s stale review April 14, 2026 14:48

need to rcheck every test and put all the files in the right folder after rebase of pinocchio 4

@MegMll

MegMll commented Apr 14, 2026

Copy link
Copy Markdown
Collaborator Author

Okay i won't be available in May, but if i need to make some changes myself, i guess it can wait June, anyway

@jorisv
jorisv force-pushed the topic/spline_joint branch from bffd947 to c901379 Compare July 9, 2026 16:16
@jorisv
jorisv force-pushed the topic/spline_joint branch from 7e4718f to c67c201 Compare July 17, 2026 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants