Skip to content

Releases: haosulab/MPlib

Nightly Release

21 Oct 20:27
Compare
Choose a tag to compare
Nightly Release Pre-release
Pre-release

MPlib development nightly release. This release is mainly for internal testing. Stable releases are published to pypi https://pypi.org/p/mplib/

v0.2.1

27 Aug 19:17
v0.2.1
86376ca
Compare
Choose a tag to compare

v0.2.0

27 Aug 19:16
v0.2.0
555c7cf
Compare
Choose a tag to compare

What's Changed

  • Update planner.py by @Lexseal in #70
  • Merge from kolinguo/MPlib by @KolinGuo in #78
  • Srdf generation by @Lexseal in #72
  • One link multiple geom by @Lexseal in #77
  • Add nonconvex mesh support in SapienPlanningWorld. Add SapienPlanner by @KolinGuo in #79
  • Unify pose; Support multi-shape Physx components in SapienPlanningWorld conversion by @KolinGuo in #81
  • Update fcl in Dockerfile by @KolinGuo in #82
  • Update api. Support PhysxCollisionShapePlane conversion by @KolinGuo in #83
  • Add support for multiple collision_shapes when exporting SRDF by @KolinGuo in #88

Full Changelog: v0.1.1...v0.2.0

v0.2.0a1

02 Jun 00:58
v0.2.0a1
43bd7ab
Compare
Choose a tag to compare
v0.2.0a1 Pre-release
Pre-release

MPlib 0.2.0a1 Release Notes

What's Changed

  • Add support for multiple collision_shapes when exporting SRDF by @KolinGuo in #88

Full Changelog: v0.2.0a0...v0.2.0a1

v0.2.0a0

16 Apr 22:07
v0.2.0a0
8de8711
Compare
Choose a tag to compare
v0.2.0a0 Pre-release
Pre-release

MPlib 0.2.0a0 Release Notes

Functional Changes:

  • Sapien world to MPlib planning world. You can now sync up Sapien with the planner without having to explicitly construct a planner. This obviates manually maintaining the planning world, which might be prone to mistakes.
  • Ability to set global seed for easier debugging
  • Enhanced attach object to avoid collision with links that might be in constant collision with it.
  • Exported FCL distance query to python
  • Exported FCL shapes Ellipsoid, Halfspace, and TriangleP
  • Reworked srdf generations so users do not need to manually run Moveit Setup Assistant to generate an srdf.
  • Added support for URDF files that has multiple collision geometries to a single link

API Changes:

+:

  • set_global_seed() for easier debugging
  • create_from_urdf_string for articulated model, fcl, and planning world
  • get_name that returns the name of the articulated model
  • set_name that sets the name of the articulated model
  • Attached body class that stores where and how an object is attached to an articulation in a more structured manner. In particular, the touch link disables collision between the
  • detach_object(name) to remove an attached object
  • remove_point_cloud() to remove point cloud from the scene
  • get_attached_object(name)
  • is_normal_object_attached(name)
  • AllowedCollisionMatrix class where pairwise collisions are disable if the entry is set to True
  • get_allowed_collision_matrix to return a matrix.
  • Added distance calls in PlanningWorld that has the same API as collision calls. They return distance result.
  • WorldDistanceResult. Counterpart of WorldCollisionResult for distance.
  • has_articulation(name)/has_normal_object(name)
  • is_articulation_planned(name) checks if the articulation is the one the planner is planning for. We only plan for a single articulation.
  • Ellipsoid, Halfspace, TriangleP collision geometries
  • get_adjacent_links() returns all pairs of adjacent links
  • SapienPlanningWorld class that takes in a Sapien Scene and constructs the same scene for planning
  • SapienPlanner class that takes in a Sapien Scene and turns into a planner you can use directly
  • update_from_simulation inside SapienPlanner and SapienPlanningWorld that can resync after the Sapien simulation has changed

modifications:

  • Now pymp is not needed when importing a module/class. For example, from mplib.pymp.collision_detection import fcl is now from mplib.collision_detection import fcl
  • All functions with arguments such as use_point_cloud, use_attach are modified to have these arguments removed. As mentioned in the next section, as long as there is a point cloud or an attach, they will be used
  • set_normal_object is now add_normal_object
  • get_articulations is replaced by get_articulation(name) as well as get_articulation_names()
  • print_attached_body_pose() replaced by print_attached_body_pose()
  • update_attached_tool() renamed to update_attached_object()
  • FCL collision object is wrapped by FCLObject that can contain multiple collision geometries.
  • OMPL.plan has the planner method removed. Argument no_simplication changed to simplify with its value flipped
  • CollisionGeometry has all its methods renamed to lower camel case.
  • Most if not all arguments with default values are now kw_only
  • plan_qpos_to_pose, plan_qpos_to_qpos, plan_screw argument names are modified
  • set_transformation -> set_pose for CollisionObject

-:

  • set_use_attach removed. Instead, when there is attach, the planner will automatically use it
  • set_use_pointcloud removed.

What's Changed

  • Update planner.py by @Lexseal in #70
  • Merge from kolinguo/MPlib by @KolinGuo in #78
  • Srdf generation by @Lexseal in #72
  • One link multiple geom by @Lexseal in #77
  • Add nonconvex mesh support in SapienPlanningWorld. Add SapienPlanner by @KolinGuo in #79
  • Unify pose; Support multi-shape Physx components in SapienPlanningWorld conversion by @KolinGuo in #81
  • Update fcl in Dockerfile by @KolinGuo in #82
  • Update api. Support PhysxCollisionShapePlane conversion by @KolinGuo in #83

Full Changelog: v0.1.1...v0.2.0a0

v0.1.1

07 Mar 19:50
85f9de0
Compare
Choose a tag to compare

What's Changed

  • Kolin's massive code refactoring and build system overhaul
  • Documentation and test cases
  • Misc bug fixes

Full Changelog: v0.0.9...v0.1.1

v0.1.0

02 Jan 21:06
Compare
Choose a tag to compare

MPlib 0.1.0 Release Notes

Features:

  • Path simplification added and its API exposed
  • Better documentation on point cloud radius and how this param can be used to create a safety buffer for collision
  • Added standalone collision checking API to planner.py
  • Gave user the ability to add/remove non-articulated objects from the scene rather than relying solely on point cloud for changing scene
  • Introduced an API to center the articulated model at a different origin. Future planning requests can either be specified w.r.t. new robot base or w.r.t. world
  • Planning with certain joints fixed. This is useful if you want the planning to be done in stages where in one stage only certain joints should move
  • General constrained planning for robots not having continuous joints. Pass in a constrained function as well as its jacobian and the planner will plan by projecting a proposed joint configuration into a feasible configuration with newton's method
  • Documentation for all the mplib modules. We have already exposed a lot of the functionalities using pybind. However, previous these functionalities were not documented.
  • Different messages are now printed with different colors. E.g. erros in red, info in blue, warning in yellow, etc.

There has also been misc bug fixes.

What's Changed

Full Changelog: v0.0.9...v0.1.0

v0.0.9

26 Oct 01:39
d7f2a0f
Compare
Choose a tag to compare

MPlib 0.0.9 Release Notes

python3.11 support

  • added support for python3.10 and 3.11
  • expanded the types of objects one can attach to an end-effector to include sphere and general mesh in addition to box
  • improved user-facing collision API that is dead simple to use
  • refactored demo and added new ones for easier onboarding
  • added a workaround for ROS-compatible URDF that contains package:// keywords