Skip to content

Releases: stephane-caron/pink

v0.7.0

16 Jan 16:52
000034b
Compare
Choose a tag to compare

This revision improves joint limit computations significantly, with fixes, new unit tests and examples on the side.

Added

  • Bounded subspace of tangent space, that is, restricted to bounded joints
  • CI: test on both Ubuntu and macOS images
  • Tangent space from Pinocchio model

Changed

  • Example: UR3 arm
  • Expose pink.Task from top-level module
  • Improve joint limit computations

Fixed

  • Empty inequalities when model has no bounded joint

v0.6.0

01 Dec 14:16
b8e1c53
Compare
Choose a tag to compare

This release makes the solver argument mandatory for all calls to solve_ik.

Note that the project is still in beta, so don't expect proper deprecation paths / API-change preemptive warnings before it hits v1.0.0 😉

v0.5.0

26 Sep 15:34
51a6448
Compare
Choose a tag to compare

With this release, Pink handles more general joint types, including fixed or free flyer root joints, unbounded joints (called continuous in URDF), etc. New examples showcase this on both arms 🦾 and legged 🦿 robots.

Banner for Pink v0.5.0

Under the hood, this release also improves on various points of the QP formulation (joint limits, posture task, ...) so that it works nicely with more solvers (e.g. CVXOPT), beyond quadprog and OSQP which were the two main solvers so far.

Added

  • Body task targets can be read directly from a robot configuration
  • Example: double pendulum
  • Example: Kinova Gen2 arm
  • Example: loading a custom URDF description
  • Example: visualization in MeshCat
  • Example: visualization in yourdfpy
  • Generalize configuration limits to any root joint
  • Handle descriptions that have no velocity limit
  • Handle general root joint in configuration limits
  • Handle general root joint in posture task
  • Handle unbounded velocity limits in QP formulation
  • Posture task targets can be read directly from a configuration
  • Simple rate limiter in pink.utils

Changed

  • Raise an error when querying a body that doesn't exist
  • Transition from pink.models to robot_descriptions
  • Update reference posture in Upkie wheeled biped example
  • Warn when the backend QP solver is not explicitly selected

Fixed

  • Unbounded velocities when the backend solver is CVXOPT

v0.4.0

21 Jun 17:15
966385c
Compare
Choose a tag to compare

This release brings documentation, full test coverage, and handles robot models installed from PyPI.

Also, it indulges in a project icon 😉

Added

  • Coveralls for continuous coverage testing
  • Document differential inverse kinematics and task targets
  • Single-task test on task target translations mapped to IK output translations

Changed

  • Argument to build_from_urdf functions is now the path to the URDF file
  • Bumped status to beta
  • Examples use the jvrc_description and upkie_description packages
  • Use jvrc_description and upkie_description packages from PyPI
  • Task is now an abstract base class

Fixed

  • Unit tests for robot models

v0.3.0

30 Mar 18:56
bc4911b
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

This release adds proper handling of joint position and velocity limits.

Added

  • Joint velocity limits
  • Configuration limits

Changed

  • Bumped status to alpha
  • Configuration limit check now has a tolerance argument

v0.2.0

29 Mar 17:16
edf6c3b
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

This pre-release adds the regularizing posture task and corresponding unit tests.

Added

  • Check configuration limits against model
  • Mock configuration type for unit testing
  • Tangent member of a configuration
  • Unit test the body task

Changed

  • Specify path when loading a model description
  • Switch to the Apache 2.0 license
  • build_jvrc_model is now build_from_urdf

Fixed

  • Don't distribute robot models with the library
  • IK unit test that used robot instead of configuration

v0.1.0

17 Mar 16:27
9f4dea8
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

This is a first working version of the library with a humanoid example that can be run and tweaked. Keep in mind that 0.x versions mean the library is still under active development, with the goal that 1.0 is the first stable version. So, this is still the very beginning 😉

Added

  • Body task
  • Humanoid example

Changed

  • ConfiguredRobot(model, data) type is now Configuration(model, data, q)

Fixed

  • Add floating base joint when loading JVRC model