Releases: stack-of-tasks/pinocchio
Releases · stack-of-tasks/pinocchio
pinocchio 3.9.0
What's Changed
Added
- Add pixi-build support (#2802)
- Python: add overload of
BaseVisualizer::play()toVisualizerPythonVisitor(#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.cmakefromjrl-cmakemodules(#2800) - Fix doxygen document hierarchy (#2811)
- Fix
appendModelissues (#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
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::ModelGraphclass- Simple API to build a model
- Manage joint offset
- Create a
pinocchio::Modelwith any frame as root frame - Create a
pinocchio::Modelwith any joint as root joint - Reliably merge two models with
pinocchio::graph::mergeGraphsfunction - Reliably fix joints at any configuration with
pinocchio::graph::fixJointsGraph - C++ example
- Python example
- Create a
pinocchio::geometryModelusing apinocchio::graph::ModelGraph - Python example
- Add
pinocchio::graph::ModelConfigurationConverterclass- Convert configuration or tangent vector from two model with different root
- C++ example
- Python example
- 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
What's Changed
Changed
- Change the default branch to
devel(#2666) - Implement
captureImagefor Panda3D visualizer for video recording (#2668) - Drop Ubuntu 20.04 support (#2680)
Full Changelog: v3.6.0...v3.7.0
pinocchio 3.6.0
What's Changed
Fixed
- Fix getters for models and data in
VisualizerPythonVisitor(#2647) - Fix
pinocchio::cholesky::Mvbuild withCppAdscalar (#2659) - Fix
pinocchio::contactABAbuild withcasadiscalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi,CppADandCppADCodeGenscalar (#2659) - Add
casadibindings forpinocchio.initConstraintDynamicsandpinocchio.constraintDynamics(#2659)
Full Changelog: v3.5.0...v3.6.0
pinocchio 3.5.0
What's Changed
Added
- Added C++ visualization API,
pinocchio::pinocchio_visualizerstarget (#2574) - Added forward declaration for class
SE3Tpl, and typedefpinocchio::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
mimicargument inpinocchio::urdf::buildModelto parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimicto turn a joint into a mimic joint andbuildMimicModelto transform multiple joints into mimic joints (#2441) - Add
JointModelBasemethods: (#2441)nvExtendedto get the DoF of the extended modelidx_vExtendedto get the joint index in the extended vector of velocityjointExtendedModel{Cols,Rows,Block}to get joint columns/rows/block in extended model matrixJointMapped{Config,Velocity}Selectorto get mimicked joint configuration/velocity from the mimicking joint
- Add precomputed members in
DataTplto accelerate algorithms on mimic: (#2441)idx_vExtended_to_idx_v_fromRowmimic_subtree_jointmimic_parents_fromRownon_mimic_parents_fromRow
- Add precomputed members in
ModelTplto accelerate algorithms on mimic: (#2441)nvExtendednvExtendedsidx_vExtendedsmimicking_jointsmimicked_jointsmimic_joint_supports
Changed
- Rewrite
JointModelMimicand rename itJointModelMimicTpl, sinceJointModelMimicwasn'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
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
What's Changed
Added
- Add
pinocchio_python_parsertarget (#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-geometrywhen 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
What's Changed
Added
- Default visualizer can be changed with
PINOCCHIO_VIEWERenvironment 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 | strfor 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_wrapperwhen building with SDF and collision support (#2437) - Fix crash when calling
Inertia::FromDynamicParametersin Python with wrong vector size (#2296) - Fix
examples/cassie-simulation.pyandexamples/talos-simulation.py(#2443) - Fix build with CppAd 2024 (#2459)
- Fix
pinocchio-test-cpp-mjcfunittest with Boost 1.86 (#2459) - Fix
pinocchio-test-cpp-constraint-variantsuninitialized 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
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_colorparameter toMeshcatVisualizer.loadViewerModel(#2350) - Add
BuildFromMJCFfunction to RobotWrapper (#2363) - Add more CasADi examples (#2388)
Removed
- Remove deprecated headers related to joint constraints (#2382)
Changed
- Use eigenpy to expose
GeometryObject::meshMaterialvariant (#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
What's Changed
Fixed
- Fix
appendModelwhen joints after the base are in parallel (#2295) - Fix
appendModelbuild when called with template arguments different than the ones fromcontext(#2284) - Fix
TransformRevoleTpl::rotationandTransformHelicalTpl::rotationbuild (#2284) - Fix compilation issue for Boost 1.85 (#2255)
- Fix python bindings of
contactInverseDynamics(#2263) - Deactivate
BUILD_WITH_LIBPYTHONwhen 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
contactInverseDynamicsfunction (#2263) - Added helper functions to return operation count of CasADi functions. (#2275)
- C++ and Python unittest for
dIntegrateTransportto check vector transport and its inverse (#2273) - Add kinetic and potential energy regressors (#2282)
Removed
- Remove header
list.hppinclude for bindings of model and rnea (#2263)
Full Changelog: v3.0.0...v3.1.0