Mplib

Latest version: v0.2.1

Safety actively analyzes 682404 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

0.2.0a1

What's Changed
* Add support for multiple collision_shapes when exporting SRDF by KolinGuo in https://github.com/haosulab/MPlib/pull/88


**Full Changelog**: https://github.com/haosulab/MPlib/compare/v0.2.0a0...v0.2.0a1

0.2.0a0

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 https://github.com/haosulab/MPlib/pull/70
* Merge from kolinguo/MPlib by KolinGuo in https://github.com/haosulab/MPlib/pull/78
* Srdf generation by Lexseal in https://github.com/haosulab/MPlib/pull/72
* One link multiple geom by Lexseal in https://github.com/haosulab/MPlib/pull/77
* Add nonconvex mesh support in SapienPlanningWorld. Add SapienPlanner by KolinGuo in https://github.com/haosulab/MPlib/pull/79
* Unify pose; Support multi-shape Physx components in SapienPlanningWorld conversion by KolinGuo in https://github.com/haosulab/MPlib/pull/81
* Update fcl in Dockerfile by KolinGuo in https://github.com/haosulab/MPlib/pull/82
* Update api. Support PhysxCollisionShapePlane conversion by KolinGuo in https://github.com/haosulab/MPlib/pull/83


**Full Changelog**: https://github.com/haosulab/MPlib/compare/v0.1.1...v0.2.0a0

0.1.1

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

**Full Changelog**: https://github.com/haosulab/MPlib/compare/v0.0.9...v0.1.1

0.1.0

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
* Collision api by Lexseal in https://github.com/haosulab/MPlib/pull/28
* added path simplification and ability to use RRT* by Lexseal in https://github.com/haosulab/MPlib/pull/22
* Pointcloud volume by Lexseal in https://github.com/haosulab/MPlib/pull/25
* Index out of range error by Lexseal in https://github.com/haosulab/MPlib/pull/35
* Change Capsule to Cylinder by Lexseal in https://github.com/haosulab/MPlib/pull/44
* Documentation by Lexseal in https://github.com/haosulab/MPlib/pull/45
* Ability to modify the non-articulated objects in the scene by Lexseal in https://github.com/haosulab/MPlib/pull/30
* setting origin for articulation by Lexseal in https://github.com/haosulab/MPlib/pull/31
* expose path simplification api by Lexseal in https://github.com/haosulab/MPlib/pull/48
* Constrained planning by Lexseal in https://github.com/haosulab/MPlib/pull/46
* Added the ability to plan with certain joints fixed by Lexseal in https://github.com/haosulab/MPlib/pull/29
* default to current dir if user does not provide any dir by Lexseal in https://github.com/haosulab/MPlib/pull/50
* added warning for abnormally sized mesh by Lexseal in https://github.com/haosulab/MPlib/pull/52


**Full Changelog**: https://github.com/haosulab/MPlib/compare/v0.0.9...v0.1.0

0.0.9

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

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.