Skip to content

Releases: stack-of-tasks/pinocchio

pinocchio 3.9.0

05 Jan 14:02
v3.9.0
ed3bb75

Choose a tag to compare

What's Changed

Added

  • Add pixi-build support (#2802)
  • Python: add overload of BaseVisualizer::play() to VisualizerPythonVisitor (#2796)
  • ROS: added jrl_cmakemodules dependency (#2789)
  • Add docker images (#2776)
  • Add names to joints that are inside a composite joint (#2786)
  • Add color support for robot meshes in Viser (#2793)
  • Add Realtime Sanitizer (RTSan) uniittest and CI to track dynamic allocations in main API (#2809)
  • Add Ellipsoid Joint (3-DOF surface constraint), get ready for biomechanics (#2797)

Changed

  • Python version update (#2802):
    • Project is now tested with Python 3.10 and 3.14
    • Python 3.10 is the minimal supported Python version
  • Homogenize python viewers examples (#2771)

Fixed

  • Remove pixi 0.57 warnings (#2802)
  • CMake: use sdformat.cmake from jrl-cmakemodules (#2800)
  • Fix doxygen document hierarchy (#2811)
  • Fix appendModel issues (#2807):
    • Bad inertia transformation when multiple frame with inertia have non null placement
    • Undefined behavior when more than two frame was attached to universe
  • Simplify and fix DAE loading in Viser visualizer (#2830)

Removed

  • Remove CMake < 3.22 details (#2790)

Full Changelog: v3.8.0...v3.9.0

pinocchio 3.8.0

17 Sep 20:45
v3.8.0
655877b

Choose a tag to compare

What's Changed

Added

  • Continuous joints can now be parsed as mimic from a urdf file (#2756)
  • Beta version of Viser visualizer (#2718)
  • Add pinocchio::graph::ModelGraph class
    • Simple API to build a model
    • Manage joint offset
    • Create a pinocchio::Model with any frame as root frame
    • Create a pinocchio::Model with any joint as root joint
    • Reliably merge two models with pinocchio::graph::mergeGraphs function
    • Reliably fix joints at any configuration with pinocchio::graph::fixJointsGraph
    • C++ example
    • Python example
    • Create a pinocchio::geometryModel using a pinocchio::graph::ModelGraph
    • Python example
  • Add pinocchio::graph::ModelConfigurationConverter class
  • CMake: Added support for BUILD_STANDALONE_PYTHON_INTERFACE (#2714)

Fixed

  • Set axis of unaligned mimic joint (#2763)
  • Fixed explicit conversions to Scalar type in log.hxx (#2730)
  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)
  • Fix case joint_id == 0 in getJointKinematicHessian (#2705)
  • Fix nvSubtree computation in case a mimic joint is the last joint in the branch (#2707)
  • Fix JointModelMimic::hasConfigurationLimit() to return empty vector instead of delegating to mimicking joint (#2715)
  • Fix check mimic_subtree_joint (#2716)
  • Fix mimic patch for crba (#2716)
  • Fix missing argument in exposeDelassus() pybind definition (#2731)
  • Fix copy of Model.armature in buidlReducedModel(...) (#2749)
  • Add site attached to a fixed body in MJCF parse (#2754)
  • Fix Viser visualizer loading DAE files as trimesh.Scene (#2748)
  • Normalize CasADi link target across versions (#2743)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)
  • CMake: allow use of system example-robot-data (#2728)

Full Changelog: v3.7.0...v3.8.0

pinocchio 3.7.0

21 May 12:58
v3.7.0
c51d923

Choose a tag to compare

What's Changed

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

Full Changelog: v3.6.0...v3.7.0

pinocchio 3.6.0

28 Apr 14:41
v3.6.0
669c77c

Choose a tag to compare

What's Changed

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

Full Changelog: v3.5.0...v3.6.0

pinocchio 3.5.0

02 Apr 15:36
v3.5.0
7338916

Choose a tag to compare

What's Changed

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn't working, we don't consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

Full Changelog: v3.4.0...v3.5.0

Pinocchio 3.4.0

12 Feb 16:22
v3.4.0
187afaf

Choose a tag to compare

What's Changed

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

Full Changelog: v3.3.1...v3.4.0

Pinocchio 3.3.1

13 Dec 14:37
v3.3.1
2e86eca

Choose a tag to compare

What's Changed

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)
  • Fix the type of image paths when loading textures in the meshcat visualizer (#2478)
  • Fix meshcat examples ([#2503])[https://github.com//pull/2503]
  • Fix pinocchio-test-cpp-parallel-geometry when built with Coal (#2502)
  • Fix scaling support for meshcat (#2511)

Changed

  • On GNU/Linux and macOS, hide all symbols by default (#2469)

Full Changelog: v3.3.0...v3.3.1

Pinocchio 3.3.0

06 Nov 14:30
v3.3.0
42306ed

Choose a tag to compare

What's Changed

Added

  • Default visualizer can be changed with PINOCCHIO_VIEWER environment variable (#2419)
  • Add more Python and C++ examples related to inverse kinematics with 3d tasks (#2428)
  • Add parsing of equality/connect tag for closed-loop chains for MJCF format (#2413)
  • Add compatibility with NumPy 2 __array__ API (#2436)
  • Added argument to let users decide of root joint name when parsing models (urdf, mjcf, sdf) (#2402)
  • Allow use of pathlib.Path | str for paths in python bindings (#2431)
  • Add Pseudo inertia and Log-cholesky parametrization (#2296)
  • Add Pixi support (#2459)

Fixed

  • Fix linkage of Boost.Serialization on Windows (#2400)
  • Fix mjcf parser appending of inertias at root joint (#2403)
  • Fix unit tests with GCC 13.3 (#2406
  • Fix class abstract error for Rviz viewer (#2425)
  • Fix compilation issue with MSCV and C++17 (#2437)
  • Fix pinocchio-test-py-robot_wrapper when building with SDF and collision support (#2437)
  • Fix crash when calling Inertia::FromDynamicParameters in Python with wrong vector size (#2296)
  • Fix examples/cassie-simulation.py and examples/talos-simulation.py (#2443)
  • Fix build with CppAd 2024 (#2459)
  • Fix pinocchio-test-cpp-mjcf unittest with Boost 1.86 (#2459)
  • Fix pinocchio-test-cpp-constraint-variants uninitialized values (#2459)
  • Fix mixing library symbols between Pinocchio scalar bindings (#2459)
  • Fix bug for get{Joint,Frame}JacobianTimeVariation (#2466)

Changed

  • Modernize python code base with ruff (#2418)
  • Does not create a root_joint frame from parsed models (urdf, mjcf and sdf) when no root joint is provided (#2402)

Full Changelog: v3.2.0...v3.3.0

Pinocchio 3.2.0

27 Aug 17:23
v3.2.0
0b594a0

Choose a tag to compare

What's Changed

Fixed

  • Append pinocchio optional libraries into pkg-config file (#2322)
  • Fixed support of DAE meshes with MeshCat (#2331)
  • Fixed pointer casts in urdf parser (#2339)
  • Remove CMake CMP0167 warnings (#2347)
  • Fixed urdfdom in ROS packaging (#2341)
  • Fixed overview-urdf cpp example (#2384)
  • Fixed mjcf model without a base link parsing (#2386)
  • Fixed talos-simulation.py, simulation-contact-dynamics.py and simulation-closed-kinematic-chains.py examples (#2392)

Added

  • Add getMotionAxis method to helical, prismatic, revolute and ubounded revolute joint (#2315)
  • Add initial compatiblity with coal (coal needs -DCOAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL=ON) (#2323)
  • Add compatibility with jrl-cmakemodules workspace (#2333)
  • Add collision_color parameter to MeshcatVisualizer.loadViewerModel (#2350)
  • Add BuildFromMJCF function to RobotWrapper (#2363)
  • Add more CasADi examples (#2388)

Removed

  • Remove deprecated headers related to joint constraints (#2382)

Changed

  • Use eigenpy to expose GeometryObject::meshMaterial variant (#2315)
  • GepettoViewer is no more the default viewer for RobotWrapper (#2331)
  • Modernize python code base with ruff (#2367)
  • Restructure CppAD and CasADi examples (#2388)
  • Enhance and fix CppAD benchmarks outputs (#2393)

Full Changelog: v3.1.0...v3.2.0

Pinocchio 3.1.0

04 Jul 15:26
v3.1.0
c989669

Choose a tag to compare

What's Changed

Fixed

  • Fix appendModel when joints after the base are in parallel (#2295)
  • Fix appendModel build when called with template arguments different than the ones from context (#2284)
  • Fix TransformRevoleTpl::rotation and TransformHelicalTpl::rotation build (#2284)
  • Fix compilation issue for Boost 1.85 (#2255)
  • Fix python bindings of contactInverseDynamics (#2263)
  • Deactivate BUILD_WITH_LIBPYTHON when building with PyPy (#2274)
  • Fix Python bindings cross building with hpp-fcl (#2288)
  • Fix build issue on Windows when a deprecated header is included (#2292)
  • Fix build issue on Windows when building in Debug mode (#2292)
  • Fix visualization of meshes in meshcat (#2294)
  • Fix Anymal simulation test (#2299)
  • Fix contact derivatives and impulse dynamics tests (#2300)

Added

  • Python unittest for contactInverseDynamics function (#2263)
  • Added helper functions to return operation count of CasADi functions. (#2275)
  • C++ and Python unittest for dIntegrateTransport to check vector transport and its inverse (#2273)
  • Add kinetic and potential energy regressors (#2282)

Removed

  • Remove header list.hpp include for bindings of model and rnea (#2263)

Full Changelog: v3.0.0...v3.1.0